diff --git a/src/Assets/Styles/components/_map.scss b/src/Assets/Styles/components/_map.scss new file mode 100644 index 00000000..e35e577a --- /dev/null +++ b/src/Assets/Styles/components/_map.scss @@ -0,0 +1,118 @@ +.found-heading { + border-bottom: 1px solid lightgrey; + position: relative; + clear: both; + min-height: 48px; + margin-bottom: 10px; +} + +.map-results-list { + margin-left: 30px; +} + +.resultsmap { + position: relative; + text-align: center; +} + +.mapimage::before { + content: "Loading..."; + position: absolute; + z-index: 1; + top: 50%; + left: 0; + right: 0; + font-size: 18px; + margin-top: -9px; +} + +.mapimage { + z-index: 2; + position: relative; +} + +.mapimage img { + z-index: 2; + position: relative; +} + +.mapcontrols { + z-index: 3; + position: absolute; + right: 10px; + bottom: 38px; + width: 28px; + height: 55px; + user-select: none; + -webkit-user-select: none; + -webkit-box-shadow: rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px; + box-shadow: rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px; + border-top-left-radius: 2px; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; + cursor: pointer; + background-color: rgb(255, 255, 255); + width: 28px; + height: 55px; +} + +.mapzoombutton { + background-color: transparent; + background-image: none; + display: block; + border: 0px; + margin: 0px; + padding: 0px; + position: relative; + cursor: pointer; + user-select: none; + -webkit-user-select: none; + width: 27px; + height: 27px; + top: 0px; + left: 0px; + background-position: initial initial; + background-repeat: initial initial; +} + +.mapzoomdivider { + position: relative; + overflow: hidden; + width: 67%; + height: 1px; + left: 16%; + background-color: rgb(230, 230, 230); + top: 0px; +} + +.view-list-link, +.view-map-link { + position: relative; + background: transparent; + display: inline-block; + line-height: 35px; + margin-left: 30px; +} + +.view-list-link::before { + position: absolute; + content: ""; + background: transparent url("/images/maps/icon-burger.png") no-repeat 0 0; + width: 71px; + height: 56px; + background-size: 30%; + left: -30px; + top: 6px; +} + +.view-map-link::before { + position: absolute; + content: ""; + background: transparent url("/images/maps/icon-map.png") no-repeat 0 0; + width: 75px; + height: 56px; + background-size: 30%; + left: -30px; + top: 0 +} \ No newline at end of file diff --git a/src/Assets/Styles/components/_typahead.scss b/src/Assets/Styles/components/_typahead.scss new file mode 100644 index 00000000..c6f83d3c --- /dev/null +++ b/src/Assets/Styles/components/_typahead.scss @@ -0,0 +1,39 @@ +.twitter-typeahead { + width: 100%; +} + +.tt-suggestion { + font-family: "nta", Arial, sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-weight: 400; + font-size: 16px; + padding: 7.5px; + cursor: pointer; +} + +.tt-suggestion:hover, +.tt-cursor { + background-color: #d5e8f3; +} + +.tt-menu { + width: 100%; + background-color: white; + border: #bfc1c3 2px solid; + box-shadow: 0 3px 2px #bfc1c3; +} + +.tt-hint { + visibility: hidden !important; +} + +@media screen and (min-width: 641px) { + .panel .tt-menu { + width: 50%; + } +} + +.tt-highlight { + font-weight: bold; +} diff --git a/src/Assets/Styles/patterns/_course-parts.scss b/src/Assets/Styles/patterns/_course-parts.scss index 781158a4..af3ff99e 100644 --- a/src/Assets/Styles/patterns/_course-parts.scss +++ b/src/Assets/Styles/patterns/_course-parts.scss @@ -12,97 +12,94 @@ $course-parts-indent: 35px; } .course-parts-section { - display: table; - @include govuk-font($size: 19); - margin-bottom: 15px; - padding-bottom: (govuk-spacing(2) / 6); + display: table; + @include govuk-font($size: 19); + margin-bottom: 15px; + padding-bottom: (govuk-spacing(2) / 6); } .course-parts-items { - margin-bottom: govuk-spacing(2); + margin-bottom: govuk-spacing(2); - @include govuk-media-query($from: tablet) { - margin-bottom: (govuk-spacing(2) * 2); - } + @include govuk-media-query($from: tablet) { + margin-bottom: (govuk-spacing(2) * 2); + } } .course-parts-item { - padding-top: govuk-spacing(2); - padding-bottom: govuk-spacing(2); - @include govuk-clearfix; + padding-top: govuk-spacing(2); + padding-bottom: govuk-spacing(2); + @include govuk-clearfix; } .course-parts-item:first-child { - border-top: 1px solid $govuk-input-border-colour; + border-top: 1px solid $govuk-input-border-colour; } .course-part-task { - @include govuk-grid-column(two-thirds); - float: left; - @include govuk-font($size: 24); - margin: 0; + @include govuk-grid-column(two-thirds); + float: left; + @include govuk-font($size: 24); + margin: 0; } .course-part-task-action { - float: right; - margin-right: 0; - padding-top: 3px; + float: right; + margin-right: 0; + padding-top: 3px; } .course-part-tasks { - margin-top: 60px; + margin-top: 60px; + + @include govuk-media-query($from: desktop) { + display: table; + width: 100%; + } + + > * { + position: relative; @include govuk-media-query($from: desktop) { - display: table; - width: 100%; + display: table-row; } > * { - position: relative; - - @include govuk-media-query($from: desktop) { - display: table-row; - } - - > * { - display: block; - - @include govuk-media-query($from: desktop) { - display: table-cell; - padding: em(12, 19) em(20, 19) em(9, 19) 0; // copied from Elements' td padding - margin: 0; - } - } - - @include govuk-media-query($from: desktop) { - &:first-child > * { - padding-top: 0; - } - } - } + display: block; - .course-part-label { - float: none; - display: block; - font-weight: bold; - padding-bottom: 5px; - // @include media(desktop) { - // width: 30%; - // } + @include govuk-media-query($from: desktop) { + display: table-cell; + padding: em(12, 19) em(20, 19) em(9, 19) 0; // copied from Elements' td padding + margin: 0; + } } - > *:first-child .course-part-label { - margin-top: 0; + @include govuk-media-query($from: desktop) { + &:first-child > * { + padding-top: 0; + } } + } + + .course-part-label { + float: none; + display: block; + font-weight: bold; + padding-bottom: 5px; + } + + > *:first-child .course-part-label { + margin-top: 0; + } - .course-part-value { - float: none; - display: block; - padding: 0; - margin-bottom: 10px; + .course-part-value { + float: none; + display: block; + padding: 0; + margin-bottom: 10px; - &--empty { - color: govuk-colour("grey-1"); - } + &--empty { + color: govuk-colour("grey-1"); } + } } diff --git a/src/Assets/Styles/patterns/_definition-list.scss b/src/Assets/Styles/patterns/_definition-list.scss index f5ab055b..9b587e5d 100644 --- a/src/Assets/Styles/patterns/_definition-list.scss +++ b/src/Assets/Styles/patterns/_definition-list.scss @@ -1,38 +1,38 @@ %govuk-list--description { - @include govuk-clearfix; - margin-top: 0; + @include govuk-clearfix; + margin-top: 0; } %govuk-list--description > dt { - @include govuk-font($size: 19, $weight: normal); - vertical-align: top; + @include govuk-font($size: 19, $weight: normal); + vertical-align: top; - @include mq ($from: desktop) { - float: left; - width: 33.33%; - } + @include mq ($from: desktop) { + float: left; + width: 33.33%; + } } %govuk-list--description > dd { - @include govuk-font($size: 19, $weight: normal); - vertical-align: top; - margin: 0; - - @include mq ($from: desktop) { - float: left; - width: 66.66%; - } + @include govuk-font($size: 19, $weight: normal); + vertical-align: top; + margin: 0; - .govuk-details { - margin-bottom: 0; - } + @include mq ($from: desktop) { + float: left; + width: 66.66%; + } + + .govuk-details { + margin-bottom: 0; + } } .govuk-list--description { - @extend %govuk-list--description; + @extend %govuk-list--description; - &__label:after { - content: ":"; - display: inline-block; - } + &__label:after { + content: ":"; + display: inline-block; + } } diff --git a/src/Assets/Styles/patterns/_filters.scss b/src/Assets/Styles/patterns/_filters.scss index e4a0183d..d38b1b9e 100644 --- a/src/Assets/Styles/patterns/_filters.scss +++ b/src/Assets/Styles/patterns/_filters.scss @@ -1,46 +1,46 @@ .filter-form { - @include govuk-font($size: 19); - @include govuk-responsive-margin(4, "bottom"); - background-color: govuk-colour("grey-3"); + @include govuk-font($size: 19); + @include govuk-responsive-margin(4, "bottom"); + background-color: govuk-colour("grey-3"); + padding: 8px; + + &__title { + margin-bottom: 8px; + } + + &__value { + background-color: govuk-colour("white"); + margin-bottom: 8px; padding: 8px; - - &__title { - margin-bottom: 8px; - } - - &__value { - background-color: govuk-colour("white"); - margin-bottom: 8px; - padding: 8px; - padding-bottom: 5px; - } - - &__value--list { - @extend %govuk-list; - margin-bottom: 8px; - - li { - background-color: govuk-colour("white"); - border-bottom: 1px solid $govuk-border-colour; - margin: 0; - padding: 8px; - - &:last-child { - border: none; - } - } + padding-bottom: 5px; + } + + &__value--list { + @extend %govuk-list; + margin-bottom: 8px; + + li { + background-color: govuk-colour("white"); + border-bottom: 1px solid $govuk-border-colour; + margin: 0; + padding: 8px; + + &:last-child { + border: none; + } } + } - .govuk-input { - background: govuk-colour("white"); - margin-bottom: 8px; - } + .govuk-input { + background: govuk-colour("white"); + margin-bottom: 8px; + } - .govuk-button { - margin-bottom: 3px; - } + .govuk-button { + margin-bottom: 3px; + } - .govuk-list li:last-child { - margin-bottom: 0; - } + .govuk-list li:last-child { + margin-bottom: 0; + } } diff --git a/src/Assets/Styles/patterns/_pagination.scss b/src/Assets/Styles/patterns/_pagination.scss index 1b6fd544..2494fb60 100644 --- a/src/Assets/Styles/patterns/_pagination.scss +++ b/src/Assets/Styles/patterns/_pagination.scss @@ -1,107 +1,107 @@ .pub-c-pagination { - display: block; - margin-top: 30px; - margin-bottom: 30px; - margin-left: -15px; - margin-right: -15px + display: block; + margin-top: 30px; + margin-bottom: 30px; + margin-left: -15px; + margin-right: -15px } .pub-c-pagination__list { - margin: 0; - padding: 0 + margin: 0; + padding: 0 } .pub-c-pagination__list:after { - content: ""; - display: block; - clear: both + content: ""; + display: block; + clear: both } .pub-c-pagination__item { - font-family: "nta", Arial, sans-serif; - font-weight: 400; - text-transform: none; - font-size: 14px; - line-height: 1.1428571429; - float: left; - list-style: none; - text-align: right; - margin: 0; - padding: 0; - width: 50% + font-family: "nta", Arial, sans-serif; + font-weight: 400; + text-transform: none; + font-size: 14px; + line-height: 1.1428571429; + float: left; + list-style: none; + text-align: right; + margin: 0; + padding: 0; + width: 50% } @media (min-width: 641px) { - .pub-c-pagination__item { - font-size: 16px; - line-height: 1.25 - } + .pub-c-pagination__item { + font-size: 16px; + line-height: 1.25 + } } .pub-c-pagination__link { - display: block; - padding: 15px; - text-decoration: none + display: block; + padding: 15px; + text-decoration: none } .pub-c-pagination__link:visited { - color: #005ea5 + color: #005ea5 } .pub-c-pagination__link:hover, .pub-c-pagination__link:active { - background-color: #f8f8f8 + background-color: #f8f8f8 } .pub-c-pagination__link-title { - font-family: "nta", Arial, sans-serif; - font-weight: 400; - text-transform: none; - font-size: 20px; - line-height: 1.1111111111; - display: block + font-family: "nta", Arial, sans-serif; + font-weight: 400; + text-transform: none; + font-size: 20px; + line-height: 1.1111111111; + display: block } @media (min-width: 641px) { - .pub-c-pagination__link-title { - font-size: 27px; - line-height: 1.25 - } + .pub-c-pagination__link-title { + font-size: 27px; + line-height: 1.25 + } } .pub-c-pagination__item--previous { - float: left; - text-align: left + float: left; + text-align: left } @media (max-width: 640px) { - .pub-c-pagination__item--previous { - float: none; - width: 100% - } + .pub-c-pagination__item--previous { + float: none; + width: 100% + } } .pub-c-pagination__item--next { - float: right; - text-align: right + float: right; + text-align: right } @media (max-width: 640px) { - .pub-c-pagination__item--next { - float: none; - width: 100% - } + .pub-c-pagination__item--next { + float: none; + width: 100% + } } .pub-c-pagination__link-icon { - display: inline-block; - margin-bottom: 1px; - height: .482em; - width: .63em + display: inline-block; + margin-bottom: 1px; + height: .482em; + width: .63em } .pub-c-pagination__link-label { - display: inline-block; - margin-top: 0.1em; - text-decoration: underline + display: inline-block; + margin-top: 0.1em; + text-decoration: underline } diff --git a/src/Assets/Styles/site.scss b/src/Assets/Styles/site.scss index 20bfcba7..e3bfa701 100644 --- a/src/Assets/Styles/site.scss +++ b/src/Assets/Styles/site.scss @@ -5,540 +5,103 @@ $govuk-global-styles: true; @import "node_modules/govuk-frontend/all"; @import "components/cookie-banner"; +@import "components/map"; +@import "components/typahead"; @import "patterns/course-parts"; @import "patterns/success-summary"; @import "patterns/definition-list"; @import "patterns/filters"; @import "patterns/pagination"; +// Add brackets around user name in header .govuk-header__link--profile { - @extend .govuk-header__link; + @extend .govuk-header__link; - &:after { - content: ")"; - } + &:after { + content: ")"; + } - &:before { - content: "("; - margin-left: govuk-spacing(1); - } + &:before { + content: "("; + margin-left: govuk-spacing(1); + } } +// Custom list style .govuk-list--dash { - padding-left: govuk-spacing(4); - list-style-image: url('/images/dash.png'); - margin-bottom: govuk-spacing(8); + padding-left: govuk-spacing(4); + list-style-image: url('/images/dash.png'); + margin-bottom: govuk-spacing(8); } +// Add context to checkbox labels .govuk-checkboxes__label .govuk-\!-font-weight-bold { - display: block; + display: block; } // Add a red border to .form-control-group if validation fails .input-validation-error { - border: 4px solid govuk-color("red"); -} - -.phase-banner-wrapper { - max-width: 960px; - margin: 0 15px; - margin: 0 30px; - margin: 0 auto; - padding: 0 15px 10px; - outline: none; - - @include govuk-media-query($from: tablet) { - margin: 0 30px; - padding: 0 10px; - } - - @include govuk-media-query($from: desktop) { - margin: 0 auto; - width: 960px; - } -} - -// Add extra styles here, or re-organise the Sass files in whichever way makes most sense to you - -.add-double-bottom-margin { - margin-bottom: govuk-spacing(2); -} - -.form-control-full { - width: 100%; -} - -.results-item { - margin-bottom: govuk-spacing(2); -} - -.metadata dt, -.metadata dd { - display: inline-block; -} - -.metadata dt { - width: 20%; -} - -.metadata dd { - width: 79%; - margin-left: 0; -} - -.filter-category { - background-color: govuk-color("grey-3"); - padding: 12px; - margin-bottom: 10px; -} - -.filters { - background-color: govuk-colour("white"); - padding: 10px; -} - -.filter-heading { - margin-top: 3px; -} - -.filter-link { - padding-top: 10px; -} - -.tabs { - padding-left: 0; - border-bottom: 1px solid $govuk-input-border-colour; - font-size: 19px; - margin-bottom: govuk-spacing(2); - - li { - margin-bottom: -1px; - display: inline-block; - } - - a { - display: block; - padding: 15px 20px; - } - - .active a { - border: 1px solid $govuk-input-border-colour; - border-bottom-color: govuk-colour("white"); - text-decoration: none; - - &:link, - &:visited { - color: govuk-color("black"); - } - } -} - -.form-control-xsmall { - width: 120px; -} - -.form-control-small { - width: 200px; -} - -.tabs { - padding-left: 0; - border-bottom: 1px solid $govuk-input-border-colour; - font-size: 19px; - - li { - margin-bottom: -1px; - display: inline-block; - } - - a { - display: block; - padding: 15px 20px; - } - - .active a { - border: 1px solid $govuk-input-border-colour; - border-bottom-color: govuk-colour("white"); - text-decoration: none; - - &:link, - &:visited { - color: govuk-color("black"); - } - } -} - -.study-options-table-code { - width: 120px; -} - -.study-options-table-vacancies { - width: 120px; -} - -.multiple-options li { - margin-bottom: 5px; - border-bottom: 1px solid #ccc; -} - -.fake-email { - margin-left: 15px; - margin-top: 20px; - border: 5px solid $govuk-input-border-colour; - padding: 60px; -} - -.ucas-info-table tr:last-child td { - border-bottom: 0; -} - -.ucas-info-table .ucas-view-link { - text-align: right; -} - -.missing-section { - border: 5px solid $govuk-input-border-colour; - padding: govuk-spacing(2); -} - -.preview-pre { - white-space: pre-wrap; -} - -.heading-medium .heading-secondary { - color: govuk-colour("grey-1"); - font-weight: normal; - display: block; -} - -.ucas-info-table { - .subject-col { - width: 30%; - } - - .code-col { - width: 20%; - } - - .ucas-view-link { - text-align: right; - } -} - -.govuk-phase-banner:first-child { - background: #fff8c4; - padding-left: 10px; + border: 4px solid govuk-color("red"); } +// Custom divider to spilt radio buttons options i.e. "or" .govuk-radios__divider { - font-family: "nta", Arial, sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - font-weight: 400; - font-size: 16px; - line-height: 1.25; - width: 40px; - margin-bottom: 10px; - text-align: center; + @include govuk-font($size: 19, $weight: normal); + width: 40px; + margin-bottom: 10px; + text-align: center; } -@media (min-width: 40.0625em) { - .govuk-radios__divider { - font-size: 19px; - line-height: 1.31579; - } -} - -.button.button-secondary { - background-color: #cccccc; - color: black; -} - -.found-heading { - border-bottom: 1px solid lightgrey; - position: relative; - clear: both; - min-height: 48px; - margin-bottom: 10px; -} - -.search-results-header { - &__count { - @include mq ($from: desktop) { - float: left; - } - } - - &__new-search { - @include mq ($from: desktop) { - float: right; - } - } - - .govuk-form-group { - border-bottom: 1px solid lightgrey; - border-top: 1px solid lightgrey; - clear: both; - margin-bottom: 0; - padding-bottom: 10px; - padding-top: 10px; - - @include mq ($from: desktop) { - text-align: right; - } - } - - select { - width: 180px; - } - - .sortedby-label { - @include mq ($from: desktop) { - display: inline; - margin-right: 0.5em; - } - } +// Custom phase banner for private beta +.govuk-phase-banner:first-child { + background: #fff8c4; + padding-left: 10px; } +// Search results view .search-results { - li { - @include govuk-responsive-padding(6, "bottom"); - @include govuk-responsive-padding(6, "top"); - border-bottom: 1px solid $govuk-border-colour; - margin: 0; - } + li { + @include govuk-responsive-padding(6, "bottom"); + @include govuk-responsive-padding(6, "top"); + border-bottom: 1px solid $govuk-border-colour; + margin: 0; + } } -.filter-apply-button { - padding-top: 30px; - padding-bottom: 20px; -} - -.filter-apply-button-inline { - padding-top: 15px; -} - -.panel .filter-apply-button { - padding-bottom: 0; -} - -.checkbox-filter .checkbox-container.checkbox-container-noscroll { - height: auto; - scroll-behavior: initial; -} - -table.alt th, -table.alt td { - padding-left: 10px; - padding-right: 10px; -} - -table.alt th { - border: none; - background-color: #cccccc; - font-weight: bold; -} - -.heading-xlarge-bat { - margin-top: 0.125em; - margin-bottom: 0.65em; -} - -.phase-banner-wrapper { - max-width: 960px; - margin: 0 15px; - margin: 0 30px; - margin: 0 auto; - padding: 0 15px 10px; - outline: none; -} - -@media screen and (min-width: 641px) { - .phase-banner-wrapper { - margin: 0 30px; - padding: 0 0 10px; +.search-results-header { + &__count { + @include mq ($from: desktop) { + float: left; } -} + } -@media screen and (min-width: 1020px) { - .phase-banner-wrapper { - margin: 0 auto; - width: 960px; + &__new-search { + @include mq ($from: desktop) { + float: right; } -} - -.course-details-section { - float: left; - width: 100%; -} + } -.subject-details-wrapper { + .govuk-form-group { + border-bottom: 1px solid lightgrey; + border-top: 1px solid lightgrey; clear: both; - padding-left: 12px; -} - -.subject-details-wrapper p { - margin-bottom: 10px; -} - -.multiple-choice-subject { - width: 100%; - border-bottom: solid 1px #cccccc; + margin-bottom: 0; padding-bottom: 10px; - margin-bottom: 10px; -} - -.multiple-choice-subject label { - margin-bottom: 10px; -} - -.twitter-typeahead { - width: 100%; -} - -.tt-suggestion { - font-family: "nta", Arial, sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - font-weight: 400; - font-size: 16px; - padding: 7.5px; - cursor: pointer; -} - -.tt-suggestion:hover, -.tt-cursor { - background-color: #d5e8f3; -} - -.tt-menu { - width: 100%; - background-color: white; - border: #bfc1c3 2px solid; - box-shadow: 0 3px 2px #bfc1c3; -} - -.tt-hint { - visibility: hidden !important; -} + padding-top: 10px; -@media screen and (min-width: 641px) { - .panel .tt-menu { - width: 50%; + @include mq ($from: desktop) { + text-align: right; } -} - -.map-results-list { - margin-left: 30px; -} + } -.resultsmap { - position: relative; - text-align: center; -} - -.mapimage::before { - content: "Loading..."; - position: absolute; - z-index: 1; - top: 50%; - left: 0; - right: 0; - font-size: 18px; - margin-top: -9px; -} - -.mapimage { - z-index: 2; - position: relative; -} - -.mapimage img { - z-index: 2; - position: relative; -} - -.mapcontrols { - z-index: 3; - position: absolute; - right: 10px; - bottom: 38px; - width: 28px; - height: 55px; - user-select: none; - -webkit-user-select: none; - -webkit-box-shadow: rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px; - box-shadow: rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px; - border-top-left-radius: 2px; - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; - border-bottom-left-radius: 2px; - cursor: pointer; - background-color: rgb(255, 255, 255); - width: 28px; - height: 55px; -} - -.mapzoombutton { - background-color: transparent; - background-image: none; - display: block; - border: 0px; - margin: 0px; - padding: 0px; - position: relative; - cursor: pointer; - user-select: none; - -webkit-user-select: none; - width: 27px; - height: 27px; - top: 0px; - left: 0px; - background-position: initial initial; - background-repeat: initial initial; -} - -.mapzoomdivider { - position: relative; - overflow: hidden; - width: 67%; - height: 1px; - left: 16%; - background-color: rgb(230, 230, 230); - top: 0px; -} - -.view-list-link, -.view-map-link { - position: relative; - background: transparent; - display: inline-block; - line-height: 35px; - margin-left: 30px; -} + select { + width: 180px; + } -.view-list-link::before { - position: absolute; - content: ""; - background: transparent url("/images/maps/icon-burger.png") no-repeat 0 0; - width: 71px; - height: 56px; - background-size: 30%; - left: -30px; - top: 6px; -} - -.view-map-link::before { - position: absolute; - content: ""; - background: transparent url("/images/maps/icon-map.png") no-repeat 0 0; - width: 75px; - height: 56px; - background-size: 30%; - left: -30px; - top: 0 -} - -.tt-highlight { - font-weight: bold; + .sortedby-label { + @include mq ($from: desktop) { + display: inline; + margin-right: 0.5em; + } + } } diff --git a/src/Views/Course/Index.cshtml b/src/Views/Course/Index.cshtml index 29329bec..c38cc73d 100644 --- a/src/Views/Course/Index.cshtml +++ b/src/Views/Course/Index.cshtml @@ -131,7 +131,7 @@ @if (Model.HasSection("about this training programme")) { -
+

About the course

@@ -143,7 +143,7 @@ @if (Model.HasSection("entry requirements")) { -
+

Requirements

@@ -153,7 +153,7 @@ @if (Model.HasSection("about placement schools")) { -
+

Placement schools

@@ -163,7 +163,7 @@
} -
+

Fees

@@ -188,7 +188,7 @@ -
+

Financial support

@if (Model.Finance.IsSalaried) { @@ -224,7 +224,7 @@ @if (Model.HasSection("about this training provider")) { -
+

About the training provider

@@ -237,7 +237,7 @@ } @if (Model.HasContactDetails()) { -
+

Contact details

@@ -297,7 +297,7 @@ } -
+

Apply

diff --git a/src/Views/Filter/Funding.cshtml b/src/Views/Filter/Funding.cshtml index f6ed7408..bdff34e8 100644 --- a/src/Views/Filter/Funding.cshtml +++ b/src/Views/Filter/Funding.cshtml @@ -54,7 +54,7 @@

You can find out more about student finance and the eligibility requirements.

-
+
diff --git a/src/wwwroot/css/site.css b/src/wwwroot/css/site.css index 5bc90af7..45c92fb3 100644 --- a/src/wwwroot/css/site.css +++ b/src/wwwroot/css/site.css @@ -5349,6 +5349,165 @@ p + .govuk-heading-s, } } +.found-heading { + border-bottom: 1px solid lightgrey; + position: relative; + clear: both; + min-height: 48px; + margin-bottom: 10px; +} + +.map-results-list { + margin-left: 30px; +} + +.resultsmap { + position: relative; + text-align: center; +} + +.mapimage::before { + content: "Loading..."; + position: absolute; + z-index: 1; + top: 50%; + left: 0; + right: 0; + font-size: 18px; + margin-top: -9px; +} + +.mapimage { + z-index: 2; + position: relative; +} + +.mapimage img { + z-index: 2; + position: relative; +} + +.mapcontrols { + z-index: 3; + position: absolute; + right: 10px; + bottom: 38px; + width: 28px; + height: 55px; + user-select: none; + -webkit-user-select: none; + -webkit-box-shadow: rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px; + box-shadow: rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px; + border-top-left-radius: 2px; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; + cursor: pointer; + background-color: white; + width: 28px; + height: 55px; +} + +.mapzoombutton { + background-color: transparent; + background-image: none; + display: block; + border: 0px; + margin: 0px; + padding: 0px; + position: relative; + cursor: pointer; + user-select: none; + -webkit-user-select: none; + width: 27px; + height: 27px; + top: 0px; + left: 0px; + background-position: initial initial; + background-repeat: initial initial; +} + +.mapzoomdivider { + position: relative; + overflow: hidden; + width: 67%; + height: 1px; + left: 16%; + background-color: #e6e6e6; + top: 0px; +} + +.view-list-link, +.view-map-link { + position: relative; + background: transparent; + display: inline-block; + line-height: 35px; + margin-left: 30px; +} + +.view-list-link::before { + position: absolute; + content: ""; + background: transparent url("/images/maps/icon-burger.png") no-repeat 0 0; + width: 71px; + height: 56px; + background-size: 30%; + left: -30px; + top: 6px; +} + +.view-map-link::before { + position: absolute; + content: ""; + background: transparent url("/images/maps/icon-map.png") no-repeat 0 0; + width: 75px; + height: 56px; + background-size: 30%; + left: -30px; + top: 0; +} + +.twitter-typeahead { + width: 100%; +} + +.tt-suggestion { + font-family: "nta", Arial, sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-weight: 400; + font-size: 16px; + padding: 7.5px; + cursor: pointer; +} + +.tt-suggestion:hover, +.tt-cursor { + background-color: #d5e8f3; +} + +.tt-menu { + width: 100%; + background-color: white; + border: #bfc1c3 2px solid; + box-shadow: 0 3px 2px #bfc1c3; +} + +.tt-hint { + visibility: hidden !important; +} + +@media screen and (min-width: 641px) { + .panel .tt-menu { + width: 50%; + } +} + +.tt-highlight { + font-weight: bold; +} + .course-parts { margin-top: 10px; } @@ -5836,256 +5995,90 @@ p + .govuk-heading-s, border: 4px solid govuk-color("red"); } -.phase-banner-wrapper { - max-width: 960px; - margin: 0 15px; - margin: 0 30px; - margin: 0 auto; - padding: 0 15px 10px; - outline: none; +.govuk-radios__divider { + font-family: "nta", Arial, sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-size: 16px; + line-height: 1.25; + width: 40px; + margin-bottom: 10px; + text-align: center; } -@media (min-width: 40.0625em) { - .phase-banner-wrapper { - margin: 0 30px; - padding: 0 10px; +@media print { + .govuk-radios__divider { + font-family: sans-serif; } } -@media (min-width: 48.0625em) { - .phase-banner-wrapper { - margin: 0 auto; - width: 960px; +@media (min-width: 40.0625em) { + .govuk-radios__divider { + font-size: 19px; + line-height: 1.31579; } } -.add-double-bottom-margin { - margin-bottom: 10px; -} - -.form-control-full { - width: 100%; -} - -.results-item { - margin-bottom: 10px; +@media print { + .govuk-radios__divider { + font-size: 14pt; + line-height: 1.15; + } } -.metadata dt, -.metadata dd { - display: inline-block; +.govuk-phase-banner:first-child { + background: #fff8c4; + padding-left: 10px; } -.metadata dt { - width: 20%; +.search-results li { + padding-bottom: 20px; + padding-top: 20px; + border-bottom: 1px solid #bfc1c3; + margin: 0; } -.metadata dd { - width: 79%; - margin-left: 0; +@media (min-width: 40.0625em) { + .search-results li { + padding-bottom: 30px; + } } -.filter-category { - background-color: govuk-color("grey-3"); - padding: 12px; - margin-bottom: 10px; +@media (min-width: 40.0625em) { + .search-results li { + padding-top: 30px; + } } -.filters { - background-color: #ffffff; - padding: 10px; +@media (min-width: 48.0625em) { + .search-results-header__count { + float: left; + } } -.filter-heading { - margin-top: 3px; +@media (min-width: 48.0625em) { + .search-results-header__new-search { + float: right; + } } -.filter-link { +.search-results-header .govuk-form-group { + border-bottom: 1px solid lightgrey; + border-top: 1px solid lightgrey; + clear: both; + margin-bottom: 0; + padding-bottom: 10px; padding-top: 10px; } -.tabs { - padding-left: 0; - border-bottom: 1px solid #0b0c0c; - font-size: 19px; - margin-bottom: 10px; -} - -.tabs li { - margin-bottom: -1px; - display: inline-block; -} - -.tabs a { - display: block; - padding: 15px 20px; -} - -.tabs .active a { - border: 1px solid #0b0c0c; - border-bottom-color: #ffffff; - text-decoration: none; -} - -.tabs .active a:link, .tabs .active a:visited { - color: govuk-color("black"); -} - -.form-control-xsmall { - width: 120px; -} - -.form-control-small { - width: 200px; +@media (min-width: 48.0625em) { + .search-results-header .govuk-form-group { + text-align: right; + } } -.tabs { - padding-left: 0; - border-bottom: 1px solid #0b0c0c; - font-size: 19px; -} - -.tabs li { - margin-bottom: -1px; - display: inline-block; -} - -.tabs a { - display: block; - padding: 15px 20px; -} - -.tabs .active a { - border: 1px solid #0b0c0c; - border-bottom-color: #ffffff; - text-decoration: none; -} - -.tabs .active a:link, .tabs .active a:visited { - color: govuk-color("black"); -} - -.study-options-table-code { - width: 120px; -} - -.study-options-table-vacancies { - width: 120px; -} - -.multiple-options li { - margin-bottom: 5px; - border-bottom: 1px solid #ccc; -} - -.fake-email { - margin-left: 15px; - margin-top: 20px; - border: 5px solid #0b0c0c; - padding: 60px; -} - -.ucas-info-table tr:last-child td { - border-bottom: 0; -} - -.ucas-info-table .ucas-view-link { - text-align: right; -} - -.missing-section { - border: 5px solid #0b0c0c; - padding: 10px; -} - -.preview-pre { - white-space: pre-wrap; -} - -.heading-medium .heading-secondary { - color: #6f777b; - font-weight: normal; - display: block; -} - -.ucas-info-table .subject-col { - width: 30%; -} - -.ucas-info-table .code-col { - width: 20%; -} - -.ucas-info-table .ucas-view-link { - text-align: right; -} - -.govuk-phase-banner:first-child { - background: #fff8c4; - padding-left: 10px; -} - -.govuk-radios__divider { - font-family: "nta", Arial, sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - font-weight: 400; - font-size: 16px; - line-height: 1.25; - width: 40px; - margin-bottom: 10px; - text-align: center; -} - -@media (min-width: 40.0625em) { - .govuk-radios__divider { - font-size: 19px; - line-height: 1.31579; - } -} - -.button.button-secondary { - background-color: #cccccc; - color: black; -} - -.found-heading { - border-bottom: 1px solid lightgrey; - position: relative; - clear: both; - min-height: 48px; - margin-bottom: 10px; -} - -@media (min-width: 48.0625em) { - .search-results-header__count { - float: left; - } -} - -@media (min-width: 48.0625em) { - .search-results-header__new-search { - float: right; - } -} - -.search-results-header .govuk-form-group { - border-bottom: 1px solid lightgrey; - border-top: 1px solid lightgrey; - clear: both; - margin-bottom: 0; - padding-bottom: 10px; - padding-top: 10px; -} - -@media (min-width: 48.0625em) { - .search-results-header .govuk-form-group { - text-align: right; - } -} - -.search-results-header select { - width: 180px; +.search-results-header select { + width: 180px; } @media (min-width: 48.0625em) { @@ -6095,257 +6088,4 @@ p + .govuk-heading-s, } } -.search-results li { - padding-bottom: 20px; - padding-top: 20px; - border-bottom: 1px solid #bfc1c3; - margin: 0; -} - -@media (min-width: 40.0625em) { - .search-results li { - padding-bottom: 30px; - } -} - -@media (min-width: 40.0625em) { - .search-results li { - padding-top: 30px; - } -} - -.filter-apply-button { - padding-top: 30px; - padding-bottom: 20px; -} - -.filter-apply-button-inline { - padding-top: 15px; -} - -.panel .filter-apply-button { - padding-bottom: 0; -} - -.checkbox-filter .checkbox-container.checkbox-container-noscroll { - height: auto; - scroll-behavior: initial; -} - -table.alt th, -table.alt td { - padding-left: 10px; - padding-right: 10px; -} - -table.alt th { - border: none; - background-color: #cccccc; - font-weight: bold; -} - -.heading-xlarge-bat { - margin-top: 0.125em; - margin-bottom: 0.65em; -} - -.phase-banner-wrapper { - max-width: 960px; - margin: 0 15px; - margin: 0 30px; - margin: 0 auto; - padding: 0 15px 10px; - outline: none; -} - -@media screen and (min-width: 641px) { - .phase-banner-wrapper { - margin: 0 30px; - padding: 0 0 10px; - } -} - -@media screen and (min-width: 1020px) { - .phase-banner-wrapper { - margin: 0 auto; - width: 960px; - } -} - -.course-details-section { - float: left; - width: 100%; -} - -.subject-details-wrapper { - clear: both; - padding-left: 12px; -} - -.subject-details-wrapper p { - margin-bottom: 10px; -} - -.multiple-choice-subject { - width: 100%; - border-bottom: solid 1px #cccccc; - padding-bottom: 10px; - margin-bottom: 10px; -} - -.multiple-choice-subject label { - margin-bottom: 10px; -} - -.twitter-typeahead { - width: 100%; -} - -.tt-suggestion { - font-family: "nta", Arial, sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - font-weight: 400; - font-size: 16px; - padding: 7.5px; - cursor: pointer; -} - -.tt-suggestion:hover, -.tt-cursor { - background-color: #d5e8f3; -} - -.tt-menu { - width: 100%; - background-color: white; - border: #bfc1c3 2px solid; - box-shadow: 0 3px 2px #bfc1c3; -} - -.tt-hint { - visibility: hidden !important; -} - -@media screen and (min-width: 641px) { - .panel .tt-menu { - width: 50%; - } -} - -.map-results-list { - margin-left: 30px; -} - -.resultsmap { - position: relative; - text-align: center; -} - -.mapimage::before { - content: "Loading..."; - position: absolute; - z-index: 1; - top: 50%; - left: 0; - right: 0; - font-size: 18px; - margin-top: -9px; -} - -.mapimage { - z-index: 2; - position: relative; -} - -.mapimage img { - z-index: 2; - position: relative; -} - -.mapcontrols { - z-index: 3; - position: absolute; - right: 10px; - bottom: 38px; - width: 28px; - height: 55px; - user-select: none; - -webkit-user-select: none; - -webkit-box-shadow: rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px; - box-shadow: rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px; - border-top-left-radius: 2px; - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; - border-bottom-left-radius: 2px; - cursor: pointer; - background-color: white; - width: 28px; - height: 55px; -} - -.mapzoombutton { - background-color: transparent; - background-image: none; - display: block; - border: 0px; - margin: 0px; - padding: 0px; - position: relative; - cursor: pointer; - user-select: none; - -webkit-user-select: none; - width: 27px; - height: 27px; - top: 0px; - left: 0px; - background-position: initial initial; - background-repeat: initial initial; -} - -.mapzoomdivider { - position: relative; - overflow: hidden; - width: 67%; - height: 1px; - left: 16%; - background-color: #e6e6e6; - top: 0px; -} - -.view-list-link, -.view-map-link { - position: relative; - background: transparent; - display: inline-block; - line-height: 35px; - margin-left: 30px; -} - -.view-list-link::before { - position: absolute; - content: ""; - background: transparent url("/images/maps/icon-burger.png") no-repeat 0 0; - width: 71px; - height: 56px; - background-size: 30%; - left: -30px; - top: 6px; -} - -.view-map-link::before { - position: absolute; - content: ""; - background: transparent url("/images/maps/icon-map.png") no-repeat 0 0; - width: 75px; - height: 56px; - background-size: 30%; - left: -30px; - top: 0; -} - -.tt-highlight { - font-weight: bold; -} - -/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS5jc3MiLCJzb3VyY2VzIjpbInNpdGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9hbGwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fYWxsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX2Fzc2V0cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19jb21wYXRpYmlsaXR5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX2dsb2JhbC1zdHlsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9faWU4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX21lZGlhLXF1ZXJpZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fY29sb3Vycy1wYWxldHRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX2NvbG91cnMtb3JnYW5pc2F0aW9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19jb2xvdXJzLWFwcGxpZWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19jb2xvdXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19tZWFzdXJlbWVudHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fdHlwb2dyYXBoeS1mb250LWZhbWlsaWVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX3R5cG9ncmFwaHktZm9udC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL190eXBvZ3JhcGh5LXJlc3BvbnNpdmUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC90b29scy9fYWxsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX2NvbXBhdGliaWxpdHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC90b29scy9fZXhwb3J0cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19mb250LXVybC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19pZTguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC90b29scy9faWZmLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX2ltYWdlLXVybC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19weC10by1lbS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19weC10by1yZW0uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19hbGwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2RldmljZS1waXhlbHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19mb2N1c2FibGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19mb250LWZhY2VzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2xpbmtzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fbWVkaWEtcXVlcmllcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3ZlbmRvci9fc2Fzcy1tcS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX3NoYXBlLWFycm93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb3JlL19hbGwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb3JlL19saW5rcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvcmUvX2xpc3RzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29yZS9fdGVtcGxhdGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb3JlL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29yZS9fc2VjdGlvbi1icmVhay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvcmUvX2dsb2JhbC1zdHlsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9vYmplY3RzL19hbGwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9vYmplY3RzL19mb3JtLWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb2JqZWN0cy9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL29iamVjdHMvX21haW4td3JhcHBlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL29iamVjdHMvX3dpZHRoLWNvbnRhaW5lci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvX2FsbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvYmFjay1saW5rL19iYWNrLWxpbmsuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2JyZWFkY3J1bWJzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvYnV0dG9uL19idXR0b24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2NoZWNrYm94ZXMvX2NoZWNrYm94ZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2Vycm9yLW1lc3NhZ2UvX2Vycm9yLW1lc3NhZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2ZpZWxkc2V0L19maWVsZHNldC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvaGludC9faGludC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvbGFiZWwvX2xhYmVsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9kYXRlLWlucHV0L19kYXRlLWlucHV0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9pbnB1dC9faW5wdXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2RldGFpbHMvX2RldGFpbHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2Vycm9yLXN1bW1hcnkvX2Vycm9yLXN1bW1hcnkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL19maWxlLXVwbG9hZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvZm9vdGVyL19mb290ZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2hlYWRlci9faGVhZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9pbnNldC10ZXh0L19pbnNldC10ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9wYW5lbC9fcGFuZWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3BoYXNlLWJhbm5lci9fcGhhc2UtYmFubmVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy90YWcvX3RhZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvdGFicy9fdGFicy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvcmFkaW9zL19yYWRpb3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3NlbGVjdC9fc2VsZWN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9za2lwLWxpbmsvX3NraXAtbGluay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvdGFibGUvX3RhYmxlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy90ZXh0YXJlYS9fdGV4dGFyZWEuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3dhcm5pbmctdGV4dC9fd2FybmluZy10ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdXRpbGl0aWVzL19hbGwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC91dGlsaXRpZXMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdXRpbGl0aWVzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9vdmVycmlkZXMvX2FsbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL292ZXJyaWRlcy9fZGlzcGxheS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL292ZXJyaWRlcy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL292ZXJyaWRlcy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL292ZXJyaWRlcy9fd2lkdGguc2NzcyIsImNvbXBvbmVudHMvX2Nvb2tpZS1iYW5uZXIuc2NzcyIsInBhdHRlcm5zL19jb3Vyc2UtcGFydHMuc2NzcyIsInBhdHRlcm5zL19zdWNjZXNzLXN1bW1hcnkuc2NzcyIsInBhdHRlcm5zL19kZWZpbml0aW9uLWxpc3Quc2NzcyIsInBhdHRlcm5zL19maWx0ZXJzLnNjc3MiLCJwYXR0ZXJucy9fcGFnaW5hdGlvbi5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIiRnb3Z1ay1pbWFnZXMtcGF0aDogXCIvaW1hZ2VzL1wiO1xuJGdvdnVrLWZvbnRzLXBhdGg6IFwiL2ZvbnRzL1wiO1xuXG4kZ292dWstZ2xvYmFsLXN0eWxlczogdHJ1ZTtcblxuQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9hbGxcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Nvb2tpZS1iYW5uZXJcIjtcbkBpbXBvcnQgXCJwYXR0ZXJucy9jb3Vyc2UtcGFydHNcIjtcbkBpbXBvcnQgXCJwYXR0ZXJucy9zdWNjZXNzLXN1bW1hcnlcIjtcbkBpbXBvcnQgXCJwYXR0ZXJucy9kZWZpbml0aW9uLWxpc3RcIjtcbkBpbXBvcnQgXCJwYXR0ZXJucy9maWx0ZXJzXCI7XG5AaW1wb3J0IFwicGF0dGVybnMvcGFnaW5hdGlvblwiO1xuXG4uZ292dWstaGVhZGVyX19saW5rLS1wcm9maWxlIHtcbiAgICBAZXh0ZW5kIC5nb3Z1ay1oZWFkZXJfX2xpbms7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIpXCI7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIihcIjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxufVxuXG4uZ292dWstbGlzdC0tZGFzaCB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IHVybCgnL2ltYWdlcy9kYXNoLnBuZycpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoOCk7XG59XG5cbi5nb3Z1ay1jaGVja2JveGVzX19sYWJlbCAuZ292dWstXFwhLWZvbnQtd2VpZ2h0LWJvbGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBBZGQgYSByZWQgYm9yZGVyIHRvIC5mb3JtLWNvbnRyb2wtZ3JvdXAgaWYgdmFsaWRhdGlvbiBmYWlsc1xuLmlucHV0LXZhbGlkYXRpb24tZXJyb3Ige1xuICAgIGJvcmRlcjogNHB4IHNvbGlkIGdvdnVrLWNvbG9yKFwicmVkXCIpO1xufVxuXG4ucGhhc2UtYmFubmVyLXdyYXBwZXIge1xuICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgbWFyZ2luOiAwIDMwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMCAxNXB4IDEwcHg7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luOiAwIDMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDk2MHB4O1xuICAgIH1cbn1cblxuLy8gQWRkIGV4dHJhIHN0eWxlcyBoZXJlLCBvciByZS1vcmdhbmlzZSB0aGUgU2FzcyBmaWxlcyBpbiB3aGljaGV2ZXIgd2F5IG1ha2VzIG1vc3Qgc2Vuc2UgdG8geW91XG5cbi5hZGQtZG91YmxlLWJvdHRvbS1tYXJnaW4ge1xuICAgIG1hcmdpbi1ib3R0b206ICBnb3Z1ay1zcGFjaW5nKDIpO1xufVxuXG4uZm9ybS1jb250cm9sLWZ1bGwge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucmVzdWx0cy1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAgZ292dWstc3BhY2luZygyKTtcbn1cblxuLm1ldGFkYXRhIGR0LFxuLm1ldGFkYXRhIGRkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5tZXRhZGF0YSBkdCB7XG4gICAgd2lkdGg6IDIwJTtcbn1cblxuLm1ldGFkYXRhIGRkIHtcbiAgICB3aWR0aDogNzklO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uZmlsdGVyLWNhdGVnb3J5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvcihcImdyZXktM1wiKTtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5maWx0ZXJzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBwYWRkaW5nOiAxMHB4O1xufVxuXG4uZmlsdGVyLWhlYWRpbmcge1xuICAgIG1hcmdpbi10b3A6IDNweDtcbn1cblxuLmZpbHRlci1saW5rIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuLnRhYnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIG1hcmdpbi1ib3R0b206ICBnb3Z1ay1zcGFjaW5nKDIpO1xuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgfVxuXG4gICAgLmFjdGl2ZSBhIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjpsaW5rLFxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6IGdvdnVrLWNvbG9yKFwiYmxhY2tcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtLWNvbnRyb2wteHNtYWxsIHtcbiAgICB3aWR0aDogMTIwcHg7XG59XG5cbi5mb3JtLWNvbnRyb2wtc21hbGwge1xuICAgIHdpZHRoOiAyMDBweDtcbn1cblxuLnRhYnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgfVxuXG4gICAgLmFjdGl2ZSBhIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjpsaW5rLFxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6IGdvdnVrLWNvbG9yKFwiYmxhY2tcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zdHVkeS1vcHRpb25zLXRhYmxlLWNvZGUge1xuICAgIHdpZHRoOiAxMjBweDtcbn1cblxuLnN0dWR5LW9wdGlvbnMtdGFibGUtdmFjYW5jaWVzIHtcbiAgICB3aWR0aDogMTIwcHg7XG59XG5cbi5tdWx0aXBsZS1vcHRpb25zIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG59XG5cbi5mYWtlLWVtYWlsIHtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIGJvcmRlcjogNXB4IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIHBhZGRpbmc6IDYwcHg7XG59XG5cbi51Y2FzLWluZm8tdGFibGUgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLnVjYXMtaW5mby10YWJsZSAudWNhcy12aWV3LWxpbmsge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubWlzc2luZy1zZWN0aW9uIHtcbiAgICBib3JkZXI6IDVweCBzb2xpZCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpO1xufVxuXG4ucHJldmlldy1wcmUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLmhlYWRpbmctbWVkaXVtIC5oZWFkaW5nLXNlY29uZGFyeSB7XG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcImdyZXktMVwiKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udWNhcy1pbmZvLXRhYmxlICB7XG4gICAgLnN1YmplY3QtY29sIHtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICB9XG5cbiAgICAuY29kZS1jb2wge1xuICAgICAgICB3aWR0aDogMjAlO1xuICAgIH1cblxuICAgIC51Y2FzLXZpZXctbGluayB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbn1cblxuLmdvdnVrLXBoYXNlLWJhbm5lcjpmaXJzdC1jaGlsZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjhjNDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG5cbi5nb3Z1ay1yYWRpb3NfX2RpdmlkZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmdvdnVrLXJhZGlvc19fZGl2aWRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzE1Nzk7XG4gICAgfVxufVxuXG4uYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2NjY2M7XG4gICAgY29sb3I6IGJsYWNrO1xufVxuXG4uZm91bmQtaGVhZGluZyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGxpZ2h0Z3JleTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWluLWhlaWdodDogNDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uc2VhcmNoLXJlc3VsdHMtaGVhZGVyIHtcbiAgICAmX19jb3VudCB7XG4gICAgICAgIEBpbmNsdWRlIG1xICgkZnJvbTogZGVza3RvcCkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fbmV3LXNlYXJjaCB7XG4gICAgICAgIEBpbmNsdWRlIG1xICgkZnJvbTogZGVza3RvcCkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdvdnVrLWZvcm0tZ3JvdXAge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbGlnaHRncmV5O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbGlnaHRncmV5O1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiAxODBweDtcbiAgICB9XG5cbiAgICAuc29ydGVkYnktbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWFyY2gtcmVzdWx0cyB7XG4gICAgbGkge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNiwgXCJib3R0b21cIik7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg2LCBcInRvcFwiKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4uZmlsdGVyLWFwcGx5LWJ1dHRvbiB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG5cbi5maWx0ZXItYXBwbHktYnV0dG9uLWlubGluZSB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG59XG5cbi5wYW5lbCAuZmlsdGVyLWFwcGx5LWJ1dHRvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jaGVja2JveC1maWx0ZXIgLmNoZWNrYm94LWNvbnRhaW5lci5jaGVja2JveC1jb250YWluZXItbm9zY3JvbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBzY3JvbGwtYmVoYXZpb3I6IGluaXRpYWw7XG59XG5cbnRhYmxlLmFsdCB0aCxcbnRhYmxlLmFsdCB0ZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG5cbnRhYmxlLmFsdCB0aCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2NjY2M7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5oZWFkaW5nLXhsYXJnZS1iYXQge1xuICAgIG1hcmdpbi10b3A6IDAuMTI1ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42NWVtO1xufVxuXG4ucGhhc2UtYmFubmVyLXdyYXBwZXIge1xuICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgbWFyZ2luOiAwIDMwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMCAxNXB4IDEwcHg7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAucGhhc2UtYmFubmVyLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDAgMzBweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDIwcHgpIHtcbiAgICAucGhhc2UtYmFubmVyLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDk2MHB4O1xuICAgIH1cbn1cblxuLmNvdXJzZS1kZXRhaWxzLXNlY3Rpb24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc3ViamVjdC1kZXRhaWxzLXdyYXBwZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHBhZGRpbmctbGVmdDogMTJweDtcbn1cblxuLnN1YmplY3QtZGV0YWlscy13cmFwcGVyIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5tdWx0aXBsZS1jaG9pY2Utc3ViamVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjY2NjY2M7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLm11bHRpcGxlLWNob2ljZS1zdWJqZWN0IGxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4udHdpdHRlci10eXBlYWhlYWQge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4udHQtc3VnZ2VzdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6IFwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgcGFkZGluZzogNy41cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udHQtc3VnZ2VzdGlvbjpob3Zlcixcbi50dC1jdXJzb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNWU4ZjM7XG59XG5cbi50dC1tZW51IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXI6ICNiZmMxYzMgMnB4IHNvbGlkO1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDJweCAjYmZjMWMzO1xufVxuXG4udHQtaGludCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgLnBhbmVsIC50dC1tZW51IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG59XG5cbi5tYXAtcmVzdWx0cy1saXN0IHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbn1cblxuLnJlc3VsdHNtYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tYXBpbWFnZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIkxvYWRpbmcuLi5cIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW4tdG9wOiAtOXB4O1xufVxuXG4ubWFwaW1hZ2Uge1xuICAgIHotaW5kZXg6IDI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubWFwaW1hZ2UgaW1nIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1hcGNvbnRyb2xzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTBweDtcbiAgICBib3R0b206IDM4cHg7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiA1NXB4O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMjk4MDM5KSAwcHggMXB4IDRweCAtMXB4O1xuICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4yOTgwMzkpIDBweCAxcHggNHB4IC0xcHg7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAycHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDJweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAycHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDU1cHg7XG59XG5cbi5tYXB6b29tYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogMHB4O1xuICAgIG1hcmdpbjogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgd2lkdGg6IDI3cHg7XG4gICAgaGVpZ2h0OiAyN3B4O1xuICAgIHRvcDogMHB4O1xuICAgIGxlZnQ6IDBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBpbml0aWFsIGluaXRpYWw7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IGluaXRpYWwgaW5pdGlhbDtcbn1cblxuLm1hcHpvb21kaXZpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogNjclO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGxlZnQ6IDE2JTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjMwLCAyMzAsIDIzMCk7XG4gICAgdG9wOiAwcHg7XG59XG5cbi52aWV3LWxpc3QtbGluayxcbi52aWV3LW1hcC1saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xufVxuXG4udmlldy1saXN0LWxpbms6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiL2ltYWdlcy9tYXBzL2ljb24tYnVyZ2VyLnBuZ1wiKSBuby1yZXBlYXQgMCAwO1xuICAgIHdpZHRoOiA3MXB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDMwJTtcbiAgICBsZWZ0OiAtMzBweDtcbiAgICB0b3A6IDZweDtcbn1cblxuLnZpZXctbWFwLWxpbms6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiL2ltYWdlcy9tYXBzL2ljb24tbWFwLnBuZ1wiKSBuby1yZXBlYXQgMCAwO1xuICAgIHdpZHRoOiA3NXB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDMwJTtcbiAgICBsZWZ0OiAtMzBweDtcbiAgICB0b3A6IDBcbn1cblxuLnR0LWhpZ2hsaWdodCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4iLCJAaW1wb3J0IFwic2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwidG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcImNvcmUvYWxsXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9hbGxcIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvYWxsXCI7XG5cbkBpbXBvcnQgXCJ1dGlsaXRpZXMvYWxsXCI7XG5AaW1wb3J0IFwib3ZlcnJpZGVzL2FsbFwiO1xuIiwiLy8gVGhlIG9yZGVyIHdlIGltcG9ydCBzZXR0aW5ncyBpbiBpcyBpbXBvcnRhbnQsIGFzIHNvbWUgc2V0dGluZ3MgZmlsZXMgcmVseSBvblxuLy8gb3RoZXJzXG5cbkBpbXBvcnQgXCJhc3NldHNcIjtcblxuQGltcG9ydCBcImNvbXBhdGliaWxpdHlcIjtcbkBpbXBvcnQgXCJnbG9iYWwtc3R5bGVzXCI7XG5AaW1wb3J0IFwiaWU4XCI7XG5cbkBpbXBvcnQgXCJtZWRpYS1xdWVyaWVzXCI7XG5cbkBpbXBvcnQgXCJjb2xvdXJzLXBhbGV0dGVcIjtcbkBpbXBvcnQgXCJjb2xvdXJzLW9yZ2FuaXNhdGlvbnNcIjtcbkBpbXBvcnQgXCJjb2xvdXJzLWFwcGxpZWRcIjtcblxuQGltcG9ydCBcInNwYWNpbmdcIjtcbkBpbXBvcnQgXCJtZWFzdXJlbWVudHNcIjtcblxuQGltcG9ydCBcInR5cG9ncmFwaHktZm9udC1mYW1pbGllc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHktZm9udFwiO1xuQGltcG9ydCBcInR5cG9ncmFwaHktcmVzcG9uc2l2ZVwiO1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9hc3NldHNcbi8vLy9cblxuLy8vIFBhdGggdG8gdGhlIGFzc2V0cyBkaXJlY3RvcnksIHdpdGggdHJhaWxpbmcgc2xhc2guXG4vLy9cbi8vLyBUaGlzIGlzIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIGltYWdlcyBhbmQgZm9udHMgc3ViZGlyZWN0b3JpZXMgbGl2ZS4gWW91XG4vLy8gd2lsbCBuZWVkIHRvIG1ha2UgdGhpcyBkaXJlY3RvcnkgYXZhaWxhYmxlIHZpYSB5b3VyIGFwcGxpY2F0aW9uIOKAkyBzZWUgdGhlXG4vLy8gUkVBRE1FIGZvciBkZXRhaWxzLlxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWFzc2V0cy1wYXRoOiBcIi9hc3NldHMvXCIgIWRlZmF1bHQ7XG5cbi8vLyBQYXRoIHRvIHRoZSBpbWFnZXMgZm9sZGVyLCB3aXRoIHRyYWlsaW5nIHNsYXNoLlxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWltYWdlcy1wYXRoOiBcIiN7JGdvdnVrLWFzc2V0cy1wYXRofWltYWdlcy9cIiAhZGVmYXVsdDtcblxuLy8vIFBhdGggdG8gdGhlIGZvbnRzIGZvbGRlciwgd2l0aCB0cmFpbGluZyBzbGFzaC5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250cy1wYXRoOiBcIiN7JGdvdnVrLWFzc2V0cy1wYXRofWZvbnRzL1wiICFkZWZhdWx0O1xuXG4vLy8gQ3VzdG9tIGltYWdlIFVSTCBmdW5jdGlvblxuLy8vXG4vLy8gSWYgdGhlIGJ1aWx0LWluIGltYWdlIFVSTCBoZWxwZXIgZG9lcyBub3QgbWVldCB5b3VyIG5lZWRzLCB5b3UgY2FuIHNwZWNpZnlcbi8vLyB0aGUgbmFtZSBvZiBhIGN1c3RvbSBoYW5kbGVyIOKAkyBlaXRoZXIgYnVpbHQgaW4gb3IgYnkgd3JpdGluZyB5b3VyIG93blxuLy8vIGZ1bmN0aW9uLlxuLy8vXG4vLy8gSWYgeW91IGFyZSB3cml0aW5nIHlvdXIgb3duIGhhbmRsZXIsIGVuc3VyZSB0aGF0IGl0IHJldHVybnMgYSBzdHJpbmcgd3JhcHBlZFxuLy8vIHdpdGggYHVybCgpYFxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gUmFpbHMgYXNzZXQgaGFuZGxpbmdcbi8vLyAgICRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb246ICdpbWFnZS11cmwnO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbSBhc3NldCBoYW5kbGluZ1xuLy8vXG4vLy8gICBAZnVuY3Rpb24gbXktdXJsLWhhbmRsZXIoJGZpbGVuYW1lKSB7XG4vLy8gICAgIC8vIFNvbWUgY3VzdG9tIFVSTCBoYW5kbGluZ1xuLy8vICAgICBAcmV0dXJuIHVybCgnZXhhbXBsZS5qcGcnKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgJGdvdnVrLWltYWdlLXVybC1mdW5jdGlvbjogJ215LXVybC1oYW5kbGVyJztcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb246IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQ3VzdG9tIGZvbnQgVVJMIGZ1bmN0aW9uXG4vLy9cbi8vLyBJZiB0aGUgYnVpbHQtaW4gZm9udCBVUkwgaGVscGVyIGRvZXMgbm90IG1lZXQgeW91ciBuZWVkcywgeW91IGNhbiBzcGVjaWZ5XG4vLy8gdGhlIG5hbWUgb2YgYSBjdXN0b20gaGFuZGxlciDigJMgZWl0aGVyIGJ1aWx0IGluIG9yIGJ5IHdyaXRpbmcgeW91ciBvd25cbi8vLyBmdW5jdGlvbi5cbi8vL1xuLy8vIElmIHlvdSBhcmUgd3JpdGluZyB5b3VyIG93biBoYW5kbGVyLCBlbnN1cmUgdGhhdCBpdCByZXR1cm5zIGEgc3RyaW5nIHdyYXBwZWRcbi8vLyB3aXRoIGB1cmwoKWBcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFJhaWxzIGFzc2V0IGhhbmRsaW5nXG4vLy8gICAkZ292dWstZm9udC11cmwtZnVuY3Rpb246ICdmb250LXVybCc7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9tIGFzc2V0IGhhbmRsaW5nXG4vLy9cbi8vLyAgIEBmdW5jdGlvbiBteS11cmwtaGFuZGxlcigkZmlsZW5hbWUpIHtcbi8vLyAgICAgLy8gU29tZSBjdXN0b20gVVJMIGhhbmRsaW5nXG4vLy8gICAgIEByZXR1cm4gdXJsKCdleGFtcGxlLndvZmYnKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uOiAnbXktdXJsLWhhbmRsZXInO1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBDb21wYXRpYmlsaXR5IHdpdGggbGVnYWN5IHJlcG9zIChnb3Z1a19lbGVtZW50cywgZ292dWtfZnJvbnRlbmRfdG9va2tpdCBhbmRcbi8vLyBnb3Z1a190ZW1wbGF0ZSkgc2V0dGluZ3Ncbi8vL1xuLy8vIFdlIGRlZmF1bHQgdGhlc2Ugc2V0dGluZ3MgdG8gYHRydWVgIHNvIHRoYXQgaWYgdGhleSBhcmUgbWlzc2VkIHdlIG9wdCBmb3IgYVxuLy8vIG1pbGQgcGVyZm9ybWFuY2UgaGl0IG92ZXIgYSBwb3RlbnRpYWwgYnJva2VuIGV4cGVyaWVuY2UgZm9yIHRoZSBlbmQtdXNlci5cbi8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9jb21wYXRpYmlsaXR5XG4vLy8vXG5cblxuLy8vIENvbXBhdGliaWxpdHkgTW9kZTogYWxwaGFnb3YvZ292dWtfZnJvbnRlbmRfdG9vbGtpdFxuLy8vXG4vLy8gVHJ1ZSBpZiB1c2VkIGluIGEgcHJvamVjdCB0aGF0IGFsc28gaW5jbHVkZXMgYWxwaGFnb3YvZ292dWtfZnJvbnRlbmRfdG9vbGtpdC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2Zyb250ZW5kdG9vbGtpdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbXBhdGliaWxpdHkgTW9kZTogYWxwaGFnb3YvZ292dWtfdGVtcGxhdGVcbi8vL1xuLy8vIFRydWUgaWYgdXNlZCBpbiBhIHByb2plY3QgdGhhdCBhbHNvIGluY2x1ZGVzIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlLlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrdGVtcGxhdGU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb21wYXRpYmlsaXR5IE1vZGU6IGFscGhhZ292L2dvdnVrX2VsZW1lbnRzXG4vLy9cbi8vLyBUcnVlIGlmIHVzZWQgaW4gYSBwcm9qZWN0IHRoYXQgYWxzbyBpbmNsdWRlcyBhbHBoYWdvdi9nb3Z1a19lbGVtZW50cy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29tcGF0aWJpbGl0eSBQcm9kdWN0IE1hcFxuLy8vXG4vLy8gTWFwcyBwcm9kdWN0IG5hbWVzIHRvIHRoZWlyIHNldHRpbmdzIHRoYXQgd2UgY2FuIHVzZSB0byBsb29rdXAgc3RhdGVzIGZyb21cbi8vLyB3aXRoaW4gdGhlIGBAZ292dWstY29tcGF0aWJpbGl0eWAgbWl4aW4uXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJF9nb3Z1ay1jb21wYXRpYmlsaXR5OiAoXG4gIGdvdnVrX2Zyb250ZW5kX3Rvb2xraXQ6ICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrZnJvbnRlbmR0b29sa2l0LFxuICBnb3Z1a190ZW1wbGF0ZTogJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWt0ZW1wbGF0ZSxcbiAgZ292dWtfZWxlbWVudHM6ICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrZWxlbWVudHMsXG4pO1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9nbG9iYWwtc3R5bGVzXG4vLy8vXG5cbi8vLyBJbmNsdWRlICdnbG9iYWwnIHN0eWxlc1xuLy8vXG4vLy8gV2hldGhlciB0byBzdHlsZSBwYXJhZ3JhcGhzIChgPHA+YCkgYW5kIGxpbmtzIChgPGE+YCkgd2l0aG91dCBleHBsaWNpdGx5XG4vLy8gaGF2aW5nIHRvIGFwcGx5IHRoZSBgZ292dWstYm9keWAgYW5kIGBnb3Z1ay1saW5rYCBjbGFzc2VzLlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1nbG9iYWwtc3R5bGVzOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvaWU4XG4vLy8vXG5cbi8vLyBXaGV0aGVyIHRoZSBzdHlsZXNoZWV0IGJlaW5nIGJ1aWx0IGlzIHRhcmdldGluZyBJbnRlcm5ldCBFeHBsb3JlciA4LlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pcy1pZTg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgdG8gdXNlIGFzIHRoZSB0YXJnZXQgd2hlbiByYXN0ZXJpemluZyBtZWRpYVxuLy8vIHF1ZXJpZXNcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pZTgtYnJlYWtwb2ludDogZGVza3RvcCAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvbWVkaWEtcXVlcmllc1xuLy8vL1xuXG4vLy8gQnJlYWtwb2ludCBkZWZpbml0aW9uc1xuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJyZWFrcG9pbnRzOiAoXG4gIG1vYmlsZTogIDMyMHB4LFxuICB0YWJsZXQ6ICA2NDFweCxcbiAgZGVza3RvcDogNzY5cHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBTaG93IGFjdGl2ZSBicmVha3BvaW50IGluIHRvcC1yaWdodCBjb3JuZXIuXG4vLy9cbi8vLyBPbmx5IHVzZSB0aGlzIGR1cmluZyBsb2NhbCBkZXZlbG9wbWVudC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstc2hvdy1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2NvbG91cnNcbi8vLy9cblxuLy8vIENvbG91ciBwYWxldHRlXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vL1xuLy8vIEBwcm9wICRjb2xvdXIgLSBSZXByZXNlbnRhdGlvbiBmb3IgdGhlIGdpdmVuICRjb2xvdXIsIHdoZXJlICRjb2xvdXIgaXMgdGhlXG4vLy8gICBmcmllbmRseSBuYW1lIGZvciB0aGUgY29sb3VyIChlLmcuIFwicmVkXCI6ICNmZjAwMDApO1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNvbG91cnM6IChcbiAgXCJwdXJwbGVcIjogIzJlMzU4YixcbiAgXCJsaWdodC1wdXJwbGVcIjogIzZmNzJhZixcbiAgXCJicmlnaHQtcHVycGxlXCI6ICM5MTJiODgsXG4gIFwicGlua1wiOiAjZDUzODgwLFxuICBcImxpZ2h0LXBpbmtcIjogI2Y0OTliZSxcbiAgXCJyZWRcIjogI2IxMGUxZSxcbiAgXCJicmlnaHQtcmVkXCI6ICNkZjMwMzQsXG4gIFwib3JhbmdlXCI6ICNmNDc3MzgsXG4gIFwiYnJvd25cIjogI2I1ODg0MCxcbiAgXCJ5ZWxsb3dcIjogI2ZmYmY0NyxcbiAgXCJsaWdodC1ncmVlblwiOiAjODU5OTRiLFxuICBcImdyZWVuXCI6ICMwMDY0MzUsXG4gIFwidHVycXVvaXNlXCI6ICMyOGExOTcsXG4gIFwibGlnaHQtYmx1ZVwiOiAjMmI4Y2M0LFxuICBcImJsdWVcIjogIzAwNWVhNSxcblxuICBcImJsYWNrXCI6ICMwYjBjMGMsXG4gIFwiZ3JleS0xXCI6ICM2Zjc3N2IsXG4gIFwiZ3JleS0yXCI6ICNiZmMxYzMsXG4gIFwiZ3JleS0zXCI6ICNkZWUwZTIsXG4gIFwiZ3JleS00XCI6ICNmOGY4ZjgsXG4gIFwid2hpdGVcIjogI2ZmZmZmZlxuKSAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvY29sb3Vyc1xuLy8vL1xuXG4vLy8gT3JnYW5pc2F0aW9uIGNvbG91cnNcbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vXG4vLy8gQHByb3AgJG9yZ2FuaXNhdGlvbi5jb2xvdXIgLSBDb2xvdXIgZm9yIHRoZSBnaXZlbiBgJG9yZ2FuaXNhdGlvbmBcbi8vLyBAcHJvcCAkb3JnYW5pc2F0aW9uLmNvbG91ci13ZWJzYWZlIC0gV2Vic2FmZSBjb2xvdXIgZm9yIHRoZSBnaXZlblxuLy8vICAgYCRvcmdhbmlzYXRpb25gLiBXZSB1c2UgYHdlYnNhZmVgIHRvIG1lYW4gc3Ryb25nIGVub3VnaCBjb250cmFzdCBhZ2FpbnN0XG4vLy8gICB3aGl0ZSB0byBiZSB1c2VkIGZvciBjb3B5IGFuZCBtZWV0IHRoZSBBQUEgKGxhcmdlIHRleHQpIGFuZCBBQSAoc21hbGxlclxuLy8vICAgY29weSkgV0NBRyBndWlkZWxpbmVzLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNvbG91cnMtb3JnYW5pc2F0aW9uczogKFxuICBcImF0dG9ybmV5LWdlbmVyYWxzLW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjOWYxODg4LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjYTAzYTg4XG4gICksXG4gIFwiY2FiaW5ldC1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzAwNWFiYixcbiAgICBjb2xvdXItd2Vic2FmZTogIzM0N2RhNFxuICApLFxuICBcImNpdmlsLXNlcnZpY2VcIjogKFxuICAgIGNvbG91cjogI2FmMjkyZVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWJ1c2luZXNzLWlubm92YXRpb24tc2tpbGxzXCI6IChcbiAgICBjb2xvdXI6ICMwMDM0NzksXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzNDdkYTRcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1jb21tdW5pdGllcy1hbmQtbG9jYWwtZ292ZXJubWVudFwiOiAoXG4gICAgY29sb3VyOiAjMDA4NTdlLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzc4MzZlXG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItY3VsdHVyZS1tZWRpYS1zcG9ydFwiOiAoXG4gICAgY29sb3VyOiAjZDQwMDcyLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjYTAzMTU1XG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItZWR1Y2F0aW9uXCI6IChcbiAgICBjb2xvdXI6ICMwMDNhNjksXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzNDdjYTlcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1lbnZpcm9ubWVudC1mb29kLXJ1cmFsLWFmZmFpcnNcIjogKFxuICAgIGNvbG91cjogIzAwYTMzYixcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwODkzOFxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWludGVybmF0aW9uYWwtZGV2ZWxvcG1lbnRcIjogKFxuICAgIGNvbG91cjogIzAwMjg3OCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzQwNWU5YVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWludGVybmF0aW9uYWwtdHJhZGVcIjogKFxuICAgIGNvbG91cjogI2NmMTAyZCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwNWVhNVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLXRyYW5zcG9ydFwiOiAoXG4gICAgY29sb3VyOiAjMDA2YzU2LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzk4MzczXG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3Itd29yay1wZW5zaW9uc1wiOiAoXG4gICAgY29sb3VyOiAjMDBiZWI3LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzc4MDdiXG4gICksXG4gIFwiZGVwYXJ0bWVudC1vZi1lbmVyZ3ktY2xpbWF0ZS1jaGFuZ2VcIjogKFxuICAgIGNvbG91cjogIzAwOWRkYixcbiAgICBjb2xvdXItd2Vic2FmZTogIzJiN2NhY1xuICApLFxuICBcImRlcGFydG1lbnQtb2YtaGVhbHRoXCI6IChcbiAgICBjb2xvdXI6ICMwMGFkOTMsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzOTgzNmVcbiAgKSxcbiAgXCJmb3JlaWduLWNvbW1vbndlYWx0aC1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzAwM2U3NCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzQwNmU5N1xuICApLFxuICBcImdvdmVybm1lbnQtZXF1YWxpdGllcy1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogICM5MzI1YjJcbiAgKSxcbiAgXCJobS1nb3Zlcm5tZW50XCI6IChcbiAgICBjb2xvdXI6ICMwMDc2YzAsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzNDdkYTRcbiAgKSxcbiAgXCJobS1yZXZlbnVlLWN1c3RvbXNcIjogKFxuICAgIGNvbG91cjogIzAwOTM5MCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwODY3MFxuICApLFxuICBcImhtLXRyZWFzdXJ5XCI6IChcbiAgICBjb2xvdXI6ICNhZjI5MmUsXG4gICAgY29sb3VyLXdlYnNhZmU6ICM4MzIzMjJcbiAgKSxcbiAgXCJob21lLW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjOTMyNWIyLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjOTQ0MGIyXG4gICksXG4gIFwibWluaXN0cnktb2YtZGVmZW5jZVwiOiAoXG4gICAgY29sb3VyOiAjNGQyOTQyLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjNWE1YzkyXG4gICksXG4gIFwibWluaXN0cnktb2YtanVzdGljZVwiOiAoXG4gICAgY29sb3VyOiAjMjMxZjIwLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjNWE1YzkyXG4gICksXG4gIFwibm9ydGhlcm4taXJlbGFuZC1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzAwMjY2MyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzNlNTk4Y1xuICApLFxuICBcIm9mZmljZS1vZi10aGUtYWR2b2NhdGUtZ2VuZXJhbC1mb3Itc2NvdGxhbmRcIjogKFxuICAgIGNvbG91cjogIzAwMjY2MyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwNWVhNVxuICApLFxuICBcIm9mZmljZS1vZi10aGUtbGVhZGVyLW9mLXRoZS1ob3VzZS1vZi1jb21tb25zXCI6IChcbiAgICBjb2xvdXI6ICMzMTcwMjMsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVmOGZcbiAgKSxcbiAgXCJvZmZpY2Utb2YtdGhlLWxlYWRlci1vZi10aGUtaG91c2Utb2YtbG9yZHNcIjogKFxuICAgIGNvbG91cjogIzljMTMyZSxcbiAgICBjb2xvdXItd2Vic2FmZTogI2MyMzk1ZFxuICApLFxuICBcInNjb3RsYW5kLW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjMDAyNjYzLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjNDA1YzhhXG4gICksXG4gIFwidWstZXhwb3J0LWZpbmFuY2VcIjogKFxuICAgIGNvbG91cjogIzAwNTc0NyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwNWVhNVxuICApLFxuICBcInVrLXRyYWRlLWludmVzdG1lbnRcIjogKFxuICAgIGNvbG91cjogI2M4MDY1MSxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwNWVhNVxuICApLFxuICBcIndhbGVzLW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjYTMzMDM4LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjN2EyNDJhXG4gIClcbikgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2NvbG91cnNcbi8vLy9cblxuQGltcG9ydCBcIi4uL2hlbHBlcnMvY29sb3VyXCI7XG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEdlbmVyaWNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQnJhbmQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYnJhbmQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay10ZXh0LWNvbG91cjogZ292dWstY29sb3VyKFwiYmxhY2tcIikgIWRlZmF1bHQ7XG5cbi8vLyBDYW52YXMgYmFja2dyb3VuZCBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgYnkgdGhlIGZvb3RlciBjb21wb25lbnQgYW5kIHRlbXBsYXRlIHRvIGdpdmUgdGhlIGlsbHVzaW9uIG9mIGEgbG9uZyBmb290ZXIuXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstY2FudmFzLWJhY2tncm91bmQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTNcIikgIWRlZmF1bHQ7XG5cbi8vLyBCb2R5IGJhY2tncm91bmQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9keS1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwid2hpdGVcIikgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG91ciBmb3IgcHJpbnQgbWVkaWFcbi8vL1xuLy8vIFVzZSAndHJ1ZSBibGFjaycgdG8gYXZvaWQgcHJpbnRlcnMgdXNpbmcgY29sb3VyIGluayB0byBwcmludCBib2R5IHRleHRcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1wcmludC10ZXh0LWNvbG91cjogIzAwMDAwMCAhZGVmYXVsdDtcblxuLy8vIFNlY29uZGFyeSB0ZXh0IGNvbG91clxuLy8vXG4vLy8gVXNlZCBmb3IgJ211dGVkJyB0ZXh0LCBoZWxwIHRleHQsIGV0Yy5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImdyZXktMVwiKSAhZGVmYXVsdDtcblxuLy8vIEZvY3VzIGNvbG91clxuLy8vXG4vLy8gVXNlZCBmb3Igb3V0bGluZSAoYW5kIGJhY2tncm91bmQsIHdoZXJlIGFwcHJvcHJpYXRlKSB3aGVuIGludGVyYWN0aXZlXG4vLy8gZWxlbWVudHMgKGxpbmtzLCBmb3JtIGNvbnRyb2xzKSBoYXZlIGtleWJvYXJkIGZvY3VzLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLWNvbG91cjogZ292dWstY29sb3VyKFwieWVsbG93XCIpICFkZWZhdWx0O1xuXG4vLy8gRXJyb3IgY29sb3VyXG4vLy9cbi8vLyBVc2VkIHRvIGhpZ2hsaWdodCBlcnJvciBtZXNzYWdlcyBhbmQgZm9ybSBjb250cm9scyBpbiBhbiBlcnJvciBzdGF0ZVxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWVycm9yLWNvbG91cjogZ292dWstY29sb3VyKFwicmVkXCIpICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGNvbG91clxuLy8vXG4vLy8gVXNlZCBmb3IgYm9yZGVycywgc2VwYXJhdG9ycywgcnVsZXMsIGtleWxpbmVzIGV0Yy5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTJcIikgIWRlZmF1bHQ7XG5cbi8vLyBJbnB1dCBib3JkZXIgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGZvciBmb3JtIGlucHV0cyBhbmQgY29udHJvbHNcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKSAhZGVmYXVsdDtcblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIExpbmsgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsdWVcIikgIWRlZmF1bHQ7XG5cbi8vLyBWaXNpdGVkIGxpbmsgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay12aXNpdGVkLWNvbG91cjogIzRjMmM5MiAhZGVmYXVsdDtcblxuLy8vIExpbmsgaG92ZXIgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay1ob3Zlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImxpZ2h0LWJsdWVcIikgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgbGluayBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLWFjdGl2ZS1jb2xvdXI6IGdvdnVrLWNvbG91cihcImxpZ2h0LWJsdWVcIikgIWRlZmF1bHQ7XG4iLCJAaW1wb3J0IFwiLi4vc2V0dGluZ3MvY29sb3Vycy1wYWxldHRlXCI7XG5AaW1wb3J0IFwiLi4vc2V0dGluZ3MvY29sb3Vycy1vcmdhbmlzYXRpb25zXCI7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9jb2xvdXJcbi8vLy9cblxuLy8vIEdldCBjb2xvdXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY29sb3VyIC0gTmFtZSBvZiBjb2xvdXIgZnJvbSB0aGUgY29sb3VyIHBhbGV0dGVcbi8vLyAgIChgJGdvdnVrLWNvbG91cnNgKVxuLy8vIEByZXR1cm4ge0NvbG91cn0gUmVwcmVzZW50YXRpb24gb2YgbmFtZWQgY29sb3VyXG4vLy8gQHRocm93IGlmIGAkY29sb3VyYCBpcyBub3QgYSBjb2xvdXIgZnJvbSB0aGUgY29sb3VyIHBhbGV0dGVcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstY29sb3VyKCRjb2xvdXIpIHtcbiAgJGNvbG91cjogcXVvdGUoJGNvbG91cik7XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkZ292dWstY29sb3VycywgJGNvbG91cikge1xuICAgIEBlcnJvciBcIlVua25vd24gY29sb3VyIGAjeyRjb2xvdXJ9YFwiO1xuICB9XG5cbiAgQHJldHVybiBtYXAtZ2V0KCRnb3Z1ay1jb2xvdXJzLCAkY29sb3VyKTtcbn1cblxuLy8vIEdldCB0aGUgY29sb3VyIGZvciBhIGdvdmVybm1lbnQgb3JnYW5pc2F0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9yZ2FuaXNhdGlvbiAtIE9yZ2FuaXNhdGlvbiBuYW1lLCBsb3dlcmNhc2UsIGh5cGhlbmF0ZWRcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3ZWJzYWZlIFt0cnVlXSAtIEJ5IGRlZmF1bHQgYSAnd2Vic2FmZScgdmVyc2lvbiBvZiB0aGVcbi8vLyAgIGNvbG91ciB3aWxsIGJlIHJldHVybmVkIHdoaWNoIG1lZXRzIGNvbnRyYXN0IHJlcXVpcmVtZW50cyAuIElmIHlvdSB3YW50IHRvXG4vLy8gICB1c2UgdGhlIG5vbi13ZWJzYWZlIHZlcnNpb24geW91IGNhbiBzZXQgdGhpcyB0byBgZmFsc2VgIGJ1dCB5b3VyIHNob3VsZFxuLy8vICAgZW5zdXJlIHRoYXQgeW91IHN0aWxsIG1lZXRzIGNvbnRyYXN0IHJlcXVpcmVtZW50cyBmb3IgYWNjZXNzaWJpbGl0eSAtIGZvclxuLy8vICAgZXhhbXBsZSwgZG9uJ3QgdXNlIHRoZSBub24td2Vic2FmZSB2ZXJzaW9uIGZvciB0ZXh0LlxuLy8vXG4vLy8gQHJldHVybiB7Q29sb3VyfSBSZXByZXNlbnRhdGlvbiBvZiBjb2xvdXIgZm9yIG9yZ2FuaXNhdGlvblxuLy8vIEB0aHJvdyBpZiBgJG9yZ2FuaXNhdGlvbmAgaXMgbm90IGEga25vd24gb3JnYW5pc2F0aW9uXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLW9yZ2FuaXNhdGlvbi1jb2xvdXIoJG9yZ2FuaXNhdGlvbiwgJHdlYnNhZmU6IHRydWUpIHtcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkZ292dWstY29sb3Vycy1vcmdhbmlzYXRpb25zLCAkb3JnYW5pc2F0aW9uKSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBvcmdhbmlzYXRpb24gYCN7JG9yZ2FuaXNhdGlvbn1gXCI7XG4gIH1cblxuICAkb3JnLWNvbG91cjogbWFwLWdldCgkZ292dWstY29sb3Vycy1vcmdhbmlzYXRpb25zLCAkb3JnYW5pc2F0aW9uKTtcblxuICBAaWYgKCR3ZWJzYWZlIGFuZCBtYXAtaGFzLWtleSgkb3JnLWNvbG91ciwgY29sb3VyLXdlYnNhZmUpKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRvcmctY29sb3VyLCBjb2xvdXItd2Vic2FmZSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkb3JnLWNvbG91ciwgY29sb3VyKTtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9zcGFjaW5nXG4vLy8vXG5cbi8vLyBTaW5nbGUgcG9pbnQgc3BhY2luZyB2YXJpYWJsZXMuIEFjY2VzcyB1c2luZyBgZ292dWstc3BhY2luZygpYFxuLy8vIChzZWUgYGhlbHBlcnMvc3BhY2luZ2ApLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRnb3Z1ay1zcGFjaW5nLXBvaW50czogKFxuICAwOiAwLFxuICAxOiA1cHgsXG4gIDI6IDEwcHgsXG4gIDM6IDE1cHgsXG4gIDQ6IDIwcHgsXG4gIDU6IDI1cHgsXG4gIDY6IDMwcHgsXG4gIDc6IDQwcHgsXG4gIDg6IDUwcHgsXG4gIDk6IDYwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBSZXNwb25zaXZlIHNwYWNpbmcgbWFwc1xuLy8vXG4vLy8gVGhlc2UgZGVmaW5pdGlvbnMgYXJlIHVzZWQgdG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSBzcGFjaW5nIHRoYXQgYWRhcHRzXG4vLy8gYWNjb3JkaW5nIHRvIHRoZSBicmVha3BvaW50cyAoc2VlICdoZWxwZXJzL3NwYWNpbmcnKS4gVGhlc2UgbWFwcyBzaG91bGQgYmVcbi8vLyB1c2VkIHdoZXJldmVyIHBvc3NpYmxlIHRvIHN0YW5kYXJkaXNlIHJlc3BvbnNpdmUgc3BhY2luZy5cbi8vL1xuLy8vIFlvdSBjYW4gZGVmaW5lIGRpZmZlcmVudCBiZWhhdmlvdXIgb24gdGFibGV0IGFuZCBkZXNrdG9wLiBUaGUgJ251bGwnXG4vLy8gYnJlYWtwb2ludCBpcyBmb3IgbW9iaWxlLlxuLy8vXG4vLy8gQWNjZXNzIHJlc3BvbnNpdmUgc3BhY2luZyB3aXRoIGBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbmAgb3Jcbi8vLyBgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nYCBtaXhpbnMgKHNlZSBgaGVscGVycy9zcGFjaW5nYCkuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJGdvdnVrLXNwYWNpbmctcmVzcG9uc2l2ZS1zY2FsZTogKFxuICAwOiAoXG4gICAgbnVsbDogMCxcbiAgICB0YWJsZXQ6IDBcbiAgKSxcbiAgMTogKFxuICAgIG51bGw6IDVweCxcbiAgICB0YWJsZXQ6IDVweFxuICApLFxuICAyOiAoXG4gICAgbnVsbDogMTBweCxcbiAgICB0YWJsZXQ6IDEwcHhcbiAgKSxcbiAgMzogKFxuICAgIG51bGw6IDE1cHgsXG4gICAgdGFibGV0OiAxNXB4XG4gICksXG4gIDQ6IChcbiAgICBudWxsOiAxNXB4LFxuICAgIHRhYmxldDogMjBweFxuICApLFxuICA1OiAoXG4gICAgbnVsbDogMTVweCxcbiAgICB0YWJsZXQ6IDI1cHhcbiAgKSxcbiAgNjogKFxuICAgIG51bGw6IDIwcHgsXG4gICAgdGFibGV0OiAzMHB4XG4gICksXG4gIDc6IChcbiAgICBudWxsOiAyNXB4LFxuICAgIHRhYmxldDogNDBweFxuICApLFxuICA4OiAoXG4gICAgbnVsbDogMzBweCxcbiAgICB0YWJsZXQ6IDUwcHhcbiAgKSxcbiAgOTogKFxuICAgIG51bGw6IDQwcHgsXG4gICAgdGFibGV0OiA2MHB4XG4gIClcbikgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL21lYXN1cmVtZW50c1xuLy8vL1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQYWdlIGxheW91dFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBXaWR0aCBvZiBtYWluIGNvbnRhaW5lclxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXBhZ2Utd2lkdGg6IDk2MHB4ICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgZ3V0dGVyIGJldHdlZW4gZ3JpZCBjb2x1bW5zXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ3V0dGVyOiAzMHB4ICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaGFsZiB0aGUgZ3V0dGVyIGJldHdlZW4gZ3JpZCBjb2x1bW5zXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ3V0dGVyLWhhbGY6ICRnb3Z1ay1ndXR0ZXIgLyAyO1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCb3JkZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIFN0YW5kYXJkIGJvcmRlciB3aWR0aFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aDogNXB4ICFkZWZhdWx0O1xuXG4vLy8gV2lkZSBib3JkZXIgd2lkdGhcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtd2lkZTogMTBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBvbiBtb2JpbGVcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtbW9iaWxlOiA0cHggIWRlZmF1bHQ7XG5cbi8vLyBGb3JtIGNvbnRyb2wgYm9yZGVyIHdpZHRoXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDogMnB4ICFkZWZhdWx0O1xuXG4vLy8gRm9ybSBjb250cm9sIGJvcmRlciB3aWR0aCB3aGVuIGluIGVycm9yIHN0YXRlXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudC1lcnJvcjogNHB4ICFkZWZhdWx0O1xuXG4vLy8gRm9ybSBncm91cCBib3JkZXIgd2lkdGggd2hlbiBpbiBlcnJvciBzdGF0ZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWdyb3VwLWVycm9yOiAkZ292dWstYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIG9mIGZvY3VzIG91dGxpbmVcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb2N1cy13aWR0aDogM3B4ICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy90eXBvZ3JhcGh5XG4vLy8vXG5cbi8vLyBMaXN0IG9mIGZvbnQgZmFtaWxpZXMgdG8gdXNlIGlmIHVzaW5nIE5UQSAodGhlIGRlZmF1bHQgZm9udCAnc3RhY2snIGZvclxuLy8vIEdPVi5VSylcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udC1mYW1pbHktbnRhOiBcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuLy8vIExpc3Qgb2YgZm9udCBmYW1pbGllcyB0byB1c2UgaWYgdXNpbmcgdGhlICd0YWJ1bGFyIG51bWJlcnMnIHN1YnNldCBvZiBOVEFcbi8vLyAodGhlIGRlZmF1bHQgZm9udCAnc3RhY2snIGZvciBHT1YuVUspXG4vLy9cbi8vLyBCZWNhdXNlIG50YXRhYnVsYXJudW1iZXJzIG9ubHkgaW5jbHVkZXMgdGhlIGRpZ2l0cyAwLTEwLCBhbGwgb3RoZXIgZ2x5cGhzXG4vLy8gd2lsbCAnZmFsbC10aHJvdWdoJyB0aGUgc3RhY2sgdG8gTlRBLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LWZhbWlseS1udGEtdGFidWxhcjogXCJudGF0YWJ1bGFybnVtYmVyc1wiLCAkZ292dWstZm9udC1mYW1pbHktbnRhO1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy90eXBvZ3JhcGh5XG4vLy8vXG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZvbnQgZmFtaWxpZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gRm9udCBmYW1pbGllcyB0byB1c2UgZm9yIGFsbCB0eXBvZ3JhcGh5IG9uIHNjcmVlbiBtZWRpYVxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LWZhbWlseTogJGdvdnVrLWZvbnQtZmFtaWx5LW50YSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWxpZXMgdG8gdXNlIHdoZW4gZGlzcGxheWluZyB0YWJ1bGFyIG51bWJlcnNcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udC1mYW1pbHktdGFidWxhcjogJGdvdnVrLWZvbnQtZmFtaWx5LW50YS10YWJ1bGFyICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbGllcyB0byB1c2UgZm9yIHByaW50IG1lZGlhXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5LXByaW50OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGb250IHdlaWdodHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIHJlZ3VsYXIgdHlwb2dyYXBoeVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbiRnb3Z1ay1mb250LXdlaWdodC1yZWd1bGFyOiA0MDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYm9sZCB0eXBvZ3JhcGh5XG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuJGdvdnVrLWZvbnQtd2VpZ2h0LWJvbGQ6IDcwMCAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvdHlwb2dyYXBoeVxuLy8vL1xuXG4vLy8gV2hldGhlciBvciBub3QgdG8gZGVmaW5lIGZvbnQgc2l6ZXMgaW4gcmVtLCBpbXByb3ZpbmcgYWNjZXNzaWJpbGl0eSBieVxuLy8vIGFsbG93aW5nIHVzZXJzIHRvIGFkanVzdCB0aGUgYmFzZSBmb250LXNpemUuIFRoaXMgaXMgY3VycmVudGx5IG9mZiBieVxuLy8vIGRlZmF1bHQsIGJ1dCB3aWxsIGJlIGVuYWJsZWQgYnkgZGVmYXVsdCBmb3IgcHJvamVjdHMgdGhhdCBkbyBub3QgdXNlXG4vLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS5cbi8vL1xuLy8vIElmIHlvdSBlbmFibGUgdGhpcywgeW91IHNob3VsZCBtYWtlIHN1cmUgdGhhdCBgJGdvdnVrLXJvb3QtZm9udC1zaXplYCBpcyBzZXRcbi8vLyBjb3JyZWN0bHkgZm9yIHlvdXIgcHJvamVjdC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstdHlwb2dyYXBoeS11c2UtcmVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIFJvb3QgZm9udCBzaXplXG4vLy9cbi8vLyBUaGlzIGlzIHVzZWQgdG8gY2FsY3VsYXRlIHJlbSBzaXplcyBmb3IgdGhlIHR5cG9ncmFwaHksIGFuZCBzaG91bGQgbWF0Y2ggdGhlXG4vLy8gX2VmZmVjdGl2ZV8gZm9udC1zaXplIG9mIHlvdXIgcm9vdCAob3IgaHRtbCkgZWxlbWVudC5cbi8vL1xuLy8vIElkZWFsbHkgeW91IHNob3VsZCBub3QgYmUgc2V0dGluZyB0aGUgZm9udC1zaXplIG9uIHRoZSBodG1sIG9yIHJvb3QgZWxlbWVudFxuLy8vIGluIG9yZGVyIHRvIGFsbG93IGl0IHRvIHNjYWxlIHdpdGggdXNlci1wcmVmZXJlbmNlLCBpbiB3aGljaCBjYXNlIHRoaXNcbi8vLyBzaG91bGQgYmUgc2V0IHRvIDE2cHguXG4vLy9cbi8vLyBJZiB5b3UgYXJlIGludGVncmF0aW5nIEZyb250ZW5kIGludG8gYW4gZXhpc3RpbmcgcHJvamVjdCB0aGF0IGFsc28gdXNlc1xuLy8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIHRoZW4geW91IHNob3VsZCBzZXQgdGhpcyB0byAxMHB4IHRvIG1hdGNoIHRoZSA2Mi41JVxuLy8vICgxMHB4KSBiYXNlIGZvbnQgc2l6ZSB0aGF0IGdvdnVrX3RlbXBsYXRlIHNldHMgb24gdGhlIDxodG1sPiBlbGVtZW50LlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXJvb3QtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLy8gUmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IGZvbnQgbWFwXG4vLy9cbi8vLyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IHRoYXQgYWRhcHRzIGFjY29yZGluZyB0byB0aGVcbi8vLyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEZvbnQgc2l6ZSBhbmQgZm9udCB3ZWlnaHQgY2FuIGJlIGRlZmluZWQgZm9yIGVhY2ggYnJlYWtwb2ludC4gWW91IGNhbiBkZWZpbmVcbi8vLyBkaWZmZXJlbnQgYmVoYXZpb3VyIG9uIHRhYmxldCBhbmQgZGVza3RvcC4gVGhlICdudWxsJyBicmVha3BvaW50IGlzIGZvclxuLy8vIG1vYmlsZS5cbi8vL1xuLy8vIExpbmUtaGVpZ2h0cyB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgY29udmVydGVkIGZyb20gcGl4ZWwgbWVhc3VyZW1lbnRzIGludG9cbi8vLyByZWxhdGl2ZSB2YWx1ZXMuIEZvciBleGFtcGxlLCB3aXRoIGEgZm9udC1zaXplIG9mIDE2cHggYW5kIGEgbGluZS1oZWlnaHQgb2Zcbi8vLyAyNHB4LCB0aGUgbGluZS1oZWlnaHQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gMS41IGJlZm9yZSBvdXRwdXQuXG4vLy9cbi8vLyBZb3UgY2FuIGFsc28gc3BlY2lmeSBhIHNlcGFyYXRlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgZm9yIHByaW50IG1lZGlhLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQuJGJyZWFrcG9pbnQuZm9udC1zaXplIC0gRm9udCBzaXplIGZvciBgJHBvaW50YCBhdCBgJGJyZWFrcG9pbnRgXG4vLy8gQHByb3Age051bWJlcn0gJHBvaW50LiRicmVha3BvaW50LmxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgZm9yIGAkcG9pbnRgIGF0IGAkYnJlYWtwb2ludGBcbi8vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQucHJpbnQuZm9udC1zaXplIC0gRm9udCBzaXplIGZvciBgJHBvaW50YCB3aGVuIHByaW50aW5nXG4vLy8gQHByb3Age051bWJlcn0gJHBvaW50LnByaW50LmxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgZm9yIGAkcG9pbnRgIHdoZW4gcHJpbnRpbmdcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlOiAoXG4gIDgwOiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiA1M3B4LFxuICAgICAgbGluZS1oZWlnaHQ6IDU1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiA4MHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDgwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDUzcHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xXG4gICAgKVxuICApLFxuICA0ODogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMzJweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogNDhweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAzMnB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDM2OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAyNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAzNnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDQwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDI0cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4wNVxuICAgIClcbiAgKSxcbiAgMjc6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDE4cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDI3cHgsXG4gICAgICBsaW5lLWhlaWdodDogMzBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMThwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1XG4gICAgKVxuICApLFxuICAyNDogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMThweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMjRweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAxOHB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDE5OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxNnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAxOXB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDE0cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xNVxuICAgIClcbiAgKSxcbiAgMTY6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDE0cHgsXG4gICAgICBsaW5lLWhlaWdodDogMTZweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDE2cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMTRwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJcbiAgICApXG4gICksXG4gIDE0OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDE1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAxNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDEycHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4yXG4gICAgKVxuICApXG4pICFkZWZhdWx0O1xuIiwiQGltcG9ydCBcImNvbXBhdGliaWxpdHlcIjtcbkBpbXBvcnQgXCJleHBvcnRzXCI7XG5AaW1wb3J0IFwiZm9udC11cmxcIjtcbkBpbXBvcnQgXCJpZThcIjtcbkBpbXBvcnQgXCJpZmZcIjtcbkBpbXBvcnQgXCJpbWFnZS11cmxcIjtcbkBpbXBvcnQgXCJweC10by1lbVwiO1xuQGltcG9ydCBcInB4LXRvLXJlbVwiO1xuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gQ29uZGl0aW9uYWwgQ29tcGF0aWJpbGl0eSBNaXhpblxuLy8vXG4vLy8gU2VsZWN0aXZlbHkgb3V0cHV0IGEgYmxvY2sgKGF2YWlsYWJsZSB0byB0aGUgbWl4aW4gYXMgQGNvbnRlbnQpIGlmIGEgZ2l2ZW5cbi8vLyAkcHJvZHVjdCBpcyBhbHNvIGlkZW50aWZpZWQgYXMgYmVpbmcgdXNlZCBpbiB0aGUgcHJvamVjdC5cbi8vL1xuLy8vIFRoaXMgY2FuIHRoZW4gYmUgdXNlZCB0byBpbmNsdWRlIHN0eWxlcyB0aGF0IGFyZSBvbmx5IG5lZWRlZCB0byBvdmVycmlkZVxuLy8vIHN0eWxlcyBwcm92aWRlZCBieSB0aG9zZSBvdGhlciBwcm9kdWN0cyAoZS5nLiB3aGVyZSBnb3Z1a190ZW1wbGF0ZSBoYXMgYVxuLy8vIHZlcnkgc3BlY2lmaWMgbGluayBzZWxlY3RvciB0aGF0IG90aGVyd2lzZSBhZmZlY3RzIGJ1dHRvbnMpLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLy8gT3ZlcnJpZGUgLm15LWNsYXNzIGlmIEdPVi5VSyBUZW1wbGF0ZSBpcyBhbHNvIGJlaW5nIHVzZWRcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbi8vLyAgICAgLm15LWNsYXNzIHtcbi8vLyAgICAgICBjb2xvcjogaW5oZXJpdDtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9kdWN0IC0gTmFtZSBvZiBwcm9kdWN0IHRoYXQgd2UgYXJlICdkZWZlbmRpbmcnIGFnYWluc3QuXG4vLy8gQGNvbnRlbnQgUGFzc2VkIGNvbnRlbnQgaXMgb3V0cHV0dGVkIG9ubHkgaWYgRnJvbnRlbmQgaXMgYmVpbmcgdXNlZCB3aXRoXG4vLy8gICB0aGlzIHByb2R1Y3Rcbi8vLyBAdGhyb3cgRXJyb3JzIGlmIHByb2R1Y3QgbmFtZSBpcyBub3QgcmVjb2duaXNlZFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1jb21wYXRpYmlsaXR5KCRwcm9kdWN0KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkX2dvdnVrLWNvbXBhdGliaWxpdHksICRwcm9kdWN0KSB7XG4gICAgQGlmIG1hcC1nZXQoJF9nb3Z1ay1jb21wYXRpYmlsaXR5LCAkcHJvZHVjdCkgPT0gdHJ1ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIk5vbiBleGlzdGVudCBwcm9kdWN0ICcjeyRwcm9kdWN0fSdcIjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gTGlzdCBvZiBtb2R1bGVzIHdoaWNoIGhhdmUgYWxyZWFkeSBiZWVuIGV4cG9ydGVkXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfZ292dWstaW1wb3J0ZWQtbW9kdWxlczogKCkgIWRlZmF1bHQ7XG5cbi8vLyBFeHBvcnQgbW9kdWxlXG4vLy9cbi8vLyBFbnN1cmUgdGhhdCB0aGUgbW9kdWxlcyBvZiBDU1MgdGhhdCB3ZSBkZWZpbmUgdGhyb3VnaG91dCBGcm9udGVuZCBhcmUgb25seVxuLy8vIGluY2x1ZGVkIGluIHRoZSBnZW5lcmF0ZWQgQ1NTIG9uY2UsIG5vIG1hdHRlciBob3cgbWFueSB0aW1lcyB0aGV5IGFyZVxuLy8vIGltcG9ydGVkIGFjcm9zcyB0aGUgaW5kaXZpZHVhbCBjb21wb25lbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiBtb2R1bGUgLSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvZGViYXNlXG4vLy8gQGNvbnRlbnQgVGhlIHBhc3NlZCBjb250ZW50IHdpbGwgb25seSBiZSBvdXRwdXR0ZWQgaWYgYSBtb2R1bGUgb2YgdGhlIHNhbWVcbi8vLyAgICRuYW1lIGhhcyBub3QgYWxyZWFkeSBiZWVuIG91dHB1dHRlZFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1leHBvcnRzKCRuYW1lKSB7XG4gIC8vIElmIHRoZSBtaXhpbiBpcyBub3QgaW4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhbHJlYWR5IGV4cG9ydGVkLi4uXG4gIEBpZiAoaW5kZXgoJF9nb3Z1ay1pbXBvcnRlZC1tb2R1bGVzLCAkbmFtZSkgPT0gbnVsbCkge1xuICAgIC8vIC4uLiB0aGVuIGFkZCBpdCB0byB0aGUgbGlzdFxuICAgICRfZ292dWstaW1wb3J0ZWQtbW9kdWxlczogYXBwZW5kKCRfZ292dWstaW1wb3J0ZWQtbW9kdWxlcywgJG5hbWUpICFnbG9iYWw7XG4gICAgLy8gLi4uIGFuZCBvdXRwdXQgdGhlIENTUyBmb3IgdGhhdCBtb2R1bGVcbiAgICBAY29udGVudDtcbiAgfVxuICAvLyBUaGUgbmV4dCB0aW1lIGV4cG9ydHMgaXMgY2FsbGVkIGZvciB0aGUgbW9kdWxlIG9mIHRoZSBzYW1lIG5hbWUsIGl0IHdpbGwgYmVcbiAgLy8gZm91bmQgaW4gdGhlIGxpc3QgYW5kIHNvIG5vdGhpbmcgd2lsbCBiZSBvdXRwdXR0ZWQuXG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vIERpc2FibGUgaW5kZW50YXRpb24gbGludGluZyBpbiB0aGlzIGZpbGUgb25seVxuLy8gc2Fzcy1saW50OmRpc2FibGUgaW5kZW50YXRpb25cblxuLy8vIEZvbnQgVVJMXG4vLy9cbi8vLyBJZiBhIGN1c3RvbSBmb250LXVybCBoYW5kbGVyIGlzIGRlZmluZWQgKCRnb3Z1ay1mb250LXVybC1mdW5jdGlvbikgdGhlblxuLy8vIGl0IHdpbGwgYmUgY2FsbGVkLCBvdGhlcndpc2UgYSB1cmwgd2lsbCBiZSByZXR1cm5lZCB3aXRoIHRoZSBmaWxlbmFtZVxuLy8vIGFwcGVuZGVkIHRvIHRoZSBmb250IHBhdGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZpbGVuYW1lIC0gRm9udCBmaWxlbmFtZVxuLy8vIEByZXR1cm4ge1N0cmluZ30gVVJMIGZvciB0aGUgZmlsZW5hbWUsIHdyYXBwZWQgaW4gYHVybCgpYFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1mb250LXVybCgkZmlsZW5hbWUpIHtcbiAgJHVzZS1jdXN0b20tZnVuY3Rpb246IHZhcmlhYmxlLWV4aXN0cyhcImdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uXCIpXG4gICAgYW5kICRnb3Z1ay1mb250LXVybC1mdW5jdGlvblxuICAgIGFuZCBmdW5jdGlvbi1leGlzdHMoJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uKTtcblxuICBAaWYgKCR1c2UtY3VzdG9tLWZ1bmN0aW9uKSB7XG4gICAgQHJldHVybiBjYWxsKCRnb3Z1ay1mb250LXVybC1mdW5jdGlvbiwgJGZpbGVuYW1lKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiB1cmwoJGdvdnVrLWZvbnRzLXBhdGggKyAkZmlsZW5hbWUpO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vLyBDb25kaXRpb25hbGx5IGluY2x1ZGUgcnVsZXMgb25seSBmb3IgSUU4XG4vLy9cbi8vLyBAY29udGVudCBQYXNzZWQgY29udGVudCBpcyBvbmx5IG91dHB1dHRlZCBpZiB3ZSdyZSBjb21waWxpbmcgYSBzdHlsZXNoZWV0XG4vLy8gICB0aGF0IHRhcmdldHMgSUU4IChpZiBgJGdvdnVrLWlzLWllOGAgaXMgdHJ1ZSlcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgbWluLXdpZHRoOiAxMDBweDtcbi8vLyAgICAgLy8gU3BlY2lmeSB3aWR0aCBmb3IgSUU4IG9ubHlcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbi8vLyAgICAgICB3aWR0aDogMTAwcHg7XG4vLy8gICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1pZi1pZTgge1xuICBAaWYgJGdvdnVrLWlzLWllOCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIENvbmRpdGlvbmFsbHkgZXhjbHVkZSBydWxlcyBmb3IgSUU4XG4vLy9cbi8vLyBAY29udGVudCBQYXNzZWQgY29udGVudCBpcyBvbmx5IG91dHB1dHRlZCBpZiB3ZSdyZSBub3QgY29tcGlsaW5nIGFcbi8vLyAgIHN0eWxlc2hlZXQgdGhhdCB0YXJnZXRzIElFOCAoaWYgYCRnb3Z1ay1pcy1pZThgIGlzIGZhbHNlKVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBmb250LXdlaWdodDogYm9sZDtcbi8vL1xuLy8vICAgICAvLyBFbmhhbmNlIGZvbyBvbmx5IGZvciBtb2Rlcm4gYnJvd3NlcnMgKG5vdCBJRTgpXG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLW5vdC1pZTgge1xuLy8vICAgICAgIGZvbnQtZmFtaWx5OiBcIkNvbWljIFNhbnMgTVNcIiwgXCJDdXJseiBNVFwiIGN1cnNpdmUsIHNhbnMtc2VyaWY7XG4vLy8gICAgICAgY29sb3I6ICNGRjY5QjQ7XG4vLy8gICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1ub3QtaWU4IHtcbiAgQGlmIG5vdCAkZ292dWstaXMtaWU4IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gU3ludGFjdGljIHN1Z2FyIGFyb3VuZCBTYXNzJyBidWlsdC1pbiBgaWZgIGZ1bmN0aW9uIHRoYXQgZG9lcyBub3QgcmVxdWlyZVxuLy8vIHlvdSB0byBwYXNzIGEgdmFsdWUgZm9yIGAkaWYtZmFsc2VgLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY29uZGl0aW9uIC0gV2hldGhlciB0byByZXR1cm4gdGhlIHZhbHVlIG9mIGAkaWYtdHJ1ZWBcbi8vLyBAcGFyYW0ge01peGVkfSAkaWYtdHJ1ZSAtIFZhbHVlIHRvIHJldHVybiBpZiBgJGNvbmRpdGlvbmAgaXMgdHJ1dGh5XG4vLy8gQHJldHVybiB7TWl4ZWR9IFZhbHVlIG9mIGAkaWYtdHJ1ZWAgaWYgYCRjb25kaXRpb25gIGlzIHRydXRoeSwgZWxzZSBudWxsXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGlmZigkY29uZGl0aW9uLCAkaWYtdHJ1ZSkge1xuICBAcmV0dXJuIGlmKCRjb25kaXRpb24sICRpZi10cnVlLCBudWxsKTtcbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHNcbi8vLy9cblxuLy8gRGlzYWJsZSBpbmRlbnRhdGlvbiBsaW50aW5nIGluIHRoaXMgZmlsZSBvbmx5XG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBpbmRlbnRhdGlvblxuXG4vLy8gSW1hZ2UgVVJMXG4vLy9cbi8vLyBJZiBhIGN1c3RvbSBpbWFnZS11cmwgaGFuZGxlciBpcyBkZWZpbmVkICgkZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uKSB0aGVuXG4vLy8gaXQgd2lsbCBiZSBjYWxsZWQsIG90aGVyd2lzZSBhIHVybCB3aWxsIGJlIHJldHVybmVkIHdpdGggdGhlIGZpbGVuYW1lXG4vLy8gYXBwZW5kZWQgdG8gdGhlIGltYWdlIHBhdGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gRmlsZW5hbWUgZm9yIHRoZSBpbWFnZSB0byBsb2FkXG4vLy8gQHJldHVybiB7U3RyaW5nfSBVUkwgZm9yIHRoZSBmaWxlbmFtZSwgd3JhcHBlZCBpbiBgdXJsKClgXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLWltYWdlLXVybCgkZmlsZW5hbWUpIHtcbiAgJHVzZS1jdXN0b20tZnVuY3Rpb246IHZhcmlhYmxlLWV4aXN0cyhcImdvdnVrLWltYWdlLXVybC1mdW5jdGlvblwiKVxuICAgIGFuZCAkZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uXG4gICAgYW5kIGZ1bmN0aW9uLWV4aXN0cygkZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uKTtcblxuICBAaWYgKCR1c2UtY3VzdG9tLWZ1bmN0aW9uKSB7XG4gICAgQHJldHVybiBjYWxsKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24sICRmaWxlbmFtZSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsKCRnb3Z1ay1pbWFnZXMtcGF0aCArICRmaWxlbmFtZSk7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHNcbi8vLy9cblxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gTGVuZ3RoIGluIHBpeGVsc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29udGV4dC1mb250LXNpemUgLSBGb250IHNpemUgb2YgZWxlbWVudFxuLy8vIEByZXR1cm4ge051bWJlcn0gTGVuZ3RoIGluIGVtc1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1lbSgkdmFsdWUsICRjb250ZXh0LWZvbnQtc2l6ZSkge1xuICBAaWYgKHVuaXRsZXNzKCR2YWx1ZSkpIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAqIDFweDtcbiAgfVxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0LWZvbnQtc2l6ZSkpIHtcbiAgICAkY29udGV4dC1mb250LXNpemU6ICRjb250ZXh0LWZvbnQtc2l6ZSAqIDFweDtcbiAgfVxuICBAcmV0dXJuICR2YWx1ZSAvICRjb250ZXh0LWZvbnQtc2l6ZSAqIDFlbTtcbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHNcbi8vLy9cblxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbVxuLy8vXG4vLy8gVGhlICRnb3Z1ay1yb290LWZvbnQtc2l6ZSAoZGVmaW5lZCBpbiBzZXR0aW5ncy9fdHlwb2dyYXBoeS1yZXNwb25zaXZlLnNjc3MpXG4vLy8gbXVzdCBiZSBjb25maWd1cmVkIHRvIG1hdGNoIHRoZSBmb250LXNpemUgb2YgeW91ciByb290IChodG1sKSBlbGVtZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gTGVuZ3RoIGluIHBpeGVsc1xuLy8vIEByZXR1cm4ge051bWJlcn0gTGVuZ3RoIGluIHJlbXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstcHgtdG8tcmVtKCR2YWx1ZSkge1xuICBAaWYgKHVuaXRsZXNzKCR2YWx1ZSkpIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAqIDFweDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlIC8gJGdvdnVrLXJvb3QtZm9udC1zaXplICogMXJlbTtcbn1cbiIsIkBpbXBvcnQgXCJjbGVhcmZpeFwiO1xuQGltcG9ydCBcImNvbG91clwiO1xuQGltcG9ydCBcImRldmljZS1waXhlbHNcIjtcbkBpbXBvcnQgXCJmb2N1c2FibGVcIjtcbkBpbXBvcnQgXCJmb250LWZhY2VzXCI7XG5AaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcImxpbmtzXCI7XG5AaW1wb3J0IFwibWVkaWEtcXVlcmllc1wiO1xuQGltcG9ydCBcInNoYXBlLWFycm93XCI7XG5AaW1wb3J0IFwic3BhY2luZ1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJ2aXN1YWxseS1oaWRkZW5cIjtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG4vLy8gQ2xlYXIgZmxvYXRlZCBjb250ZW50IHdpdGhpbiBhIGNvbnRhaW5lciB1c2luZyBhIHBzZXVkbyBlbGVtZW50XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIE1lZGlhIHF1ZXJ5IGZvciByZXRpbmEgaW1hZ2VzIChkZXZpY2UtcGl4ZWwtcmF0aW8pXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhdGlvIFsyXSAtIERldmljZSBwaXhlbCByYXRpb1xuLy8vIEBjb250ZW50IFBhc3NlZCBjb250ZW50IHdpbGwgYmUgb3V0cHV0dGVkIHdpdGhpbiB0aGUgbWVkaWEgcXVlcnlcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBQcm92aWRpbmcgYSBAMnggaW1hZ2UgZm9yIHNjcmVlbnMgdGhhdCBzdXBwb3J0IGl0XG4vLy8gICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJteS1pbWFnZS5wbmdcIik7XG4vLy9cbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWRldmljZS1waXhlbC1yYXRpbyB7XG4vLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcIm15LWltYWdlLTJ4LnBuZ1wiKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2luZyBhIGN1c3RvbSByYXRpb1xuLy8vICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwibXktaW1hZ2UucG5nXCIpO1xuLy8vXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJteS1pbWFnZS0yeC5wbmdcIik7XG4vLy8gICB9XG4vLy9cbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWRldmljZS1waXhlbC1yYXRpbygzKSB7XG4vLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcIm15LWltYWdlLTN4LnBuZ1wiKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8oJHJhdGlvOiAyKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogI3soJHJhdGlvKjk2KX1kcGkpLFxuICAgIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAjeyRyYXRpb31kcHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIEZvY3VzYWJsZSBoZWxwZXJcbi8vL1xuLy8vIFByb3ZpZGVzIGFuIGFkZGl0aW9uYWwgb3V0bGluZSB0byBjbGVhcmx5IGluZGljYXRlIHdoZW4gdGhlIHRhcmdldCBlbGVtZW50IGlzXG4vLy8gZm9jdXNzZWQuIFVzZWQgZm9yIGludGVyYWN0aXZlIGVsZW1lbnRzIHdoaWNoIHRoZW1zZWx2ZXMgaGF2ZSBzb21lIGJhY2tncm91bmRcbi8vLyBvciBib3JkZXIsIHN1Y2ggYXMgbW9zdCBmb3JtIGVsZW1lbnRzLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWZvY3VzYWJsZSB7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICB9XG59XG5cbi8vLyBGb2N1c2FibGUgd2l0aCBmaWxsIGhlbHBlclxuLy8vXG4vLy8gUHJvdmlkZXMgYW4gYWRkaXRpb25hbCBvdXRsaW5lIGFuZCBiYWNrZ3JvdW5kIGNvbG91ciB0byBjbGVhcmx5IGluZGljYXRlIHdoZW5cbi8vLyB0aGUgdGFyZ2V0IGVsZW1lbnQgaXMgZm9jdXNzZWQuIFVzZWQgZm9yIGludGVyYWN0aXZlIHRleHQtYmFzZWQgZWxlbWVudHMgc3VjaFxuLy8vIGFzIGxpbmtzLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWZvY3VzYWJsZS1maWxsIHtcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vIERpc2FibGVzIGxpbnRpbmcgZm9yIHRoaXMgZmlsZSBvbmx5XG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jc3MtY29tbWVudHMsIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzLCBwcm9wZXJ0eS1zb3J0LW9yZGVyLCBpbmRlbnRhdGlvblxuXG5AaW1wb3J0IFwiLi4vdG9vbHMvZXhwb3J0c1wiO1xuXG4vLy8gRm9udCBGYWNlIC0gTlRBXG4vLy9cbi8vLyBPdXRwdXRzIHRoZSBmb250LWZhY2UgZGVjbGFyYXRpb24gZm9yIE5UQSBhdCB0aGUgcm9vdCBvZiB0aGUgQ1NTIGRvY3VtZW50XG4vLy8gdGhlIGZpcnN0IHRpbWUgaXQgaXMgY2FsbGVkLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBtaXhpbiBfZ292dWstZm9udC1mYWNlLW50YSB7XG4gIEBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9oZWxwZXJzL2ZvbnQtZmFjZVwiKSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgLyohIENvcHlyaWdodCAoYykgMjAxMSBieSBNYXJnYXJldCBDYWx2ZXJ0ICYgSGVucmlrIEt1YmVsLiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGUgZm9udCBoYXMgYmVlbiBjdXN0b21pc2VkIGZvciBleGNsdXNpdmUgdXNlIG9uIGdvdi51ay4gVGhpcyBjdXQgaXMgbm90IGNvbW1lcmNpYWxseSBhdmFpbGFibGUuICovXG5cbiAgICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCJudGFcIjtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImxpZ2h0LTJjMDM3Y2Y3ZTEtdjEuZW90XCIpO1xuICAgICAgICBzcmM6IGdvdnVrLWZvbnQtdXJsKFwibGlnaHQtMmMwMzdjZjdlMS12MS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwibGlnaHQtZjM4YWQ0MDQ1Ni12MS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LTQ1OGY4ZWE4MWMtdjEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtZGlzcGxheTogZmFsbGJhY2s7XG4gICAgICB9XG5cbiAgICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCJudGFcIjtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImJvbGQtZmIyNjc2NDYyYS12MS5lb3RcIik7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJib2xkLWZiMjY3NjQ2MmEtdjEuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImJvbGQtYTI0NTJjYjY2Zi12MS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImJvbGQtZjM4Yzc5MmFjMi12MS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtZGlzcGxheTogZmFsbGJhY2s7XG4gICAgICB9XG5cbiAgICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCJudGF0YWJ1bGFybnVtYmVyc1wiO1xuICAgICAgICBzcmM6IGdvdnVrLWZvbnQtdXJsKFwibGlnaHQtdGFidWxhci00OThlYThmZmUyLXYxLmVvdFwiKTtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImxpZ2h0LXRhYnVsYXItNDk4ZWE4ZmZlMi12MS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwibGlnaHQtdGFidWxhci04NTFiMTBjY2RkLXYxLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwibGlnaHQtdGFidWxhci02MmNjNmYwYTI4LXYxLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuICAgICAgfVxuXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibnRhdGFidWxhcm51bWJlcnNcIjtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImJvbGQtdGFidWxhci0zNTdmZGZiY2MzLXYxLmVvdFwiKTtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImJvbGQtdGFidWxhci0zNTdmZGZiY2MzLXYxLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJib2xkLXRhYnVsYXItYjg5MjM4ZDg0MC12MS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImJvbGQtdGFidWxhci03ODRjMjFhZmI4LXYxLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC1kaXNwbGF5OiBmYWxsYmFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG4vLy8gTWFwIG9mIGdyaWQgY29sdW1uIHdpZHRoc1xuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfZ292dWstZ3JpZC13aWR0aHM6IChcbiAgb25lLXF1YXJ0ZXI6IDI1JSxcbiAgb25lLXRoaXJkOiAzMy4zMzMzJSxcbiAgb25lLWhhbGY6IDUwJSxcbiAgdHdvLXRoaXJkczogNjYuNjY2NiUsXG4gIHRocmVlLXF1YXJ0ZXJzOiA3NSUsXG4gIGZ1bGw6IDEwMCVcbikgIWRlZmF1bHQ7XG5cbi8vLyBHcmlkIHdpZHRoIHBlcmNlbnRhZ2Vcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gTmFtZSBvZiBncmlkIHdpZHRoIChlLmcuIHR3by10aGlyZHMpXG4vLy8gQHJldHVybiB7TnVtYmVyfSBQZXJjZW50YWdlIHdpZHRoXG4vLy8gQHRocm93IGlmIGAka2V5YCBpcyBub3QgYSB2YWxpZCBncmlkIHdpZHRoXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJF9nb3Z1ay1ncmlkLXdpZHRocywgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkX2dvdnVrLWdyaWQtd2lkdGhzLCAka2V5KTtcbiAgfVxuXG4gIEBlcnJvciBcIlVua25vd24gZ3JpZCB3aWR0aCBgI3ska2V5fWBcIjtcbn1cblxuLy8vIEdlbmVyYXRlIGdyaWQgcm93IHN0eWxlc1xuLy8vXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93IGNsYXNzIHdpdGggYSBzdGFuZGFyZGlzZWQgbWFyZ2luLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjbGFzcyBbZ292dWstZ3JpZC1yb3ddIENTUyBjbGFzcyBuYW1lXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGVmYXVsdFxuLy8vICAgQGluY2x1ZGUgZ292dWstZ3JpZC1yb3c7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9taXNpbmcgdGhlIGNsYXNzIG5hbWVcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtcm93KFwiYXBwLWdyaWRcIik7XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZ3JpZC1yb3coJGNsYXNzOiBcImdvdnVrLWdyaWQtcm93XCIpIHtcbiAgLiN7JGNsYXNzfSB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtICgkZ292dWstZ3V0dGVyLWhhbGYpO1xuICAgIG1hcmdpbi1sZWZ0OiAtICgkZ292dWstZ3V0dGVyLWhhbGYpO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBncmlkIGNvbHVtbiBzdHlsZXNcbi8vL1xuLy8vIENyZWF0ZXMgYSBjcm9zcyBicm93c2VyIGdyaWQgY29sdW1uIHdpdGggYSBjbGFzcyBvZiAnLmdvdnVrLWdyaWQtY29sdW1uJyBieVxuLy8vIGRlZmF1bHQsIGFuZCBhIHN0YW5kYXJkaXNlZCBndXR0ZXIgYmV0d2VlbiB0aGUgY29sdW1ucy5cbi8vL1xuLy8vIENvbW1vbiB3aWR0aHMgYXJlIHByZWRlZmluZWQgYWJvdmUgYXMga2V5d29yZHMgaW4gdGhlIGAkZ3JpZC13aWR0aHNgIG1hcC5cbi8vL1xuLy8vIEJ5IGRlZmF1bHQgdGhlaXIgd2lkdGggY2hhbmdlcyBmcm9tIDEwMCUgdG8gc3BlY2lmaWVkIHdpZHRoIGF0IHRoZSAndGFibGV0J1xuLy8vIGJyZWFrcG9pbnQsIGJ1dCB0aGF0IGNhbiBiZSBjb25maWd1cmVkIHRvIGJlIGFueSBvdGhlciBicmVha3BvaW50IGJ5IHVzaW5nXG4vLy8gdGhlIGAkYXRgIHBhcmFtZXRlci5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2xhc3MgW2dvdnVrLWdyaWQtY29sdW1uXSBDU1MgY2xhc3MgbmFtZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd2lkdGggW2Z1bGxdIG9uZS1xdWFydGVyIHwgb25lLXRoaXJkIHwgb25lLWhhbGYgfCB0d28tdGhpcmQgfCB0aHJlZS1xdWFydGVycyB8IGZ1bGxcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZsb2F0IFtsZWZ0XSBsZWZ0IHwgcmlnaHRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGF0IFt0YWJsZXRdIC0gbW9iaWxlIHwgdGFibGV0IHwgZGVza3RvcCB8IGFueSBjdXN0b20gYnJlYWtwb2ludCBpbiBweCBvciBlbVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERlZmF1bHRcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHR3by10aGlyZHMpXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9taXNpbmcgdGhlIGNsYXNzIG5hbWVcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKG9uZS1oYWxmLCAkY2xhc3M6IFwidGVzdC1jb2x1bW5cIik7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9taXNpbmcgdGhlIGJyZWFrcG9pbnQgd2hlcmUgd2lkdGggcGVyY2VudGFnZSBpcyBhcHBsaWVkXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbihvbmUtaGFsZiwgJGF0OiBkZXNrdG9wKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDdXN0b21pc2luZyB0aGUgZmxvYXQgZGlyZWN0aW9uXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbihvbmUtaGFsZiwgJGZsb2F0OiByaWdodCk7XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZ3JpZC1jb2x1bW4oJHdpZHRoOiBmdWxsLCAkZmxvYXQ6IGxlZnQsICRhdDogdGFibGV0LCAkY2xhc3M6IFwiZ292dWstZ3JpZC1jb2x1bW5cIikge1xuXG4gIC4jeyRjbGFzc30tI3skd2lkdGh9IHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIEBpZiAkYXQgIT0gZGVza3RvcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgcGFkZGluZzogMCAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206ICRhdCkge1xuICAgICAgd2lkdGg6IGdyaWQtd2lkdGgoJHdpZHRoKTtcbiAgICAgIGZsb2F0OiAkZmxvYXQ7XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIENvbW1vbiBsaW5rIG1peGluXG4vLy9cbi8vLyBQcm92aWRlcyB0aGUgdHlwb2dyYXBoeSBhbmQgZm9jdXMgc3RhdGUsIHJlZ2FyZGxlc3Mgb2YgbGluayBzdHlsZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLWNvbW1vbiB7XG4gIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uO1xuICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGUtZmlsbDtcbn1cblxuLy8vIERlZmF1bHQgbGluayBzdHlsZSBtaXhpblxuLy8vXG4vLy8gUHJvdmlkZXMgdGhlIGRlZmF1bHQgdW52aXNpdGVkLCB2aXNpdGVkLCBob3ZlciBhbmQgYWN0aXZlIHN0YXRlcyBmb3IgbGlua3MuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGdvdnVrLWxpbmstY29tbW9uIG1peGluIGluIG9yZGVyIHRvIGdldCB0aGUgZm9jdXMgc3RhdGUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbXV0ZWQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS1kZWZhdWx0IHtcbiAgJjpsaW5rIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICB9XG5cbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstdmlzaXRlZC1jb2xvdXI7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstaG92ZXItY29sb3VyO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1hY3RpdmUtY29sb3VyO1xuICB9XG59XG5cbi8vLyBNdXRlZCBzdHlsZSBsaW5rIG1peGluXG4vLy9cbi8vLyBVc2VkIGZvciBzZWNvbmRhcnkgbGlua3Mgb24gYSBwYWdlIC0gdGhlIGxpbmsgd2lsbCBhcHBlYXIgaW4gbXV0ZWQgY29sb3Vyc1xuLy8vIHJlZ2FyZGxlc3Mgb2YgdmlzaXRlZCBzdGF0ZS5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gZ292dWstbGluay1jb21tb24gbWl4aW4gaW4gb3JkZXIgdG8gZ2V0IHRoZSBmb2N1cyBzdGF0ZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1tdXRlZDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLW11dGVkIHtcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQsXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yIGRlc2lnbmVkXG4gIC8vIHRvIG1ha2UgdW52aXNpdGVkIGxpbmtzIGEgc2xpZ2h0bHkgZGFya2VyIGJsdWUgd2hlbiBmb2N1c3NlZCwgc28gd2UgbmVlZCB0b1xuICAvLyBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzLlxuICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVGV4dCBzdHlsZSBsaW5rIG1peGluXG4vLy9cbi8vLyBPdmVycmlkZXMgdGhlIGNvbG91ciBvZiBsaW5rcyB0byBtYXRjaCB0aGUgdGV4dCBjb2xvdXIuIEdlbmVyYWxseSB1c2VkIGJ5XG4vLy8gbmF2aWdhdGlvbiBjb21wb25lbnRzLCBzdWNoIGFzIGJyZWFkY3J1bWJzIG9yIHRoZSBiYWNrIGxpbmsuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGdvdnVrLWxpbmstY29tbW9uIG1peGluIGluIG9yZGVyIHRvIGdldCB0aGUgZm9jdXMgc3RhdGUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLXRleHQge1xuICAvLyBPdmVycmlkZSBsaW5rIGNvbG91ciB0byB1c2UgdGV4dCBjb2xvdXJcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQsXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yIGRlc2lnbmVkXG4gIC8vIHRvIG1ha2UgdW52aXNpdGVkIGxpbmtzIGEgc2xpZ2h0bHkgZGFya2VyIGJsdWUgd2hlbiBmb2N1c3NlZCwgc28gd2UgbmVlZCB0b1xuICAvLyBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzLlxuICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUHJpbnQgZnJpZW5kbHkgbGluayBtaXhpblxuLy8vXG4vLy8gV2hlbiBwcmludGluZywgYXBwZW5kIHRoZSB0aGUgZGVzdGluYXRpb24gVVJMIHRvIHRoZSBsaW5rIHRleHQsIGFzIGxvbmdcbi8vLyBhcyB0aGUgVVJMIHN0YXJ0cyB3aXRoIGVpdGhlciBgL2AsIGBodHRwOi8vYCBvciBgaHR0cHM6Ly9gLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstcHJpbnQtZnJpZW5kbHkge1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcblxuICAgICZbaHJlZl49XCIvXCJdLFxuICAgICZbaHJlZl49XCJodHRwOi8vXCJdLFxuICAgICZbaHJlZl49XCJodHRwczovL1wiXSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgICAgICBmb250LXNpemU6IDkwJTtcblxuICAgICAgICAvLyBCZWNhdXNlIHRoZSBVUkxzIG1heSBiZSB2ZXJ5IGxvbmcsIGVuc3VyZSB0aGF0IHRoZXkgbWF5IGJlIGJyb2tlblxuICAgICAgICAvLyBhdCBhcmJpdHJhcnkgcG9pbnRzIGlmIHRoZXJlIGFyZSBubyBvdGhlcndpc2UgYWNjZXB0YWJsZSBicmVha1xuICAgICAgICAvLyBwb2ludHMgaW4gdGhlIGxpbmVcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFdyYW5nbGUgc2Fzcy1tcSBjb25maWcuLi5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBQYXNzIG91ciBicmVha3BvaW50cyBhbmQgc3RhdGljIGJyZWFrcG9pbnQgZGVmaW5pdGlvbnMgdGhyb3VnaCB0byBzYXNzLW1xLlxuJG1xLWJyZWFrcG9pbnRzOiBpZih2YXJpYWJsZS1leGlzdHMoZ292dWstYnJlYWtwb2ludHMpLCAkZ292dWstYnJlYWtwb2ludHMsICgpKTtcbiRtcS1zdGF0aWMtYnJlYWtwb2ludDogaWYodmFyaWFibGUtZXhpc3RzKGdvdnVrLWllOC1icmVha3BvaW50KSwgJGdvdnVrLWllOC1icmVha3BvaW50LCBkZXNrdG9wKTtcblxuJG1xLXNob3ctYnJlYWtwb2ludHM6ICgpO1xuXG5AaWYgKHZhcmlhYmxlLWV4aXN0cyhnb3Z1ay1zaG93LWJyZWFrcG9pbnRzKSBhbmQgJGdvdnVrLXNob3ctYnJlYWtwb2ludHMpIHtcbiAgJG1xLXNob3ctYnJlYWtwb2ludHM6IG1hcC1rZXlzKCRnb3Z1ay1icmVha3BvaW50cyk7XG59XG5cbi8vIFdoZW4gYnVpbGRpbmcgYSBzdHlsZXNoZWV0IGZvciBJRTgsIHNldCAkbXEtcmVzcG9uc2l2ZSB0byBmYWxzZSBpbiBvcmRlciB0b1xuLy8gJ3Jhc3Rlcml6ZScgYW55IG1lZGlhIHF1ZXJpZXMuXG5cbiRtcS1yZXNwb25zaXZlOiB0cnVlO1xuQGlmICh2YXJpYWJsZS1leGlzdHMoZ292dWstaXMtaWU4KSBhbmQgJGdvdnVrLWlzLWllOCkge1xuICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG59XG5cbi8vIFRoaXMgaXMgYSBob3JyaWJsZSwgaG9ycmlibGUgaGFjayB0byBwcmV2ZW50IHRoZSAnZGV2IG1vZGUnIENTUyB0byBkaXNwbGF5XG4vLyB0aGUgY3VycmVudCBicmVha3BvaW50IGZyb20gYmVpbmcgaW5jbHVkZWQgbXVsdGlwbGUgdGltZXMuXG4vL1xuLy8gV2UgY2FuJ3QgdXNlIHRoZSBgZXhwb3J0c2AgbWl4aW4gZm9yIHRoaXMgYmVjYXVzZSBpbXBvcnQgZGlyZWN0aXZlcyBjYW5ub3QgYmVcbi8vIHVzZWQgd2l0aGluIGNvbnRyb2wgZGlyZWN0aXZlcyDwn5igXG4kc2Fzcy1tcS1hbHJlYWR5LWluY2x1ZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuQGlmICRzYXNzLW1xLWFscmVhZHktaW5jbHVkZWQge1xuICAkbXEtc2hvdy1icmVha3BvaW50czogKCk7XG59XG5cbkBpbXBvcnQgXCIuLi92ZW5kb3Ivc2Fzcy1tcVwiO1xuXG4kc2Fzcy1tcS1hbHJlYWR5LWluY2x1ZGVkOiB0cnVlO1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBIZWxwZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIE1lZGlhIFF1ZXJ5XG4vLy9cbi8vLyBUaGlzIGlzIGEgY3VycmVudGx5IGEgd3JhcHBlciBmb3Igc2Fzcy1tcSAtIGFic3RyYWN0ZWQgc28gdGhhdCB3ZSBjYW5cbi8vLyByZXBsYWNlIGl0IGluIHRoZSBmdXR1cmUgaWYgd2Ugc28gY2hvb3NlLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkZnJvbSBbZmFsc2VdIC0gT25lIG9mICRnb3Z1ay1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJHVudGlsIFtmYWxzZV0gLSBPbmUgb2YgJGdvdnVrLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIFtmYWxzZV0gLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lZGlhLXR5cGUgW2FsbF0gLSBNZWRpYSB0eXBlOiBzY3JlZW4sIHByaW504oCmXG4vLy9cbi8vLyBAaWdub3JlIFVuZG9jdW1lbnRlZCBtcSBBUEksIGZvciBhZHZhbmNlZCB1c2Ugb25seTpcbi8vLyBAaWdub3JlIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRnb3Z1ay1icmVha3BvaW50c11cbi8vLyBAaWdub3JlIEBwYXJhbSB7U3RyaW5nfSAkc3RhdGljLWJyZWFrcG9pbnQgWyRnb3Z1ay1pZTgtYnJlYWtwb2ludF1cbi8vLyBAaWdub3JlIEBwYXJhbSB7Qm9vbGVhbn0gJHJlc3BvbnNpdmUgWyRnb3Z1ay1pcy1pZThdXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC5lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogbW9iaWxlKSB7XG4vLy8gICAgICBjb2xvcjogcmVkO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGJsdWU7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KG1vYmlsZSwgdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogZ3JlZW47XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQsICRhbmQ6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknKSB7XG4vLy8gICAgICBjb2xvcjogdGVhbDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoOTUwcHgpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSh0YWJsZXQsICRtZWRpYS10eXBlOiBzY3JlZW4pIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLW1lZGlhLXF1ZXJ5KCRhcmdzLi4uKSB7XG4gIEBpbmNsdWRlIG1xKCRhcmdzLi4uKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH07XG59XG4iLCIvLyBtcSgpIHY0LjAuMlxuLy8gc2Fzcy1tcS9zYXNzLW1xXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AY2hhcnNldCBcIlVURi04XCI7IC8vIEZpeGVzIGFuIGlzc3VlIHdoZXJlIFJ1YnkgbG9jYWxlIGlzIG5vdCBzZXQgcHJvcGVybHlcbiAgICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL3B1bGwvMTBcblxuLy8vIEJhc2UgZm9udCBzaXplIG9uIHRoZSBgPGJvZHk+YCBlbGVtZW50XG4vLy8gQHR5cGUgTnVtYmVyICh1bml0KVxuJG1xLWJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLy8gUmVzcG9uc2l2ZSBtb2RlXG4vLy9cbi8vLyBTZXQgdG8gYGZhbHNlYCB0byBlbmFibGUgc3VwcG9ydCBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBAbWVkaWEgcXVlcmllcyxcbi8vLyAoSUUgPD0gOCwgRmlyZWZveCA8PSAzLCBPcGVyYSA8PSA5KVxuLy8vXG4vLy8gWW91IGNvdWxkIGNyZWF0ZSBhIHN0eWxlc2hlZXQgc2VydmVkIGV4Y2x1c2l2ZWx5IHRvIG9sZGVyIGJyb3dzZXJzLFxuLy8vIHdoZXJlIEBtZWRpYSBxdWVyaWVzIGFyZSByYXN0ZXJpemVkXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIG9sZC1pZS5zY3NzXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gJG1xLXN0YXRpYy1icmVha3BvaW50XG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9mZiBEaXNhYmxlZCByZXNwb25zaXZlIG1vZGUgZG9jdW1lbnRhdGlvblxuJG1xLXJlc3BvbnNpdmU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGxpc3Rcbi8vL1xuLy8vIE5hbWUgeW91ciBicmVha3BvaW50cyBpbiBhIHdheSB0aGF0IGNyZWF0ZXMgYSB1YmlxdWl0b3VzIGxhbmd1YWdlXG4vLy8gYWNyb3NzIHRlYW0gbWVtYmVycy4gSXQgd2lsbCBpbXByb3ZlIGNvbW11bmljYXRpb24gYmV0d2VlblxuLy8vIHN0YWtlaG9sZGVycywgZGVzaWduZXJzLCBkZXZlbG9wZXJzLCBhbmQgdGVzdGVycy5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLWJyZWFrcG9pbnRzOiAoXG4gICAgbW9iaWxlOiAgMzIwcHgsXG4gICAgdGFibGV0OiAgNzQwcHgsXG4gICAgZGVza3RvcDogOTgwcHgsXG4gICAgd2lkZTogICAgMTMwMHB4XG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGljIGJyZWFrcG9pbnQgKGZvciBmaXhlZC13aWR0aCBsYXlvdXRzKVxuLy8vXG4vLy8gRGVmaW5lIHRoZSBicmVha3BvaW50IGZyb20gJG1xLWJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkXG4vLy8gYmUgdXNlZCBhcyB0aGUgdGFyZ2V0IHdpZHRoIGZvciB0aGUgZml4ZWQtd2lkdGggbGF5b3V0XG4vLy8gKGkuZS4gd2hlbiAkbXEtcmVzcG9uc2l2ZSBpcyBzZXQgdG8gJ2ZhbHNlJykgaW4gYSBvbGQtaWUuc2Nzc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyB0YWJsZXQtb25seS5zY3NzXG4vLy8gIC8vXG4vLy8gIC8vIElnbm9yZSBhbGwgc3R5bGVzIGFib3ZlIHRhYmxldCBicmVha3BvaW50LFxuLy8vICAvLyBhbmQgZml4IHRoZSBzdHlsZXMgKGUuZy4gbGF5b3V0KSBhdCB0YWJsZXQgd2lkdGhcbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICAkbXEtc3RhdGljLWJyZWFrcG9pbnQ6IHRhYmxldDtcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gdGFibGV0XG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNhZGRpbmctY3VzdG9tLWJyZWFrcG9pbnRzIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1zdGF0aWMtYnJlYWtwb2ludDogZGVza3RvcCAhZGVmYXVsdDtcblxuLy8vIFNob3cgYnJlYWtwb2ludHMgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vL1xuLy8vIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgdGhlIGN1cnJlbnRseSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wXG4vLy8gcmlnaHQgY29ybmVyIG9mIHlvdXIgc2l0ZSBkdXJpbmcgZGV2ZWxvcG1lbnQsIGFkZCB0aGUgYnJlYWtwb2ludHNcbi8vLyB0byB0aGlzIGxpc3QsIG9yZGVyZWQgYnkgd2lkdGgsIGUuZy4gKG1vYmlsZSwgdGFibGV0LCBkZXNrdG9wKS5cbi8vL1xuLy8vIEB0eXBlIG1hcFxuJG1xLXNob3ctYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xuXG4vLy8gQ3VzdG9taXplIHRoZSBtZWRpYSB0eXBlIChlLmcuIGBAbWVkaWEgc2NyZWVuYCBvciBgQG1lZGlhIHByaW50YClcbi8vLyBCeSBkZWZhdWx0IHNhc3MtbXEgdXNlcyBhbiBcImFsbFwiIG1lZGlhIHR5cGUgKGBAbWVkaWEgYWxsIGFuZCDigKZgKVxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNjaGFuZ2luZy1tZWRpYS10eXBlIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1tZWRpYS10eXBlOiBhbGwgIWRlZmF1bHQ7XG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHggLSB2YWx1ZSB0byBjb252ZXJ0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlLWZvbnQtc2l6ZSAoJG1xLWJhc2UtZm9udC1zaXplKSAtIGA8Ym9keT5gIGZvbnQgc2l6ZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkZm9udC1zaXplLWluLWVtczogbXEtcHgyZW0oMTZweCk7XG4vLy8gIHAgeyBmb250LXNpemU6IG1xLXB4MmVtKDE2cHgpOyB9XG4vLy9cbi8vLyBAcmVxdWlyZXMgJG1xLWJhc2UtZm9udC1zaXplXG4vLy8gQHJldHVybnMge051bWJlcn1cbkBmdW5jdGlvbiBtcS1weDJlbSgkcHgsICRiYXNlLWZvbnQtc2l6ZTogJG1xLWJhc2UtZm9udC1zaXplKSB7XG4gICAgQGlmIHVuaXRsZXNzKCRweCkge1xuICAgICAgICBAd2FybiBcIkFzc3VtaW5nICN7JHB4fSB0byBiZSBpbiBwaXhlbHMsIGF0dGVtcHRpbmcgdG8gY29udmVydCBpdCBpbnRvIHBpeGVscy5cIjtcbiAgICAgICAgQHJldHVybiBtcS1weDJlbSgkcHggKiAxcHgsICRiYXNlLWZvbnQtc2l6ZSk7XG4gICAgfSBAZWxzZSBpZiB1bml0KCRweCkgPT0gZW0ge1xuICAgICAgICBAcmV0dXJuICRweDtcbiAgICB9XG4gICAgQHJldHVybiAoJHB4IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTtcbn1cblxuLy8vIEdldCBhIGJyZWFrcG9pbnQncyB3aWR0aFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludC4gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkdGFibGV0LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCh0YWJsZXQpO1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoZGVza3RvcCkpIHt9XG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFZhbHVlIGluIHBpeGVsc1xuQGZ1bmN0aW9uIG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSB7XG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQHdhcm4gXCJCcmVha3BvaW50ICN7JG5hbWV9IHdhc24ndCBmb3VuZCBpbiAkYnJlYWtwb2ludHMuXCI7XG4gICAgfVxufVxuXG4vLy8gTWVkaWEgUXVlcnkgbWl4aW5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGZyb20gKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICR1bnRpbCAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGFuZCAoZmFsc2UpIC0gQWRkaXRpb25hbCBtZWRpYSBxdWVyeSBwYXJhbWV0ZXJzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZWRpYS10eXBlICgkbXEtbWVkaWEtdHlwZSkgLSBNZWRpYSB0eXBlOiBzY3JlZW4sIHByaW504oCmXG4vLy9cbi8vLyBAaWdub3JlIFVuZG9jdW1lbnRlZCBBUEksIGZvciBhZHZhbmNlZCB1c2Ugb25seTpcbi8vLyBAaWdub3JlIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cylcbi8vLyBAaWdub3JlIEBwYXJhbSB7U3RyaW5nfSAkc3RhdGljLWJyZWFrcG9pbnQgKCRtcS1zdGF0aWMtYnJlYWtwb2ludClcbi8vL1xuLy8vIEBjb250ZW50IHN0eWxpbmcgcnVsZXMsIHdyYXBwZWQgaW50byBhIEBtZWRpYSBxdWVyeSB3aGVuICRyZXNwb25zaXZlIGlzIHRydWVcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1tZWRpYS10eXBlXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXN0YXRpYy1icmVha3BvaW50XG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtcHgyZW1cbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1nZXQtYnJlYWtwb2ludC13aWR0aFxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb24tZGVmYXVsdCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC5lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKSB7XG4vLy8gICAgICBjb2xvcjogcmVkO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGJsdWU7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKG1vYmlsZSwgdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogZ3JlZW47XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQsICRhbmQ6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknKSB7XG4vLy8gICAgICBjb2xvcjogdGVhbDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoOTUwcHgpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSh0YWJsZXQsICRtZWRpYS10eXBlOiBzY3JlZW4pIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICAvLyBBZHZhbmNlZCB1c2U6XG4vLy8gICAgJG15LWJyZWFrcG9pbnRzOiAoTDogOTAwcHgsIFhMOiAxMjAwcHgpO1xuLy8vICAgIEBpbmNsdWRlIG1xKEwsICRicmVha3BvaW50czogJG15LWJyZWFrcG9pbnRzLCAkc3RhdGljLWJyZWFrcG9pbnQ6IEwpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgfVxuQG1peGluIG1xKFxuICAgICRmcm9tOiBmYWxzZSxcbiAgICAkdW50aWw6IGZhbHNlLFxuICAgICRhbmQ6IGZhbHNlLFxuICAgICRtZWRpYS10eXBlOiAkbXEtbWVkaWEtdHlwZSxcbiAgICAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cyxcbiAgICAkcmVzcG9uc2l2ZTogJG1xLXJlc3BvbnNpdmUsXG4gICAgJHN0YXRpYy1icmVha3BvaW50OiAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbikge1xuICAgICRtaW4td2lkdGg6IDA7XG4gICAgJG1heC13aWR0aDogMDtcbiAgICAkbWVkaWEtcXVlcnk6ICcnO1xuXG4gICAgLy8gRnJvbTogdGhpcyBicmVha3BvaW50IChpbmNsdXNpdmUpXG4gICAgQGlmICRmcm9tIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJGZyb20pID09IG51bWJlciB7XG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbSgkZnJvbSk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJGZyb20sICRicmVha3BvaW50cykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW50aWw6IHRoYXQgYnJlYWtwb2ludCAoZXhjbHVzaXZlKVxuICAgIEBpZiAkdW50aWwge1xuICAgICAgICBAaWYgdHlwZS1vZigkdW50aWwpID09IG51bWJlciB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbSgkdW50aWwpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCR1bnRpbCwgJGJyZWFrcG9pbnRzKSkgLSAuMDFlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBkaXNhYmxlZCwgcmFzdGVyaXplIHRoZSBvdXRwdXQgb3V0c2lkZSBAbWVkaWEgYmxvY2tzXG4gICAgLy8gVGhlIGJyb3dzZXIgd2lsbCByZWx5IG9uIHRoZSBjYXNjYWRlIGl0c2VsZi5cbiAgICBAaWYgJHJlc3BvbnNpdmUgPT0gZmFsc2Uge1xuICAgICAgICAkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzdGF0aWMtYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgJHRhcmdldC13aWR0aDogbXEtcHgyZW0oJHN0YXRpYy1icmVha3BvaW50LXdpZHRoKTtcblxuICAgICAgICAvLyBPdXRwdXQgb25seSBydWxlcyB0aGF0IHN0YXJ0IGF0IG9yIHNwYW4gb3VyIHRhcmdldCB3aWR0aFxuICAgICAgICBAaWYgKFxuICAgICAgICAgICAgJGFuZCA9PSBmYWxzZVxuICAgICAgICAgICAgYW5kICRtaW4td2lkdGggPD0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgYW5kIChcbiAgICAgICAgICAgICAgICAkdW50aWwgPT0gZmFsc2Ugb3IgJG1heC13aWR0aCA+PSAkdGFyZ2V0LXdpZHRoXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBhbmQgJG1lZGlhLXR5cGUgIT0gJ3ByaW50J1xuICAgICAgICApIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGVuYWJsZWQsIG91dHB1dCBydWxlcyBpbnNpZGUgQG1lZGlhIHF1ZXJpZXNcbiAgICBAZWxzZSB7XG4gICAgICAgIEBpZiAkbWluLXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRhbmQgICAgICAgICAgICB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgI3skYW5kfSc7IH1cblxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcbiAgICAgICAgQGlmICgkbWVkaWEtdHlwZSA9PSAnYWxsJyBhbmQgJG1lZGlhLXF1ZXJ5ICE9ICcnKSB7XG4gICAgICAgICAgICAkbWVkaWEtdHlwZTogJyc7XG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0ci1zbGljZSh1bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gUXVpY2sgc29ydFxuLy8vXG4vLy8gQGF1dGhvciBTYW0gUmljaGFyZHNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzb3J0XG4vLy8gQHJldHVybnMge0xpc3R9IFNvcnRlZCBMaXN0XG5AZnVuY3Rpb24gX21xLXF1aWNrLXNvcnQoJGxpc3QpIHtcbiAgICAkbGVzczogICgpO1xuICAgICRlcXVhbDogKCk7XG4gICAgJGxhcmdlOiAoKTtcblxuICAgIEBpZiBsZW5ndGgoJGxpc3QpID4gMSB7XG4gICAgICAgICRzZWVkOiBudGgoJGxpc3QsIGNlaWwobGVuZ3RoKCRsaXN0KSAvIDIpKTtcblxuICAgICAgICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgICAgICAgICBAaWYgKCRpdGVtID09ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGVxdWFsOiBhcHBlbmQoJGVxdWFsLCAkaXRlbSk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA8ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGxlc3M6IGFwcGVuZCgkbGVzcywgJGl0ZW0pO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPiAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRsYXJnZTogYXBwZW5kKCRsYXJnZSwgJGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQHJldHVybiBqb2luKGpvaW4oX21xLXF1aWNrLXNvcnQoJGxlc3MpLCAkZXF1YWwpLCBfbXEtcXVpY2stc29ydCgkbGFyZ2UpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gU29ydCBhIG1hcCBieSB2YWx1ZXMgKHdvcmtzIHdpdGggbnVtYmVycyBvbmx5KVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtNYXB9IE1hcCBzb3J0ZWQgYnkgdmFsdWVcbkBmdW5jdGlvbiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1hcCkge1xuICAgICRtYXAtc29ydGVkOiAoKTtcbiAgICAkbWFwLWtleXM6IG1hcC1rZXlzKCRtYXApO1xuICAgICRtYXAtdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAgICRtYXAtdmFsdWVzLXNvcnRlZDogX21xLXF1aWNrLXNvcnQoJG1hcC12YWx1ZXMpO1xuXG4gICAgLy8gUmVvcmRlciBrZXkvdmFsdWUgcGFpcnMgYmFzZWQgb24ga2V5IHZhbHVlc1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkbWFwLXZhbHVlcy1zb3J0ZWQge1xuICAgICAgICAkaW5kZXg6IGluZGV4KCRtYXAtdmFsdWVzLCAkdmFsdWUpO1xuICAgICAgICAka2V5OiBudGgoJG1hcC1rZXlzLCAkaW5kZXgpO1xuICAgICAgICAkbWFwLXNvcnRlZDogbWFwLW1lcmdlKCRtYXAtc29ydGVkLCAoJGtleTogJHZhbHVlKSk7XG5cbiAgICAgICAgLy8gVW5zZXQgdGhlIHZhbHVlIGluICRtYXAtdmFsdWVzIHRvIHByZXZlbnQgdGhlIGxvb3BcbiAgICAgICAgLy8gZnJvbSBmaW5kaW5nIHRoZSBzYW1lIGluZGV4IHR3aWNlXG4gICAgICAgICRtYXAtdmFsdWVzOiBzZXQtbnRoKCRtYXAtdmFsdWVzLCAkaW5kZXgsIDApO1xuICAgIH1cblxuICAgIEByZXR1cm4gJG1hcC1zb3J0ZWQ7XG59XG5cbi8vLyBBZGQgYSBicmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBicmVha3BvaW50XG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgQGluY2x1ZGUgbXEtYWRkLWJyZWFrcG9pbnQodHZzY3JlZW4sIDE5MjBweCk7XG4vLy8gIEBpbmNsdWRlIG1xKHR2c2NyZWVuKSB7fVxuQG1peGluIG1xLWFkZC1icmVha3BvaW50KCRuYW1lLCAkd2lkdGgpIHtcbiAgICAkbmV3LWJyZWFrcG9pbnQ6ICgkbmFtZTogJHdpZHRoKTtcbiAgICAkbXEtYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkbXEtYnJlYWtwb2ludHMsICRuZXctYnJlYWtwb2ludCkgIWdsb2JhbDtcbiAgICAkbXEtYnJlYWtwb2ludHM6IF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbXEtYnJlYWtwb2ludHMpICFnbG9iYWw7XG59XG5cbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzICgkbXEtc2hvdy1icmVha3BvaW50cykgLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zaG93LWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG4vLy9cbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cygoTCwgWEwpLCAoUzogMzAwcHgsIEw6IDgwMHB4LCBYTDogMTIwMHB4KSk7XG5AbWl4aW4gbXEtc2hvdy1icmVha3BvaW50cygkc2hvdy1icmVha3BvaW50czogJG1xLXNob3ctYnJlYWtwb2ludHMsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgYm9keTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGOEUzO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBjb2xvcjogI0MwOTg1MztcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgYnJlYWtwb2ludHMgdGhhdCBzaG91bGQgYmUgc2hvd25cbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgbGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG59XG5cbi8vIHNhc3MtbGludDplbmFibGUtYWxsXG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgaGVpZ2h0IG9mIGFuIGVxdWlsYXRlcmFsIHRyaWFuZ2xlXG4vLy9cbi8vLyBNdWx0aXBseWluZyBoYWxmIHRoZSBsZW5ndGggb2YgdGhlIGJhc2Ugb2YgYW4gZXF1aWxhdGVyYWwgdHJpYW5nbGUgYnkgdGhlXG4vLy8gc3F1YXJlIHJvb3Qgb2YgdGhyZWUgZ2l2ZXMgdXMgaXRzIGhlaWdodC4gV2UgdXNlIDEuNzMyIGFzIGFuIGFwcHJveGltYXRpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBMZW5ndGggb2YgdGhlIGJhc2Ugb2YgdGhlIHRyaWFuZ2xlXG4vLy8gQHJldHVybiB7TnVtYmVyfSBDYWxjdWxhdGVkIGhlaWdodCBvZiB0aGUgdHJpYW5nbGVcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9nb3Z1ay1lcXVpbGF0ZXJhbC1oZWlnaHQoJGJhc2UpIHtcbiAgJHNxdWFyZS1yb290LW9mLXRocmVlOiAxLjczMjtcblxuICBAcmV0dXJuICgkYmFzZSAvIDIpICogJHNxdWFyZS1yb290LW9mLXRocmVlO1xufVxuXG4vLy8gQXJyb3cgbWl4aW5cbi8vL1xuLy8vIEdlbmVyYXRlIEFycm93cyAodHJpYW5nbGVzKSBieSB1c2luZyBhIG1peCBvZiB0cmFuc3BhcmVudCAoMSkgYW5kIGNvbG91cmVkXG4vLy8gYm9yZGVycy4gVGhlIGNvbG91cmVkIGJvcmRlcnMgaW5oZXJpdCB0aGUgdGV4dCBjb2xvdXIgb2YgdGhlIGVsZW1lbnQgKDIpLlxuLy8vXG4vLy8gRW5zdXJlIHRoZSBhcnJvdyBpcyByZW5kZXJlZCBjb3JyZWN0bHkgaWYgYnJvd3NlciBjb2xvdXJzIGFyZSBvdmVycmlkZGVuIGJ5XG4vLy8gcHJvdmlkaW5nIGEgY2xpcCBwYXRoICgzKS4gV2l0aG91dCB0aGlzIHRoZSB0cmFuc3BhcmVudCBib3JkZXJzIGFyZVxuLy8vIG92ZXJyaWRkZW4gdG8gYmVjb21lIHZpc2libGUgd2hpY2ggcmVzdWx0cyBpbiBhIHNxdWFyZS5cbi8vL1xuLy8vIFdlIG5lZWQgYm90aCBiZWNhdXNlIG9sZGVyIGJyb3dzZXJzIGRvIG5vdCBzdXBwb3J0IGNsaXAtcGF0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIC0gRGlyZWN0aW9uIGZvciBhcnJvdzogdXAsIHJpZ2h0LCBkb3duLCBsZWZ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIExlbmd0aCBvZiB0aGUgdHJpYW5nbGUgJ2Jhc2UnIHNpZGVcbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbbnVsbF0gLSBIZWlnaHQgb2YgdHJpYW5nbGUuIE9taXQgZm9yIGVxdWlsYXRlcmFsLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbYmxvY2tdIC0gQ1NTIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGFycm93XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbiwgJGJhc2UsICRoZWlnaHQ6IG51bGwsICRkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcblxuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIDFcblxuICAkcGVycGVuZGljdWxhcjogJGJhc2UgLyAyO1xuXG4gIEBpZiAoJGhlaWdodCA9PSBudWxsKSB7XG4gICAgJGhlaWdodDogX2dvdnVrLWVxdWlsYXRlcmFsLWhlaWdodCgkYmFzZSk7XG4gIH1cblxuICBAaWYgJGRpcmVjdGlvbiA9PSBcInVwXCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAwJSwgMCUgMTAwJSwgMTAwJSAxMDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogMCAkcGVycGVuZGljdWxhciAkaGVpZ2h0ICRwZXJwZW5kaWN1bGFyO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIiB7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDEwMCUgNTAlLCAwJSAxMDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSA1MCUsIDAlIDEwMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6ICRwZXJwZW5kaWN1bGFyIDAgJHBlcnBlbmRpY3VsYXIgJGhlaWdodDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duXCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCA1MCUgMTAwJSwgMTAwJSAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDUwJSAxMDAlLCAxMDAlIDAlKTsgLy8gM1xuXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICRwZXJwZW5kaWN1bGFyIDAgJHBlcnBlbmRpY3VsYXI7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJsZWZ0XCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDUwJSwgMTAwJSAxMDAlLCAxMDAlIDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSA1MCUsIDEwMCUgMTAwJSwgMTAwJSAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogJHBlcnBlbmRpY3VsYXIgJGhlaWdodCAkcGVycGVuZGljdWxhciAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIGFycm93IGRpcmVjdGlvbjogZXhwZWN0ZWQgYHVwYCwgYHJpZ2h0YCwgYGRvd25gIG9yIGBsZWZ0YCwgZ290IGAjeyRkaXJlY3Rpb259YFwiO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIFNpbmdsZSBwb2ludCBzcGFjaW5nXG4vLy9cbi8vLyBSZXR1cm5zIG1lYXN1cmVtZW50IGNvcnJlc3BvbmRpbmcgdG8gdGhlIHNwYWNpbmcgcG9pbnQgcmVxdWVzdGVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHNwYWNpbmcgc2NhbGUgKHNldCBpbiBgc2V0dGluZ3MvX3NwYWNpbmcuc2Njc2ApXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBTcGFjaW5nIE1lYXN1cmVtZW50IGVnLiAxMHB4XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNSk7XG4vLy8gICAgIHRvcDogZ292dWstc3BhY2luZygyKSAhaW1wb3J0YW50OyAvLyBpZiBgIWltcG9ydGFudGAgaXMgcmVxdWlyZWRcbi8vLyAgIH1cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstc3BhY2luZygkc3BhY2luZy1wb2ludCkge1xuXG4gICRhY3R1YWwtaW5wdXQtdHlwZTogdHlwZS1vZigkc3BhY2luZy1wb2ludCk7XG4gIEBpZiAkYWN0dWFsLWlucHV0LXR5cGUgIT0gXCJudW1iZXJcIiB7XG4gICAgQGVycm9yIFwiRXhwZWN0ZWQgYSBudW1iZXIgKGludGVnZXIpLCBidXQgZ290IGEgXCJcbiAgICArIFwiI3skYWN0dWFsLWlucHV0LXR5cGV9LlwiO1xuICB9XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkZ292dWstc3BhY2luZy1wb2ludHMsICRzcGFjaW5nLXBvaW50KSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBzcGFjaW5nIHZhcmlhYmxlIGAjeyRzcGFjaW5nLXBvaW50fWAuIE1ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIGEgcG9pbnQgZnJvbSB0aGUgc3BhY2luZyBzY2FsZSBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2AuXCI7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1nZXQoJGdvdnVrLXNwYWNpbmctcG9pbnRzLCAkc3BhY2luZy1wb2ludCk7XG59XG5cbi8vLyBSZXNwb25zaXZlIHNwYWNpbmdcbi8vL1xuLy8vIEFkZHMgcmVzcG9uc2l2ZSBzcGFjaW5nIChlaXRoZXIgcGFkZGluZyBvciBtYXJnaW4sIGRlcGVuZGluZyBvbiBgJHByb3BlcnR5YClcbi8vLyBieSBmZXRjaGluZyBhICdzcGFjaW5nIG1hcCcgZnJvbSB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nIHNjYWxlLCB3aGljaCBkZWZpbmVzXG4vLy8gZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudCBicmVha3BvaW50cy5cbi8vL1xuLy8vIFRvIGdlbmVyYXRlIHJlc3BvbnNpdmUgc3BhY2luZywgdXNlICdnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbicgb3Jcbi8vLyAnZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nJyBtaXhpbnNcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vICAgc2NhbGUsIGNvcnJlc3BvbmRzIHRvIGEgbWFwIG9mIGJyZWFrcG9pbnRzIGFuZCBzcGFjaW5nIHZhbHVlc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBQcm9wZXJ0eSB0byBhZGQgc3BhY2luZyB0byAoZS5nLiAnbWFyZ2luJylcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbYWxsXSAtIERpcmVjdGlvbiB0byBhZGQgc3BhY2luZyB0b1xuLy8vICAgKGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgYGxlZnRgLCBgYWxsYClcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJGFkanVzdG1lbnQgW2ZhbHNlXSAtIE9mZnNldCB0byBhZGp1c3Qgc3BhY2luZyBieVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBtaXhpbiBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsICRwcm9wZXJ0eSwgJGRpcmVjdGlvbjogXCJhbGxcIiwgJGltcG9ydGFudDogZmFsc2UsICRhZGp1c3RtZW50OiBmYWxzZSkge1xuXG4gICRhY3R1YWwtaW5wdXQtdHlwZTogdHlwZS1vZigkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50KTtcbiAgQGlmICRhY3R1YWwtaW5wdXQtdHlwZSAhPSBcIm51bWJlclwiIHtcbiAgICBAZXJyb3IgXCJFeHBlY3RlZCBhIG51bWJlciAoaW50ZWdlciksIGJ1dCBnb3QgYSBcIiArIFwiI3skYWN0dWFsLWlucHV0LXR5cGV9LlwiO1xuICB9XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlLCAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50KSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBzcGFjaW5nIHBvaW50IGAjeyRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnR9YC4gTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgYSBwb2ludCBmcm9tIHRoZSBcIlxuICAgICsgXCJyZXNwb25zaXZlIHNwYWNpbmcgc2NhbGUgaW4gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgLlwiO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIHJldHVybiB2YWx1ZSBmcm9tIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYCBpcyBhIG1hcC5cbiAgJHNjYWxlLW1hcDogbWFwLWdldCgkZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlLCAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50KTtcbiAgJGFjdHVhbC1tYXAtdHlwZTogdHlwZS1vZigkc2NhbGUtbWFwKTtcbiAgQGlmICRhY3R1YWwtbWFwLXR5cGUgIT0gXCJtYXBcIiB7XG4gICAgQGVycm9yIFwiRXhwZWN0ZWQgYSBudW1iZXIgKGludGVnZXIpLCBidXQgZ290IGEgXCJcbiAgICArIFwiI3skYWN0dWFsLW1hcC10eXBlfS4gTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgYSBtYXAgdG8gc2V0IHRoZSByZXNwb25zaXZlIHNwYWNpbmcgaW4gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgKVwiO1xuICB9XG5cbiAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBlYWNoICRicmVha3BvaW50LCAkYnJlYWtwb2ludC12YWx1ZSBpbiAkc2NhbGUtbWFwIHtcblxuICAgIEBpZiAoJGFkanVzdG1lbnQpIHtcbiAgICAgICRicmVha3BvaW50LXZhbHVlOiAkYnJlYWtwb2ludC12YWx1ZSArICRhZGp1c3RtZW50O1xuICAgIH1cblxuICAgIC8vIFRoZSAnbnVsbCcgYnJlYWtwb2ludCBpcyBmb3IgbW9iaWxlLlxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIHtcblxuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gYWxsIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkYnJlYWtwb2ludC12YWx1ZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn06ICRicmVha3BvaW50LXZhbHVlIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiAkYnJlYWtwb2ludCkge1xuICAgICAgICBAaWYgJGRpcmVjdGlvbiA9PSBhbGwge1xuICAgICAgICAgICN7JHByb3BlcnR5fTogJGJyZWFrcG9pbnQtdmFsdWUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAjeyRwcm9wZXJ0eX0tI3skZGlyZWN0aW9ufTogJGJyZWFrcG9pbnQtdmFsdWUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZXNwb25zaXZlIG1hcmdpblxuLy8vXG4vLy8gQWRkcyByZXNwb25zaXZlIG1hcmdpbiBieSBmZXRjaGluZyBhICdzcGFjaW5nIG1hcCcgZnJvbSB0aGUgcmVzcG9uc2l2ZVxuLy8vIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXMgZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudFxuLy8vIGJyZWFrcG9pbnRzLiBXcmFwcGVyIGZvciB0aGUgYF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdgIG1peGluLlxuLy8vXG4vLy8gQHNlZSB7bWl4aW59IF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vIHNjYWxlLCBjb3JyZXNwb25kcyB0byBhIG1hcCBvZiBicmVha3BvaW50cyBhbmQgc3BhY2luZyB2YWx1ZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbYWxsXSAtIERpcmVjdGlvbiB0byBhZGQgc3BhY2luZyB0b1xuLy8vICAgKGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgYGxlZnRgLCBgYWxsYClcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJGFkanVzdG1lbnQgW2ZhbHNlXSAtIE9mZnNldCB0byBhZGp1c3Qgc3BhY2luZyBieVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJsZWZ0XCIsICRhZGp1c3RtZW50OiAxcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsICRkaXJlY3Rpb246IFwiYWxsXCIsICRpbXBvcnRhbnQ6IGZhbHNlLCAkYWRqdXN0bWVudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCBcIm1hcmdpblwiLCAkZGlyZWN0aW9uLCAkaW1wb3J0YW50LCAkYWRqdXN0bWVudCk7XG59XG5cbi8vLyBSZXNwb25zaXZlIHBhZGRpbmdcbi8vL1xuLy8vIEFkZHMgcmVzcG9uc2l2ZSBwYWRkaW5nIGJ5IGZldGNoaW5nIGEgJ3NwYWNpbmcgbWFwJyBmcm9tIHRoZSByZXNwb25zaXZlXG4vLy8gc3BhY2luZyBzY2FsZSwgd2hpY2ggZGVmaW5lcyBkaWZmZXJlbnQgc3BhY2luZyB2YWx1ZXMgYXQgZGlmZmVyZW50XG4vLy8gYnJlYWtwb2ludHMuIFdyYXBwZXIgZm9yIHRoZSBgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZ2AgbWl4aW4uXG4vLy9cbi8vLyBAc2VlIHttaXhpbn0gX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZ1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nXG4vLy8gICBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gW2FsbF0gLSBEaXJlY3Rpb24gdG8gYWRkIHNwYWNpbmcgdG9cbi8vLyAgIChgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIGBsZWZ0YCwgYGFsbGApXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhZGp1c3RtZW50IFtmYWxzZV0gLSBPZmZzZXQgdG8gYWRqdXN0IHNwYWNpbmdcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg2LCBcImxlZnRcIiwgJGFkanVzdG1lbnQ6IDFweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5cbkBtaXhpbiBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgJGRpcmVjdGlvbjogXCJhbGxcIiwgJGltcG9ydGFudDogZmFsc2UsICRhZGp1c3RtZW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsIFwicGFkZGluZ1wiLCAkZGlyZWN0aW9uLCAkaW1wb3J0YW50LCAkYWRqdXN0bWVudCk7XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuQGltcG9ydCBcIi4uL3Rvb2xzL3B4LXRvLXJlbVwiO1xuXG4vLy8gJ0NvbW1vbiB0eXBvZ3JhcGh5JyBoZWxwZXJcbi8vL1xuLy8vIFNldHMgdGhlIGZvbnQgZmFtaWx5IGFuZCBhc3NvY2lhdGVkIHByb3BlcnRpZXMsIHN1Y2ggYXMgZm9udCBzbW9vdGhpbmcuIEFsc29cbi8vLyBvdmVycmlkZXMgdGhlIGZvbnQgZm9yIHByaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkZm9udC1mYW1pbHkgWyRnb3Z1ay1mb250LWZhbWlseV0gRm9udCBmYW1pbHkgdG8gdXNlXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uKCRmb250LWZhbWlseTogJGdvdnVrLWZvbnQtZmFtaWx5KSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG4gIC8vIElmIHVzaW5nIE5UQSwgaW5jbHVkZSB0aGUgZm9udC1mYWNlIGRlZmluaXRpb25cbiAgQGlmICgkZ292dWstZm9udC1mYW1pbHkgPT0gJGdvdnVrLWZvbnQtZmFtaWx5LW50YSkge1xuICAgIEBpbmNsdWRlIF9nb3Z1ay1mb250LWZhY2UtbnRhO1xuICB9XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgZm9udC1mYW1pbHk6ICRnb3Z1ay1mb250LWZhbWlseS1wcmludDtcbiAgfVxufVxuXG4vLy8gVGV4dCBjb2xvdXIgaGVscGVyXG4vLy9cbi8vLyBTZXRzIHRoZSB0ZXh0IGNvbG91ciwgaW5jbHVkaW5nIGEgc3VpdGFibGUgb3ZlcnJpZGUgZm9yIHByaW50LlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXRleHQtY29sb3VyIHtcbiAgY29sb3I6ICRnb3Z1ay10ZXh0LWNvbG91cjtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICBjb2xvcjogJGdvdnVrLXByaW50LXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBSZWd1bGFyIGZvbnQgd2VpZ2h0IGhlbHBlclxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuIEdlbmVyYWxseSBVc2VkIHRvIGNyZWF0ZSBvdmVycmlkZSBjbGFzc2VzLlxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1yZWd1bGFyKCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIGZvbnQtd2VpZ2h0OiAkZ292dWstZm9udC13ZWlnaHQtcmVndWxhciBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG59XG5cbi8vLyBCb2xkIGZvbnQgd2VpZ2h0IGhlbHBlclxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuIEdlbmVyYWxseSBVc2VkIHRvIGNyZWF0ZSBvdmVycmlkZSBjbGFzc2VzLlxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkKCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIGZvbnQtd2VpZ2h0OiAkZ292dWstZm9udC13ZWlnaHQtYm9sZCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG59XG5cbi8vLyBDb252ZXJ0IGxpbmUtaGVpZ2h0cyBzcGVjaWZpZWQgaW4gcGl4ZWxzIGludG8gYSByZWxhdGl2ZSB2YWx1ZSwgdW5sZXNzXG4vLy8gdGhleSBhcmUgYWxyZWFkeSB1bml0LWxlc3MgKGFuZCB0aHVzIGFscmVhZHkgdHJlYXRlZCBhcyByZWxhdGl2ZSB2YWx1ZXMpXG4vLy8gb3IgdGhlIHVuaXRzIGRvIG5vdCBtYXRjaCB0aGUgdW5pdHMgdXNlZCBmb3IgdGhlIGZvbnQgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGluZS1oZWlnaHQgTGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBGb250IHNpemVcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBsaW5lIGhlaWdodCBhcyBlaXRoZXIgYSByZWxhdGl2ZSB2YWx1ZSBvciB1bm1vZGlmaWVkXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiBfZ292dWstbGluZS1oZWlnaHQoJGxpbmUtaGVpZ2h0LCAkZm9udC1zaXplKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJGxpbmUtaGVpZ2h0KSBhbmQgdW5pdCgkbGluZS1oZWlnaHQpID09IHVuaXQoJGZvbnQtc2l6ZSkge1xuICAgICRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0IC8gJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIEByZXR1cm4gJGxpbmUtaGVpZ2h0O1xufVxuXG4vLy8gUmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IGhlbHBlclxuLy8vXG4vLy8gVGFrZXMgYSAnZm9udCBtYXAnIGFzIGFuIGFyZ3VtZW50IGFuZCB1c2VzIGl0IHRvIGNyZWF0ZSBmb250LXNpemUgYW5kXG4vLy8gbGluZS1oZWlnaHQgZGVjbGFyYXRpb25zIGZvciBkaWZmZXJlbnQgYnJlYWtwb2ludHMsIGFuZCBmb3IgcHJpbnQuXG4vLy9cbi8vLyBFeGFtcGxlIGZvbnQgbWFwOlxuLy8vXG4vLy8gJG15LWZvbnQtbWFwOiAoXG4vLy8gICBudWxsOiAoXG4vLy8gICAgIGZvbnQtc2l6ZTogMTZweCxcbi8vLyAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbi8vLyAgICksXG4vLy8gICB0YWJsZXQ6IChcbi8vLyAgICAgZm9udC1zaXplOiAxOXB4LFxuLy8vICAgICBsaW5lLWhlaWdodDogMjVweFxuLy8vICAgKSxcbi8vLyAgIHByaW50OiAoXG4vLy8gICAgIGZvbnQtc2l6ZTogMTRwdCxcbi8vLyAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbi8vLyAgIClcbi8vLyApO1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRmb250LW1hcCAtIEZvbnQgbWFwXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvdmVycmlkZS1saW5lLWhlaWdodCBbZmFsc2VdIC0gTm9uIHJlc3BvbnNpdmUgY3VzdG9tIGxpbmVcbi8vLyAgIGhlaWdodC4gT21pdCB0byB1c2UgdGhlIGxpbmUgaGVpZ2h0IGZyb20gdGhlIGZvbnQgbWFwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGRlY2xhcmF0aW9ucyBhc1xuLy8vICAgYCFpbXBvcnRhbnRgLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZSwgJG92ZXJyaWRlLWxpbmUtaGVpZ2h0OiBmYWxzZSwgJGltcG9ydGFudDogZmFsc2UpIHtcblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlLCAkc2l6ZSkge1xuICAgIEBlcnJvciBcIlVua25vd24gZm9udCBzaXplIGAjeyRzaXplfWAgLSBleHBlY3RlZCBhIHBvaW50IGZyb20gdGhlIHR5cG9ncmFwaHkgc2NhbGUuXCI7XG4gIH1cblxuICAkZm9udC1tYXA6IG1hcC1nZXQoJGdvdnVrLXR5cG9ncmFwaHktc2NhbGUsICRzaXplKTtcblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnQtbWFwIGluICRmb250LW1hcCB7XG4gICAgJGZvbnQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludC1tYXAsIFwiZm9udC1zaXplXCIpO1xuICAgICRmb250LXNpemUtcmVtOiBnb3Z1ay1weC10by1yZW0oJGZvbnQtc2l6ZSk7XG5cbiAgICAkbGluZS1oZWlnaHQ6IF9nb3Z1ay1saW5lLWhlaWdodChcbiAgICAgICRsaW5lLWhlaWdodDogaWYoJG92ZXJyaWRlLWxpbmUtaGVpZ2h0LFxuICAgICAgICAkb3ZlcnJpZGUtbGluZS1oZWlnaHQsXG4gICAgICAgIG1hcC1nZXQoJGJyZWFrcG9pbnQtbWFwLCBcImxpbmUtaGVpZ2h0XCIpXG4gICAgICApLFxuICAgICAgJGZvbnQtc2l6ZTogJGZvbnQtc2l6ZVxuICAgICk7XG5cbiAgICAvLyBNYXJrIHJ1bGVzIGFzICFpbXBvcnRhbnQgaWYgJGltcG9ydGFudCBpcyB0cnVlIC0gdGhpcyB3aWxsIHJlc3VsdCBpblxuICAgIC8vIHRoZXNlIHZhcmlhYmxlcyBiZWNvbWluZyBzdHJpbmdzLCBzbyB0aGlzIG5lZWRzIHRvIGhhcHBlbiAqYWZ0ZXIqIHRoZXlcbiAgICAvLyBhcmUgdXNlZCBpbiBjYWxjdWxhdGlvbnNcbiAgICAkZm9udC1zaXplOiAkZm9udC1zaXplIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAkZm9udC1zaXplLXJlbTogJGZvbnQtc2l6ZS1yZW0gaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0IGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTsgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICAgIEBpZiAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXJlbTsgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICAgIH1cbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfSBAZWxzZWlmICRicmVha3BvaW50ID09IFwicHJpbnRcIiB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206ICRicmVha3BvaW50KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTsgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICAgICAgQGlmICRnb3Z1ay10eXBvZ3JhcGh5LXVzZS1yZW0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1yZW07IC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gICAgICAgIH1cbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEZvbnQgaGVscGVyXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBTaXplIG9mIHRoZSBmb250IGFzIGl0IHdvdWxkIGFwcGVhciBvbiBkZXNrdG9wIC1cbi8vLyAgIHVzZXMgdGhlIHJlc3BvbnNpdmUgZm9udCBzaXplIG1hcFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd2VpZ2h0IFtyZWd1bGFyXSAtIFdlaWdodDogYGJvbGRgIG9yIGByZWd1bGFyYFxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHRhYnVsYXIgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gdXNlIHRhYnVsYXIgbnVtYmVycyBvciBub3Rcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxpbmUtaGVpZ2h0IFtmYWxzZV0gLSBMaW5lLWhlaWdodCwgaWYgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdFxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWZvbnQoJHNpemUsICR3ZWlnaHQ6IHJlZ3VsYXIsICR0YWJ1bGFyOiBmYWxzZSwgJGxpbmUtaGVpZ2h0OiBmYWxzZSkge1xuICBAaWYgJHRhYnVsYXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uKCRmb250LWZhbWlseTogJGdvdnVrLWZvbnQtZmFtaWx5LXRhYnVsYXIpO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbjtcbiAgfVxuXG4gIEBpZiAkd2VpZ2h0ID09IHJlZ3VsYXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LXJlZ3VsYXI7XG4gIH0gQGVsc2UgaWYgJHdlaWdodCA9PSBib2xkIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICB9XG5cbiAgQGlmICRzaXplIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemUsICRvdmVycmlkZS1saW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0KTtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4vLy8gICAtIEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5LCBKb25hdGhhbiBTbm9vaywgRmVicnVhcnkgMjAxMVxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvOWYxMzY5NWQyMWZmOTJjNTVjNzhkZmE5ZjE2YmIwMmExYjZlOTExZi9zcmMvY3NzL21haW4uY3NzI0wxMjEtTDE1OFxuLy8vICAgLSBoNWJwL2h0bWw1LWJvaWxlcnBsYXRlIC0gVGhhbmtzIVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXZpc3VhbGx5LWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICAgICAgICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcblxuICBib3JkZXI6IDA7XG5cbiAgLy8gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAgLy8gY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gIC8vIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVycyB3aGlsc3Rcbi8vLyBhbGxvd2luZyB0aGUgZWxlbWVudCB0byBiZSBmb2N1c2VkIHdoZW4gbmF2aWdhdGVkIHRvIHZpYSB0aGUga2V5Ym9hcmQgKGUuZy5cbi8vLyBmb3IgdGhlIHNraXAgbGluaylcbi8vL1xuLy8vIFRoaXMgaXMgc2xpZ2h0bHkgbGVzcyBvcGluaW9uYXRlZCBhYm91dCBib3JkZXJzIGFuZCBwYWRkaW5nIHRvIG1ha2UgaXRcbi8vLyBlYXNpZXIgdG8gc3R5bGUgdGhlIGZvY3Vzc2VkIGVsZW1lbnQuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICAgICAgICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcblxuICAvLyBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICAvLyBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAgLy8gaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuXG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogaW5oZXJpdDtcblxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IG5vbmU7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IG5vbmU7XG5cbiAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgfVxufVxuIiwiQGltcG9ydCBcImxpbmtzXCI7XG5AaW1wb3J0IFwibGlzdHNcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZVwiO1xuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJzZWN0aW9uLWJyZWFrXCI7XG5AaW1wb3J0IFwiZ2xvYmFsLXN0eWxlc1wiO1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvbGlua3NcIikge1xuXG4gICVnb3Z1ay1saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1wcmludC1mcmllbmRseTtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xuICB9XG5cbiAgLy8gVmFyaWFudCBjbGFzc2VzIHNob3VsZCBhbHdheXMgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAuZ292dWstbGlua1xuICAvLyBjbGFzcywgc28gd2UgZG8gbm90IG5lZWQgdGhlIGNvbW1vbiBsaW5rIHN0eWxlcyBhcyB0aGV5IHdpbGwgYmUgaW5oZXJpdGVkLlxuXG4gIC5nb3Z1ay1saW5rLS1tdXRlZCB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1tdXRlZDtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rLS10ZXh0LWNvbG91ciB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICB9XG5cbiAgLy8gJ05vIHZpc2l0ZWQgc3RhdGUnIGxpbmsgbWl4aW5cbiAgLy9cbiAgLy8gVXNlZCBpbiBjYXNlcyB3aGVyZSBpdCBpcyBub3QgaGVscGZ1bCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHZpc2l0ZWQgYW5kXG4gIC8vIG5vbi12aXNpdGVkIGxpbmtzLlxuICAvL1xuICAvLyBGb3IgZXhhbXBsZSwgbmF2aWdhdGlvbiBsaW5rcyB0byBwYWdlcyB3aXRoIGR5bmFtaWMgY29udGVudCBsaWtlIGFkbWluXG4gIC8vIGRhc2hib2FyZHMuIFRoZSBjb250ZW50IG9uIHRoZSBwYWdlIGlzIGNoYW5naW5nIGFsbCB0aGUgdGltZSwgc28gdGhlIGZhY3RcbiAgLy8gdGhhdCB5b3XigJl2ZSB2aXNpdGVkIGl0IGJlZm9yZSBpcyBub3QgaW1wb3J0YW50LlxuICAvL1xuICAvLyBUaGlzIGlzIG5vdCBhYnN0cmFjdGVkIGFzIGEgbWl4aW4gYmVjYXVzZSBpdCBkb2VzIG5vdCBwcm92aWRlIHN0YXRlcyBmb3JcbiAgLy8gYWxsIHBzZXVkby1zZWxlY3RvcnMgc28gaXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byB1c2UgaXQgaW4gY29tcG9zaXRpb24uXG4gIC5nb3Z1ay1saW5rLS1uby12aXNpdGVkLXN0YXRlIHtcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL2xpc3RzXCIpIHtcblxuICAlZ292dWstbGlzdCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgIC8vIEFkZCBhIHRvcCBtYXJnaW4gZm9yIG5lc3RlZCBsaXN0c1xuICAgICVnb3Z1ay1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgJWdvdnVrLWxpc3QgPiBsaSB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cblxuICAlZ292dWstbGlzdCBhIHtcbiAgICAmOmxpbmsge1xuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICB9XG5cbiAgICAmOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLXZpc2l0ZWQtY29sb3VyO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbGlzdCB7XG4gICAgQGV4dGVuZCAlZ292dWstbGlzdDtcbiAgfVxuXG4gICVnb3Z1ay1saXN0LS1idWxsZXQge1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcblxuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgfVxuXG4gIC5nb3Z1ay1saXN0LS1idWxsZXQge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3QtLWJ1bGxldDtcbiAgfVxuXG4gICVnb3Z1ay1saXN0LS1udW1iZXIge1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gIH1cblxuICAuZ292dWstbGlzdC0tbnVtYmVyIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saXN0LS1udW1iZXI7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvdGVtcGxhdGVcIikge1xuXG4gIC8vIEFwcGxpZWQgdG8gdGhlIDxodG1sPiBlbGVtZW50XG4gIC5nb3Z1ay10ZW1wbGF0ZSB7XG4gICAgLy8gU2V0IHRoZSBvdmVyYWxsIHBhZ2UgYmFja2dyb3VuZCBjb2xvdXIgdG8gdGhlIHNhbWUgY29sb3VyIGFzIHVzZWQgYnkgdGhlXG4gICAgLy8gZm9vdGVyIHRvIGdpdmUgdGhlIGlsbHVzaW9uIG9mIGEgbG9uZyBmb290ZXIuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjtcbiAgfVxuXG4gIC8vIEFwcGxpZWQgdG8gdGhlIDxib2R5PiBlbGVtZW50XG4gIC5nb3Z1ay10ZW1wbGF0ZV9fYm9keSB7XG4gICAgLy8gVGhlIGRlZmF1bHQgbWFyZ2lucyBzZXQgYnkgdXNlci1hZ2VudHMgYXJlIG5vdCByZXF1aXJlZCBzaW5jZSB3ZSBoYXZlIG91clxuICAgIC8vIG93biBjb250YWluZXJzLlxuICAgIG1hcmdpbjogMDtcbiAgICAvLyBTZXQgdGhlIG92ZXJhbGwgYm9keSBvZiB0aGUgcGFnZSBiYWNrIHRvIHRoZSB0eXBpY2FsIGJhY2tncm91bmQgY29sb3VyLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1ib2R5LWJhY2tncm91bmQtY29sb3VyO1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29yZS90eXBvZ3JhcGh5XCIpIHtcblxuICAvLyBIZWFkaW5nc1xuXG4gICVnb3Z1ay1oZWFkaW5nLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiA0OCwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstaGVhZGluZy14bCB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy14bDtcbiAgfVxuXG4gICVnb3Z1ay1oZWFkaW5nLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDM2LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkaW5nLWwge1xuICAgIEBleHRlbmQgJWdvdnVrLWhlYWRpbmctbDtcbiAgfVxuXG4gICVnb3Z1ay1oZWFkaW5nLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkaW5nLW0ge1xuICAgIEBleHRlbmQgJWdvdnVrLWhlYWRpbmctbTtcbiAgfVxuXG4gICVnb3Z1ay1oZWFkaW5nLXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkaW5nLXMge1xuICAgIEBleHRlbmQgJWdvdnVrLWhlYWRpbmctcztcbiAgfVxuXG4gIC8vIENhcHRpb25zIHRvIGJlIHVzZWQgaW5zaWRlIGhlYWRpbmdzXG5cbiAgLmdvdnVrLWNhcHRpb24teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI3KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcblxuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLWNhcHRpb24tbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstY2FwdGlvbi1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuICB9XG5cbiAgLy8gQm9keSAocGFyYWdyYXBocylcblxuICAlZ292dWstYm9keS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCk7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWJvZHktbCB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1sO1xuICB9XG5cbiAgJWdvdnVrLWJvZHktbSB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5LW0ge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbTtcbiAgfVxuXG4gICVnb3Z1ay1ib2R5LXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstYm9keS1zIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LXM7XG4gIH1cblxuICAlZ292dWstYm9keS14cyB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTQpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5LXhzIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LXhzO1xuICB9XG5cbiAgLy8gVXNhZ2UgYWxpYXNlc1xuXG4gIC8vIFVzaW5nIGV4dGVuZCB0byBhbGlhcyBtZWFucyB3ZSBhbHNvIGluaGVyaXQgYW55IGNvbnRleHR1YWwgYWRqdXN0bWVudHMgdGhhdFxuICAvLyByZWZlciB0byB0aGUgJ29yaWdpbmFsJyBjbGFzcyBuYW1lXG5cbiAgLmdvdnVrLWJvZHktbGVhZCB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1sO1xuICB9XG5cbiAgLmdvdnVrLWJvZHkge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbTtcbiAgfVxuXG4gIC8vIENvbnRleHR1YWwgYWRqdXN0bWVudHNcbiAgLy8gQWRkIHRvcCBwYWRkaW5nIHRvIGhlYWRpbmdzIHRoYXQgYXBwZWFyIGRpcmVjdGx5IGFmdGVyIHBhcmFncmFwaHMuXG5cbiAgJWdvdnVrLWJvZHktbCAgKyAlZ292dWstaGVhZGluZy1sIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygxKTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIH1cbiAgfVxuXG4gICVnb3Z1ay1ib2R5LW0gICsgJWdvdnVrLWhlYWRpbmctbCxcbiAgJWdvdnVrLWJvZHktcyAgKyAlZ292dWstaGVhZGluZy1sLFxuICAlZ292dWstbGlzdCArICVnb3Z1ay1oZWFkaW5nLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg0LCBcInRvcFwiKTtcbiAgfVxuXG4gICVnb3Z1ay1ib2R5LW0gKyAlZ292dWstaGVhZGluZy1tLFxuICAlZ292dWstYm9keS1zICsgJWdvdnVrLWhlYWRpbmctbSxcbiAgJWdvdnVrLWxpc3QgKyAlZ292dWstaGVhZGluZy1tLFxuICAlZ292dWstYm9keS1tICsgJWdvdnVrLWhlYWRpbmctcyxcbiAgJWdvdnVrLWJvZHktcyArICVnb3Z1ay1oZWFkaW5nLXMsXG4gICVnb3Z1ay1saXN0ICsgJWdvdnVrLWhlYWRpbmctcyB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL3NlY3Rpb24tYnJlYWtcIikge1xuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgLy8gZml4IGRvdWJsZS13aWR0aCBzZWN0aW9uIGJyZWFrIGFuZCBmb3JjZWQgdmlzaWJsZSBzZWN0aW9uIGJyZWFrXG4gICAgLy8gd2hlbiBjb21iaW5lZCB3aXRoIHN0eWxlcyBmcm9tIGFscGhhZ292L2VsZW1lbnRzXG4gICAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a19lbGVtZW50cykge1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zZWN0aW9uLWJyZWFrIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrO1xuICB9XG5cbiAgLy8gU2l6ZXNcblxuICAlZ292dWstc2VjdGlvbi1icmVhay0teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLXhsIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS14bDtcbiAgfVxuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1zZWN0aW9uLWJyZWFrLS1sIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS1sO1xuICB9XG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWstLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLW0ge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLW07XG4gIH1cblxuICAvLyBWaXNpYmxlIHZhcmlhbnRcblxuICAlZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLXZpc2libGUge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLXZpc2libGU7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJsaW5rc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcblxuQG1peGluIGdvdnVrLWdsb2JhbC1zdHlsZXMge1xuICBhIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xuICB9XG5cbiAgcCB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1tO1xuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL2dsb2JhbC1zdHlsZXNcIikge1xuXG4gIEBpZiAkZ292dWstZ2xvYmFsLXN0eWxlcyA9PSB0cnVlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1nbG9iYWwtc3R5bGVzO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiZm9ybS1ncm91cFwiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJtYWluLXdyYXBwZXJcIjtcbkBpbXBvcnQgXCJ3aWR0aC1jb250YWluZXJcIjtcbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL2Zvcm0tZ3JvdXBcIikge1xuXG4gIC5nb3Z1ay1mb3JtLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIC5nb3Z1ay1mb3JtLWdyb3VwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmUgbWFyZ2luIGZyb20gbGFzdCBpdGVtIGluIG5lc3RlZCBncm91cHNcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9ybS1ncm91cC0tZXJyb3Ige1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygzKTtcbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWdyb3VwLWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAuZ292dWstZm9ybS1ncm91cCB7XG4gICAgICAvLyBSZXNldCBlcnJvciBzdHlsZXMgaW4gbmVzdGVkIGZvcm0gZ3JvdXBzIHRoYXQgbWlnaHQgaGF2ZSBlcnJvciBjbGFzc1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL2dyaWRcIikge1xuICAvL21vc3QgY29tbW9uIHVzYWdlXG4gIEBpbmNsdWRlIGdvdnVrLWdyaWQtcm93O1xuICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbihvbmUtcXVhcnRlcik7XG4gIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKG9uZS10aGlyZCk7XG4gIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKG9uZS1oYWxmKTtcbiAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4odHdvLXRoaXJkcyk7XG4gIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHRocmVlLXF1YXJ0ZXJzKTtcbiAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4oZnVsbCk7XG59XG4iLCIvLyBFeGFtcGxlIHVzYWdlIHdpdGggQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3M6XG4vLyA8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4vLyAgIDwhLS0gQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3MgYXJlIHBsYWNlZCBpbiBoZXJlLiAtLT5cbi8vICAgPGRpdiBjbGFzcz1cImdvdnVrLW1haW4td3JhcHBlclwiPlxuLy8gICAgICAgPCEtLSBXcmFwcGVyIGZvciB0aGUgbWFpbiBjb250ZW50IG9mIHlvdXIgcGFnZSB3aGljaCBhcHBsaWVzIHBhZGRpbmdcbi8vICAgICAgICAgICAgdG8gdGhlIHRvcCAvIGJvdHRvbSAtLT5cbi8vICAgPC9kaXY+XG4vLyA8L2Rpdj5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlIHdpdGhvdXQgQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3M6XG4vLyA8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4vLyAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1tYWluLXdyYXBwZXIgZ292dWstbWFpbi13cmFwcGVyLS1sXCI+XG4vLyAgICAgICA8IS0tIFdyYXBwZXIgZm9yIHRoZSBtYWluIGNvbnRlbnQgb2YgeW91ciBwYWdlIHdoaWNoIGFwcGxpZXMgcGFkZGluZ1xuLy8gICAgICAgICAgICB0byB0aGUgdG9wIC8gYm90dG9tIC0tPlxuLy8gICA8L2Rpdj5cbi8vIDwvZGl2PlxuXG5cbkBtaXhpbiBnb3Z1ay1tYWluLXdyYXBwZXIge1xuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNiwgXCJ0b3BcIik7XG4gIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg2LCBcImJvdHRvbVwiKTtcbiAgLy8gSW4gSUUxMSB0aGUgYG1haW5gIGVsZW1lbnQgY2FuIGJlIHVzZWQsIGJ1dCBpcyBub3QgcmVjb2duaXplZCAg4oCTXG4gIC8vIG1lYW5pbmcgaXQncyBub3QgZGVmaW5lZCBpbiBJRSdzIGRlZmF1bHQgc3R5bGUgc2hlZXQsXG4gIC8vIHNvIGl0IHVzZXMgQ1NTIGluaXRpYWwgdmFsdWUsIHdoaWNoIGlzIGlubGluZS5cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIFVzZSBnb3Z1ay1tYWluLXdyYXBwZXItLWwgd2hlbiB5b3UgcGFnZSBkb2VzIG5vdCBoYXZlIEJyZWFkY3J1bWJzLCBwaGFzZSBiYW5uZXJzIG9yIGJhY2sgbGlua3NcbkBtaXhpbiBnb3Z1ay1tYWluLXdyYXBwZXItLWwge1xuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoOCwgXCJ0b3BcIik7XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL21haW4td3JhcHBlclwiKSB7XG4gIC5nb3Z1ay1tYWluLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1haW4td3JhcHBlcjtcbiAgfVxuXG4gIC5nb3Z1ay1tYWluLXdyYXBwZXItLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1haW4td3JhcHBlci0tbDtcbiAgfVxufVxuIiwiQG1peGluIGdvdnVrLXdpZHRoLWNvbnRhaW5lciB7XG4gIC8vIExpbWl0IHRoZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIHRvIHRoZSBwYWdlIHdpZHRoXG4gIG1heC13aWR0aDogJGdvdnVrLXBhZ2Utd2lkdGg7XG5cbiAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICB3aWR0aDogJGdvdnVrLXBhZ2Utd2lkdGg7XG4gIH1cblxuICAvLyBPbiBtb2JpbGUsIGFkZCBoYWxmIHdpZHRoIGd1dHRlcnNcbiAgbWFyZ2luOiAwICRnb3Z1ay1ndXR0ZXItaGFsZjtcblxuICAvLyBPbiB0YWJsZXQsIGFkZCBmdWxsIHdpZHRoIGd1dHRlcnNcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1hcmdpbjogMCAkZ292dWstZ3V0dGVyO1xuICB9XG5cbiAgLy8gQXMgc29vbiBhcyB0aGUgdmlld3BvcnQgaXMgZ3JlYXRlciB0aGFuIHRoZSB3aWR0aCBvZiB0aGUgcGFnZSBwbHVzIHRoZVxuICAvLyBndXR0ZXJzLCBqdXN0IGNlbnRyZSB0aGUgY29udGVudCBpbnN0ZWFkIG9mIGFkZGluZyBndXR0ZXJzLlxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkYW5kOiBcIihtaW4td2lkdGg6ICN7KCRnb3Z1ay1wYWdlLXdpZHRoICsgJGdvdnVrLWd1dHRlciAqIDIpfSlcIikge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL3dpZHRoLWNvbnRhaW5lclwiKSB7XG4gIC5nb3Z1ay13aWR0aC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLXdpZHRoLWNvbnRhaW5lcjtcbiAgfVxufVxuIiwiQGltcG9ydCBcImJhY2stbGluay9iYWNrLWxpbmtcIjtcbkBpbXBvcnQgXCJicmVhZGNydW1icy9icmVhZGNydW1ic1wiO1xuQGltcG9ydCBcImJ1dHRvbi9idXR0b25cIjtcbkBpbXBvcnQgXCJjaGVja2JveGVzL2NoZWNrYm94ZXNcIjtcbkBpbXBvcnQgXCJkYXRlLWlucHV0L2RhdGUtaW5wdXRcIjtcbkBpbXBvcnQgXCJkZXRhaWxzL2RldGFpbHNcIjtcbkBpbXBvcnQgXCJlcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCJlcnJvci1zdW1tYXJ5L2Vycm9yLXN1bW1hcnlcIjtcbkBpbXBvcnQgXCJmaWVsZHNldC9maWVsZHNldFwiO1xuQGltcG9ydCBcImZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkXCI7XG5AaW1wb3J0IFwiZm9vdGVyL2Zvb3RlclwiO1xuQGltcG9ydCBcImhpbnQvaGludFwiO1xuQGltcG9ydCBcImhlYWRlci9oZWFkZXJcIjtcbkBpbXBvcnQgXCJpbnB1dC9pbnB1dFwiO1xuQGltcG9ydCBcImluc2V0LXRleHQvaW5zZXQtdGV4dFwiO1xuQGltcG9ydCBcImxhYmVsL2xhYmVsXCI7XG5AaW1wb3J0IFwicGFuZWwvcGFuZWxcIjtcbkBpbXBvcnQgXCJwaGFzZS1iYW5uZXIvcGhhc2UtYmFubmVyXCI7XG5AaW1wb3J0IFwidGFicy90YWJzXCI7XG5AaW1wb3J0IFwidGFnL3RhZ1wiO1xuQGltcG9ydCBcInJhZGlvcy9yYWRpb3NcIjtcbkBpbXBvcnQgXCJzZWxlY3Qvc2VsZWN0XCI7XG5AaW1wb3J0IFwic2tpcC1saW5rL3NraXAtbGlua1wiO1xuQGltcG9ydCBcInRhYmxlL3RhYmxlXCI7XG5AaW1wb3J0IFwidGV4dGFyZWEvdGV4dGFyZWFcIjtcbkBpbXBvcnQgXCJ3YXJuaW5nLXRleHQvd2FybmluZy10ZXh0XCI7XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9iYWNrLWxpbmtcIikge1xuXG4gIC5nb3Z1ay1iYWNrLWxpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZTogMTYpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICAvLyBBbGxvdyBzcGFjZSBmb3IgdGhlIGFycm93XG4gICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xuXG4gICAgLy8gVXNlIGJvcmRlci1ib3R0b20gcmF0aGVyIHRoYW4gdGV4dC1kZWNvcmF0aW9uIHNvIHRoYXQgdGhlIGFycm93IGlzXG4gICAgLy8gdW5kZXJsaW5lZCBhcyB3ZWxsLlxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcblxuICAgIC8vIFVuZGVybGluZSBpcyBwcm92aWRlZCBieSBhIGJvdHRvbSBib3JkZXJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAvLyBQcmVwZW5kIGxlZnQgcG9pbnRpbmcgYXJyb3dcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiBsZWZ0LCAkYmFzZTogMTBweCwgJGhlaWdodDogNnB4KTtcblxuICAgICAgY29udGVudDogXCJcIjtcblxuICAgICAgLy8gVmVydGljYWxseSBhbGlnbiB3aXRoIHRoZSBwYXJlbnQgZWxlbWVudFxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBib3R0b206IDFweDtcbiAgICAgIGxlZnQ6IDA7XG5cbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBCZWdpbiBhZGp1c3RtZW50cyBmb3IgZm9udCBiYXNlbGluZSBvZmZzZXRcbiAgLy8gVGhlc2Ugc2hvdWxkIGJlIHJlbW92ZWQgd2hlbiB0aGUgZm9udCBpcyB1cGRhdGVkIHdpdGggdGhlIGNvcnJlY3QgYmFzZWxpbmVcblxuICAuZ292dWstYmFjay1saW5rOmJlZm9yZSB7XG4gICAgJG9mZnNldDogMXB4O1xuXG4gICAgdG9wOiAkb2Zmc2V0ICogLTE7XG4gICAgYm90dG9tOiAkb2Zmc2V0O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9icmVhZGNydW1ic1wiKSB7XG5cbiAgLy8gU2l6ZSBvZiBjaGV2cm9uIChleGNsdWRpbmcgYm9yZGVyKVxuICAkY2hldnJvbi1zaXplOiA3cHg7XG5cbiAgLy8gU2l6ZSBvZiBjaGV2cm9uIGJvcmRlclxuICAkY2hldnJvbi1ib3JkZXItd2lkdGg6IDFweDtcblxuICAvLyBDb2xvdXIgb2YgY2hldnJvblxuICAkY2hldnJvbi1ib3JkZXItY29sb3VyOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuXG4gIC8vIENhbGN1bGF0ZWQgYWx0aXR1ZGUgKOKWs+KGlSkgb2YgdGhlIHJpZ2h0LWFuZ2xlZCBpc29zY2VsZXMgY2hldnJvbiB3aXRoIHNpZGVzXG4gIC8vIG9mIGxlbmd0aCA4ICg3cHggKyAxcHggYm9yZGVyKTpcbiAgLy9cbiAgLy8g4oiaKDjCsiArIDjCsikgKiAwLjUg4omFIDUuNjU1XG4gICRjaGV2cm9uLWFsdGl0dWRlLWNhbGN1bGF0ZWQ6IDUuNjU1cHg7XG5cbiAgLmdvdnVrLWJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstYnJlYWRjcnVtYnNfX2xpc3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWJyZWFkY3J1bWJzX19saXN0LWl0ZW0ge1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICAvLyBBZGQgYm90aCBtYXJnaW4gYW5kIHBhZGRpbmcgc3VjaCB0aGF0IHRoZSBjaGV2cm9uIGFwcGVhcnMgY2VudHJhbGx5XG4gICAgLy8gYmV0d2VlbiBlYWNoIGJyZWFkY3J1bWIgaXRlbVxuICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygyKSArICRjaGV2cm9uLWFsdGl0dWRlLWNhbGN1bGF0ZWQ7XG5cbiAgICBmbG9hdDogbGVmdDtcblxuICAgIC8vIENyZWF0ZSBhIGNoZXZyb24gdXNpbmcgYSBib3ggd2l0aCBib3JkZXJzIG9uIHR3byBzaWRlcywgcm90YXRlZCA0NWRlZy5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgLy8gQmVnaW4gYWRqdXN0bWVudHMgZm9yIGZvbnQgYmFzZWxpbmUgb2Zmc2V0XG4gICAgICAvLyBUaGVzZSBzaG91bGQgYmUgcmV2ZXJ0ZWQgd2hlbiB0aGUgZm9udCBpcyB1cGRhdGVkIHdpdGggdGhlIGNvcnJlY3RcbiAgICAgIC8vIGJhc2VsaW5lXG5cbiAgICAgIC8vIHRvcDogMDtcbiAgICAgIC8vIGJvdHRvbTogMDtcblxuICAgICAgdG9wOiAtMXB4O1xuICAgICAgYm90dG9tOiAxcHg7XG5cbiAgICAgIC8vIEVuZCBhZGp1c3RtZW50cyBmb3IgZm9udCBiYXNlbGluZSBvZmZzZXRcblxuICAgICAgLy8gT2Zmc2V0IGJ5IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHdpZHRoIG9mIHRoZSBub24tcm90YXRlZCBzcXVhcmVcbiAgICAgIC8vIGFuZCBpdHMgd2lkdGggd2hlbiByb3RhdGVkXG4gICAgICBsZWZ0OiAoKCRjaGV2cm9uLWFsdGl0dWRlLWNhbGN1bGF0ZWQgKiAtMikgKyAkY2hldnJvbi1zaXplICsgJGNoZXZyb24tYm9yZGVyLXdpZHRoKTtcblxuICAgICAgd2lkdGg6ICRjaGV2cm9uLXNpemU7XG4gICAgICBoZWlnaHQ6ICRjaGV2cm9uLXNpemU7XG5cbiAgICAgIG1hcmdpbjogYXV0byAwO1xuXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgICBib3JkZXI6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkY2hldnJvbi1ib3JkZXItd2lkdGggJGNoZXZyb24tYm9yZGVyLXdpZHRoIDAgMDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNoZXZyb24tYm9yZGVyLWNvbG91cjtcblxuICAgICAgLy8gRmFsbCBiYWNrIHRvIGEgZ3JlYXRlciB0aGFuIHNpZ24gZm9yIElFOFxuICAgICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICAgICAgY29udGVudDogXCJcXDAwM2VcIjsgLy8gR3JlYXRlciB0aGFuIHNpZ24gKD4pXG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6ICRjaGV2cm9uLWJvcmRlci1jb2xvdXI7XG5cbiAgICAgICAgLy8gSUU4IGRvZXNuJ3Qgc2VlbSB0byBsaWtlIHJlbmRlcmluZyBwc2V1ZG8tZWxlbWVudHMgdXNpbmcgQGZvbnQtZmFjZXMsXG4gICAgICAgIC8vIHNvIGZhbGwgYmFjayB0byB1c2luZyBhbm90aGVyIHNhbnMtc2VyaWYgZm9udCB0byByZW5kZXIgdGhlIGNoZXZyb24uXG4gICAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJyZWFkY3J1bWJzX19saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2J1dHRvblwiKSB7XG5cbiAgJGdvdnVrLWJ1dHRvbi1jb2xvdXI6ICMwMDgyM2I7XG4gICRnb3Z1ay1idXR0b24taG92ZXItY29sb3VyOiBkYXJrZW4oJGdvdnVrLWJ1dHRvbi1jb2xvdXIsIDUlKTtcbiAgJGdvdnVrLWJ1dHRvbi1zaGFkb3ctY29sb3VyOiBkYXJrZW4oJGdvdnVrLWJ1dHRvbi1jb2xvdXIsIDE1JSk7XG4gICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuXG4gIC8vIEJlY2F1c2UgdGhlIHNoYWRvdyAoczApIGlzIHZpc3VhbGx5ICdwYXJ0IG9mJyB0aGUgYnV0dG9uLCB3ZSBuZWVkIHRvIHJlZHVjZVxuICAvLyB0aGUgaGVpZ2h0IG9mIHRoZSBidXR0b24gdG8gY29tcGVuc2F0ZSBieSBhZGp1c3RpbmcgaXRzIHBhZGRpbmcgKHMxKSBhbmRcbiAgLy8gaW5jcmVhc2UgdGhlIGJvdHRvbSBtYXJnaW4gdG8gaW5jbHVkZSBpdCAoczIpLlxuICAkYnV0dG9uLXNoYWRvdy1zaXplOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcblxuICAuZ292dWstYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJGxpbmUtaGVpZ2h0OiAxOXB4KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG5cbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIsICRhZGp1c3RtZW50OiAkYnV0dG9uLXNoYWRvdy1zaXplKTsgLy8gczJcbiAgICBwYWRkaW5nOiAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSkgZ292dWstc3BhY2luZygyKTsgLy8gczFcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJ1dHRvbi1jb2xvdXI7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwICRidXR0b24tc2hhZG93LXNpemUgMCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwICRidXR0b24tc2hhZG93LXNpemUgMCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7IC8vIHMwXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYnV0dG9uLXNoYWRvdy1zaXplIHNvbGlkICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgdGhhdCBhbnkgZ2xvYmFsIGxpbmsgc3R5bGVzIGFyZSBvdmVycmlkZGVuXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gICAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycyBzb1xuICAgIC8vIHNvIHRoYXQgdW52aXNpdGVkIGxpbmtzIHN0eWxlZCBhcyBidXR0b25zIGRvIG5vdCBlbmQgdXAgd2l0aCBkYXJrIGJsdWVcbiAgICAvLyB0ZXh0IHdoZW4gZm9jdXNzZWQuXG4gICAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRml4IHVud2FudGVkIGJ1dHRvbiBwYWRkaW5nIGluIEZpcmVmb3hcbiAgICAmOi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJ1dHRvbi1ob3Zlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgdG9wOiAkYnV0dG9uLXNoYWRvdy1zaXplO1xuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoZSBmb2xsb3dpbmcgYWRqdXN0bWVudHMgZG8gbm90IHdvcmsgZm9yIDxpbnB1dCB0eXBlPVwiYnV0dG9uXCI+IGFzXG4gICAgLy8gbm9uLWNvbnRhaW5lciBlbGVtZW50cyBjYW5ub3QgaW5jbHVkZSBwc2V1ZG8gZWxlbWVudHMgKGkuZS4gOjpiZWZvcmUpLlxuXG4gICAgLy8gVXNlIGEgcHNldWRvIGVsZW1lbnQgdG8gZXhwYW5kIHRoZSBjbGljayB0YXJnZXQgYXJlYSB0byBpbmNsdWRlIHRoZVxuICAgIC8vIGJ1dHRvbidzIHNoYWRvdyBhcyB3ZWxsLCBpbiBjYXNlIHVzZXJzIHRyeSB0byBjbGljayBpdC5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIHRvcDogLSRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgICAgcmlnaHQ6IC0kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcbiAgICAgIGJvdHRvbTogLSgkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCArICRidXR0b24tc2hhZG93LXNpemUpO1xuICAgICAgbGVmdDogLSRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBXaGVuIHRoZSBidXR0b24gaXMgYWN0aXZlIGl0IGlzIHNoaWZ0ZWQgZG93biBieSAkYnV0dG9uLXNoYWRvdy1zaXplIHRvXG4gICAgLy8gZGVub3RlIGEgJ3ByZXNzZWQnIHN0YXRlLiBJZiB0aGUgdXNlciBoYXBwZW5lZCB0byBjbGljayBhdCB0aGUgdmVyeSB0b3BcbiAgICAvLyBvZiB0aGUgYnV0dG9uLCB0aGVpciBtb3VzZSBpcyBubyBsb25nZXIgb3ZlciB0aGUgYnV0dG9uIChiZWNhdXNlIGl0IGhhc1xuICAgIC8vICdtb3ZlZCBiZW5lYXRoIHRoZW0nKSBhbmQgc28gdGhlIGNsaWNrIGV2ZW50IGlzIG5vdCBmaXJlZC5cbiAgICAvL1xuICAgIC8vIFRoaXMgY29ycmVjdHMgdGhhdCBieSBzaGlmdGluZyB0aGUgdG9wIG9mIHRoZSBwc2V1ZG8gZWxlbWVudCBzbyB0aGF0IGl0XG4gICAgLy8gY29udGludWVzIHRvIGNvdmVyIHRoZSBhcmVhIHRoYXQgdGhlIHVzZXIgb3JpZ2luYWxseSBjbGlja2VkLCB3aGljaCBtZWFuc1xuICAgIC8vIHRoZSBjbGljayBldmVudCBpcyBzdGlsbCBmaXJlZC5cbiAgICAvL1xuICAgIC8vIPCfjolcbiAgICAmOmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgIHRvcDogLSgkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCArICRidXR0b24tc2hhZG93LXNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLWRpc2FibGVkLFxuICAuZ292dWstYnV0dG9uW2Rpc2FibGVkPVwiZGlzYWJsZWRcIl0sXG4gIC5nb3Z1ay1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAoLjUpO1xuICAgIGJhY2tncm91bmQ6ICRnb3Z1ay1idXR0b24tY29sb3VyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnV0dG9uLWNvbG91cjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwICRidXR0b24tc2hhZG93LXNpemUgMCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgJGJ1dHRvbi1zaGFkb3ctc2l6ZSAwICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjsgLy8gczBcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRidXR0b24tc2hhZG93LXNpemUgc29saWQgJGdvdnVrLWJ1dHRvbi1zaGFkb3ctY29sb3VyOyAvLyBzMFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLXN0YXJ0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZTogMjQsICRvdmVycmlkZS1saW5lLWhlaWdodDogMSk7XG5cbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG4gICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg3KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygzKTtcblxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcImljb24tcG9pbnRlci5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLWRldmljZS1waXhlbC1yYXRpbyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJpY29uLXBvaW50ZXItMngucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAzMHB4IDE5cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gQmVnaW4gYWRqdXN0bWVudHMgZm9yIGZvbnQgYmFzZWxpbmUgb2Zmc2V0XG4gIC8vIFRoZXNlIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gdGhlIGZvbnQgaXMgdXBkYXRlZCB3aXRoIHRoZSBjb3JyZWN0IGJhc2VsaW5lXG4gIC8vIEZvciB0aGUgMXB4IGFkZGl0aW9uIHBsZWFzZSBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kL3B1bGwvMzY1I2Rpc2N1c3Npb25fcjE1NDM0OTQyOFxuXG4gICRvZmZzZXQ6IDI7XG5cbiAgLmdvdnVrLWJ1dHRvbiB7XG4gICAgcGFkZGluZy10b3A6IChnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgLSAoJGJ1dHRvbi1zaGFkb3ctc2l6ZSAvIDIpICsgJG9mZnNldCk7IC8vIHMxXG4gICAgcGFkZGluZy1ib3R0b206IChnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgLSAoJGJ1dHRvbi1zaGFkb3ctc2l6ZSAvIDIpIC0gJG9mZnNldCArIDEpOyAvLyBzMVxuICB9XG5cbiAgLmdvdnVrLWJ1dHRvbi0tc3RhcnQge1xuICAgIHBhZGRpbmctdG9wOiAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSArICRvZmZzZXQpOyAvLyBzMVxuICAgIHBhZGRpbmctYm90dG9tOiAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSAtICRvZmZzZXQgKyAxKTsgLy8gczFcbiAgfVxuXG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZVwiO1xuQGltcG9ydCBcIi4uL2ZpZWxkc2V0L2ZpZWxkc2V0XCI7XG5AaW1wb3J0IFwiLi4vaGludC9oaW50XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvbGFiZWxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9jaGVja2JveGVzXCIpIHtcbiAgJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTogZ292dWstc3BhY2luZyg3KTtcbiAgJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtaW4taGVpZ2h0OiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nOiAwIDAgMCAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuXG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faXRlbTpsYXN0LWNoaWxkLFxuICAuZ292dWstY2hlY2tib3hlc19faXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIHotaW5kZXg6IDE7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTtcbiAgICBoZWlnaHQ6ICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvLyBJRTggZG9lc27igJl0IHN1cHBvcnQgcHNldWRvZWxlbWVudHMsIHNvIHdlIGRvbuKAmXQgd2FudCB0byBoaWRlIG5hdGl2ZSBlbGVtZW50cyB0aGVyZS5cbiAgICBAaW5jbHVkZSBnb3Z1ay1ub3QtaWU4IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgLy8gYWRkIGZvY3VzIG91dGxpbmUgdG8gaW5wdXQgZWxlbWVudCBmb3IgSUU4XG4gICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19fbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDhweCAkZ292dWstY2hlY2tib3hlcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQgZ292dWstc3BhY2luZygxKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gcmVtb3ZlIDMwMG1zIHBhdXNlIG9uIG1vYmlsZVxuICAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuICAgIGhlaWdodDogJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIC8vIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTFweDtcbiAgICBsZWZ0OiA5cHg7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiA3cHg7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgYm9yZGVyOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAkZ292dWstYm9yZGVyLXdpZHRoICRnb3Z1ay1ib3JkZXItd2lkdGg7XG4gICAgLy8gRml4IGJ1ZyBpbiBJRTExIGNhdXNlZCBieSB0cmFuc2Zvcm0gcm90YXRlICgtNDVkZWcpLlxuICAgIC8vIFNlZTogYWxwaGFnb3YvZ292dWtfZWxlbWVudHMvaXNzdWVzLzUxOFxuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgb3BhY2l0eTogMDtcblxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gRm9jdXNlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gU2luY2UgYm94LXNoYWRvd3MgYXJlIHJlbW92ZWQgd2hlbiB1c2VycyBjdXN0b21pc2UgdGhlaXIgY29sb3Vyc1xuICAgIC8vIFdlIHNldCBhIHRyYW5zcGFyZW50IG91dGxpbmUgdGhhdCBpcyBzaG93biBpbnN0ZWFkLlxuICAgIC8vIGh0dHBzOi8vYWNjZXNzaWJpbGl0eS5ibG9nLmdvdi51ay8yMDE3LzAzLzI3L2hvdy11c2Vycy1jaGFuZ2UtY29sb3Vycy1vbi13ZWJzaXRlcy9cbiAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6ICRnb3Z1ay1mb2N1cy13aWR0aDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwICRnb3Z1ay1mb2N1cy13aWR0aCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIH1cblxuICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6Y2hlY2tlZCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6ZGlzYWJsZWQsXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmRpc2FibGVkICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsIHtcbiAgICBvcGFjaXR5OiAuNTtcbiAgfVxuXG4gICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGg6ICRnb3Z1ay1ib3JkZXItd2lkdGgtbW9iaWxlO1xuICAvLyBDYWxjdWxhdGUgdGhlIGFtb3VudCBvZiBwYWRkaW5nIG5lZWRlZCB0byBrZWVwIHRoZSBib3JkZXIgY2VudGVyZWQgYWdhaW5zdCB0aGUgY2hlY2tib3guXG4gICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZzogKCRnb3Z1ay1jaGVja2JveGVzLXNpemUgLyAyKSAtICgkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIC8gMik7XG4gIC8vIE1vdmUgdGhlIGJvcmRlciBjZW50ZXJlZCB3aXRoIHRoZSBjaGVja2JveFxuICAkY29uZGl0aW9uYWwtbWFyZ2luLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZztcbiAgLy8gTW92ZSB0aGUgY29udGVudHMgb2YgdGhlIGNvbmRpdGlvbmFsIGlubGluZSB3aXRoIHRoZSBsYWJlbFxuICAkY29uZGl0aW9uYWwtcGFkZGluZy1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmcgKyAkZ292dWstY2hlY2tib3hlcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2NvbmRpdGlvbmFsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgICBtYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDtcbiAgICBib3JkZXItbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcblxuICAgICZbYXJpYS1oaWRkZW49XCJ0cnVlXCJdIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9lcnJvci1tZXNzYWdlXCIpIHtcbiAgLmdvdnVrLWVycm9yLW1lc3NhZ2Uge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBjb2xvcjogJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZmllbGRzZXRcIikge1xuICAuZ292dWstZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICAvLyBGaXggbGVnZW5kIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUVcbiAgICAvLyAxLiBJRTktMTEgJiBFZGdlIDEyLTEzXG4gICAgLy8gMi4gSUU4LTExXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGRpc3BsYXk6IHRhYmxlOyAgICAgICAgIC8vIDJcbiAgICBtYXgtd2lkdGg6IDEwMCU7ICAgICAgICAvLyAxXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC8vIEhhY2sgdG8gbGV0IGxlZ2VuZHMgb3IgZWxlbWVudHMgd2l0aGluIGxlZ2VuZHMgaGF2ZSBtYXJnaW5zIGluIHdlYmtpdCBicm93c2Vyc1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAgICAvLyAxXG4gIH1cblxuICAvLyBNb2RpZmllcnMgdGhhdCBtYWtlIGxlZ2VuZHMgbG9vayBtb3JlIGxpa2UgdGhlaXIgZXF1aXZhbGVudCBoZWFkaW5nc1xuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogNDgsICR3ZWlnaHQ6IGJvbGQpO1xuICB9XG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDM2LCAkd2VpZ2h0OiBib2xkKTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gIH1cblxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tcyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuICB9XG5cbiAgLy8gV2hlbiB0aGUgbGVnZW5kIGNvbnRhaW5zIGFuIEgxLCB3ZSB3YW50IHRoZSBIMSB0byBpbmhlcml0IGFsbCBzdHlsZXMgZnJvbVxuICAvLyB0aGUgbGVnZW5kLiBFZmZlY3RpdmVseSB3ZSB3YW50IHRvIGJlIGFibGUgdG8gdHJlYXQgdGhlIGhlYWRpbmcgYXMgaWYgaXQgaXNcbiAgLy8gbm90IHRoZXJlLlxuICAuZ292dWstZmllbGRzZXRfX2hlYWRpbmcge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2hpbnRcIikge1xuICAuZ292dWstaGludCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBSZWR1Y2VzIG1hcmdpbi1ib3R0b20gb2YgaGludCB3aGVuIHVzZWQgYWZ0ZXIgdGhlIGRlZmF1bHQgbGFiZWwgKG5vIGNsYXNzKVxuICAvLyBvciBnb3Z1ay1sYWJlbC0tcyBmb3IgYmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudC5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayB3aGVuIHRoZSBsYWJlbCBpcyBpbnNpZGUgdGhlIDxoMT4sIGhvd2V2ZXJcbiAgLy8gaXQgaXMgdW5saWtlbHkgdGhhdCB0aGUgZGVmYXVsdCBvciBnb3Z1ay1sYWJlbC0tcyBjbGFzcyB3b3VsZCBiZSB1c2VkIGluXG4gIC8vIHRoaXMgY2FzZS5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayBpbiBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IDpub3QoKVxuICAvLyBVc2VycyB3aXRoIHRoZXNlIGJyb3dzZXJzIHdpbGwgc2VlIHRoZSBkZWZhdWx0IHNpemUgbWFyZ2luICg1cHggbGFyZ2VyKVxuXG4gIC5nb3Z1ay1sYWJlbDpub3QoLmdvdnVrLWxhYmVsLS1tKTpub3QoLmdvdnVrLWxhYmVsLS1sKTpub3QoLmdvdnVrLWxhYmVsLS14bCkgKyAuZ292dWstaGludCB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvbGFiZWxcIikge1xuICAuZ292dWstbGFiZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC8vIE1vZGlmaWVycyB0aGF0IG1ha2UgbGFiZWxzIGxvb2sgbW9yZSBsaWtlIHRoZWlyIGVxdWl2YWxlbnQgaGVhZGluZ3NcblxuICAuZ292dWstbGFiZWwtLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiA0OCwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1sYWJlbC0tbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMzYsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstbGFiZWwtLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLWxhYmVsLS1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG4gIH1cblxuICAvLyBXaGVuIHRoZSBsYWJlbCBpcyBuZXN0ZWQgaW5zaWRlIGEgaGVhZGluZywgb3ZlcnJpZGUgdGhlIGhlYWRpbmcgc28gdGhhdCBpdFxuICAvLyBkb2VzIG5vdCBoYXZlIGEgbWFyZ2luLiBFZmZlY3RpdmVseSB3ZSB3YW50IHRvIGJlIGFibGUgdG8gdHJlYXQgdGhlIGhlYWRpbmdcbiAgLy8gYXMgaWYgaXQgaXMgbm90IHRoZXJlLlxuICAvL1xuICAvLyBUaGlzIGJyZWFrcyBCRU0gY29udmVudGlvbnMgYmVjYXVzZSBpdCBleGlzdHMgYXMgYSBwYXJlbnQgb2YgdGhlICdibG9jaycsXG4gIC8vIHNvIHdlIGNhbid0IHJlYWxseSBjb25zaWRlciBhbiBlbGVtZW50LlxuICAuZ292dWstbGFiZWwtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZVwiO1xuQGltcG9ydCBcIi4uL2lucHV0L2lucHV0XCI7XG5AaW1wb3J0IFwiLi4vaGludC9oaW50XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvbGFiZWxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9kYXRlLWlucHV0XCIpIHtcbiAgLmdvdnVrLWRhdGUtaW5wdXQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICB9XG5cbiAgLmdvdnVrLWRhdGUtaW5wdXRfX2l0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWRhdGUtaW5wdXRfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICB9XG5cbiAgLmdvdnVrLWRhdGUtaW5wdXRfX2lucHV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZVwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaW5wdXRcIikge1xuICAuZ292dWstaW5wdXQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG5cbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIC8vIHNldHRpbmcgYW55IGJhY2tncm91bmQtY29sb3IgbWFrZXMgdGV4dCBpbnZpc2libGUgd2hlbiBjaGFuZ2luZyBjb2xvdXJzIHRvIGRhcmsgYmFja2dyb3VuZHMgaW4gRmlyZWZveCAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzNTQ3NilcbiAgICAvLyBhcyBiYWNrZ3JvdW5kLWNvbG9yIGFuZCBjb2xvciBuZWVkIHRvIGFsd2F5cyBiZSBzZXQgdG9nZXRoZXIsIGNvbG9yIHNob3VsZCBub3QgYmUgc2V0IGVpdGhlclxuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIC8vIERpc2FibGUgaW5uZXIgc2hhZG93IGFuZCByZW1vdmUgcm91bmRlZCBjb3JuZXJzXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAuZ292dWstaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gIC5nb3Z1ay1pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0tZXJyb3Ige1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQtZXJyb3Igc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgfVxuXG4gIC8vIFRoZSBleCBtZWFzdXJlbWVudHMgYXJlIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgVydzIHRoYXQgY2FuIGZpdCBpbnNpZGUgdGhlIGlucHV0XG4gIC8vIEV4dHJhIHNwYWNlIGlzIGxlZnQgb24gdGhlIHJpZ2h0IGhhbmQgc2lkZSB0byBhbGxvdyBmb3IgdGhlIFNhZmFyaSBwcmVmaWxsIGljb25cbiAgLy8gTGluZWFyIHJlZ3Jlc3Npb24gZXN0aW1hdGlvbiBiYXNlZCBvbiB2aXN1YWwgdGVzdHM6IHkgPSAxLjc2ICsgMS44MXhcblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTMwIHtcbiAgICBtYXgtd2lkdGg6IDU2ZXggKyAzZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTIwIHtcbiAgICBtYXgtd2lkdGg6IDM4ZXggKyAzZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTEwIHtcbiAgICBtYXgtd2lkdGg6IDIwZXggKyAzZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTUge1xuICAgIG1heC13aWR0aDogMTAuOGV4O1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC00IHtcbiAgICBtYXgtd2lkdGg6IDlleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMyB7XG4gICAgbWF4LXdpZHRoOiA3LjJleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMiB7XG4gICAgbWF4LXdpZHRoOiA1LjRleDtcbiAgfVxuXG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9kZXRhaWxzXCIpIHtcblxuICAuZ292dWstZGV0YWlscyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeSB7XG4gICAgLy8gTWFrZSB0aGUgZm9jdXMgb3V0bGluZSBzaHJpbmstd3JhcCB0aGUgdGV4dCBjb250ZW50IG9mIHRoZSBzdW1tYXJ5XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgLy8gQWJzb2x1dGVseSBwb3NpdGlvbiB0aGUgbWFya2VyIGFnYWluc3QgdGhpcyBlbGVtZW50XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcblxuICAgIC8vIEFsbG93IGZvciBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgbWFya2VyIGFuZCBhbGlnbiB3aXRoIGRpc2Nsb3NlZCB0ZXh0XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpICsgJGdvdnVrLWJvcmRlci13aWR0aDtcblxuICAgIC8vIFN0eWxlIHRoZSBzdW1tYXJ5IHRvIGxvb2sgbGlrZSBhIGxpbmsuLi5cbiAgICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC8vIC4uLmJ1dCBvbmx5IHVuZGVybGluZSB0aGUgdGV4dCwgbm90IHRoZSBhcnJvd1xuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeS10ZXh0IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5OmhvdmVyIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstaG92ZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6Zm9jdXMge1xuICAgIC8vIC0xcHggb2Zmc2V0IGZpeGVzIGdhcCBiZXR3ZWVuIGJhY2tncm91bmQgYW5kIG91dGxpbmUgaW4gRmlyZWZveFxuICAgIG91dGxpbmU6ICgkZ292dWstZm9jdXMtd2lkdGggKyAxcHgpIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCBkZXRhaWxzIG1hcmtlciBzbyB3ZSBjYW4gc3R5bGUgb3VyIG93biBjb25zaXN0ZW50bHkgYW5kXG4gIC8vIGVuc3VyZSBpdCBkaXNwbGF5cyBpbiBGaXJlZm94IChzZWUgaW1wbGVtZW50YXRpb24ubWQgZm9yIGRldGFpbHMpXG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQXBwZW5kIG91ciBvd24gb3BlbiAvIGNsb3NlZCBtYXJrZXIgdXNpbmcgYSBwc2V1ZG8tZWxlbWVudFxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogcmlnaHQsICRiYXNlOiAxNHB4KTtcblxuICAgIC5nb3Z1ay1kZXRhaWxzW29wZW5dID4gJiB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiBkb3duLCAkYmFzZTogMTRweCk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3RleHQge1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIGJvcmRlci1sZWZ0OiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3RleHQgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3RleHQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi8uLi9jb3JlL2xpc3RzXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZXJyb3Itc3VtbWFyeVwiKSB7XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnkge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg0KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtbW9iaWxlIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fdGl0bGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ3Jvc3MtY29tcG9uZW50IGNsYXNzIC0gYWRqdXN0cyBzdHlsaW5nIG9mIGxpc3QgY29tcG9uZW50XG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5X19saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdCBhIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGUtZmlsbDtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuXG4gICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBsaW5rIHN0eWxpbmcgdG8gdXNlIGVycm9yIGNvbG91clxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3JcbiAgICAvLyBkZXNpZ25lZCB0byBtYWtlIHVudmlzaXRlZCBsaW5rcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvXG4gICAgLy8gd2UgbmVlZCB0byBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzLlxuICAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAgICY6bGluazpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZVwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZmlsZS11cGxvYWRcIikge1xuICAuZ292dWstZmlsZS11cGxvYWQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG4gIH1cblxuICAuZ292dWstZmlsZS11cGxvYWQtLWVycm9yIHtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy90eXBvZ3JhcGh5XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZm9vdGVyXCIpIHtcblxuICAkZ292dWstZm9vdGVyLWJhY2tncm91bmQ6ICRnb3Z1ay1jYW52YXMtYmFja2dyb3VuZC1jb2xvdXI7XG4gICRnb3Z1ay1mb290ZXItYm9yZGVyLXRvcDogI2ExYWNiMjtcbiAgJGdvdnVrLWZvb3Rlci1ib3JkZXI6IGdvdnVrLWNvbG91cihcImdyZXktMlwiKTtcbiAgJGdvdnVrLWZvb3Rlci10ZXh0OiAjNDU0YTRjO1xuICAkZ292dWstZm9vdGVyLWxpbms6ICRnb3Z1ay1mb290ZXItdGV4dDtcbiAgJGdvdnVrLWZvb3Rlci1saW5rLWhvdmVyOiAjMTcxODE5O1xuXG4gIC8vIEJhc2VkIG9uIHRoZSBnb3Z1ay1jcmVzdC0yeC5wbmcgaW1hZ2UgZGltZW5zaW9ucy5cbiAgJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aC0yeDogMjUwcHg7XG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0LTJ4OiAyMDRweDtcbiAgLy8gSGFsZiB0aGUgMnggaW1hZ2Ugc28gdGhhdCBpdCBmaXRzIHRoZSByZWd1bGFyIDF4IHNpemUuXG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGg6ICgkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoLTJ4IC8gMik7XG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0OiAoJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS1oZWlnaHQtMnggLyAyKTtcblxuICAuZ292dWstZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDcsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg1LCBcImJvdHRvbVwiKTtcblxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ292dWstZm9vdGVyLWJvcmRlci10b3A7XG4gICAgY29sb3I6ICRnb3Z1ay1mb290ZXItdGV4dDtcbiAgICBiYWNrZ3JvdW5kOiAkZ292dWstZm9vdGVyLWJhY2tncm91bmQ7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGUtZmlsbDtcblxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICRnb3Z1ay1mb290ZXItbGluaztcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkZ292dWstZm9vdGVyLWxpbmstaG92ZXI7XG4gICAgfVxuXG4gICAgLy8gVXNlIHRleHQgY29sb3VyIHdoZW4gZm9jdXNzZWRcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZ292dWstdGV4dC1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3JcbiAgICAvLyBkZXNpZ25lZCB0byBtYWtlIHVudmlzaXRlZCBsaW5rcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvXG4gICAgLy8gd2UgbmVlZCB0byBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzLlxuICAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAgICY6bGluazpmb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX3NlY3Rpb24tYnJlYWsge1xuICAgIG1hcmdpbjogMDsgLy8gUmVzZXQgYDxocj5gIGRlZmF1bHQgbWFyZ2luc1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICAgIGJvcmRlcjogMDsgLy8gUmVzZXQgYDxocj5gIGRlZmF1bHQgYm9yZGVyc1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstZm9vdGVyLWJvcmRlcjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICBtYXJnaW4tcmlnaHQ6IC0kZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgbWFyZ2luLWxlZnQ6IC0kZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZDtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEtaXRlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg1KTtcbiAgICBtYXJnaW4tbGVmdDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbWV0YS1pdGVtLS1ncm93IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICBAaW5jbHVkZSBtcSAoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAzMjBweDtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAzMjBweDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2xpY2VuY2UtbG9nbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgICBAaW5jbHVkZSBtcSAoJHVudGlsOiBkZXNrdG9wKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIH1cbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGljZW5jZS1kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fY29weXJpZ2h0LWxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4td2lkdGg6ICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGg7XG4gICAgcGFkZGluZy10b3A6ICgkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLWhlaWdodCArIGdvdnVrLXNwYWNpbmcoMikpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcImdvdnVrLWNyZXN0LnBuZ1wiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwiZ292dWstY3Jlc3QtMngucG5nXCIpO1xuICAgIH1cbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGggJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS1oZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9faW5saW5lLWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9faW5saW5lLWxpc3QtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNywgXCJib3R0b21cIik7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgQGluY2x1ZGUgbXEgKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1mb290ZXItYm9yZGVyO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIG1hcmdpbi1yaWdodDogLSRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICBtYXJnaW4tbGVmdDogLSRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX3NlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ292dWstZ3V0dGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAvLyBFbnN1cmUgY29sdW1ucyB0YWtlIHVwIGVxdWFsIHdpZHRoICh0eXBpY2FsbHkgb25lLWhhbGY6b25lLWhhbGYpXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMTtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICBAaW5jbHVkZSBtcSAoJHVudGlsOiBkZXNrdG9wKSB7XG4gICAgICAvLyBNYWtlIHN1cmUgY29sdW1ucyBkbyBub3QgZHJvcCBiZWxvdyAyMDBweCBpbiB3aWR0aFxuICAgICAgLy8gV2lsbCB0eXBpY2FsbHkgcmVzdWx0IGluIHdyYXBwaW5nLCBhbmQgZW5kIHVwIGluIGEgc2luZ2xlIGNvbHVtbiBvbiBzbWFsbGVyIHNjcmVlbnMuXG4gICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMjAwcHg7XG4gICAgICAgICAgZmxleC1iYXNpczogMjAwcHg7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICB9XG4gIH1cblxuICAvLyBTZWN0aW9ucyB0d28tdGhpcmQ6b25lLXRoaXJkIG9uIGRlc2t0b3BcbiAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgLmdvdnVrLWZvb3Rlcl9fc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAyO1xuICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAyO1xuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDI7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC13ZWJraXQtY29sdW1uLWdhcDogJGdvdnVrLWd1dHRlcjtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6ICRnb3Z1ay1ndXR0ZXI7IC8vIFN1cHBvcnQ6IENvbHVtbnNcbiAgfVxuXG4gIEBpbmNsdWRlIG1xICgkZnJvbTogZGVza3RvcCkge1xuICAgIC5nb3Z1ay1mb290ZXJfX2xpc3QtLWNvbHVtbnMtMiB7XG4gICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgICAgICAgY29sdW1uLWNvdW50OiAyOyAvLyBTdXBwb3J0OiBDb2x1bW5zXG4gICAgfVxuXG4gICAgLmdvdnVrLWZvb3Rlcl9fbGlzdC0tY29sdW1ucy0zIHtcbiAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAzO1xuICAgICAgICAgICAgICBjb2x1bW4tY291bnQ6IDM7IC8vIFN1cHBvcnQ6IENvbHVtbnNcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saXN0LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy90eXBvZ3JhcGh5XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaGVhZGVyXCIpIHtcblxuICAkZ292dWstaGVhZGVyLWJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAkZ292dWstaGVhZGVyLWJvcmRlci1jb2xvcjogJGdvdnVrLWJyYW5kLWNvbG91cjtcbiAgJGdvdnVrLWhlYWRlci1ib3JkZXItd2lkdGg6IGdvdnVrLXNwYWNpbmcoMik7XG4gICRnb3Z1ay1oZWFkZXItdGV4dDogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICRnb3Z1ay1oZWFkZXItbGluazogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICRnb3Z1ay1oZWFkZXItbGluay1ob3ZlcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICRnb3Z1ay1oZWFkZXItbGluay1hY3RpdmU6ICMxZDhmZWI7XG4gICRnb3Z1ay1oZWFkZXItbmF2LWl0ZW0tYm9yZGVyLWNvbG9yOiAjMmUzMTMzO1xuXG4gIC5nb3Z1ay1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcblxuICAgIGJvcmRlci1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgc29saWQgZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgY29sb3I6ICRnb3Z1ay1oZWFkZXItdGV4dDtcbiAgICBiYWNrZ3JvdW5kOiAkZ292dWstaGVhZGVyLWJhY2tncm91bmQ7XG5cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2NvbnRhaW5lci0tZnVsbC13aWR0aCB7XG4gICAgcGFkZGluZzogMCBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWhlYWRlci1ib3JkZXItY29sb3I7XG5cbiAgICAuZ292dWstaGVhZGVyX19tZW51LWJ1dHRvbiB7XG4gICAgICByaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAtJGdvdnVrLWhlYWRlci1ib3JkZXItd2lkdGg7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgYm9yZGVyLWJvdHRvbTogJGdvdnVrLWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWhlYWRlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvdHlwZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24ge1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24tZmFsbGJhY2staW1hZ2Uge1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBib3JkZXI6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX3Byb2R1Y3QtbmFtZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlLWZpbGw7XG5cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmxpbmssXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAkZ292dWstaGVhZGVyLWxpbms7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICB9XG5cbiAgICAvLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbmNsdWRlcyBhIHNwZWNpZmljIGE6bGluazpmb2N1cyBzZWxlY3RvclxuICAgIC8vIGRlc2lnbmVkIHRvIG1ha2UgdW52aXNpdGVkIGxpbmtzIGEgc2xpZ2h0bHkgZGFya2VyIGJsdWUgd2hlbiBmb2N1c3NlZCwgc29cbiAgICAvLyB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMuXG4gICAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluay0taG9tZXBhZ2Uge1xuICAgIC8vIEZvbnQgc2l6ZSBuZWVkcyB0byBiZSBzZXQgb24gdGhlIGxpbmsgc28gdGhhdCB0aGUgYm94IHNpemluZyBpcyBjb3JyZWN0XG4gICAgLy8gaW4gRmlyZWZveFxuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IGZhbHNlLCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDMwcHg7IC8vIFdlIGRvbid0IGhhdmUgYSBtaXhpbiB0aGF0IHByb2R1Y2VzIDMwcHggZm9udCBzaXplXG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG5cbiAgICAmOmxpbmssXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7IC8vIE5lZ2F0ZSB0cmFuc3BhcmVudCBib3R0b20gYm9yZGVyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluay0tc2VydmljZS1uYW1lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigyLCBcImJvdHRvbVwiKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDgpO1xuXG4gICAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIHdpZHRoOiA2Ni42NiU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19tZW51LWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogZ292dWstc3BhY2luZyg0KTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6ICRnb3Z1ay1oZWFkZXItbGluaztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiBkb3duLCAkYmFzZTogMTBweCwgJGRpc3BsYXk6IGlubGluZS1ibG9jayk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlO1xuXG4gICAgQGluY2x1ZGUgbXEgKCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19tZW51LWJ1dHRvbi0tb3BlbiB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogdXAsICRiYXNlOiAxMHB4LCAkZGlzcGxheTogaW5saW5lLWJsb2NrKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigyLCBcImJvdHRvbVwiKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgLmpzLWVuYWJsZWQge1xuICAgIC5nb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24tLW9wZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLS1lbmQge1xuICAgIEBpbmNsdWRlIG1xICgkZnJvbTogZGVza3RvcCkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKSAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi0tbm8tc2VydmljZS1uYW1lIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZyg3KTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24taXRlbSB7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygyKSAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstaGVhZGVyLW5hdi1pdGVtLWJvcmRlci1jb2xvcjtcblxuICAgIEBpbmNsdWRlIG1xICgkZnJvbTogZGVza3RvcCkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKSAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYsICR3ZWlnaHQ6IGJvbGQpO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLWl0ZW0tLWFjdGl2ZSB7XG4gICAgYSB7XG4gICAgICAmOmxpbmssXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1oZWFkZXItbGluay1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgIC5nb3Z1ay1oZWFkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIEhpZGUgdGhlIGludmVydGVkIGNyb3duIHdoZW4gcHJpbnRpbmcgaW4gYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IFNWRy5cbiAgICAuZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93bi1mYWxsYmFjay1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5nb3Z1ay1oZWFkZXJfX2xpbmsge1xuICAgICAgJjpsaW5rLFxuICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgICAgfVxuXG4gICAgICAvLyBEbyBub3QgYXBwZW5kIGxpbmsgaHJlZiB0byBHT1YuVUsgbGluayB3aGVuIHByaW50aW5nIChlLmcuICcoLyknKVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQmVnaW4gYWRqdXN0bWVudHMgZm9yIGZvbnQgYmFzZWxpbmUgb2Zmc2V0XG4gIC8vIFRoZXNlIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gdGhlIGZvbnQgaXMgdXBkYXRlZCB3aXRoIHRoZSBjb3JyZWN0IGJhc2VsaW5lXG4gIC5nb3Z1ay1oZWFkZXJfX2xvZ290eXBlLWNyb3duLFxuICAuZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93bi1mYWxsYmFjay1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTRweDtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXIge1xuICAgICRvZmZzZXQ6IDNweDtcbiAgICBwYWRkaW5nLXRvcDogJG9mZnNldDtcbiAgfVxuICAvLyBFbmQgYWRqdXN0bWVudHNcblxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaW5zZXQtdGV4dFwiKSB7XG4gIC5nb3Z1ay1pbnNldC10ZXh0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygzKTtcbiAgICAvLyBNYXJnaW4gdG9wIGludGVuZGVkIHRvIGNvbGxhcHNlXG4gICAgLy8gVGhpcyBhZGRzIGFuIGFkZGl0aW9uYWwgMTBweCB0byB0aGUgcGFyYWdyYXBoIGFib3ZlXG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG5cbiAgICBjbGVhcjogYm90aDtcblxuICAgIGJvcmRlci1sZWZ0OiAkZ292dWstYm9yZGVyLXdpZHRoLXdpZGUgc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG5cbiAgICA6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICA6b25seS1jaGlsZCxcbiAgICA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvcGFuZWxcIikge1xuXG4gIC5nb3Z1ay1wYW5lbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDcpIC0gJGdvdnVrLWJvcmRlci13aWR0aDtcblxuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDYpIC0gJGdvdnVrLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFuZWwtLWNvbmZpcm1hdGlvbiB7XG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcInR1cnF1b2lzZVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1wYW5lbF9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg2KTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDQ4LCAkd2VpZ2h0OiBib2xkKTtcbiAgfVxuXG4gIC5nb3Z1ay1wYW5lbF9fYm9keSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMzYpO1xuICB9XG5cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vdGFnL3RhZ1wiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3BoYXNlLWJhbm5lclwiKSB7XG4gIC5nb3Z1ay1waGFzZS1iYW5uZXIge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXBoYXNlLWJhbm5lcl9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuXG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmdvdnVrLXBoYXNlLWJhbm5lcl9fY29udGVudF9fdGFnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstcGhhc2UtYmFubmVyX190ZXh0IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvdGFnXCIpIHtcbiAgLmdvdnVrLXRhZyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMS4yNSk7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKSA4cHggMDtcblxuICAgIC8vIFdoZW4gYSB1c2VyIGN1c3RvbWlzZXMgdGhlaXIgY29sb3VycyBvZnRlbiB0aGUgYmFja2dyb3VuZCBpcyByZW1vdmVkLFxuICAgIC8vIGJ5IGFkZGluZyBhIG91dGxpbmUgd2UgZW5zdXJlIHRoYXQgdGhlIHRhZyBjb21wb25lbnQgc3RpbGwga2VlcHMgaXQncyBtZWFuaW5nLlxuICAgIC8vIGh0dHBzOi8vYWNjZXNzaWJpbGl0eS5ibG9nLmdvdi51ay8yMDE3LzAzLzI3L2hvdy11c2Vycy1jaGFuZ2UtY29sb3Vycy1vbi13ZWJzaXRlcy9cbiAgICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG5cbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiYmx1ZVwiKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAuZ292dWstdGFnLS1pbmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiZ3JleS0xXCIpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90YWJzXCIpIHtcblxuICAuZ292dWstdGFicyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDEsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXRhYnNfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJzX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstdGFic19fbGlzdC1pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZyg1KTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIuKAlCBcIjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtIGdvdnVrLXNwYWNpbmcoNSk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay10YWJzX190YWIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICAmW2FyaWEtY3VycmVudCA9IFwidHJ1ZVwiXSB7XG4gICAgICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXRhYnNfX3BhbmVsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC8vIEphdmFTY3JpcHQgZW5hYmxlZFxuICAuanMtZW5hYmxlZCB7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG5cbiAgICAgIC5nb3Z1ay10YWJzX19saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICAgIH1cblxuICAgICAgLmdvdnVrLXRhYnNfX2xpc3QtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fdGFiIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImdyZXktNFwiKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJlthcmlhLXNlbGVjdGVkPSBcInRydWVcIl0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0gZ292dWstc3BhY2luZygxKTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuXG4gICAgICAgICAgLy8gMXB4IGlzIGNvbXBlbnNhdGlvbiBmb3IgYm9yZGVyIChvdGhlcndpc2Ugd2UgZ2V0IGEgMXB4IHNoaWZ0KVxuICAgICAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpIC0gMXB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNCkgLSAxcHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMykgKyAxcHg7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpIC0gMXB4O1xuXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG5cbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fcGFuZWwge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigwLCBcImJvdHRvbVwiKTtcbiAgICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoNik7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuXG4gICAgICAgICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLmpzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9maWVsZHNldC9maWVsZHNldFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvcmFkaW9zXCIpIHtcbiAgJGdvdnVrLXJhZGlvcy1zaXplOiBnb3Z1ay1zcGFjaW5nKDcpO1xuICAkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgLy8gV2hlbiB0aGUgZGVmYXVsdCBmb2N1cyB3aWR0aCBpcyB1c2VkIG9uIGEgY3VydmVkIGVkZ2UgaXQgbG9va3MgdmlzdWFsbHkgc21hbGxlci5cbiAgLy8gU28gZm9yIHRoZSBjaXJjdWxhciByYWRpb3Mgd2UgYnVtcCB0aGUgZGVmYXVsdCB0byBtYWtlIGl0IGxvb2sgdmlzdWFsbHkgY29uc2lzdGVudC5cbiAgJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aDogJGdvdnVrLWZvY3VzLXdpZHRoICsgMXB4O1xuXG4gIC5nb3Z1ay1yYWRpb3NfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWluLWhlaWdodDogJGdvdnVrLXJhZGlvcy1zaXplO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nOiAwIDAgMCAkZ292dWstcmFkaW9zLXNpemU7XG5cbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2l0ZW06bGFzdC1jaGlsZCxcbiAgLmdvdnVrLXJhZGlvc19faXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19pbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAkZ292dWstcmFkaW9zLXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstcmFkaW9zLXNpemU7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvLyBJRTggZG9lc27igJl0IHN1cHBvcnQgcHNldWRvZWxlbWVudHMsIHNvIHdlIGRvbuKAmXQgd2FudCB0byBoaWRlIG5hdGl2ZSBlbGVtZW50cyB0aGVyZS4gRG91YmxlIGNvbG9ucyBnZXQgb21taXRlZCBieSBJRTguXG4gICAgQGluY2x1ZGUgZ292dWstbm90LWllOCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIC8vIGFkZCBmb2N1cyBvdXRsaW5lIHRvIGlucHV0IGVsZW1lbnQgZm9yIElFOFxuICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19fbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDhweCAkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodCBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyByZW1vdmUgMzAwbXMgcGF1c2Ugb24gbW9iaWxlXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQgKyAuZ292dWstcmFkaW9zX19sYWJlbDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6ICRnb3Z1ay1yYWRpb3Mtc2l6ZTtcbiAgICBoZWlnaHQ6ICRnb3Z1ay1yYWRpb3Mtc2l6ZTtcblxuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0ICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICBsZWZ0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuXG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuXG4gICAgYm9yZGVyOiBnb3Z1ay1zcGFjaW5nKDIpIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gIH1cblxuICAvLyBGb2N1c2VkIHN0YXRlXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmZvY3VzICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gU2luY2UgYm94LXNoYWRvd3MgYXJlIHJlbW92ZWQgd2hlbiB1c2VycyBjdXN0b21pc2UgdGhlaXIgY29sb3Vyc1xuICAgIC8vIFdlIHNldCBhIHRyYW5zcGFyZW50IG91dGxpbmUgdGhhdCBpcyBzaG93biBpbnN0ZWFkLlxuICAgIC8vIGh0dHBzOi8vYWNjZXNzaWJpbGl0eS5ibG9nLmdvdi51ay8yMDE3LzAzLzI3L2hvdy11c2Vycy1jaGFuZ2UtY29sb3Vycy1vbi13ZWJzaXRlcy9cbiAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6ICRnb3Z1ay1mb2N1cy13aWR0aDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwICRnb3Z1ay1yYWRpb3MtZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRnb3Z1ay1yYWRpb3MtZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFNlbGVjdGVkIHN0YXRlXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmNoZWNrZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbDo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuZ292dWstcmFkaW9zX19pbnB1dDpkaXNhYmxlZCxcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbCB7XG4gICAgb3BhY2l0eTogLjU7XG4gIH1cblxuICAvLyBJbmxpbmUgdmFyaWFudFxuICAuZ292dWstcmFkaW9zLS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIG1xICgkZnJvbTogdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcblxuICAgICAgLmdvdnVrLXJhZGlvc19faXRlbSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGg6ICRnb3Z1ay1ib3JkZXItd2lkdGgtbW9iaWxlO1xuICAvLyBDYWxjdWxhdGUgdGhlIGFtb3VudCBvZiBwYWRkaW5nIG5lZWRlZCB0byBrZWVwIHRoZSBib3JkZXIgY2VudGVyZWQgYWdhaW5zdCB0aGUgcmFkaW9zLlxuICAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc6ICgkZ292dWstcmFkaW9zLXNpemUgLyAyKSAtICgkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIC8gMik7XG4gIC8vIE1vdmUgdGhlIGJvcmRlciBjZW50ZXJlZCB3aXRoIHRoZSByYWRpb3NcbiAgJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc7XG4gIC8vIE1vdmUgdGhlIGNvbnRlbnRzIG9mIHRoZSBjb25kaXRpb25hbCBpbmxpbmUgd2l0aCB0aGUgbGFiZWxcbiAgJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nICsgJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG5cbiAgLmdvdnVrLXJhZGlvc19fY29uZGl0aW9uYWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIG1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtbWFyZ2luLWxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29uZGl0aW9uYWwtcGFkZGluZy1sZWZ0O1xuICAgIGJvcmRlci1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgJlthcmlhLWhpZGRlbj1cInRydWVcIl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlXCI7XG5AaW1wb3J0IFwiLi4vaGludC9oaW50XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvbGFiZWxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9zZWxlY3RcIikge1xuICAuZ292dWstc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJGxpbmUtaGVpZ2h0OiAxLjI1KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG5cbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIHNob3VsZCB0aGlzIGJlIGdsb2JhbD9cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQwcHg7XG5cbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpOyAvLyB3YXMgNXB4IDRweCA0cHggLSBzaXplIG9mIGl0IHNob3VsZCBiZSBhZGp1c3RlZCB0byBtYXRjaCBvdGhlciBmb3JtIGVsZW1lbnRzXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1zZWxlY3Qgb3B0aW9uOmFjdGl2ZSxcbiAgLmdvdnVrLXNlbGVjdCBvcHRpb246Y2hlY2tlZCxcbiAgLmdvdnVrLXNlbGVjdDpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiYmx1ZVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1zZWxlY3QtLWVycm9yIHtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG4gIH1cblxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvc2tpcC1saW5rXCIpIHtcbiAgLmdvdnVrLXNraXAtbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplOiAxNik7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3RhYmxlXCIpIHtcbiAgLmdvdnVrLXRhYmxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG5cbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG5cbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIGdvdnVrLXNwYWNpbmcoNCkgZ292dWstc3BhY2luZygyKSAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19jZWxsIHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIGdvdnVrLXNwYWNpbmcoNCkgZ292dWstc3BhY2luZygyKSAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19jZWxsLS1udW1lcmljIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiBmYWxzZSwgJHRhYnVsYXI6IHRydWUpO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXItLW51bWVyaWMsXG4gIC5nb3Z1ay10YWJsZV9fY2VsbC0tbnVtZXJpYyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2hlYWRlcjpsYXN0LWNoaWxkLFxuICAuZ292dWstdGFibGVfX2NlbGw6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9fY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcblxuICAgIGRpc3BsYXk6IHRhYmxlLWNhcHRpb247XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3RleHRhcmVhXCIpIHtcbiAgLmdvdnVrLXRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJGxpbmUtaGVpZ2h0OiAxLjI1KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG5cbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIHNob3VsZCB0aGlzIGJlIGdsb2JhbD9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLXRleHRhcmVhLS1lcnJvciB7XG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudC1lcnJvciBzb2xpZCAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC93YXJuaW5nLXRleHRcIikge1xuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIDA7XG4gIH1cblxuICAuZ292dWstd2FybmluZy10ZXh0X19hc3Npc3RpdmUge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbjtcbiAgfVxuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHRfX2ljb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IGZhbHNlLCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuXG4gICAgbWluLXdpZHRoOiAzMnB4O1xuICAgIG1pbi1oZWlnaHQ6IDI5cHg7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7IC8vIEhhbGYgdGhlIGhlaWdodCBvZiB0aGUgY2lyY2xlIChhZGp1c3RlZCBmb3IgTlRBKVxuICAgIHBhZGRpbmctdG9wOiAzcHg7XG5cbiAgICAvLyBXaGVuIGEgdXNlciBjdXN0b21pc2VzIHRoZWlyIGNvbG91cnMgdGhlIGJhY2tncm91bmQgY29sb3VyIHdpbGwgb2Z0ZW4gYmUgcmVtb3ZlZC5cbiAgICAvLyBBZGRpbmcgYSBib3JkZXIgdG8gdGhlIGNvbXBvbmVudCBrZWVwcyBpdCdzIHNoYXBlIGFzIGEgY2lyY2xlLlxuICAgIGJvcmRlcjogM3B4IHNvbGlkIGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcblxuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAvLyBQcmV2ZW50IHRoZSBleGNsYW1hdGlvbiBtYXJrIGZyb20gYmVpbmcgaW5jbHVkZWQgd2hlbiB0aGUgd2FybmluZyB0ZXh0XG4gICAgLy8gaXMgY29waWVkLCBmb3IgZXhhbXBsZS5cbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLmdvdnVrLXdhcm5pbmctdGV4dF9fdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IC0kZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgcGFkZGluZy1sZWZ0OiA2NXB4O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJ2aXN1YWxseS1oaWRkZW5cIjtcbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay91dGlsaXRpZXMvY2xlYXJmaXhcIikge1xuICAuZ292dWstY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvdXRpbGl0aWVzL3Zpc3VhbGx5LWhpZGRlblwiKSB7XG4gIC5nb3Z1ay12aXN1YWxseS1oaWRkZW4ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbjtcbiAgfVxuXG4gIC8vLyBAZGVwcmVjYXRlZCBEZXByZWNhdGVkIGFzIG9mIHJlbGVhc2UgMS4xLCByZXBsYWNlZCBieSBgLmdvdnVrLXZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGVgXG4gIC5nb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNzYWJsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTtcbiAgfVxuXG4gIC5nb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlO1xuICB9XG5cbn1cbiIsIkBpbXBvcnQgXCJkaXNwbGF5XCI7XG5AaW1wb3J0IFwic3BhY2luZ1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJ3aWR0aFwiO1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy9kaXNwbGF5XCIpIHtcblxuICAuZ292dWstXFwhLWRpc3BsYXktaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZGlzcGxheS1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS1kaXNwbGF5LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIG92ZXJyaWRlc1xuLy8vL1xuXG4vLy8gRGlyZWN0aW9ucyBmb3Igc3BhY2luZ1xuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfc3BhY2luZy1kaXJlY3Rpb25zOiAoXG4gIFwidG9wXCIsXG4gIFwicmlnaHRcIixcbiAgXCJib3R0b21cIixcbiAgXCJsZWZ0XCJcbikgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIG92ZXJyaWRlIGNsYXNzZXNcbi8vL1xuLy8vIEdlbmVyYXRlIHNwYWNpbmcgb3ZlcnJpZGUgY2xhc3NlcyBmb3IgdGhlIGdpdmVuIHByb3BlcnR5IChlLmcuIG1hcmdpbilcbi8vLyBmb3IgZWFjaCBwb2ludCBpbiB0aGUgc3BhY2luZyBzY2FsZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBQcm9wZXJ0eSB0byBhZGQgc3BhY2luZyB0byAoZS5nLiAnbWFyZ2luJylcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1cXCEtbWFyZ2luLTAge1xuLy8vICAgICAgbWFyZ2luOiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gIC5nb3Z1ay1cXCEtbWFyZ2luLXRvcC0xIHtcbi8vLyAgICAgbWFyZ2luLXRvcDogW3doYXRldmVyIHNwYWNpbmcgcG9pbnQgMSBpcy4uLl1cbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2dvdnVrLWdlbmVyYXRlLXNwYWNpbmctb3ZlcnJpZGVzKCRwcm9wZXJ0eSkge1xuICAvLyBGb3IgZWFjaCBwb2ludCBpbiB0aGUgc3BhY2luZyBzY2FsZSAoZGVmaW5lZCBpbiBzZXR0aW5ncyksIGNyZWF0ZSBhblxuICAvLyBvdmVycmlkZSB0aGF0IGFmZmVjdHMgYWxsIGRpcmVjdGlvbnMuLi5cbiAgQGVhY2ggJHNjYWxlLXBvaW50LCAkc2NhbGUtbWFwIGluICRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGUge1xuXG4gICAgLmdvdnVrLVxcIS0jeyRwcm9wZXJ0eX0tI3skc2NhbGUtcG9pbnR9IHtcblxuICAgICAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkc2NhbGUtcG9pbnQsICRwcm9wZXJ0eSwgXCJhbGxcIiwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gLi4uIGFuZCB0aGVuIGFuIG92ZXJyaWRlIGZvciBlYWNoIGluZGl2aWR1YWwgZGlyZWN0aW9uXG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiAkX3NwYWNpbmctZGlyZWN0aW9ucyB7XG5cbiAgICAgIC5nb3Z1ay1cXCEtI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn0tI3skc2NhbGUtcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkc2NhbGUtcG9pbnQsICRwcm9wZXJ0eSwgJGRpcmVjdGlvbiwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvc3BhY2luZ1wiKSB7XG4gIEBpbmNsdWRlIF9nb3Z1ay1nZW5lcmF0ZS1zcGFjaW5nLW92ZXJyaWRlcyhcIm1hcmdpblwiKTtcbiAgQGluY2x1ZGUgX2dvdnVrLWdlbmVyYXRlLXNwYWNpbmctb3ZlcnJpZGVzKFwicGFkZGluZ1wiKTtcbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvdHlwb2dyYXBoeVwiKSB7XG4gIC8vIEZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHRcblxuICAvLyBHZW5lcmF0ZSB0eXBvZ3JhcGh5IG92ZXJyaWRlIGNsYXNzZXMgZm9yIGVhY2ggcmVzcG9uc2l2ZSBmb250IG1hcCBpbiB0aGVcbiAgLy8gdHlwb2dyYXBoeSBzY2FsZSBlZyAuZ292dWstXFwhLWZvbnQtc2l6ZS04MFxuICBAZWFjaCAkc2l6ZSBpbiBtYXAta2V5cygkZ292dWstdHlwb2dyYXBoeS1zY2FsZSkge1xuICAgIC5nb3Z1ay1cXCEtZm9udC1zaXplLSN7JHNpemV9IHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZSwgJGltcG9ydGFudDogdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gV2VpZ2h0c1xuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtcmVndWxhciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcigkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtYm9sZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZCgkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy93aWR0aFwiKSB7XG4gIC5nb3Z1ay1cXCEtd2lkdGgtdGhyZWUtcXVhcnRlcnMge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC10d28tdGhpcmRzIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDY2LjY2JSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1cXCEtd2lkdGgtb25lLWhhbGYge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC1vbmUtdGhpcmQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogMzMuMzMlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC1vbmUtcXVhcnRlciB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi5hcHAtY29va2llLWJhbm5lciB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYpO1xuICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcblxuICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihkZXNhdHVyYXRlKGdvdnVrLWNvbG91cihcImxpZ2h0LWJsdWVcIiksIDguNDYpLCA0Mi41NSk7XG59XG5cbi5hcHAtY29va2llLWJhbm5lciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5hcHAtY29va2llLWJhbm5lcl9fbWVzc2FnZSB7XG4gIG1hcmdpbjogMDtcbiAgQGluY2x1ZGUgZ292dWstd2lkdGgtY29udGFpbmVyO1xufVxuXG5AaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgLmFwcC1jb29raWUtYmFubmVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIu+7vy8vIERvY3VtZW50IGxpc3QgcGF0dGVyblxuXG4vLyBTcGFjaW5nIHRvIHRoZSBsZWZ0IG9mIHRoZSB0YXNrIGxpc3RcbiRjb3Vyc2UtcGFydHMtaW5kZW50OiAzNXB4O1xuXG4uY291cnNlLXBhcnRzIHtcbiAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygyKTtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWFyZ2luLXRvcDogKGdvdnVrLXNwYWNpbmcoMikgKiAxLjUpO1xuICB9XG59XG5cbi5jb3Vyc2UtcGFydHMtc2VjdGlvbiB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IChnb3Z1ay1zcGFjaW5nKDIpIC8gNik7XG59XG5cbi5jb3Vyc2UtcGFydHMtaXRlbXMge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IChnb3Z1ay1zcGFjaW5nKDIpICogMik7XG4gICAgfVxufVxuXG4uY291cnNlLXBhcnRzLWl0ZW0ge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xufVxuXG4uY291cnNlLXBhcnRzLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbn1cblxuLmNvdXJzZS1wYXJ0LXRhc2sge1xuICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHR3by10aGlyZHMpO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0KTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5jb3Vyc2UtcGFydC10YXNrLWFjdGlvbiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogM3B4O1xufVxuXG4uY291cnNlLXBhcnQtdGFza3Mge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgPiAqIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgICAgIH1cblxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBlbSgxMiwgMTkpIGVtKDIwLCAxOSkgZW0oOSwgMTkpIDA7IC8vIGNvcGllZCBmcm9tIEVsZW1lbnRzJyB0ZCBwYWRkaW5nXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQgPiAqIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb3Vyc2UtcGFydC1sYWJlbCB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgIC8vIEBpbmNsdWRlIG1lZGlhKGRlc2t0b3ApIHtcbiAgICAgICAgLy8gICB3aWR0aDogMzAlO1xuICAgICAgICAvLyB9XG4gICAgfVxuXG4gICAgPiAqOmZpcnN0LWNoaWxkIC5jb3Vyc2UtcGFydC1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgLmNvdXJzZS1wYXJ0LXZhbHVlIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICYtLWVtcHR5IHtcbiAgICAgICAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTFcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZ292dWstc3VjY2Vzcy1zdW1tYXJ5IHtcbiAgQGV4dGVuZCAuZ292dWstZXJyb3Itc3VtbWFyeTtcbiAgYm9yZGVyLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJncmVlblwiKTtcblxuICBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmdvdnVrLXN1Y2Nlc3Mtc3VtbWFyeV9fdGl0bGUge1xuICBAZXh0ZW5kIC5nb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZTtcbn1cblxuLmdvdnVrLXN1Y2Nlc3Mtc3VtbWFyeV9fYm9keSB7XG4gIEBleHRlbmQgLmdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHk7XG59XG4iLCIlZ292dWstbGlzdC0tZGVzY3JpcHRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbiVnb3Z1ay1saXN0LS1kZXNjcmlwdGlvbiA+IGR0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogbm9ybWFsKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMzMuMzMlO1xuICAgIH1cbn1cblxuJWdvdnVrLWxpc3QtLWRlc2NyaXB0aW9uID4gZGQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBub3JtYWwpO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbWFyZ2luOiAwO1xuICAgXG4gICAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogNjYuNjYlO1xuICAgIH1cblxuICAgIC5nb3Z1ay1kZXRhaWxzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5nb3Z1ay1saXN0LS1kZXNjcmlwdGlvbiB7XG4gICAgQGV4dGVuZCAlZ292dWstbGlzdC0tZGVzY3JpcHRpb247XG5cbiAgICAmX19sYWJlbDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiOlwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuIiwiLmZpbHRlci1mb3JtIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiZ3JleS0zXCIpO1xuICAgIHBhZGRpbmc6IDhweDtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cblxuICAgICZfX3ZhbHVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgICZfX3ZhbHVlLS1saXN0IHtcbiAgICAgICAgQGV4dGVuZCAlZ292dWstbGlzdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogOHB4O1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1pbnB1dCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuXG4gICAgLmdvdnVrLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICB9XG5cbiAgICAuZ292dWstbGlzdCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG4iLCIucHViLWMtcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4XG59XG5cbi5wdWItYy1wYWdpbmF0aW9uX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMFxufVxuXG4ucHViLWMtcGFnaW5hdGlvbl9fbGlzdDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aFxufVxuXG4ucHViLWMtcGFnaW5hdGlvbl9faXRlbSB7XG4gICAgZm9udC1mYW1pbHk6IFwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogNTAlXG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAgIC5wdWItYy1wYWdpbmF0aW9uX19pdGVtIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNVxuICAgIH1cbn1cblxuLnB1Yi1jLXBhZ2luYXRpb25fX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lXG59XG5cbi5wdWItYy1wYWdpbmF0aW9uX19saW5rOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjMDA1ZWE1XG59XG5cbi5wdWItYy1wYWdpbmF0aW9uX19saW5rOmhvdmVyLFxuLnB1Yi1jLXBhZ2luYXRpb25fX2xpbms6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4XG59XG5cbi5wdWItYy1wYWdpbmF0aW9uX19saW5rLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJudGFcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTExMTExMTExMTtcbiAgICBkaXNwbGF5OiBibG9ja1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAucHViLWMtcGFnaW5hdGlvbl9fbGluay10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjdweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVcbiAgICB9XG59XG5cbi5wdWItYy1wYWdpbmF0aW9uX19pdGVtLS1wcmV2aW91cyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdFxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAucHViLWMtcGFnaW5hdGlvbl9faXRlbS0tcHJldmlvdXMge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCVcbiAgICB9XG59XG5cbi5wdWItYy1wYWdpbmF0aW9uX19pdGVtLS1uZXh0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHRcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLnB1Yi1jLXBhZ2luYXRpb25fX2l0ZW0tLW5leHQge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCVcbiAgICB9XG59XG5cbi5wdWItYy1wYWdpbmF0aW9uX19saW5rLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgaGVpZ2h0OiAuNDgyZW07XG4gICAgd2lkdGg6IC42M2VtXG59XG5cbi5wdWItYy1wYWdpbmF0aW9uX19saW5rLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMC4xZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxp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 */ +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS5jc3MiLCJzb3VyY2VzIjpbInNpdGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9hbGwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fYWxsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX2Fzc2V0cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19jb21wYXRpYmlsaXR5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX2dsb2JhbC1zdHlsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9faWU4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX21lZGlhLXF1ZXJpZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fY29sb3Vycy1wYWxldHRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX2NvbG91cnMtb3JnYW5pc2F0aW9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19jb2xvdXJzLWFwcGxpZWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19jb2xvdXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19tZWFzdXJlbWVudHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fdHlwb2dyYXBoeS1mb250LWZhbWlsaWVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX3R5cG9ncmFwaHktZm9udC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL190eXBvZ3JhcGh5LXJlc3BvbnNpdmUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC90b29scy9fYWxsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX2NvbXBhdGliaWxpdHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC90b29scy9fZXhwb3J0cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19mb250LXVybC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19pZTguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC90b29scy9faWZmLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX2ltYWdlLXVybC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19weC10by1lbS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19weC10by1yZW0uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19hbGwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2RldmljZS1waXhlbHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19mb2N1c2FibGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19mb250LWZhY2VzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2xpbmtzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fbWVkaWEtcXVlcmllcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3ZlbmRvci9fc2Fzcy1tcS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX3NoYXBlLWFycm93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb3JlL19hbGwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb3JlL19saW5rcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvcmUvX2xpc3RzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29yZS9fdGVtcGxhdGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb3JlL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29yZS9fc2VjdGlvbi1icmVhay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvcmUvX2dsb2JhbC1zdHlsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9vYmplY3RzL19hbGwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9vYmplY3RzL19mb3JtLWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb2JqZWN0cy9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL29iamVjdHMvX21haW4td3JhcHBlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL29iamVjdHMvX3dpZHRoLWNvbnRhaW5lci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvX2FsbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvYmFjay1saW5rL19iYWNrLWxpbmsuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2JyZWFkY3J1bWJzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvYnV0dG9uL19idXR0b24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2NoZWNrYm94ZXMvX2NoZWNrYm94ZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2Vycm9yLW1lc3NhZ2UvX2Vycm9yLW1lc3NhZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2ZpZWxkc2V0L19maWVsZHNldC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvaGludC9faGludC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvbGFiZWwvX2xhYmVsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9kYXRlLWlucHV0L19kYXRlLWlucHV0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9pbnB1dC9faW5wdXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2RldGFpbHMvX2RldGFpbHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2Vycm9yLXN1bW1hcnkvX2Vycm9yLXN1bW1hcnkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL19maWxlLXVwbG9hZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvZm9vdGVyL19mb290ZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2hlYWRlci9faGVhZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9pbnNldC10ZXh0L19pbnNldC10ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9wYW5lbC9fcGFuZWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3BoYXNlLWJhbm5lci9fcGhhc2UtYmFubmVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy90YWcvX3RhZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvdGFicy9fdGFicy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvcmFkaW9zL19yYWRpb3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3NlbGVjdC9fc2VsZWN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9za2lwLWxpbmsvX3NraXAtbGluay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvdGFibGUvX3RhYmxlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy90ZXh0YXJlYS9fdGV4dGFyZWEuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3dhcm5pbmctdGV4dC9fd2FybmluZy10ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdXRpbGl0aWVzL19hbGwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC91dGlsaXRpZXMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdXRpbGl0aWVzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9vdmVycmlkZXMvX2FsbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL292ZXJyaWRlcy9fZGlzcGxheS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL292ZXJyaWRlcy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL292ZXJyaWRlcy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL292ZXJyaWRlcy9fd2lkdGguc2NzcyIsImNvbXBvbmVudHMvX2Nvb2tpZS1iYW5uZXIuc2NzcyIsImNvbXBvbmVudHMvX21hcC5zY3NzIiwiY29tcG9uZW50cy9fdHlwYWhlYWQuc2NzcyIsInBhdHRlcm5zL19jb3Vyc2UtcGFydHMuc2NzcyIsInBhdHRlcm5zL19zdWNjZXNzLXN1bW1hcnkuc2NzcyIsInBhdHRlcm5zL19kZWZpbml0aW9uLWxpc3Quc2NzcyIsInBhdHRlcm5zL19maWx0ZXJzLnNjc3MiLCJwYXR0ZXJucy9fcGFnaW5hdGlvbi5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIiRnb3Z1ay1pbWFnZXMtcGF0aDogXCIvaW1hZ2VzL1wiO1xuJGdvdnVrLWZvbnRzLXBhdGg6IFwiL2ZvbnRzL1wiO1xuXG4kZ292dWstZ2xvYmFsLXN0eWxlczogdHJ1ZTtcblxuQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9hbGxcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Nvb2tpZS1iYW5uZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21hcFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdHlwYWhlYWRcIjtcbkBpbXBvcnQgXCJwYXR0ZXJucy9jb3Vyc2UtcGFydHNcIjtcbkBpbXBvcnQgXCJwYXR0ZXJucy9zdWNjZXNzLXN1bW1hcnlcIjtcbkBpbXBvcnQgXCJwYXR0ZXJucy9kZWZpbml0aW9uLWxpc3RcIjtcbkBpbXBvcnQgXCJwYXR0ZXJucy9maWx0ZXJzXCI7XG5AaW1wb3J0IFwicGF0dGVybnMvcGFnaW5hdGlvblwiO1xuXG4vLyBBZGQgYnJhY2tldHMgYXJvdW5kIHVzZXIgbmFtZSBpbiBoZWFkZXJcbi5nb3Z1ay1oZWFkZXJfX2xpbmstLXByb2ZpbGUge1xuICBAZXh0ZW5kIC5nb3Z1ay1oZWFkZXJfX2xpbms7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIpXCI7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIoXCI7XG4gICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGxpc3Qgc3R5bGVcbi5nb3Z1ay1saXN0LS1kYXNoIHtcbiAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoJy9pbWFnZXMvZGFzaC5wbmcnKTtcbiAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg4KTtcbn1cblxuLy8gQWRkIGNvbnRleHQgdG8gY2hlY2tib3ggbGFiZWxzXG4uZ292dWstY2hlY2tib3hlc19fbGFiZWwgLmdvdnVrLVxcIS1mb250LXdlaWdodC1ib2xkIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIEFkZCBhIHJlZCBib3JkZXIgdG8gLmZvcm0tY29udHJvbC1ncm91cCBpZiB2YWxpZGF0aW9uIGZhaWxzXG4uaW5wdXQtdmFsaWRhdGlvbi1lcnJvciB7XG4gIGJvcmRlcjogNHB4IHNvbGlkIGdvdnVrLWNvbG9yKFwicmVkXCIpO1xufVxuXG4vLyBDdXN0b20gZGl2aWRlciB0byBzcGlsdCByYWRpbyBidXR0b25zIG9wdGlvbnMgaS5lLiBcIm9yXCJcbi5nb3Z1ay1yYWRpb3NfX2RpdmlkZXIge1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogbm9ybWFsKTtcbiAgd2lkdGg6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLy8gQ3VzdG9tIHBoYXNlIGJhbm5lciBmb3IgcHJpdmF0ZSBiZXRhXG4uZ292dWstcGhhc2UtYmFubmVyOmZpcnN0LWNoaWxkIHtcbiAgYmFja2dyb3VuZDogI2ZmZjhjNDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuXG4vLyBTZWFyY2ggcmVzdWx0cyB2aWV3XG4uc2VhcmNoLXJlc3VsdHMge1xuICBsaSB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDYsIFwiYm90dG9tXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg2LCBcInRvcFwiKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5zZWFyY2gtcmVzdWx0cy1oZWFkZXIge1xuICAmX19jb3VudCB7XG4gICAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cblxuICAmX19uZXctc2VhcmNoIHtcbiAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9ybS1ncm91cCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGxpZ2h0Z3JleTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgbGlnaHRncmV5O1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG5cbiAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdCB7XG4gICAgd2lkdGg6IDE4MHB4O1xuICB9XG5cbiAgLnNvcnRlZGJ5LWxhYmVsIHtcbiAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwic2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwidG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcImNvcmUvYWxsXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9hbGxcIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvYWxsXCI7XG5cbkBpbXBvcnQgXCJ1dGlsaXRpZXMvYWxsXCI7XG5AaW1wb3J0IFwib3ZlcnJpZGVzL2FsbFwiO1xuIiwiLy8gVGhlIG9yZGVyIHdlIGltcG9ydCBzZXR0aW5ncyBpbiBpcyBpbXBvcnRhbnQsIGFzIHNvbWUgc2V0dGluZ3MgZmlsZXMgcmVseSBvblxuLy8gb3RoZXJzXG5cbkBpbXBvcnQgXCJhc3NldHNcIjtcblxuQGltcG9ydCBcImNvbXBhdGliaWxpdHlcIjtcbkBpbXBvcnQgXCJnbG9iYWwtc3R5bGVzXCI7XG5AaW1wb3J0IFwiaWU4XCI7XG5cbkBpbXBvcnQgXCJtZWRpYS1xdWVyaWVzXCI7XG5cbkBpbXBvcnQgXCJjb2xvdXJzLXBhbGV0dGVcIjtcbkBpbXBvcnQgXCJjb2xvdXJzLW9yZ2FuaXNhdGlvbnNcIjtcbkBpbXBvcnQgXCJjb2xvdXJzLWFwcGxpZWRcIjtcblxuQGltcG9ydCBcInNwYWNpbmdcIjtcbkBpbXBvcnQgXCJtZWFzdXJlbWVudHNcIjtcblxuQGltcG9ydCBcInR5cG9ncmFwaHktZm9udC1mYW1pbGllc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHktZm9udFwiO1xuQGltcG9ydCBcInR5cG9ncmFwaHktcmVzcG9uc2l2ZVwiO1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9hc3NldHNcbi8vLy9cblxuLy8vIFBhdGggdG8gdGhlIGFzc2V0cyBkaXJlY3RvcnksIHdpdGggdHJhaWxpbmcgc2xhc2guXG4vLy9cbi8vLyBUaGlzIGlzIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIGltYWdlcyBhbmQgZm9udHMgc3ViZGlyZWN0b3JpZXMgbGl2ZS4gWW91XG4vLy8gd2lsbCBuZWVkIHRvIG1ha2UgdGhpcyBkaXJlY3RvcnkgYXZhaWxhYmxlIHZpYSB5b3VyIGFwcGxpY2F0aW9uIOKAkyBzZWUgdGhlXG4vLy8gUkVBRE1FIGZvciBkZXRhaWxzLlxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWFzc2V0cy1wYXRoOiBcIi9hc3NldHMvXCIgIWRlZmF1bHQ7XG5cbi8vLyBQYXRoIHRvIHRoZSBpbWFnZXMgZm9sZGVyLCB3aXRoIHRyYWlsaW5nIHNsYXNoLlxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWltYWdlcy1wYXRoOiBcIiN7JGdvdnVrLWFzc2V0cy1wYXRofWltYWdlcy9cIiAhZGVmYXVsdDtcblxuLy8vIFBhdGggdG8gdGhlIGZvbnRzIGZvbGRlciwgd2l0aCB0cmFpbGluZyBzbGFzaC5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250cy1wYXRoOiBcIiN7JGdvdnVrLWFzc2V0cy1wYXRofWZvbnRzL1wiICFkZWZhdWx0O1xuXG4vLy8gQ3VzdG9tIGltYWdlIFVSTCBmdW5jdGlvblxuLy8vXG4vLy8gSWYgdGhlIGJ1aWx0LWluIGltYWdlIFVSTCBoZWxwZXIgZG9lcyBub3QgbWVldCB5b3VyIG5lZWRzLCB5b3UgY2FuIHNwZWNpZnlcbi8vLyB0aGUgbmFtZSBvZiBhIGN1c3RvbSBoYW5kbGVyIOKAkyBlaXRoZXIgYnVpbHQgaW4gb3IgYnkgd3JpdGluZyB5b3VyIG93blxuLy8vIGZ1bmN0aW9uLlxuLy8vXG4vLy8gSWYgeW91IGFyZSB3cml0aW5nIHlvdXIgb3duIGhhbmRsZXIsIGVuc3VyZSB0aGF0IGl0IHJldHVybnMgYSBzdHJpbmcgd3JhcHBlZFxuLy8vIHdpdGggYHVybCgpYFxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gUmFpbHMgYXNzZXQgaGFuZGxpbmdcbi8vLyAgICRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb246ICdpbWFnZS11cmwnO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbSBhc3NldCBoYW5kbGluZ1xuLy8vXG4vLy8gICBAZnVuY3Rpb24gbXktdXJsLWhhbmRsZXIoJGZpbGVuYW1lKSB7XG4vLy8gICAgIC8vIFNvbWUgY3VzdG9tIFVSTCBoYW5kbGluZ1xuLy8vICAgICBAcmV0dXJuIHVybCgnZXhhbXBsZS5qcGcnKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgJGdvdnVrLWltYWdlLXVybC1mdW5jdGlvbjogJ215LXVybC1oYW5kbGVyJztcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb246IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQ3VzdG9tIGZvbnQgVVJMIGZ1bmN0aW9uXG4vLy9cbi8vLyBJZiB0aGUgYnVpbHQtaW4gZm9udCBVUkwgaGVscGVyIGRvZXMgbm90IG1lZXQgeW91ciBuZWVkcywgeW91IGNhbiBzcGVjaWZ5XG4vLy8gdGhlIG5hbWUgb2YgYSBjdXN0b20gaGFuZGxlciDigJMgZWl0aGVyIGJ1aWx0IGluIG9yIGJ5IHdyaXRpbmcgeW91ciBvd25cbi8vLyBmdW5jdGlvbi5cbi8vL1xuLy8vIElmIHlvdSBhcmUgd3JpdGluZyB5b3VyIG93biBoYW5kbGVyLCBlbnN1cmUgdGhhdCBpdCByZXR1cm5zIGEgc3RyaW5nIHdyYXBwZWRcbi8vLyB3aXRoIGB1cmwoKWBcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFJhaWxzIGFzc2V0IGhhbmRsaW5nXG4vLy8gICAkZ292dWstZm9udC11cmwtZnVuY3Rpb246ICdmb250LXVybCc7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9tIGFzc2V0IGhhbmRsaW5nXG4vLy9cbi8vLyAgIEBmdW5jdGlvbiBteS11cmwtaGFuZGxlcigkZmlsZW5hbWUpIHtcbi8vLyAgICAgLy8gU29tZSBjdXN0b20gVVJMIGhhbmRsaW5nXG4vLy8gICAgIEByZXR1cm4gdXJsKCdleGFtcGxlLndvZmYnKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uOiAnbXktdXJsLWhhbmRsZXInO1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBDb21wYXRpYmlsaXR5IHdpdGggbGVnYWN5IHJlcG9zIChnb3Z1a19lbGVtZW50cywgZ292dWtfZnJvbnRlbmRfdG9va2tpdCBhbmRcbi8vLyBnb3Z1a190ZW1wbGF0ZSkgc2V0dGluZ3Ncbi8vL1xuLy8vIFdlIGRlZmF1bHQgdGhlc2Ugc2V0dGluZ3MgdG8gYHRydWVgIHNvIHRoYXQgaWYgdGhleSBhcmUgbWlzc2VkIHdlIG9wdCBmb3IgYVxuLy8vIG1pbGQgcGVyZm9ybWFuY2UgaGl0IG92ZXIgYSBwb3RlbnRpYWwgYnJva2VuIGV4cGVyaWVuY2UgZm9yIHRoZSBlbmQtdXNlci5cbi8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9jb21wYXRpYmlsaXR5XG4vLy8vXG5cblxuLy8vIENvbXBhdGliaWxpdHkgTW9kZTogYWxwaGFnb3YvZ292dWtfZnJvbnRlbmRfdG9vbGtpdFxuLy8vXG4vLy8gVHJ1ZSBpZiB1c2VkIGluIGEgcHJvamVjdCB0aGF0IGFsc28gaW5jbHVkZXMgYWxwaGFnb3YvZ292dWtfZnJvbnRlbmRfdG9vbGtpdC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2Zyb250ZW5kdG9vbGtpdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbXBhdGliaWxpdHkgTW9kZTogYWxwaGFnb3YvZ292dWtfdGVtcGxhdGVcbi8vL1xuLy8vIFRydWUgaWYgdXNlZCBpbiBhIHByb2plY3QgdGhhdCBhbHNvIGluY2x1ZGVzIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlLlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrdGVtcGxhdGU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb21wYXRpYmlsaXR5IE1vZGU6IGFscGhhZ292L2dvdnVrX2VsZW1lbnRzXG4vLy9cbi8vLyBUcnVlIGlmIHVzZWQgaW4gYSBwcm9qZWN0IHRoYXQgYWxzbyBpbmNsdWRlcyBhbHBoYWdvdi9nb3Z1a19lbGVtZW50cy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29tcGF0aWJpbGl0eSBQcm9kdWN0IE1hcFxuLy8vXG4vLy8gTWFwcyBwcm9kdWN0IG5hbWVzIHRvIHRoZWlyIHNldHRpbmdzIHRoYXQgd2UgY2FuIHVzZSB0byBsb29rdXAgc3RhdGVzIGZyb21cbi8vLyB3aXRoaW4gdGhlIGBAZ292dWstY29tcGF0aWJpbGl0eWAgbWl4aW4uXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJF9nb3Z1ay1jb21wYXRpYmlsaXR5OiAoXG4gIGdvdnVrX2Zyb250ZW5kX3Rvb2xraXQ6ICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrZnJvbnRlbmR0b29sa2l0LFxuICBnb3Z1a190ZW1wbGF0ZTogJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWt0ZW1wbGF0ZSxcbiAgZ292dWtfZWxlbWVudHM6ICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrZWxlbWVudHMsXG4pO1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9nbG9iYWwtc3R5bGVzXG4vLy8vXG5cbi8vLyBJbmNsdWRlICdnbG9iYWwnIHN0eWxlc1xuLy8vXG4vLy8gV2hldGhlciB0byBzdHlsZSBwYXJhZ3JhcGhzIChgPHA+YCkgYW5kIGxpbmtzIChgPGE+YCkgd2l0aG91dCBleHBsaWNpdGx5XG4vLy8gaGF2aW5nIHRvIGFwcGx5IHRoZSBgZ292dWstYm9keWAgYW5kIGBnb3Z1ay1saW5rYCBjbGFzc2VzLlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1nbG9iYWwtc3R5bGVzOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvaWU4XG4vLy8vXG5cbi8vLyBXaGV0aGVyIHRoZSBzdHlsZXNoZWV0IGJlaW5nIGJ1aWx0IGlzIHRhcmdldGluZyBJbnRlcm5ldCBFeHBsb3JlciA4LlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pcy1pZTg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgdG8gdXNlIGFzIHRoZSB0YXJnZXQgd2hlbiByYXN0ZXJpemluZyBtZWRpYVxuLy8vIHF1ZXJpZXNcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pZTgtYnJlYWtwb2ludDogZGVza3RvcCAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvbWVkaWEtcXVlcmllc1xuLy8vL1xuXG4vLy8gQnJlYWtwb2ludCBkZWZpbml0aW9uc1xuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJyZWFrcG9pbnRzOiAoXG4gIG1vYmlsZTogIDMyMHB4LFxuICB0YWJsZXQ6ICA2NDFweCxcbiAgZGVza3RvcDogNzY5cHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBTaG93IGFjdGl2ZSBicmVha3BvaW50IGluIHRvcC1yaWdodCBjb3JuZXIuXG4vLy9cbi8vLyBPbmx5IHVzZSB0aGlzIGR1cmluZyBsb2NhbCBkZXZlbG9wbWVudC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstc2hvdy1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2NvbG91cnNcbi8vLy9cblxuLy8vIENvbG91ciBwYWxldHRlXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vL1xuLy8vIEBwcm9wICRjb2xvdXIgLSBSZXByZXNlbnRhdGlvbiBmb3IgdGhlIGdpdmVuICRjb2xvdXIsIHdoZXJlICRjb2xvdXIgaXMgdGhlXG4vLy8gICBmcmllbmRseSBuYW1lIGZvciB0aGUgY29sb3VyIChlLmcuIFwicmVkXCI6ICNmZjAwMDApO1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNvbG91cnM6IChcbiAgXCJwdXJwbGVcIjogIzJlMzU4YixcbiAgXCJsaWdodC1wdXJwbGVcIjogIzZmNzJhZixcbiAgXCJicmlnaHQtcHVycGxlXCI6ICM5MTJiODgsXG4gIFwicGlua1wiOiAjZDUzODgwLFxuICBcImxpZ2h0LXBpbmtcIjogI2Y0OTliZSxcbiAgXCJyZWRcIjogI2IxMGUxZSxcbiAgXCJicmlnaHQtcmVkXCI6ICNkZjMwMzQsXG4gIFwib3JhbmdlXCI6ICNmNDc3MzgsXG4gIFwiYnJvd25cIjogI2I1ODg0MCxcbiAgXCJ5ZWxsb3dcIjogI2ZmYmY0NyxcbiAgXCJsaWdodC1ncmVlblwiOiAjODU5OTRiLFxuICBcImdyZWVuXCI6ICMwMDY0MzUsXG4gIFwidHVycXVvaXNlXCI6ICMyOGExOTcsXG4gIFwibGlnaHQtYmx1ZVwiOiAjMmI4Y2M0LFxuICBcImJsdWVcIjogIzAwNWVhNSxcblxuICBcImJsYWNrXCI6ICMwYjBjMGMsXG4gIFwiZ3JleS0xXCI6ICM2Zjc3N2IsXG4gIFwiZ3JleS0yXCI6ICNiZmMxYzMsXG4gIFwiZ3JleS0zXCI6ICNkZWUwZTIsXG4gIFwiZ3JleS00XCI6ICNmOGY4ZjgsXG4gIFwid2hpdGVcIjogI2ZmZmZmZlxuKSAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvY29sb3Vyc1xuLy8vL1xuXG4vLy8gT3JnYW5pc2F0aW9uIGNvbG91cnNcbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vXG4vLy8gQHByb3AgJG9yZ2FuaXNhdGlvbi5jb2xvdXIgLSBDb2xvdXIgZm9yIHRoZSBnaXZlbiBgJG9yZ2FuaXNhdGlvbmBcbi8vLyBAcHJvcCAkb3JnYW5pc2F0aW9uLmNvbG91ci13ZWJzYWZlIC0gV2Vic2FmZSBjb2xvdXIgZm9yIHRoZSBnaXZlblxuLy8vICAgYCRvcmdhbmlzYXRpb25gLiBXZSB1c2UgYHdlYnNhZmVgIHRvIG1lYW4gc3Ryb25nIGVub3VnaCBjb250cmFzdCBhZ2FpbnN0XG4vLy8gICB3aGl0ZSB0byBiZSB1c2VkIGZvciBjb3B5IGFuZCBtZWV0IHRoZSBBQUEgKGxhcmdlIHRleHQpIGFuZCBBQSAoc21hbGxlclxuLy8vICAgY29weSkgV0NBRyBndWlkZWxpbmVzLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNvbG91cnMtb3JnYW5pc2F0aW9uczogKFxuICBcImF0dG9ybmV5LWdlbmVyYWxzLW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjOWYxODg4LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjYTAzYTg4XG4gICksXG4gIFwiY2FiaW5ldC1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzAwNWFiYixcbiAgICBjb2xvdXItd2Vic2FmZTogIzM0N2RhNFxuICApLFxuICBcImNpdmlsLXNlcnZpY2VcIjogKFxuICAgIGNvbG91cjogI2FmMjkyZVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWJ1c2luZXNzLWlubm92YXRpb24tc2tpbGxzXCI6IChcbiAgICBjb2xvdXI6ICMwMDM0NzksXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzNDdkYTRcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1jb21tdW5pdGllcy1hbmQtbG9jYWwtZ292ZXJubWVudFwiOiAoXG4gICAgY29sb3VyOiAjMDA4NTdlLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzc4MzZlXG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItY3VsdHVyZS1tZWRpYS1zcG9ydFwiOiAoXG4gICAgY29sb3VyOiAjZDQwMDcyLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjYTAzMTU1XG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItZWR1Y2F0aW9uXCI6IChcbiAgICBjb2xvdXI6ICMwMDNhNjksXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzNDdjYTlcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1lbnZpcm9ubWVudC1mb29kLXJ1cmFsLWFmZmFpcnNcIjogKFxuICAgIGNvbG91cjogIzAwYTMzYixcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwODkzOFxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWludGVybmF0aW9uYWwtZGV2ZWxvcG1lbnRcIjogKFxuICAgIGNvbG91cjogIzAwMjg3OCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzQwNWU5YVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWludGVybmF0aW9uYWwtdHJhZGVcIjogKFxuICAgIGNvbG91cjogI2NmMTAyZCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwNWVhNVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLXRyYW5zcG9ydFwiOiAoXG4gICAgY29sb3VyOiAjMDA2YzU2LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzk4MzczXG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3Itd29yay1wZW5zaW9uc1wiOiAoXG4gICAgY29sb3VyOiAjMDBiZWI3LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzc4MDdiXG4gICksXG4gIFwiZGVwYXJ0bWVudC1vZi1lbmVyZ3ktY2xpbWF0ZS1jaGFuZ2VcIjogKFxuICAgIGNvbG91cjogIzAwOWRkYixcbiAgICBjb2xvdXItd2Vic2FmZTogIzJiN2NhY1xuICApLFxuICBcImRlcGFydG1lbnQtb2YtaGVhbHRoXCI6IChcbiAgICBjb2xvdXI6ICMwMGFkOTMsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzOTgzNmVcbiAgKSxcbiAgXCJmb3JlaWduLWNvbW1vbndlYWx0aC1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzAwM2U3NCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzQwNmU5N1xuICApLFxuICBcImdvdmVybm1lbnQtZXF1YWxpdGllcy1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogICM5MzI1YjJcbiAgKSxcbiAgXCJobS1nb3Zlcm5tZW50XCI6IChcbiAgICBjb2xvdXI6ICMwMDc2YzAsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzNDdkYTRcbiAgKSxcbiAgXCJobS1yZXZlbnVlLWN1c3RvbXNcIjogKFxuICAgIGNvbG91cjogIzAwOTM5MCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwODY3MFxuICApLFxuICBcImhtLXRyZWFzdXJ5XCI6IChcbiAgICBjb2xvdXI6ICNhZjI5MmUsXG4gICAgY29sb3VyLXdlYnNhZmU6ICM4MzIzMjJcbiAgKSxcbiAgXCJob21lLW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjOTMyNWIyLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjOTQ0MGIyXG4gICksXG4gIFwibWluaXN0cnktb2YtZGVmZW5jZVwiOiAoXG4gICAgY29sb3VyOiAjNGQyOTQyLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjNWE1YzkyXG4gICksXG4gIFwibWluaXN0cnktb2YtanVzdGljZVwiOiAoXG4gICAgY29sb3VyOiAjMjMxZjIwLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjNWE1YzkyXG4gICksXG4gIFwibm9ydGhlcm4taXJlbGFuZC1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzAwMjY2MyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzNlNTk4Y1xuICApLFxuICBcIm9mZmljZS1vZi10aGUtYWR2b2NhdGUtZ2VuZXJhbC1mb3Itc2NvdGxhbmRcIjogKFxuICAgIGNvbG91cjogIzAwMjY2MyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwNWVhNVxuICApLFxuICBcIm9mZmljZS1vZi10aGUtbGVhZGVyLW9mLXRoZS1ob3VzZS1vZi1jb21tb25zXCI6IChcbiAgICBjb2xvdXI6ICMzMTcwMjMsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVmOGZcbiAgKSxcbiAgXCJvZmZpY2Utb2YtdGhlLWxlYWRlci1vZi10aGUtaG91c2Utb2YtbG9yZHNcIjogKFxuICAgIGNvbG91cjogIzljMTMyZSxcbiAgICBjb2xvdXItd2Vic2FmZTogI2MyMzk1ZFxuICApLFxuICBcInNjb3RsYW5kLW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjMDAyNjYzLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjNDA1YzhhXG4gICksXG4gIFwidWstZXhwb3J0LWZpbmFuY2VcIjogKFxuICAgIGNvbG91cjogIzAwNTc0NyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwNWVhNVxuICApLFxuICBcInVrLXRyYWRlLWludmVzdG1lbnRcIjogKFxuICAgIGNvbG91cjogI2M4MDY1MSxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwNWVhNVxuICApLFxuICBcIndhbGVzLW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjYTMzMDM4LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjN2EyNDJhXG4gIClcbikgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2NvbG91cnNcbi8vLy9cblxuQGltcG9ydCBcIi4uL2hlbHBlcnMvY29sb3VyXCI7XG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEdlbmVyaWNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQnJhbmQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYnJhbmQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay10ZXh0LWNvbG91cjogZ292dWstY29sb3VyKFwiYmxhY2tcIikgIWRlZmF1bHQ7XG5cbi8vLyBDYW52YXMgYmFja2dyb3VuZCBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgYnkgdGhlIGZvb3RlciBjb21wb25lbnQgYW5kIHRlbXBsYXRlIHRvIGdpdmUgdGhlIGlsbHVzaW9uIG9mIGEgbG9uZyBmb290ZXIuXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstY2FudmFzLWJhY2tncm91bmQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTNcIikgIWRlZmF1bHQ7XG5cbi8vLyBCb2R5IGJhY2tncm91bmQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9keS1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwid2hpdGVcIikgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG91ciBmb3IgcHJpbnQgbWVkaWFcbi8vL1xuLy8vIFVzZSAndHJ1ZSBibGFjaycgdG8gYXZvaWQgcHJpbnRlcnMgdXNpbmcgY29sb3VyIGluayB0byBwcmludCBib2R5IHRleHRcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1wcmludC10ZXh0LWNvbG91cjogIzAwMDAwMCAhZGVmYXVsdDtcblxuLy8vIFNlY29uZGFyeSB0ZXh0IGNvbG91clxuLy8vXG4vLy8gVXNlZCBmb3IgJ211dGVkJyB0ZXh0LCBoZWxwIHRleHQsIGV0Yy5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImdyZXktMVwiKSAhZGVmYXVsdDtcblxuLy8vIEZvY3VzIGNvbG91clxuLy8vXG4vLy8gVXNlZCBmb3Igb3V0bGluZSAoYW5kIGJhY2tncm91bmQsIHdoZXJlIGFwcHJvcHJpYXRlKSB3aGVuIGludGVyYWN0aXZlXG4vLy8gZWxlbWVudHMgKGxpbmtzLCBmb3JtIGNvbnRyb2xzKSBoYXZlIGtleWJvYXJkIGZvY3VzLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLWNvbG91cjogZ292dWstY29sb3VyKFwieWVsbG93XCIpICFkZWZhdWx0O1xuXG4vLy8gRXJyb3IgY29sb3VyXG4vLy9cbi8vLyBVc2VkIHRvIGhpZ2hsaWdodCBlcnJvciBtZXNzYWdlcyBhbmQgZm9ybSBjb250cm9scyBpbiBhbiBlcnJvciBzdGF0ZVxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWVycm9yLWNvbG91cjogZ292dWstY29sb3VyKFwicmVkXCIpICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGNvbG91clxuLy8vXG4vLy8gVXNlZCBmb3IgYm9yZGVycywgc2VwYXJhdG9ycywgcnVsZXMsIGtleWxpbmVzIGV0Yy5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTJcIikgIWRlZmF1bHQ7XG5cbi8vLyBJbnB1dCBib3JkZXIgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGZvciBmb3JtIGlucHV0cyBhbmQgY29udHJvbHNcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKSAhZGVmYXVsdDtcblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIExpbmsgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsdWVcIikgIWRlZmF1bHQ7XG5cbi8vLyBWaXNpdGVkIGxpbmsgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay12aXNpdGVkLWNvbG91cjogIzRjMmM5MiAhZGVmYXVsdDtcblxuLy8vIExpbmsgaG92ZXIgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay1ob3Zlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImxpZ2h0LWJsdWVcIikgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgbGluayBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLWFjdGl2ZS1jb2xvdXI6IGdvdnVrLWNvbG91cihcImxpZ2h0LWJsdWVcIikgIWRlZmF1bHQ7XG4iLCJAaW1wb3J0IFwiLi4vc2V0dGluZ3MvY29sb3Vycy1wYWxldHRlXCI7XG5AaW1wb3J0IFwiLi4vc2V0dGluZ3MvY29sb3Vycy1vcmdhbmlzYXRpb25zXCI7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9jb2xvdXJcbi8vLy9cblxuLy8vIEdldCBjb2xvdXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY29sb3VyIC0gTmFtZSBvZiBjb2xvdXIgZnJvbSB0aGUgY29sb3VyIHBhbGV0dGVcbi8vLyAgIChgJGdvdnVrLWNvbG91cnNgKVxuLy8vIEByZXR1cm4ge0NvbG91cn0gUmVwcmVzZW50YXRpb24gb2YgbmFtZWQgY29sb3VyXG4vLy8gQHRocm93IGlmIGAkY29sb3VyYCBpcyBub3QgYSBjb2xvdXIgZnJvbSB0aGUgY29sb3VyIHBhbGV0dGVcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstY29sb3VyKCRjb2xvdXIpIHtcbiAgJGNvbG91cjogcXVvdGUoJGNvbG91cik7XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkZ292dWstY29sb3VycywgJGNvbG91cikge1xuICAgIEBlcnJvciBcIlVua25vd24gY29sb3VyIGAjeyRjb2xvdXJ9YFwiO1xuICB9XG5cbiAgQHJldHVybiBtYXAtZ2V0KCRnb3Z1ay1jb2xvdXJzLCAkY29sb3VyKTtcbn1cblxuLy8vIEdldCB0aGUgY29sb3VyIGZvciBhIGdvdmVybm1lbnQgb3JnYW5pc2F0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9yZ2FuaXNhdGlvbiAtIE9yZ2FuaXNhdGlvbiBuYW1lLCBsb3dlcmNhc2UsIGh5cGhlbmF0ZWRcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3ZWJzYWZlIFt0cnVlXSAtIEJ5IGRlZmF1bHQgYSAnd2Vic2FmZScgdmVyc2lvbiBvZiB0aGVcbi8vLyAgIGNvbG91ciB3aWxsIGJlIHJldHVybmVkIHdoaWNoIG1lZXRzIGNvbnRyYXN0IHJlcXVpcmVtZW50cyAuIElmIHlvdSB3YW50IHRvXG4vLy8gICB1c2UgdGhlIG5vbi13ZWJzYWZlIHZlcnNpb24geW91IGNhbiBzZXQgdGhpcyB0byBgZmFsc2VgIGJ1dCB5b3VyIHNob3VsZFxuLy8vICAgZW5zdXJlIHRoYXQgeW91IHN0aWxsIG1lZXRzIGNvbnRyYXN0IHJlcXVpcmVtZW50cyBmb3IgYWNjZXNzaWJpbGl0eSAtIGZvclxuLy8vICAgZXhhbXBsZSwgZG9uJ3QgdXNlIHRoZSBub24td2Vic2FmZSB2ZXJzaW9uIGZvciB0ZXh0LlxuLy8vXG4vLy8gQHJldHVybiB7Q29sb3VyfSBSZXByZXNlbnRhdGlvbiBvZiBjb2xvdXIgZm9yIG9yZ2FuaXNhdGlvblxuLy8vIEB0aHJvdyBpZiBgJG9yZ2FuaXNhdGlvbmAgaXMgbm90IGEga25vd24gb3JnYW5pc2F0aW9uXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLW9yZ2FuaXNhdGlvbi1jb2xvdXIoJG9yZ2FuaXNhdGlvbiwgJHdlYnNhZmU6IHRydWUpIHtcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkZ292dWstY29sb3Vycy1vcmdhbmlzYXRpb25zLCAkb3JnYW5pc2F0aW9uKSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBvcmdhbmlzYXRpb24gYCN7JG9yZ2FuaXNhdGlvbn1gXCI7XG4gIH1cblxuICAkb3JnLWNvbG91cjogbWFwLWdldCgkZ292dWstY29sb3Vycy1vcmdhbmlzYXRpb25zLCAkb3JnYW5pc2F0aW9uKTtcblxuICBAaWYgKCR3ZWJzYWZlIGFuZCBtYXAtaGFzLWtleSgkb3JnLWNvbG91ciwgY29sb3VyLXdlYnNhZmUpKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRvcmctY29sb3VyLCBjb2xvdXItd2Vic2FmZSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkb3JnLWNvbG91ciwgY29sb3VyKTtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9zcGFjaW5nXG4vLy8vXG5cbi8vLyBTaW5nbGUgcG9pbnQgc3BhY2luZyB2YXJpYWJsZXMuIEFjY2VzcyB1c2luZyBgZ292dWstc3BhY2luZygpYFxuLy8vIChzZWUgYGhlbHBlcnMvc3BhY2luZ2ApLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRnb3Z1ay1zcGFjaW5nLXBvaW50czogKFxuICAwOiAwLFxuICAxOiA1cHgsXG4gIDI6IDEwcHgsXG4gIDM6IDE1cHgsXG4gIDQ6IDIwcHgsXG4gIDU6IDI1cHgsXG4gIDY6IDMwcHgsXG4gIDc6IDQwcHgsXG4gIDg6IDUwcHgsXG4gIDk6IDYwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBSZXNwb25zaXZlIHNwYWNpbmcgbWFwc1xuLy8vXG4vLy8gVGhlc2UgZGVmaW5pdGlvbnMgYXJlIHVzZWQgdG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSBzcGFjaW5nIHRoYXQgYWRhcHRzXG4vLy8gYWNjb3JkaW5nIHRvIHRoZSBicmVha3BvaW50cyAoc2VlICdoZWxwZXJzL3NwYWNpbmcnKS4gVGhlc2UgbWFwcyBzaG91bGQgYmVcbi8vLyB1c2VkIHdoZXJldmVyIHBvc3NpYmxlIHRvIHN0YW5kYXJkaXNlIHJlc3BvbnNpdmUgc3BhY2luZy5cbi8vL1xuLy8vIFlvdSBjYW4gZGVmaW5lIGRpZmZlcmVudCBiZWhhdmlvdXIgb24gdGFibGV0IGFuZCBkZXNrdG9wLiBUaGUgJ251bGwnXG4vLy8gYnJlYWtwb2ludCBpcyBmb3IgbW9iaWxlLlxuLy8vXG4vLy8gQWNjZXNzIHJlc3BvbnNpdmUgc3BhY2luZyB3aXRoIGBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbmAgb3Jcbi8vLyBgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nYCBtaXhpbnMgKHNlZSBgaGVscGVycy9zcGFjaW5nYCkuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJGdvdnVrLXNwYWNpbmctcmVzcG9uc2l2ZS1zY2FsZTogKFxuICAwOiAoXG4gICAgbnVsbDogMCxcbiAgICB0YWJsZXQ6IDBcbiAgKSxcbiAgMTogKFxuICAgIG51bGw6IDVweCxcbiAgICB0YWJsZXQ6IDVweFxuICApLFxuICAyOiAoXG4gICAgbnVsbDogMTBweCxcbiAgICB0YWJsZXQ6IDEwcHhcbiAgKSxcbiAgMzogKFxuICAgIG51bGw6IDE1cHgsXG4gICAgdGFibGV0OiAxNXB4XG4gICksXG4gIDQ6IChcbiAgICBudWxsOiAxNXB4LFxuICAgIHRhYmxldDogMjBweFxuICApLFxuICA1OiAoXG4gICAgbnVsbDogMTVweCxcbiAgICB0YWJsZXQ6IDI1cHhcbiAgKSxcbiAgNjogKFxuICAgIG51bGw6IDIwcHgsXG4gICAgdGFibGV0OiAzMHB4XG4gICksXG4gIDc6IChcbiAgICBudWxsOiAyNXB4LFxuICAgIHRhYmxldDogNDBweFxuICApLFxuICA4OiAoXG4gICAgbnVsbDogMzBweCxcbiAgICB0YWJsZXQ6IDUwcHhcbiAgKSxcbiAgOTogKFxuICAgIG51bGw6IDQwcHgsXG4gICAgdGFibGV0OiA2MHB4XG4gIClcbikgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL21lYXN1cmVtZW50c1xuLy8vL1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQYWdlIGxheW91dFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBXaWR0aCBvZiBtYWluIGNvbnRhaW5lclxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXBhZ2Utd2lkdGg6IDk2MHB4ICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgZ3V0dGVyIGJldHdlZW4gZ3JpZCBjb2x1bW5zXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ3V0dGVyOiAzMHB4ICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaGFsZiB0aGUgZ3V0dGVyIGJldHdlZW4gZ3JpZCBjb2x1bW5zXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ3V0dGVyLWhhbGY6ICRnb3Z1ay1ndXR0ZXIgLyAyO1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCb3JkZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIFN0YW5kYXJkIGJvcmRlciB3aWR0aFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aDogNXB4ICFkZWZhdWx0O1xuXG4vLy8gV2lkZSBib3JkZXIgd2lkdGhcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtd2lkZTogMTBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBvbiBtb2JpbGVcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtbW9iaWxlOiA0cHggIWRlZmF1bHQ7XG5cbi8vLyBGb3JtIGNvbnRyb2wgYm9yZGVyIHdpZHRoXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDogMnB4ICFkZWZhdWx0O1xuXG4vLy8gRm9ybSBjb250cm9sIGJvcmRlciB3aWR0aCB3aGVuIGluIGVycm9yIHN0YXRlXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudC1lcnJvcjogNHB4ICFkZWZhdWx0O1xuXG4vLy8gRm9ybSBncm91cCBib3JkZXIgd2lkdGggd2hlbiBpbiBlcnJvciBzdGF0ZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWdyb3VwLWVycm9yOiAkZ292dWstYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIG9mIGZvY3VzIG91dGxpbmVcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb2N1cy13aWR0aDogM3B4ICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy90eXBvZ3JhcGh5XG4vLy8vXG5cbi8vLyBMaXN0IG9mIGZvbnQgZmFtaWxpZXMgdG8gdXNlIGlmIHVzaW5nIE5UQSAodGhlIGRlZmF1bHQgZm9udCAnc3RhY2snIGZvclxuLy8vIEdPVi5VSylcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udC1mYW1pbHktbnRhOiBcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuLy8vIExpc3Qgb2YgZm9udCBmYW1pbGllcyB0byB1c2UgaWYgdXNpbmcgdGhlICd0YWJ1bGFyIG51bWJlcnMnIHN1YnNldCBvZiBOVEFcbi8vLyAodGhlIGRlZmF1bHQgZm9udCAnc3RhY2snIGZvciBHT1YuVUspXG4vLy9cbi8vLyBCZWNhdXNlIG50YXRhYnVsYXJudW1iZXJzIG9ubHkgaW5jbHVkZXMgdGhlIGRpZ2l0cyAwLTEwLCBhbGwgb3RoZXIgZ2x5cGhzXG4vLy8gd2lsbCAnZmFsbC10aHJvdWdoJyB0aGUgc3RhY2sgdG8gTlRBLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LWZhbWlseS1udGEtdGFidWxhcjogXCJudGF0YWJ1bGFybnVtYmVyc1wiLCAkZ292dWstZm9udC1mYW1pbHktbnRhO1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy90eXBvZ3JhcGh5XG4vLy8vXG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZvbnQgZmFtaWxpZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gRm9udCBmYW1pbGllcyB0byB1c2UgZm9yIGFsbCB0eXBvZ3JhcGh5IG9uIHNjcmVlbiBtZWRpYVxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LWZhbWlseTogJGdvdnVrLWZvbnQtZmFtaWx5LW50YSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWxpZXMgdG8gdXNlIHdoZW4gZGlzcGxheWluZyB0YWJ1bGFyIG51bWJlcnNcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udC1mYW1pbHktdGFidWxhcjogJGdvdnVrLWZvbnQtZmFtaWx5LW50YS10YWJ1bGFyICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbGllcyB0byB1c2UgZm9yIHByaW50IG1lZGlhXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5LXByaW50OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGb250IHdlaWdodHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIHJlZ3VsYXIgdHlwb2dyYXBoeVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbiRnb3Z1ay1mb250LXdlaWdodC1yZWd1bGFyOiA0MDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYm9sZCB0eXBvZ3JhcGh5XG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuJGdvdnVrLWZvbnQtd2VpZ2h0LWJvbGQ6IDcwMCAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvdHlwb2dyYXBoeVxuLy8vL1xuXG4vLy8gV2hldGhlciBvciBub3QgdG8gZGVmaW5lIGZvbnQgc2l6ZXMgaW4gcmVtLCBpbXByb3ZpbmcgYWNjZXNzaWJpbGl0eSBieVxuLy8vIGFsbG93aW5nIHVzZXJzIHRvIGFkanVzdCB0aGUgYmFzZSBmb250LXNpemUuIFRoaXMgaXMgY3VycmVudGx5IG9mZiBieVxuLy8vIGRlZmF1bHQsIGJ1dCB3aWxsIGJlIGVuYWJsZWQgYnkgZGVmYXVsdCBmb3IgcHJvamVjdHMgdGhhdCBkbyBub3QgdXNlXG4vLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS5cbi8vL1xuLy8vIElmIHlvdSBlbmFibGUgdGhpcywgeW91IHNob3VsZCBtYWtlIHN1cmUgdGhhdCBgJGdvdnVrLXJvb3QtZm9udC1zaXplYCBpcyBzZXRcbi8vLyBjb3JyZWN0bHkgZm9yIHlvdXIgcHJvamVjdC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstdHlwb2dyYXBoeS11c2UtcmVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIFJvb3QgZm9udCBzaXplXG4vLy9cbi8vLyBUaGlzIGlzIHVzZWQgdG8gY2FsY3VsYXRlIHJlbSBzaXplcyBmb3IgdGhlIHR5cG9ncmFwaHksIGFuZCBzaG91bGQgbWF0Y2ggdGhlXG4vLy8gX2VmZmVjdGl2ZV8gZm9udC1zaXplIG9mIHlvdXIgcm9vdCAob3IgaHRtbCkgZWxlbWVudC5cbi8vL1xuLy8vIElkZWFsbHkgeW91IHNob3VsZCBub3QgYmUgc2V0dGluZyB0aGUgZm9udC1zaXplIG9uIHRoZSBodG1sIG9yIHJvb3QgZWxlbWVudFxuLy8vIGluIG9yZGVyIHRvIGFsbG93IGl0IHRvIHNjYWxlIHdpdGggdXNlci1wcmVmZXJlbmNlLCBpbiB3aGljaCBjYXNlIHRoaXNcbi8vLyBzaG91bGQgYmUgc2V0IHRvIDE2cHguXG4vLy9cbi8vLyBJZiB5b3UgYXJlIGludGVncmF0aW5nIEZyb250ZW5kIGludG8gYW4gZXhpc3RpbmcgcHJvamVjdCB0aGF0IGFsc28gdXNlc1xuLy8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIHRoZW4geW91IHNob3VsZCBzZXQgdGhpcyB0byAxMHB4IHRvIG1hdGNoIHRoZSA2Mi41JVxuLy8vICgxMHB4KSBiYXNlIGZvbnQgc2l6ZSB0aGF0IGdvdnVrX3RlbXBsYXRlIHNldHMgb24gdGhlIDxodG1sPiBlbGVtZW50LlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXJvb3QtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLy8gUmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IGZvbnQgbWFwXG4vLy9cbi8vLyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IHRoYXQgYWRhcHRzIGFjY29yZGluZyB0byB0aGVcbi8vLyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEZvbnQgc2l6ZSBhbmQgZm9udCB3ZWlnaHQgY2FuIGJlIGRlZmluZWQgZm9yIGVhY2ggYnJlYWtwb2ludC4gWW91IGNhbiBkZWZpbmVcbi8vLyBkaWZmZXJlbnQgYmVoYXZpb3VyIG9uIHRhYmxldCBhbmQgZGVza3RvcC4gVGhlICdudWxsJyBicmVha3BvaW50IGlzIGZvclxuLy8vIG1vYmlsZS5cbi8vL1xuLy8vIExpbmUtaGVpZ2h0cyB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgY29udmVydGVkIGZyb20gcGl4ZWwgbWVhc3VyZW1lbnRzIGludG9cbi8vLyByZWxhdGl2ZSB2YWx1ZXMuIEZvciBleGFtcGxlLCB3aXRoIGEgZm9udC1zaXplIG9mIDE2cHggYW5kIGEgbGluZS1oZWlnaHQgb2Zcbi8vLyAyNHB4LCB0aGUgbGluZS1oZWlnaHQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gMS41IGJlZm9yZSBvdXRwdXQuXG4vLy9cbi8vLyBZb3UgY2FuIGFsc28gc3BlY2lmeSBhIHNlcGFyYXRlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgZm9yIHByaW50IG1lZGlhLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQuJGJyZWFrcG9pbnQuZm9udC1zaXplIC0gRm9udCBzaXplIGZvciBgJHBvaW50YCBhdCBgJGJyZWFrcG9pbnRgXG4vLy8gQHByb3Age051bWJlcn0gJHBvaW50LiRicmVha3BvaW50LmxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgZm9yIGAkcG9pbnRgIGF0IGAkYnJlYWtwb2ludGBcbi8vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQucHJpbnQuZm9udC1zaXplIC0gRm9udCBzaXplIGZvciBgJHBvaW50YCB3aGVuIHByaW50aW5nXG4vLy8gQHByb3Age051bWJlcn0gJHBvaW50LnByaW50LmxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgZm9yIGAkcG9pbnRgIHdoZW4gcHJpbnRpbmdcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlOiAoXG4gIDgwOiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiA1M3B4LFxuICAgICAgbGluZS1oZWlnaHQ6IDU1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiA4MHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDgwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDUzcHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xXG4gICAgKVxuICApLFxuICA0ODogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMzJweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogNDhweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAzMnB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDM2OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAyNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAzNnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDQwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDI0cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4wNVxuICAgIClcbiAgKSxcbiAgMjc6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDE4cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDI3cHgsXG4gICAgICBsaW5lLWhlaWdodDogMzBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMThwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1XG4gICAgKVxuICApLFxuICAyNDogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMThweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMjRweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAxOHB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDE5OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxNnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAxOXB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDE0cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xNVxuICAgIClcbiAgKSxcbiAgMTY6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDE0cHgsXG4gICAgICBsaW5lLWhlaWdodDogMTZweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDE2cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMTRwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJcbiAgICApXG4gICksXG4gIDE0OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDE1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAxNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDEycHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4yXG4gICAgKVxuICApXG4pICFkZWZhdWx0O1xuIiwiQGltcG9ydCBcImNvbXBhdGliaWxpdHlcIjtcbkBpbXBvcnQgXCJleHBvcnRzXCI7XG5AaW1wb3J0IFwiZm9udC11cmxcIjtcbkBpbXBvcnQgXCJpZThcIjtcbkBpbXBvcnQgXCJpZmZcIjtcbkBpbXBvcnQgXCJpbWFnZS11cmxcIjtcbkBpbXBvcnQgXCJweC10by1lbVwiO1xuQGltcG9ydCBcInB4LXRvLXJlbVwiO1xuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gQ29uZGl0aW9uYWwgQ29tcGF0aWJpbGl0eSBNaXhpblxuLy8vXG4vLy8gU2VsZWN0aXZlbHkgb3V0cHV0IGEgYmxvY2sgKGF2YWlsYWJsZSB0byB0aGUgbWl4aW4gYXMgQGNvbnRlbnQpIGlmIGEgZ2l2ZW5cbi8vLyAkcHJvZHVjdCBpcyBhbHNvIGlkZW50aWZpZWQgYXMgYmVpbmcgdXNlZCBpbiB0aGUgcHJvamVjdC5cbi8vL1xuLy8vIFRoaXMgY2FuIHRoZW4gYmUgdXNlZCB0byBpbmNsdWRlIHN0eWxlcyB0aGF0IGFyZSBvbmx5IG5lZWRlZCB0byBvdmVycmlkZVxuLy8vIHN0eWxlcyBwcm92aWRlZCBieSB0aG9zZSBvdGhlciBwcm9kdWN0cyAoZS5nLiB3aGVyZSBnb3Z1a190ZW1wbGF0ZSBoYXMgYVxuLy8vIHZlcnkgc3BlY2lmaWMgbGluayBzZWxlY3RvciB0aGF0IG90aGVyd2lzZSBhZmZlY3RzIGJ1dHRvbnMpLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLy8gT3ZlcnJpZGUgLm15LWNsYXNzIGlmIEdPVi5VSyBUZW1wbGF0ZSBpcyBhbHNvIGJlaW5nIHVzZWRcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbi8vLyAgICAgLm15LWNsYXNzIHtcbi8vLyAgICAgICBjb2xvcjogaW5oZXJpdDtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9kdWN0IC0gTmFtZSBvZiBwcm9kdWN0IHRoYXQgd2UgYXJlICdkZWZlbmRpbmcnIGFnYWluc3QuXG4vLy8gQGNvbnRlbnQgUGFzc2VkIGNvbnRlbnQgaXMgb3V0cHV0dGVkIG9ubHkgaWYgRnJvbnRlbmQgaXMgYmVpbmcgdXNlZCB3aXRoXG4vLy8gICB0aGlzIHByb2R1Y3Rcbi8vLyBAdGhyb3cgRXJyb3JzIGlmIHByb2R1Y3QgbmFtZSBpcyBub3QgcmVjb2duaXNlZFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1jb21wYXRpYmlsaXR5KCRwcm9kdWN0KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkX2dvdnVrLWNvbXBhdGliaWxpdHksICRwcm9kdWN0KSB7XG4gICAgQGlmIG1hcC1nZXQoJF9nb3Z1ay1jb21wYXRpYmlsaXR5LCAkcHJvZHVjdCkgPT0gdHJ1ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIk5vbiBleGlzdGVudCBwcm9kdWN0ICcjeyRwcm9kdWN0fSdcIjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gTGlzdCBvZiBtb2R1bGVzIHdoaWNoIGhhdmUgYWxyZWFkeSBiZWVuIGV4cG9ydGVkXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfZ292dWstaW1wb3J0ZWQtbW9kdWxlczogKCkgIWRlZmF1bHQ7XG5cbi8vLyBFeHBvcnQgbW9kdWxlXG4vLy9cbi8vLyBFbnN1cmUgdGhhdCB0aGUgbW9kdWxlcyBvZiBDU1MgdGhhdCB3ZSBkZWZpbmUgdGhyb3VnaG91dCBGcm9udGVuZCBhcmUgb25seVxuLy8vIGluY2x1ZGVkIGluIHRoZSBnZW5lcmF0ZWQgQ1NTIG9uY2UsIG5vIG1hdHRlciBob3cgbWFueSB0aW1lcyB0aGV5IGFyZVxuLy8vIGltcG9ydGVkIGFjcm9zcyB0aGUgaW5kaXZpZHVhbCBjb21wb25lbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiBtb2R1bGUgLSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvZGViYXNlXG4vLy8gQGNvbnRlbnQgVGhlIHBhc3NlZCBjb250ZW50IHdpbGwgb25seSBiZSBvdXRwdXR0ZWQgaWYgYSBtb2R1bGUgb2YgdGhlIHNhbWVcbi8vLyAgICRuYW1lIGhhcyBub3QgYWxyZWFkeSBiZWVuIG91dHB1dHRlZFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1leHBvcnRzKCRuYW1lKSB7XG4gIC8vIElmIHRoZSBtaXhpbiBpcyBub3QgaW4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhbHJlYWR5IGV4cG9ydGVkLi4uXG4gIEBpZiAoaW5kZXgoJF9nb3Z1ay1pbXBvcnRlZC1tb2R1bGVzLCAkbmFtZSkgPT0gbnVsbCkge1xuICAgIC8vIC4uLiB0aGVuIGFkZCBpdCB0byB0aGUgbGlzdFxuICAgICRfZ292dWstaW1wb3J0ZWQtbW9kdWxlczogYXBwZW5kKCRfZ292dWstaW1wb3J0ZWQtbW9kdWxlcywgJG5hbWUpICFnbG9iYWw7XG4gICAgLy8gLi4uIGFuZCBvdXRwdXQgdGhlIENTUyBmb3IgdGhhdCBtb2R1bGVcbiAgICBAY29udGVudDtcbiAgfVxuICAvLyBUaGUgbmV4dCB0aW1lIGV4cG9ydHMgaXMgY2FsbGVkIGZvciB0aGUgbW9kdWxlIG9mIHRoZSBzYW1lIG5hbWUsIGl0IHdpbGwgYmVcbiAgLy8gZm91bmQgaW4gdGhlIGxpc3QgYW5kIHNvIG5vdGhpbmcgd2lsbCBiZSBvdXRwdXR0ZWQuXG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vIERpc2FibGUgaW5kZW50YXRpb24gbGludGluZyBpbiB0aGlzIGZpbGUgb25seVxuLy8gc2Fzcy1saW50OmRpc2FibGUgaW5kZW50YXRpb25cblxuLy8vIEZvbnQgVVJMXG4vLy9cbi8vLyBJZiBhIGN1c3RvbSBmb250LXVybCBoYW5kbGVyIGlzIGRlZmluZWQgKCRnb3Z1ay1mb250LXVybC1mdW5jdGlvbikgdGhlblxuLy8vIGl0IHdpbGwgYmUgY2FsbGVkLCBvdGhlcndpc2UgYSB1cmwgd2lsbCBiZSByZXR1cm5lZCB3aXRoIHRoZSBmaWxlbmFtZVxuLy8vIGFwcGVuZGVkIHRvIHRoZSBmb250IHBhdGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZpbGVuYW1lIC0gRm9udCBmaWxlbmFtZVxuLy8vIEByZXR1cm4ge1N0cmluZ30gVVJMIGZvciB0aGUgZmlsZW5hbWUsIHdyYXBwZWQgaW4gYHVybCgpYFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1mb250LXVybCgkZmlsZW5hbWUpIHtcbiAgJHVzZS1jdXN0b20tZnVuY3Rpb246IHZhcmlhYmxlLWV4aXN0cyhcImdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uXCIpXG4gICAgYW5kICRnb3Z1ay1mb250LXVybC1mdW5jdGlvblxuICAgIGFuZCBmdW5jdGlvbi1leGlzdHMoJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uKTtcblxuICBAaWYgKCR1c2UtY3VzdG9tLWZ1bmN0aW9uKSB7XG4gICAgQHJldHVybiBjYWxsKCRnb3Z1ay1mb250LXVybC1mdW5jdGlvbiwgJGZpbGVuYW1lKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiB1cmwoJGdvdnVrLWZvbnRzLXBhdGggKyAkZmlsZW5hbWUpO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vLyBDb25kaXRpb25hbGx5IGluY2x1ZGUgcnVsZXMgb25seSBmb3IgSUU4XG4vLy9cbi8vLyBAY29udGVudCBQYXNzZWQgY29udGVudCBpcyBvbmx5IG91dHB1dHRlZCBpZiB3ZSdyZSBjb21waWxpbmcgYSBzdHlsZXNoZWV0XG4vLy8gICB0aGF0IHRhcmdldHMgSUU4IChpZiBgJGdvdnVrLWlzLWllOGAgaXMgdHJ1ZSlcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgbWluLXdpZHRoOiAxMDBweDtcbi8vLyAgICAgLy8gU3BlY2lmeSB3aWR0aCBmb3IgSUU4IG9ubHlcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbi8vLyAgICAgICB3aWR0aDogMTAwcHg7XG4vLy8gICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1pZi1pZTgge1xuICBAaWYgJGdvdnVrLWlzLWllOCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIENvbmRpdGlvbmFsbHkgZXhjbHVkZSBydWxlcyBmb3IgSUU4XG4vLy9cbi8vLyBAY29udGVudCBQYXNzZWQgY29udGVudCBpcyBvbmx5IG91dHB1dHRlZCBpZiB3ZSdyZSBub3QgY29tcGlsaW5nIGFcbi8vLyAgIHN0eWxlc2hlZXQgdGhhdCB0YXJnZXRzIElFOCAoaWYgYCRnb3Z1ay1pcy1pZThgIGlzIGZhbHNlKVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBmb250LXdlaWdodDogYm9sZDtcbi8vL1xuLy8vICAgICAvLyBFbmhhbmNlIGZvbyBvbmx5IGZvciBtb2Rlcm4gYnJvd3NlcnMgKG5vdCBJRTgpXG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLW5vdC1pZTgge1xuLy8vICAgICAgIGZvbnQtZmFtaWx5OiBcIkNvbWljIFNhbnMgTVNcIiwgXCJDdXJseiBNVFwiIGN1cnNpdmUsIHNhbnMtc2VyaWY7XG4vLy8gICAgICAgY29sb3I6ICNGRjY5QjQ7XG4vLy8gICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1ub3QtaWU4IHtcbiAgQGlmIG5vdCAkZ292dWstaXMtaWU4IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gU3ludGFjdGljIHN1Z2FyIGFyb3VuZCBTYXNzJyBidWlsdC1pbiBgaWZgIGZ1bmN0aW9uIHRoYXQgZG9lcyBub3QgcmVxdWlyZVxuLy8vIHlvdSB0byBwYXNzIGEgdmFsdWUgZm9yIGAkaWYtZmFsc2VgLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY29uZGl0aW9uIC0gV2hldGhlciB0byByZXR1cm4gdGhlIHZhbHVlIG9mIGAkaWYtdHJ1ZWBcbi8vLyBAcGFyYW0ge01peGVkfSAkaWYtdHJ1ZSAtIFZhbHVlIHRvIHJldHVybiBpZiBgJGNvbmRpdGlvbmAgaXMgdHJ1dGh5XG4vLy8gQHJldHVybiB7TWl4ZWR9IFZhbHVlIG9mIGAkaWYtdHJ1ZWAgaWYgYCRjb25kaXRpb25gIGlzIHRydXRoeSwgZWxzZSBudWxsXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGlmZigkY29uZGl0aW9uLCAkaWYtdHJ1ZSkge1xuICBAcmV0dXJuIGlmKCRjb25kaXRpb24sICRpZi10cnVlLCBudWxsKTtcbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHNcbi8vLy9cblxuLy8gRGlzYWJsZSBpbmRlbnRhdGlvbiBsaW50aW5nIGluIHRoaXMgZmlsZSBvbmx5XG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBpbmRlbnRhdGlvblxuXG4vLy8gSW1hZ2UgVVJMXG4vLy9cbi8vLyBJZiBhIGN1c3RvbSBpbWFnZS11cmwgaGFuZGxlciBpcyBkZWZpbmVkICgkZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uKSB0aGVuXG4vLy8gaXQgd2lsbCBiZSBjYWxsZWQsIG90aGVyd2lzZSBhIHVybCB3aWxsIGJlIHJldHVybmVkIHdpdGggdGhlIGZpbGVuYW1lXG4vLy8gYXBwZW5kZWQgdG8gdGhlIGltYWdlIHBhdGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gRmlsZW5hbWUgZm9yIHRoZSBpbWFnZSB0byBsb2FkXG4vLy8gQHJldHVybiB7U3RyaW5nfSBVUkwgZm9yIHRoZSBmaWxlbmFtZSwgd3JhcHBlZCBpbiBgdXJsKClgXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLWltYWdlLXVybCgkZmlsZW5hbWUpIHtcbiAgJHVzZS1jdXN0b20tZnVuY3Rpb246IHZhcmlhYmxlLWV4aXN0cyhcImdvdnVrLWltYWdlLXVybC1mdW5jdGlvblwiKVxuICAgIGFuZCAkZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uXG4gICAgYW5kIGZ1bmN0aW9uLWV4aXN0cygkZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uKTtcblxuICBAaWYgKCR1c2UtY3VzdG9tLWZ1bmN0aW9uKSB7XG4gICAgQHJldHVybiBjYWxsKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24sICRmaWxlbmFtZSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsKCRnb3Z1ay1pbWFnZXMtcGF0aCArICRmaWxlbmFtZSk7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHNcbi8vLy9cblxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gTGVuZ3RoIGluIHBpeGVsc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29udGV4dC1mb250LXNpemUgLSBGb250IHNpemUgb2YgZWxlbWVudFxuLy8vIEByZXR1cm4ge051bWJlcn0gTGVuZ3RoIGluIGVtc1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1lbSgkdmFsdWUsICRjb250ZXh0LWZvbnQtc2l6ZSkge1xuICBAaWYgKHVuaXRsZXNzKCR2YWx1ZSkpIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAqIDFweDtcbiAgfVxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0LWZvbnQtc2l6ZSkpIHtcbiAgICAkY29udGV4dC1mb250LXNpemU6ICRjb250ZXh0LWZvbnQtc2l6ZSAqIDFweDtcbiAgfVxuICBAcmV0dXJuICR2YWx1ZSAvICRjb250ZXh0LWZvbnQtc2l6ZSAqIDFlbTtcbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHNcbi8vLy9cblxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbVxuLy8vXG4vLy8gVGhlICRnb3Z1ay1yb290LWZvbnQtc2l6ZSAoZGVmaW5lZCBpbiBzZXR0aW5ncy9fdHlwb2dyYXBoeS1yZXNwb25zaXZlLnNjc3MpXG4vLy8gbXVzdCBiZSBjb25maWd1cmVkIHRvIG1hdGNoIHRoZSBmb250LXNpemUgb2YgeW91ciByb290IChodG1sKSBlbGVtZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gTGVuZ3RoIGluIHBpeGVsc1xuLy8vIEByZXR1cm4ge051bWJlcn0gTGVuZ3RoIGluIHJlbXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstcHgtdG8tcmVtKCR2YWx1ZSkge1xuICBAaWYgKHVuaXRsZXNzKCR2YWx1ZSkpIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAqIDFweDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlIC8gJGdvdnVrLXJvb3QtZm9udC1zaXplICogMXJlbTtcbn1cbiIsIkBpbXBvcnQgXCJjbGVhcmZpeFwiO1xuQGltcG9ydCBcImNvbG91clwiO1xuQGltcG9ydCBcImRldmljZS1waXhlbHNcIjtcbkBpbXBvcnQgXCJmb2N1c2FibGVcIjtcbkBpbXBvcnQgXCJmb250LWZhY2VzXCI7XG5AaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcImxpbmtzXCI7XG5AaW1wb3J0IFwibWVkaWEtcXVlcmllc1wiO1xuQGltcG9ydCBcInNoYXBlLWFycm93XCI7XG5AaW1wb3J0IFwic3BhY2luZ1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJ2aXN1YWxseS1oaWRkZW5cIjtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG4vLy8gQ2xlYXIgZmxvYXRlZCBjb250ZW50IHdpdGhpbiBhIGNvbnRhaW5lciB1c2luZyBhIHBzZXVkbyBlbGVtZW50XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIE1lZGlhIHF1ZXJ5IGZvciByZXRpbmEgaW1hZ2VzIChkZXZpY2UtcGl4ZWwtcmF0aW8pXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhdGlvIFsyXSAtIERldmljZSBwaXhlbCByYXRpb1xuLy8vIEBjb250ZW50IFBhc3NlZCBjb250ZW50IHdpbGwgYmUgb3V0cHV0dGVkIHdpdGhpbiB0aGUgbWVkaWEgcXVlcnlcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBQcm92aWRpbmcgYSBAMnggaW1hZ2UgZm9yIHNjcmVlbnMgdGhhdCBzdXBwb3J0IGl0XG4vLy8gICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJteS1pbWFnZS5wbmdcIik7XG4vLy9cbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWRldmljZS1waXhlbC1yYXRpbyB7XG4vLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcIm15LWltYWdlLTJ4LnBuZ1wiKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2luZyBhIGN1c3RvbSByYXRpb1xuLy8vICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwibXktaW1hZ2UucG5nXCIpO1xuLy8vXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJteS1pbWFnZS0yeC5wbmdcIik7XG4vLy8gICB9XG4vLy9cbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWRldmljZS1waXhlbC1yYXRpbygzKSB7XG4vLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcIm15LWltYWdlLTN4LnBuZ1wiKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8oJHJhdGlvOiAyKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogI3soJHJhdGlvKjk2KX1kcGkpLFxuICAgIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAjeyRyYXRpb31kcHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIEZvY3VzYWJsZSBoZWxwZXJcbi8vL1xuLy8vIFByb3ZpZGVzIGFuIGFkZGl0aW9uYWwgb3V0bGluZSB0byBjbGVhcmx5IGluZGljYXRlIHdoZW4gdGhlIHRhcmdldCBlbGVtZW50IGlzXG4vLy8gZm9jdXNzZWQuIFVzZWQgZm9yIGludGVyYWN0aXZlIGVsZW1lbnRzIHdoaWNoIHRoZW1zZWx2ZXMgaGF2ZSBzb21lIGJhY2tncm91bmRcbi8vLyBvciBib3JkZXIsIHN1Y2ggYXMgbW9zdCBmb3JtIGVsZW1lbnRzLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWZvY3VzYWJsZSB7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICB9XG59XG5cbi8vLyBGb2N1c2FibGUgd2l0aCBmaWxsIGhlbHBlclxuLy8vXG4vLy8gUHJvdmlkZXMgYW4gYWRkaXRpb25hbCBvdXRsaW5lIGFuZCBiYWNrZ3JvdW5kIGNvbG91ciB0byBjbGVhcmx5IGluZGljYXRlIHdoZW5cbi8vLyB0aGUgdGFyZ2V0IGVsZW1lbnQgaXMgZm9jdXNzZWQuIFVzZWQgZm9yIGludGVyYWN0aXZlIHRleHQtYmFzZWQgZWxlbWVudHMgc3VjaFxuLy8vIGFzIGxpbmtzLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWZvY3VzYWJsZS1maWxsIHtcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vIERpc2FibGVzIGxpbnRpbmcgZm9yIHRoaXMgZmlsZSBvbmx5XG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jc3MtY29tbWVudHMsIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzLCBwcm9wZXJ0eS1zb3J0LW9yZGVyLCBpbmRlbnRhdGlvblxuXG5AaW1wb3J0IFwiLi4vdG9vbHMvZXhwb3J0c1wiO1xuXG4vLy8gRm9udCBGYWNlIC0gTlRBXG4vLy9cbi8vLyBPdXRwdXRzIHRoZSBmb250LWZhY2UgZGVjbGFyYXRpb24gZm9yIE5UQSBhdCB0aGUgcm9vdCBvZiB0aGUgQ1NTIGRvY3VtZW50XG4vLy8gdGhlIGZpcnN0IHRpbWUgaXQgaXMgY2FsbGVkLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBtaXhpbiBfZ292dWstZm9udC1mYWNlLW50YSB7XG4gIEBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9oZWxwZXJzL2ZvbnQtZmFjZVwiKSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgLyohIENvcHlyaWdodCAoYykgMjAxMSBieSBNYXJnYXJldCBDYWx2ZXJ0ICYgSGVucmlrIEt1YmVsLiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGUgZm9udCBoYXMgYmVlbiBjdXN0b21pc2VkIGZvciBleGNsdXNpdmUgdXNlIG9uIGdvdi51ay4gVGhpcyBjdXQgaXMgbm90IGNvbW1lcmNpYWxseSBhdmFpbGFibGUuICovXG5cbiAgICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCJudGFcIjtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImxpZ2h0LTJjMDM3Y2Y3ZTEtdjEuZW90XCIpO1xuICAgICAgICBzcmM6IGdvdnVrLWZvbnQtdXJsKFwibGlnaHQtMmMwMzdjZjdlMS12MS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwibGlnaHQtZjM4YWQ0MDQ1Ni12MS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LTQ1OGY4ZWE4MWMtdjEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtZGlzcGxheTogZmFsbGJhY2s7XG4gICAgICB9XG5cbiAgICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCJudGFcIjtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImJvbGQtZmIyNjc2NDYyYS12MS5lb3RcIik7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJib2xkLWZiMjY3NjQ2MmEtdjEuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImJvbGQtYTI0NTJjYjY2Zi12MS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImJvbGQtZjM4Yzc5MmFjMi12MS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtZGlzcGxheTogZmFsbGJhY2s7XG4gICAgICB9XG5cbiAgICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCJudGF0YWJ1bGFybnVtYmVyc1wiO1xuICAgICAgICBzcmM6IGdvdnVrLWZvbnQtdXJsKFwibGlnaHQtdGFidWxhci00OThlYThmZmUyLXYxLmVvdFwiKTtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImxpZ2h0LXRhYnVsYXItNDk4ZWE4ZmZlMi12MS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwibGlnaHQtdGFidWxhci04NTFiMTBjY2RkLXYxLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwibGlnaHQtdGFidWxhci02MmNjNmYwYTI4LXYxLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuICAgICAgfVxuXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibnRhdGFidWxhcm51bWJlcnNcIjtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImJvbGQtdGFidWxhci0zNTdmZGZiY2MzLXYxLmVvdFwiKTtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImJvbGQtdGFidWxhci0zNTdmZGZiY2MzLXYxLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJib2xkLXRhYnVsYXItYjg5MjM4ZDg0MC12MS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImJvbGQtdGFidWxhci03ODRjMjFhZmI4LXYxLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC1kaXNwbGF5OiBmYWxsYmFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG4vLy8gTWFwIG9mIGdyaWQgY29sdW1uIHdpZHRoc1xuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfZ292dWstZ3JpZC13aWR0aHM6IChcbiAgb25lLXF1YXJ0ZXI6IDI1JSxcbiAgb25lLXRoaXJkOiAzMy4zMzMzJSxcbiAgb25lLWhhbGY6IDUwJSxcbiAgdHdvLXRoaXJkczogNjYuNjY2NiUsXG4gIHRocmVlLXF1YXJ0ZXJzOiA3NSUsXG4gIGZ1bGw6IDEwMCVcbikgIWRlZmF1bHQ7XG5cbi8vLyBHcmlkIHdpZHRoIHBlcmNlbnRhZ2Vcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gTmFtZSBvZiBncmlkIHdpZHRoIChlLmcuIHR3by10aGlyZHMpXG4vLy8gQHJldHVybiB7TnVtYmVyfSBQZXJjZW50YWdlIHdpZHRoXG4vLy8gQHRocm93IGlmIGAka2V5YCBpcyBub3QgYSB2YWxpZCBncmlkIHdpZHRoXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJF9nb3Z1ay1ncmlkLXdpZHRocywgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkX2dvdnVrLWdyaWQtd2lkdGhzLCAka2V5KTtcbiAgfVxuXG4gIEBlcnJvciBcIlVua25vd24gZ3JpZCB3aWR0aCBgI3ska2V5fWBcIjtcbn1cblxuLy8vIEdlbmVyYXRlIGdyaWQgcm93IHN0eWxlc1xuLy8vXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93IGNsYXNzIHdpdGggYSBzdGFuZGFyZGlzZWQgbWFyZ2luLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjbGFzcyBbZ292dWstZ3JpZC1yb3ddIENTUyBjbGFzcyBuYW1lXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGVmYXVsdFxuLy8vICAgQGluY2x1ZGUgZ292dWstZ3JpZC1yb3c7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9taXNpbmcgdGhlIGNsYXNzIG5hbWVcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtcm93KFwiYXBwLWdyaWRcIik7XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZ3JpZC1yb3coJGNsYXNzOiBcImdvdnVrLWdyaWQtcm93XCIpIHtcbiAgLiN7JGNsYXNzfSB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtICgkZ292dWstZ3V0dGVyLWhhbGYpO1xuICAgIG1hcmdpbi1sZWZ0OiAtICgkZ292dWstZ3V0dGVyLWhhbGYpO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBncmlkIGNvbHVtbiBzdHlsZXNcbi8vL1xuLy8vIENyZWF0ZXMgYSBjcm9zcyBicm93c2VyIGdyaWQgY29sdW1uIHdpdGggYSBjbGFzcyBvZiAnLmdvdnVrLWdyaWQtY29sdW1uJyBieVxuLy8vIGRlZmF1bHQsIGFuZCBhIHN0YW5kYXJkaXNlZCBndXR0ZXIgYmV0d2VlbiB0aGUgY29sdW1ucy5cbi8vL1xuLy8vIENvbW1vbiB3aWR0aHMgYXJlIHByZWRlZmluZWQgYWJvdmUgYXMga2V5d29yZHMgaW4gdGhlIGAkZ3JpZC13aWR0aHNgIG1hcC5cbi8vL1xuLy8vIEJ5IGRlZmF1bHQgdGhlaXIgd2lkdGggY2hhbmdlcyBmcm9tIDEwMCUgdG8gc3BlY2lmaWVkIHdpZHRoIGF0IHRoZSAndGFibGV0J1xuLy8vIGJyZWFrcG9pbnQsIGJ1dCB0aGF0IGNhbiBiZSBjb25maWd1cmVkIHRvIGJlIGFueSBvdGhlciBicmVha3BvaW50IGJ5IHVzaW5nXG4vLy8gdGhlIGAkYXRgIHBhcmFtZXRlci5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2xhc3MgW2dvdnVrLWdyaWQtY29sdW1uXSBDU1MgY2xhc3MgbmFtZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd2lkdGggW2Z1bGxdIG9uZS1xdWFydGVyIHwgb25lLXRoaXJkIHwgb25lLWhhbGYgfCB0d28tdGhpcmQgfCB0aHJlZS1xdWFydGVycyB8IGZ1bGxcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZsb2F0IFtsZWZ0XSBsZWZ0IHwgcmlnaHRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGF0IFt0YWJsZXRdIC0gbW9iaWxlIHwgdGFibGV0IHwgZGVza3RvcCB8IGFueSBjdXN0b20gYnJlYWtwb2ludCBpbiBweCBvciBlbVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERlZmF1bHRcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHR3by10aGlyZHMpXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9taXNpbmcgdGhlIGNsYXNzIG5hbWVcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKG9uZS1oYWxmLCAkY2xhc3M6IFwidGVzdC1jb2x1bW5cIik7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9taXNpbmcgdGhlIGJyZWFrcG9pbnQgd2hlcmUgd2lkdGggcGVyY2VudGFnZSBpcyBhcHBsaWVkXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbihvbmUtaGFsZiwgJGF0OiBkZXNrdG9wKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDdXN0b21pc2luZyB0aGUgZmxvYXQgZGlyZWN0aW9uXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbihvbmUtaGFsZiwgJGZsb2F0OiByaWdodCk7XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZ3JpZC1jb2x1bW4oJHdpZHRoOiBmdWxsLCAkZmxvYXQ6IGxlZnQsICRhdDogdGFibGV0LCAkY2xhc3M6IFwiZ292dWstZ3JpZC1jb2x1bW5cIikge1xuXG4gIC4jeyRjbGFzc30tI3skd2lkdGh9IHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIEBpZiAkYXQgIT0gZGVza3RvcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgcGFkZGluZzogMCAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206ICRhdCkge1xuICAgICAgd2lkdGg6IGdyaWQtd2lkdGgoJHdpZHRoKTtcbiAgICAgIGZsb2F0OiAkZmxvYXQ7XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIENvbW1vbiBsaW5rIG1peGluXG4vLy9cbi8vLyBQcm92aWRlcyB0aGUgdHlwb2dyYXBoeSBhbmQgZm9jdXMgc3RhdGUsIHJlZ2FyZGxlc3Mgb2YgbGluayBzdHlsZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLWNvbW1vbiB7XG4gIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uO1xuICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGUtZmlsbDtcbn1cblxuLy8vIERlZmF1bHQgbGluayBzdHlsZSBtaXhpblxuLy8vXG4vLy8gUHJvdmlkZXMgdGhlIGRlZmF1bHQgdW52aXNpdGVkLCB2aXNpdGVkLCBob3ZlciBhbmQgYWN0aXZlIHN0YXRlcyBmb3IgbGlua3MuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGdvdnVrLWxpbmstY29tbW9uIG1peGluIGluIG9yZGVyIHRvIGdldCB0aGUgZm9jdXMgc3RhdGUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbXV0ZWQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS1kZWZhdWx0IHtcbiAgJjpsaW5rIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICB9XG5cbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstdmlzaXRlZC1jb2xvdXI7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstaG92ZXItY29sb3VyO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1hY3RpdmUtY29sb3VyO1xuICB9XG59XG5cbi8vLyBNdXRlZCBzdHlsZSBsaW5rIG1peGluXG4vLy9cbi8vLyBVc2VkIGZvciBzZWNvbmRhcnkgbGlua3Mgb24gYSBwYWdlIC0gdGhlIGxpbmsgd2lsbCBhcHBlYXIgaW4gbXV0ZWQgY29sb3Vyc1xuLy8vIHJlZ2FyZGxlc3Mgb2YgdmlzaXRlZCBzdGF0ZS5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gZ292dWstbGluay1jb21tb24gbWl4aW4gaW4gb3JkZXIgdG8gZ2V0IHRoZSBmb2N1cyBzdGF0ZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1tdXRlZDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLW11dGVkIHtcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQsXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yIGRlc2lnbmVkXG4gIC8vIHRvIG1ha2UgdW52aXNpdGVkIGxpbmtzIGEgc2xpZ2h0bHkgZGFya2VyIGJsdWUgd2hlbiBmb2N1c3NlZCwgc28gd2UgbmVlZCB0b1xuICAvLyBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzLlxuICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVGV4dCBzdHlsZSBsaW5rIG1peGluXG4vLy9cbi8vLyBPdmVycmlkZXMgdGhlIGNvbG91ciBvZiBsaW5rcyB0byBtYXRjaCB0aGUgdGV4dCBjb2xvdXIuIEdlbmVyYWxseSB1c2VkIGJ5XG4vLy8gbmF2aWdhdGlvbiBjb21wb25lbnRzLCBzdWNoIGFzIGJyZWFkY3J1bWJzIG9yIHRoZSBiYWNrIGxpbmsuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGdvdnVrLWxpbmstY29tbW9uIG1peGluIGluIG9yZGVyIHRvIGdldCB0aGUgZm9jdXMgc3RhdGUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLXRleHQge1xuICAvLyBPdmVycmlkZSBsaW5rIGNvbG91ciB0byB1c2UgdGV4dCBjb2xvdXJcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQsXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yIGRlc2lnbmVkXG4gIC8vIHRvIG1ha2UgdW52aXNpdGVkIGxpbmtzIGEgc2xpZ2h0bHkgZGFya2VyIGJsdWUgd2hlbiBmb2N1c3NlZCwgc28gd2UgbmVlZCB0b1xuICAvLyBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzLlxuICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUHJpbnQgZnJpZW5kbHkgbGluayBtaXhpblxuLy8vXG4vLy8gV2hlbiBwcmludGluZywgYXBwZW5kIHRoZSB0aGUgZGVzdGluYXRpb24gVVJMIHRvIHRoZSBsaW5rIHRleHQsIGFzIGxvbmdcbi8vLyBhcyB0aGUgVVJMIHN0YXJ0cyB3aXRoIGVpdGhlciBgL2AsIGBodHRwOi8vYCBvciBgaHR0cHM6Ly9gLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstcHJpbnQtZnJpZW5kbHkge1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcblxuICAgICZbaHJlZl49XCIvXCJdLFxuICAgICZbaHJlZl49XCJodHRwOi8vXCJdLFxuICAgICZbaHJlZl49XCJodHRwczovL1wiXSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgICAgICBmb250LXNpemU6IDkwJTtcblxuICAgICAgICAvLyBCZWNhdXNlIHRoZSBVUkxzIG1heSBiZSB2ZXJ5IGxvbmcsIGVuc3VyZSB0aGF0IHRoZXkgbWF5IGJlIGJyb2tlblxuICAgICAgICAvLyBhdCBhcmJpdHJhcnkgcG9pbnRzIGlmIHRoZXJlIGFyZSBubyBvdGhlcndpc2UgYWNjZXB0YWJsZSBicmVha1xuICAgICAgICAvLyBwb2ludHMgaW4gdGhlIGxpbmVcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFdyYW5nbGUgc2Fzcy1tcSBjb25maWcuLi5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBQYXNzIG91ciBicmVha3BvaW50cyBhbmQgc3RhdGljIGJyZWFrcG9pbnQgZGVmaW5pdGlvbnMgdGhyb3VnaCB0byBzYXNzLW1xLlxuJG1xLWJyZWFrcG9pbnRzOiBpZih2YXJpYWJsZS1leGlzdHMoZ292dWstYnJlYWtwb2ludHMpLCAkZ292dWstYnJlYWtwb2ludHMsICgpKTtcbiRtcS1zdGF0aWMtYnJlYWtwb2ludDogaWYodmFyaWFibGUtZXhpc3RzKGdvdnVrLWllOC1icmVha3BvaW50KSwgJGdvdnVrLWllOC1icmVha3BvaW50LCBkZXNrdG9wKTtcblxuJG1xLXNob3ctYnJlYWtwb2ludHM6ICgpO1xuXG5AaWYgKHZhcmlhYmxlLWV4aXN0cyhnb3Z1ay1zaG93LWJyZWFrcG9pbnRzKSBhbmQgJGdvdnVrLXNob3ctYnJlYWtwb2ludHMpIHtcbiAgJG1xLXNob3ctYnJlYWtwb2ludHM6IG1hcC1rZXlzKCRnb3Z1ay1icmVha3BvaW50cyk7XG59XG5cbi8vIFdoZW4gYnVpbGRpbmcgYSBzdHlsZXNoZWV0IGZvciBJRTgsIHNldCAkbXEtcmVzcG9uc2l2ZSB0byBmYWxzZSBpbiBvcmRlciB0b1xuLy8gJ3Jhc3Rlcml6ZScgYW55IG1lZGlhIHF1ZXJpZXMuXG5cbiRtcS1yZXNwb25zaXZlOiB0cnVlO1xuQGlmICh2YXJpYWJsZS1leGlzdHMoZ292dWstaXMtaWU4KSBhbmQgJGdvdnVrLWlzLWllOCkge1xuICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG59XG5cbi8vIFRoaXMgaXMgYSBob3JyaWJsZSwgaG9ycmlibGUgaGFjayB0byBwcmV2ZW50IHRoZSAnZGV2IG1vZGUnIENTUyB0byBkaXNwbGF5XG4vLyB0aGUgY3VycmVudCBicmVha3BvaW50IGZyb20gYmVpbmcgaW5jbHVkZWQgbXVsdGlwbGUgdGltZXMuXG4vL1xuLy8gV2UgY2FuJ3QgdXNlIHRoZSBgZXhwb3J0c2AgbWl4aW4gZm9yIHRoaXMgYmVjYXVzZSBpbXBvcnQgZGlyZWN0aXZlcyBjYW5ub3QgYmVcbi8vIHVzZWQgd2l0aGluIGNvbnRyb2wgZGlyZWN0aXZlcyDwn5igXG4kc2Fzcy1tcS1hbHJlYWR5LWluY2x1ZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuQGlmICRzYXNzLW1xLWFscmVhZHktaW5jbHVkZWQge1xuICAkbXEtc2hvdy1icmVha3BvaW50czogKCk7XG59XG5cbkBpbXBvcnQgXCIuLi92ZW5kb3Ivc2Fzcy1tcVwiO1xuXG4kc2Fzcy1tcS1hbHJlYWR5LWluY2x1ZGVkOiB0cnVlO1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBIZWxwZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIE1lZGlhIFF1ZXJ5XG4vLy9cbi8vLyBUaGlzIGlzIGEgY3VycmVudGx5IGEgd3JhcHBlciBmb3Igc2Fzcy1tcSAtIGFic3RyYWN0ZWQgc28gdGhhdCB3ZSBjYW5cbi8vLyByZXBsYWNlIGl0IGluIHRoZSBmdXR1cmUgaWYgd2Ugc28gY2hvb3NlLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkZnJvbSBbZmFsc2VdIC0gT25lIG9mICRnb3Z1ay1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJHVudGlsIFtmYWxzZV0gLSBPbmUgb2YgJGdvdnVrLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIFtmYWxzZV0gLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lZGlhLXR5cGUgW2FsbF0gLSBNZWRpYSB0eXBlOiBzY3JlZW4sIHByaW504oCmXG4vLy9cbi8vLyBAaWdub3JlIFVuZG9jdW1lbnRlZCBtcSBBUEksIGZvciBhZHZhbmNlZCB1c2Ugb25seTpcbi8vLyBAaWdub3JlIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRnb3Z1ay1icmVha3BvaW50c11cbi8vLyBAaWdub3JlIEBwYXJhbSB7U3RyaW5nfSAkc3RhdGljLWJyZWFrcG9pbnQgWyRnb3Z1ay1pZTgtYnJlYWtwb2ludF1cbi8vLyBAaWdub3JlIEBwYXJhbSB7Qm9vbGVhbn0gJHJlc3BvbnNpdmUgWyRnb3Z1ay1pcy1pZThdXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC5lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogbW9iaWxlKSB7XG4vLy8gICAgICBjb2xvcjogcmVkO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGJsdWU7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KG1vYmlsZSwgdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogZ3JlZW47XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQsICRhbmQ6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknKSB7XG4vLy8gICAgICBjb2xvcjogdGVhbDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoOTUwcHgpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSh0YWJsZXQsICRtZWRpYS10eXBlOiBzY3JlZW4pIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLW1lZGlhLXF1ZXJ5KCRhcmdzLi4uKSB7XG4gIEBpbmNsdWRlIG1xKCRhcmdzLi4uKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH07XG59XG4iLCIvLyBtcSgpIHY0LjAuMlxuLy8gc2Fzcy1tcS9zYXNzLW1xXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AY2hhcnNldCBcIlVURi04XCI7IC8vIEZpeGVzIGFuIGlzc3VlIHdoZXJlIFJ1YnkgbG9jYWxlIGlzIG5vdCBzZXQgcHJvcGVybHlcbiAgICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL3B1bGwvMTBcblxuLy8vIEJhc2UgZm9udCBzaXplIG9uIHRoZSBgPGJvZHk+YCBlbGVtZW50XG4vLy8gQHR5cGUgTnVtYmVyICh1bml0KVxuJG1xLWJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLy8gUmVzcG9uc2l2ZSBtb2RlXG4vLy9cbi8vLyBTZXQgdG8gYGZhbHNlYCB0byBlbmFibGUgc3VwcG9ydCBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBAbWVkaWEgcXVlcmllcyxcbi8vLyAoSUUgPD0gOCwgRmlyZWZveCA8PSAzLCBPcGVyYSA8PSA5KVxuLy8vXG4vLy8gWW91IGNvdWxkIGNyZWF0ZSBhIHN0eWxlc2hlZXQgc2VydmVkIGV4Y2x1c2l2ZWx5IHRvIG9sZGVyIGJyb3dzZXJzLFxuLy8vIHdoZXJlIEBtZWRpYSBxdWVyaWVzIGFyZSByYXN0ZXJpemVkXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIG9sZC1pZS5zY3NzXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gJG1xLXN0YXRpYy1icmVha3BvaW50XG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9mZiBEaXNhYmxlZCByZXNwb25zaXZlIG1vZGUgZG9jdW1lbnRhdGlvblxuJG1xLXJlc3BvbnNpdmU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGxpc3Rcbi8vL1xuLy8vIE5hbWUgeW91ciBicmVha3BvaW50cyBpbiBhIHdheSB0aGF0IGNyZWF0ZXMgYSB1YmlxdWl0b3VzIGxhbmd1YWdlXG4vLy8gYWNyb3NzIHRlYW0gbWVtYmVycy4gSXQgd2lsbCBpbXByb3ZlIGNvbW11bmljYXRpb24gYmV0d2VlblxuLy8vIHN0YWtlaG9sZGVycywgZGVzaWduZXJzLCBkZXZlbG9wZXJzLCBhbmQgdGVzdGVycy5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLWJyZWFrcG9pbnRzOiAoXG4gICAgbW9iaWxlOiAgMzIwcHgsXG4gICAgdGFibGV0OiAgNzQwcHgsXG4gICAgZGVza3RvcDogOTgwcHgsXG4gICAgd2lkZTogICAgMTMwMHB4XG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGljIGJyZWFrcG9pbnQgKGZvciBmaXhlZC13aWR0aCBsYXlvdXRzKVxuLy8vXG4vLy8gRGVmaW5lIHRoZSBicmVha3BvaW50IGZyb20gJG1xLWJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkXG4vLy8gYmUgdXNlZCBhcyB0aGUgdGFyZ2V0IHdpZHRoIGZvciB0aGUgZml4ZWQtd2lkdGggbGF5b3V0XG4vLy8gKGkuZS4gd2hlbiAkbXEtcmVzcG9uc2l2ZSBpcyBzZXQgdG8gJ2ZhbHNlJykgaW4gYSBvbGQtaWUuc2Nzc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyB0YWJsZXQtb25seS5zY3NzXG4vLy8gIC8vXG4vLy8gIC8vIElnbm9yZSBhbGwgc3R5bGVzIGFib3ZlIHRhYmxldCBicmVha3BvaW50LFxuLy8vICAvLyBhbmQgZml4IHRoZSBzdHlsZXMgKGUuZy4gbGF5b3V0KSBhdCB0YWJsZXQgd2lkdGhcbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICAkbXEtc3RhdGljLWJyZWFrcG9pbnQ6IHRhYmxldDtcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gdGFibGV0XG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNhZGRpbmctY3VzdG9tLWJyZWFrcG9pbnRzIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1zdGF0aWMtYnJlYWtwb2ludDogZGVza3RvcCAhZGVmYXVsdDtcblxuLy8vIFNob3cgYnJlYWtwb2ludHMgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vL1xuLy8vIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgdGhlIGN1cnJlbnRseSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wXG4vLy8gcmlnaHQgY29ybmVyIG9mIHlvdXIgc2l0ZSBkdXJpbmcgZGV2ZWxvcG1lbnQsIGFkZCB0aGUgYnJlYWtwb2ludHNcbi8vLyB0byB0aGlzIGxpc3QsIG9yZGVyZWQgYnkgd2lkdGgsIGUuZy4gKG1vYmlsZSwgdGFibGV0LCBkZXNrdG9wKS5cbi8vL1xuLy8vIEB0eXBlIG1hcFxuJG1xLXNob3ctYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xuXG4vLy8gQ3VzdG9taXplIHRoZSBtZWRpYSB0eXBlIChlLmcuIGBAbWVkaWEgc2NyZWVuYCBvciBgQG1lZGlhIHByaW50YClcbi8vLyBCeSBkZWZhdWx0IHNhc3MtbXEgdXNlcyBhbiBcImFsbFwiIG1lZGlhIHR5cGUgKGBAbWVkaWEgYWxsIGFuZCDigKZgKVxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNjaGFuZ2luZy1tZWRpYS10eXBlIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1tZWRpYS10eXBlOiBhbGwgIWRlZmF1bHQ7XG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHggLSB2YWx1ZSB0byBjb252ZXJ0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlLWZvbnQtc2l6ZSAoJG1xLWJhc2UtZm9udC1zaXplKSAtIGA8Ym9keT5gIGZvbnQgc2l6ZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkZm9udC1zaXplLWluLWVtczogbXEtcHgyZW0oMTZweCk7XG4vLy8gIHAgeyBmb250LXNpemU6IG1xLXB4MmVtKDE2cHgpOyB9XG4vLy9cbi8vLyBAcmVxdWlyZXMgJG1xLWJhc2UtZm9udC1zaXplXG4vLy8gQHJldHVybnMge051bWJlcn1cbkBmdW5jdGlvbiBtcS1weDJlbSgkcHgsICRiYXNlLWZvbnQtc2l6ZTogJG1xLWJhc2UtZm9udC1zaXplKSB7XG4gICAgQGlmIHVuaXRsZXNzKCRweCkge1xuICAgICAgICBAd2FybiBcIkFzc3VtaW5nICN7JHB4fSB0byBiZSBpbiBwaXhlbHMsIGF0dGVtcHRpbmcgdG8gY29udmVydCBpdCBpbnRvIHBpeGVscy5cIjtcbiAgICAgICAgQHJldHVybiBtcS1weDJlbSgkcHggKiAxcHgsICRiYXNlLWZvbnQtc2l6ZSk7XG4gICAgfSBAZWxzZSBpZiB1bml0KCRweCkgPT0gZW0ge1xuICAgICAgICBAcmV0dXJuICRweDtcbiAgICB9XG4gICAgQHJldHVybiAoJHB4IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTtcbn1cblxuLy8vIEdldCBhIGJyZWFrcG9pbnQncyB3aWR0aFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludC4gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkdGFibGV0LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCh0YWJsZXQpO1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoZGVza3RvcCkpIHt9XG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFZhbHVlIGluIHBpeGVsc1xuQGZ1bmN0aW9uIG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSB7XG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQHdhcm4gXCJCcmVha3BvaW50ICN7JG5hbWV9IHdhc24ndCBmb3VuZCBpbiAkYnJlYWtwb2ludHMuXCI7XG4gICAgfVxufVxuXG4vLy8gTWVkaWEgUXVlcnkgbWl4aW5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGZyb20gKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICR1bnRpbCAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGFuZCAoZmFsc2UpIC0gQWRkaXRpb25hbCBtZWRpYSBxdWVyeSBwYXJhbWV0ZXJzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZWRpYS10eXBlICgkbXEtbWVkaWEtdHlwZSkgLSBNZWRpYSB0eXBlOiBzY3JlZW4sIHByaW504oCmXG4vLy9cbi8vLyBAaWdub3JlIFVuZG9jdW1lbnRlZCBBUEksIGZvciBhZHZhbmNlZCB1c2Ugb25seTpcbi8vLyBAaWdub3JlIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cylcbi8vLyBAaWdub3JlIEBwYXJhbSB7U3RyaW5nfSAkc3RhdGljLWJyZWFrcG9pbnQgKCRtcS1zdGF0aWMtYnJlYWtwb2ludClcbi8vL1xuLy8vIEBjb250ZW50IHN0eWxpbmcgcnVsZXMsIHdyYXBwZWQgaW50byBhIEBtZWRpYSBxdWVyeSB3aGVuICRyZXNwb25zaXZlIGlzIHRydWVcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1tZWRpYS10eXBlXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXN0YXRpYy1icmVha3BvaW50XG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtcHgyZW1cbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1nZXQtYnJlYWtwb2ludC13aWR0aFxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb24tZGVmYXVsdCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC5lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKSB7XG4vLy8gICAgICBjb2xvcjogcmVkO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGJsdWU7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKG1vYmlsZSwgdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogZ3JlZW47XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQsICRhbmQ6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknKSB7XG4vLy8gICAgICBjb2xvcjogdGVhbDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoOTUwcHgpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSh0YWJsZXQsICRtZWRpYS10eXBlOiBzY3JlZW4pIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICAvLyBBZHZhbmNlZCB1c2U6XG4vLy8gICAgJG15LWJyZWFrcG9pbnRzOiAoTDogOTAwcHgsIFhMOiAxMjAwcHgpO1xuLy8vICAgIEBpbmNsdWRlIG1xKEwsICRicmVha3BvaW50czogJG15LWJyZWFrcG9pbnRzLCAkc3RhdGljLWJyZWFrcG9pbnQ6IEwpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgfVxuQG1peGluIG1xKFxuICAgICRmcm9tOiBmYWxzZSxcbiAgICAkdW50aWw6IGZhbHNlLFxuICAgICRhbmQ6IGZhbHNlLFxuICAgICRtZWRpYS10eXBlOiAkbXEtbWVkaWEtdHlwZSxcbiAgICAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cyxcbiAgICAkcmVzcG9uc2l2ZTogJG1xLXJlc3BvbnNpdmUsXG4gICAgJHN0YXRpYy1icmVha3BvaW50OiAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbikge1xuICAgICRtaW4td2lkdGg6IDA7XG4gICAgJG1heC13aWR0aDogMDtcbiAgICAkbWVkaWEtcXVlcnk6ICcnO1xuXG4gICAgLy8gRnJvbTogdGhpcyBicmVha3BvaW50IChpbmNsdXNpdmUpXG4gICAgQGlmICRmcm9tIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJGZyb20pID09IG51bWJlciB7XG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbSgkZnJvbSk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJGZyb20sICRicmVha3BvaW50cykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW50aWw6IHRoYXQgYnJlYWtwb2ludCAoZXhjbHVzaXZlKVxuICAgIEBpZiAkdW50aWwge1xuICAgICAgICBAaWYgdHlwZS1vZigkdW50aWwpID09IG51bWJlciB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbSgkdW50aWwpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCR1bnRpbCwgJGJyZWFrcG9pbnRzKSkgLSAuMDFlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBkaXNhYmxlZCwgcmFzdGVyaXplIHRoZSBvdXRwdXQgb3V0c2lkZSBAbWVkaWEgYmxvY2tzXG4gICAgLy8gVGhlIGJyb3dzZXIgd2lsbCByZWx5IG9uIHRoZSBjYXNjYWRlIGl0c2VsZi5cbiAgICBAaWYgJHJlc3BvbnNpdmUgPT0gZmFsc2Uge1xuICAgICAgICAkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzdGF0aWMtYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgJHRhcmdldC13aWR0aDogbXEtcHgyZW0oJHN0YXRpYy1icmVha3BvaW50LXdpZHRoKTtcblxuICAgICAgICAvLyBPdXRwdXQgb25seSBydWxlcyB0aGF0IHN0YXJ0IGF0IG9yIHNwYW4gb3VyIHRhcmdldCB3aWR0aFxuICAgICAgICBAaWYgKFxuICAgICAgICAgICAgJGFuZCA9PSBmYWxzZVxuICAgICAgICAgICAgYW5kICRtaW4td2lkdGggPD0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgYW5kIChcbiAgICAgICAgICAgICAgICAkdW50aWwgPT0gZmFsc2Ugb3IgJG1heC13aWR0aCA+PSAkdGFyZ2V0LXdpZHRoXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBhbmQgJG1lZGlhLXR5cGUgIT0gJ3ByaW50J1xuICAgICAgICApIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGVuYWJsZWQsIG91dHB1dCBydWxlcyBpbnNpZGUgQG1lZGlhIHF1ZXJpZXNcbiAgICBAZWxzZSB7XG4gICAgICAgIEBpZiAkbWluLXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRhbmQgICAgICAgICAgICB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgI3skYW5kfSc7IH1cblxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcbiAgICAgICAgQGlmICgkbWVkaWEtdHlwZSA9PSAnYWxsJyBhbmQgJG1lZGlhLXF1ZXJ5ICE9ICcnKSB7XG4gICAgICAgICAgICAkbWVkaWEtdHlwZTogJyc7XG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0ci1zbGljZSh1bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gUXVpY2sgc29ydFxuLy8vXG4vLy8gQGF1dGhvciBTYW0gUmljaGFyZHNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzb3J0XG4vLy8gQHJldHVybnMge0xpc3R9IFNvcnRlZCBMaXN0XG5AZnVuY3Rpb24gX21xLXF1aWNrLXNvcnQoJGxpc3QpIHtcbiAgICAkbGVzczogICgpO1xuICAgICRlcXVhbDogKCk7XG4gICAgJGxhcmdlOiAoKTtcblxuICAgIEBpZiBsZW5ndGgoJGxpc3QpID4gMSB7XG4gICAgICAgICRzZWVkOiBudGgoJGxpc3QsIGNlaWwobGVuZ3RoKCRsaXN0KSAvIDIpKTtcblxuICAgICAgICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgICAgICAgICBAaWYgKCRpdGVtID09ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGVxdWFsOiBhcHBlbmQoJGVxdWFsLCAkaXRlbSk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA8ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGxlc3M6IGFwcGVuZCgkbGVzcywgJGl0ZW0pO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPiAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRsYXJnZTogYXBwZW5kKCRsYXJnZSwgJGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQHJldHVybiBqb2luKGpvaW4oX21xLXF1aWNrLXNvcnQoJGxlc3MpLCAkZXF1YWwpLCBfbXEtcXVpY2stc29ydCgkbGFyZ2UpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gU29ydCBhIG1hcCBieSB2YWx1ZXMgKHdvcmtzIHdpdGggbnVtYmVycyBvbmx5KVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtNYXB9IE1hcCBzb3J0ZWQgYnkgdmFsdWVcbkBmdW5jdGlvbiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1hcCkge1xuICAgICRtYXAtc29ydGVkOiAoKTtcbiAgICAkbWFwLWtleXM6IG1hcC1rZXlzKCRtYXApO1xuICAgICRtYXAtdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAgICRtYXAtdmFsdWVzLXNvcnRlZDogX21xLXF1aWNrLXNvcnQoJG1hcC12YWx1ZXMpO1xuXG4gICAgLy8gUmVvcmRlciBrZXkvdmFsdWUgcGFpcnMgYmFzZWQgb24ga2V5IHZhbHVlc1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkbWFwLXZhbHVlcy1zb3J0ZWQge1xuICAgICAgICAkaW5kZXg6IGluZGV4KCRtYXAtdmFsdWVzLCAkdmFsdWUpO1xuICAgICAgICAka2V5OiBudGgoJG1hcC1rZXlzLCAkaW5kZXgpO1xuICAgICAgICAkbWFwLXNvcnRlZDogbWFwLW1lcmdlKCRtYXAtc29ydGVkLCAoJGtleTogJHZhbHVlKSk7XG5cbiAgICAgICAgLy8gVW5zZXQgdGhlIHZhbHVlIGluICRtYXAtdmFsdWVzIHRvIHByZXZlbnQgdGhlIGxvb3BcbiAgICAgICAgLy8gZnJvbSBmaW5kaW5nIHRoZSBzYW1lIGluZGV4IHR3aWNlXG4gICAgICAgICRtYXAtdmFsdWVzOiBzZXQtbnRoKCRtYXAtdmFsdWVzLCAkaW5kZXgsIDApO1xuICAgIH1cblxuICAgIEByZXR1cm4gJG1hcC1zb3J0ZWQ7XG59XG5cbi8vLyBBZGQgYSBicmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBicmVha3BvaW50XG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgQGluY2x1ZGUgbXEtYWRkLWJyZWFrcG9pbnQodHZzY3JlZW4sIDE5MjBweCk7XG4vLy8gIEBpbmNsdWRlIG1xKHR2c2NyZWVuKSB7fVxuQG1peGluIG1xLWFkZC1icmVha3BvaW50KCRuYW1lLCAkd2lkdGgpIHtcbiAgICAkbmV3LWJyZWFrcG9pbnQ6ICgkbmFtZTogJHdpZHRoKTtcbiAgICAkbXEtYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkbXEtYnJlYWtwb2ludHMsICRuZXctYnJlYWtwb2ludCkgIWdsb2JhbDtcbiAgICAkbXEtYnJlYWtwb2ludHM6IF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbXEtYnJlYWtwb2ludHMpICFnbG9iYWw7XG59XG5cbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzICgkbXEtc2hvdy1icmVha3BvaW50cykgLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zaG93LWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG4vLy9cbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cygoTCwgWEwpLCAoUzogMzAwcHgsIEw6IDgwMHB4LCBYTDogMTIwMHB4KSk7XG5AbWl4aW4gbXEtc2hvdy1icmVha3BvaW50cygkc2hvdy1icmVha3BvaW50czogJG1xLXNob3ctYnJlYWtwb2ludHMsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgYm9keTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGOEUzO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBjb2xvcjogI0MwOTg1MztcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgYnJlYWtwb2ludHMgdGhhdCBzaG91bGQgYmUgc2hvd25cbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgbGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG59XG5cbi8vIHNhc3MtbGludDplbmFibGUtYWxsXG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgaGVpZ2h0IG9mIGFuIGVxdWlsYXRlcmFsIHRyaWFuZ2xlXG4vLy9cbi8vLyBNdWx0aXBseWluZyBoYWxmIHRoZSBsZW5ndGggb2YgdGhlIGJhc2Ugb2YgYW4gZXF1aWxhdGVyYWwgdHJpYW5nbGUgYnkgdGhlXG4vLy8gc3F1YXJlIHJvb3Qgb2YgdGhyZWUgZ2l2ZXMgdXMgaXRzIGhlaWdodC4gV2UgdXNlIDEuNzMyIGFzIGFuIGFwcHJveGltYXRpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBMZW5ndGggb2YgdGhlIGJhc2Ugb2YgdGhlIHRyaWFuZ2xlXG4vLy8gQHJldHVybiB7TnVtYmVyfSBDYWxjdWxhdGVkIGhlaWdodCBvZiB0aGUgdHJpYW5nbGVcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9nb3Z1ay1lcXVpbGF0ZXJhbC1oZWlnaHQoJGJhc2UpIHtcbiAgJHNxdWFyZS1yb290LW9mLXRocmVlOiAxLjczMjtcblxuICBAcmV0dXJuICgkYmFzZSAvIDIpICogJHNxdWFyZS1yb290LW9mLXRocmVlO1xufVxuXG4vLy8gQXJyb3cgbWl4aW5cbi8vL1xuLy8vIEdlbmVyYXRlIEFycm93cyAodHJpYW5nbGVzKSBieSB1c2luZyBhIG1peCBvZiB0cmFuc3BhcmVudCAoMSkgYW5kIGNvbG91cmVkXG4vLy8gYm9yZGVycy4gVGhlIGNvbG91cmVkIGJvcmRlcnMgaW5oZXJpdCB0aGUgdGV4dCBjb2xvdXIgb2YgdGhlIGVsZW1lbnQgKDIpLlxuLy8vXG4vLy8gRW5zdXJlIHRoZSBhcnJvdyBpcyByZW5kZXJlZCBjb3JyZWN0bHkgaWYgYnJvd3NlciBjb2xvdXJzIGFyZSBvdmVycmlkZGVuIGJ5XG4vLy8gcHJvdmlkaW5nIGEgY2xpcCBwYXRoICgzKS4gV2l0aG91dCB0aGlzIHRoZSB0cmFuc3BhcmVudCBib3JkZXJzIGFyZVxuLy8vIG92ZXJyaWRkZW4gdG8gYmVjb21lIHZpc2libGUgd2hpY2ggcmVzdWx0cyBpbiBhIHNxdWFyZS5cbi8vL1xuLy8vIFdlIG5lZWQgYm90aCBiZWNhdXNlIG9sZGVyIGJyb3dzZXJzIGRvIG5vdCBzdXBwb3J0IGNsaXAtcGF0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIC0gRGlyZWN0aW9uIGZvciBhcnJvdzogdXAsIHJpZ2h0LCBkb3duLCBsZWZ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIExlbmd0aCBvZiB0aGUgdHJpYW5nbGUgJ2Jhc2UnIHNpZGVcbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbbnVsbF0gLSBIZWlnaHQgb2YgdHJpYW5nbGUuIE9taXQgZm9yIGVxdWlsYXRlcmFsLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbYmxvY2tdIC0gQ1NTIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGFycm93XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbiwgJGJhc2UsICRoZWlnaHQ6IG51bGwsICRkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcblxuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIDFcblxuICAkcGVycGVuZGljdWxhcjogJGJhc2UgLyAyO1xuXG4gIEBpZiAoJGhlaWdodCA9PSBudWxsKSB7XG4gICAgJGhlaWdodDogX2dvdnVrLWVxdWlsYXRlcmFsLWhlaWdodCgkYmFzZSk7XG4gIH1cblxuICBAaWYgJGRpcmVjdGlvbiA9PSBcInVwXCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAwJSwgMCUgMTAwJSwgMTAwJSAxMDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogMCAkcGVycGVuZGljdWxhciAkaGVpZ2h0ICRwZXJwZW5kaWN1bGFyO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIiB7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDEwMCUgNTAlLCAwJSAxMDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSA1MCUsIDAlIDEwMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6ICRwZXJwZW5kaWN1bGFyIDAgJHBlcnBlbmRpY3VsYXIgJGhlaWdodDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duXCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCA1MCUgMTAwJSwgMTAwJSAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDUwJSAxMDAlLCAxMDAlIDAlKTsgLy8gM1xuXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICRwZXJwZW5kaWN1bGFyIDAgJHBlcnBlbmRpY3VsYXI7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJsZWZ0XCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDUwJSwgMTAwJSAxMDAlLCAxMDAlIDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSA1MCUsIDEwMCUgMTAwJSwgMTAwJSAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogJHBlcnBlbmRpY3VsYXIgJGhlaWdodCAkcGVycGVuZGljdWxhciAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIGFycm93IGRpcmVjdGlvbjogZXhwZWN0ZWQgYHVwYCwgYHJpZ2h0YCwgYGRvd25gIG9yIGBsZWZ0YCwgZ290IGAjeyRkaXJlY3Rpb259YFwiO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIFNpbmdsZSBwb2ludCBzcGFjaW5nXG4vLy9cbi8vLyBSZXR1cm5zIG1lYXN1cmVtZW50IGNvcnJlc3BvbmRpbmcgdG8gdGhlIHNwYWNpbmcgcG9pbnQgcmVxdWVzdGVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHNwYWNpbmcgc2NhbGUgKHNldCBpbiBgc2V0dGluZ3MvX3NwYWNpbmcuc2Njc2ApXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBTcGFjaW5nIE1lYXN1cmVtZW50IGVnLiAxMHB4XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNSk7XG4vLy8gICAgIHRvcDogZ292dWstc3BhY2luZygyKSAhaW1wb3J0YW50OyAvLyBpZiBgIWltcG9ydGFudGAgaXMgcmVxdWlyZWRcbi8vLyAgIH1cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstc3BhY2luZygkc3BhY2luZy1wb2ludCkge1xuXG4gICRhY3R1YWwtaW5wdXQtdHlwZTogdHlwZS1vZigkc3BhY2luZy1wb2ludCk7XG4gIEBpZiAkYWN0dWFsLWlucHV0LXR5cGUgIT0gXCJudW1iZXJcIiB7XG4gICAgQGVycm9yIFwiRXhwZWN0ZWQgYSBudW1iZXIgKGludGVnZXIpLCBidXQgZ290IGEgXCJcbiAgICArIFwiI3skYWN0dWFsLWlucHV0LXR5cGV9LlwiO1xuICB9XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkZ292dWstc3BhY2luZy1wb2ludHMsICRzcGFjaW5nLXBvaW50KSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBzcGFjaW5nIHZhcmlhYmxlIGAjeyRzcGFjaW5nLXBvaW50fWAuIE1ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIGEgcG9pbnQgZnJvbSB0aGUgc3BhY2luZyBzY2FsZSBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2AuXCI7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1nZXQoJGdvdnVrLXNwYWNpbmctcG9pbnRzLCAkc3BhY2luZy1wb2ludCk7XG59XG5cbi8vLyBSZXNwb25zaXZlIHNwYWNpbmdcbi8vL1xuLy8vIEFkZHMgcmVzcG9uc2l2ZSBzcGFjaW5nIChlaXRoZXIgcGFkZGluZyBvciBtYXJnaW4sIGRlcGVuZGluZyBvbiBgJHByb3BlcnR5YClcbi8vLyBieSBmZXRjaGluZyBhICdzcGFjaW5nIG1hcCcgZnJvbSB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nIHNjYWxlLCB3aGljaCBkZWZpbmVzXG4vLy8gZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudCBicmVha3BvaW50cy5cbi8vL1xuLy8vIFRvIGdlbmVyYXRlIHJlc3BvbnNpdmUgc3BhY2luZywgdXNlICdnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbicgb3Jcbi8vLyAnZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nJyBtaXhpbnNcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vICAgc2NhbGUsIGNvcnJlc3BvbmRzIHRvIGEgbWFwIG9mIGJyZWFrcG9pbnRzIGFuZCBzcGFjaW5nIHZhbHVlc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBQcm9wZXJ0eSB0byBhZGQgc3BhY2luZyB0byAoZS5nLiAnbWFyZ2luJylcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbYWxsXSAtIERpcmVjdGlvbiB0byBhZGQgc3BhY2luZyB0b1xuLy8vICAgKGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgYGxlZnRgLCBgYWxsYClcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJGFkanVzdG1lbnQgW2ZhbHNlXSAtIE9mZnNldCB0byBhZGp1c3Qgc3BhY2luZyBieVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBtaXhpbiBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsICRwcm9wZXJ0eSwgJGRpcmVjdGlvbjogXCJhbGxcIiwgJGltcG9ydGFudDogZmFsc2UsICRhZGp1c3RtZW50OiBmYWxzZSkge1xuXG4gICRhY3R1YWwtaW5wdXQtdHlwZTogdHlwZS1vZigkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50KTtcbiAgQGlmICRhY3R1YWwtaW5wdXQtdHlwZSAhPSBcIm51bWJlclwiIHtcbiAgICBAZXJyb3IgXCJFeHBlY3RlZCBhIG51bWJlciAoaW50ZWdlciksIGJ1dCBnb3QgYSBcIiArIFwiI3skYWN0dWFsLWlucHV0LXR5cGV9LlwiO1xuICB9XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlLCAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50KSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBzcGFjaW5nIHBvaW50IGAjeyRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnR9YC4gTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgYSBwb2ludCBmcm9tIHRoZSBcIlxuICAgICsgXCJyZXNwb25zaXZlIHNwYWNpbmcgc2NhbGUgaW4gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgLlwiO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIHJldHVybiB2YWx1ZSBmcm9tIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYCBpcyBhIG1hcC5cbiAgJHNjYWxlLW1hcDogbWFwLWdldCgkZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlLCAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50KTtcbiAgJGFjdHVhbC1tYXAtdHlwZTogdHlwZS1vZigkc2NhbGUtbWFwKTtcbiAgQGlmICRhY3R1YWwtbWFwLXR5cGUgIT0gXCJtYXBcIiB7XG4gICAgQGVycm9yIFwiRXhwZWN0ZWQgYSBudW1iZXIgKGludGVnZXIpLCBidXQgZ290IGEgXCJcbiAgICArIFwiI3skYWN0dWFsLW1hcC10eXBlfS4gTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgYSBtYXAgdG8gc2V0IHRoZSByZXNwb25zaXZlIHNwYWNpbmcgaW4gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgKVwiO1xuICB9XG5cbiAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBlYWNoICRicmVha3BvaW50LCAkYnJlYWtwb2ludC12YWx1ZSBpbiAkc2NhbGUtbWFwIHtcblxuICAgIEBpZiAoJGFkanVzdG1lbnQpIHtcbiAgICAgICRicmVha3BvaW50LXZhbHVlOiAkYnJlYWtwb2ludC12YWx1ZSArICRhZGp1c3RtZW50O1xuICAgIH1cblxuICAgIC8vIFRoZSAnbnVsbCcgYnJlYWtwb2ludCBpcyBmb3IgbW9iaWxlLlxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIHtcblxuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gYWxsIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkYnJlYWtwb2ludC12YWx1ZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn06ICRicmVha3BvaW50LXZhbHVlIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiAkYnJlYWtwb2ludCkge1xuICAgICAgICBAaWYgJGRpcmVjdGlvbiA9PSBhbGwge1xuICAgICAgICAgICN7JHByb3BlcnR5fTogJGJyZWFrcG9pbnQtdmFsdWUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAjeyRwcm9wZXJ0eX0tI3skZGlyZWN0aW9ufTogJGJyZWFrcG9pbnQtdmFsdWUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZXNwb25zaXZlIG1hcmdpblxuLy8vXG4vLy8gQWRkcyByZXNwb25zaXZlIG1hcmdpbiBieSBmZXRjaGluZyBhICdzcGFjaW5nIG1hcCcgZnJvbSB0aGUgcmVzcG9uc2l2ZVxuLy8vIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXMgZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudFxuLy8vIGJyZWFrcG9pbnRzLiBXcmFwcGVyIGZvciB0aGUgYF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdgIG1peGluLlxuLy8vXG4vLy8gQHNlZSB7bWl4aW59IF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vIHNjYWxlLCBjb3JyZXNwb25kcyB0byBhIG1hcCBvZiBicmVha3BvaW50cyBhbmQgc3BhY2luZyB2YWx1ZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbYWxsXSAtIERpcmVjdGlvbiB0byBhZGQgc3BhY2luZyB0b1xuLy8vICAgKGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgYGxlZnRgLCBgYWxsYClcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJGFkanVzdG1lbnQgW2ZhbHNlXSAtIE9mZnNldCB0byBhZGp1c3Qgc3BhY2luZyBieVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJsZWZ0XCIsICRhZGp1c3RtZW50OiAxcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsICRkaXJlY3Rpb246IFwiYWxsXCIsICRpbXBvcnRhbnQ6IGZhbHNlLCAkYWRqdXN0bWVudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCBcIm1hcmdpblwiLCAkZGlyZWN0aW9uLCAkaW1wb3J0YW50LCAkYWRqdXN0bWVudCk7XG59XG5cbi8vLyBSZXNwb25zaXZlIHBhZGRpbmdcbi8vL1xuLy8vIEFkZHMgcmVzcG9uc2l2ZSBwYWRkaW5nIGJ5IGZldGNoaW5nIGEgJ3NwYWNpbmcgbWFwJyBmcm9tIHRoZSByZXNwb25zaXZlXG4vLy8gc3BhY2luZyBzY2FsZSwgd2hpY2ggZGVmaW5lcyBkaWZmZXJlbnQgc3BhY2luZyB2YWx1ZXMgYXQgZGlmZmVyZW50XG4vLy8gYnJlYWtwb2ludHMuIFdyYXBwZXIgZm9yIHRoZSBgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZ2AgbWl4aW4uXG4vLy9cbi8vLyBAc2VlIHttaXhpbn0gX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZ1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nXG4vLy8gICBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gW2FsbF0gLSBEaXJlY3Rpb24gdG8gYWRkIHNwYWNpbmcgdG9cbi8vLyAgIChgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIGBsZWZ0YCwgYGFsbGApXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhZGp1c3RtZW50IFtmYWxzZV0gLSBPZmZzZXQgdG8gYWRqdXN0IHNwYWNpbmdcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg2LCBcImxlZnRcIiwgJGFkanVzdG1lbnQ6IDFweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5cbkBtaXhpbiBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgJGRpcmVjdGlvbjogXCJhbGxcIiwgJGltcG9ydGFudDogZmFsc2UsICRhZGp1c3RtZW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsIFwicGFkZGluZ1wiLCAkZGlyZWN0aW9uLCAkaW1wb3J0YW50LCAkYWRqdXN0bWVudCk7XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuQGltcG9ydCBcIi4uL3Rvb2xzL3B4LXRvLXJlbVwiO1xuXG4vLy8gJ0NvbW1vbiB0eXBvZ3JhcGh5JyBoZWxwZXJcbi8vL1xuLy8vIFNldHMgdGhlIGZvbnQgZmFtaWx5IGFuZCBhc3NvY2lhdGVkIHByb3BlcnRpZXMsIHN1Y2ggYXMgZm9udCBzbW9vdGhpbmcuIEFsc29cbi8vLyBvdmVycmlkZXMgdGhlIGZvbnQgZm9yIHByaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkZm9udC1mYW1pbHkgWyRnb3Z1ay1mb250LWZhbWlseV0gRm9udCBmYW1pbHkgdG8gdXNlXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uKCRmb250LWZhbWlseTogJGdvdnVrLWZvbnQtZmFtaWx5KSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG4gIC8vIElmIHVzaW5nIE5UQSwgaW5jbHVkZSB0aGUgZm9udC1mYWNlIGRlZmluaXRpb25cbiAgQGlmICgkZ292dWstZm9udC1mYW1pbHkgPT0gJGdvdnVrLWZvbnQtZmFtaWx5LW50YSkge1xuICAgIEBpbmNsdWRlIF9nb3Z1ay1mb250LWZhY2UtbnRhO1xuICB9XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgZm9udC1mYW1pbHk6ICRnb3Z1ay1mb250LWZhbWlseS1wcmludDtcbiAgfVxufVxuXG4vLy8gVGV4dCBjb2xvdXIgaGVscGVyXG4vLy9cbi8vLyBTZXRzIHRoZSB0ZXh0IGNvbG91ciwgaW5jbHVkaW5nIGEgc3VpdGFibGUgb3ZlcnJpZGUgZm9yIHByaW50LlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXRleHQtY29sb3VyIHtcbiAgY29sb3I6ICRnb3Z1ay10ZXh0LWNvbG91cjtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICBjb2xvcjogJGdvdnVrLXByaW50LXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBSZWd1bGFyIGZvbnQgd2VpZ2h0IGhlbHBlclxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuIEdlbmVyYWxseSBVc2VkIHRvIGNyZWF0ZSBvdmVycmlkZSBjbGFzc2VzLlxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1yZWd1bGFyKCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIGZvbnQtd2VpZ2h0OiAkZ292dWstZm9udC13ZWlnaHQtcmVndWxhciBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG59XG5cbi8vLyBCb2xkIGZvbnQgd2VpZ2h0IGhlbHBlclxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuIEdlbmVyYWxseSBVc2VkIHRvIGNyZWF0ZSBvdmVycmlkZSBjbGFzc2VzLlxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkKCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIGZvbnQtd2VpZ2h0OiAkZ292dWstZm9udC13ZWlnaHQtYm9sZCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG59XG5cbi8vLyBDb252ZXJ0IGxpbmUtaGVpZ2h0cyBzcGVjaWZpZWQgaW4gcGl4ZWxzIGludG8gYSByZWxhdGl2ZSB2YWx1ZSwgdW5sZXNzXG4vLy8gdGhleSBhcmUgYWxyZWFkeSB1bml0LWxlc3MgKGFuZCB0aHVzIGFscmVhZHkgdHJlYXRlZCBhcyByZWxhdGl2ZSB2YWx1ZXMpXG4vLy8gb3IgdGhlIHVuaXRzIGRvIG5vdCBtYXRjaCB0aGUgdW5pdHMgdXNlZCBmb3IgdGhlIGZvbnQgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGluZS1oZWlnaHQgTGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBGb250IHNpemVcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBsaW5lIGhlaWdodCBhcyBlaXRoZXIgYSByZWxhdGl2ZSB2YWx1ZSBvciB1bm1vZGlmaWVkXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiBfZ292dWstbGluZS1oZWlnaHQoJGxpbmUtaGVpZ2h0LCAkZm9udC1zaXplKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJGxpbmUtaGVpZ2h0KSBhbmQgdW5pdCgkbGluZS1oZWlnaHQpID09IHVuaXQoJGZvbnQtc2l6ZSkge1xuICAgICRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0IC8gJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIEByZXR1cm4gJGxpbmUtaGVpZ2h0O1xufVxuXG4vLy8gUmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IGhlbHBlclxuLy8vXG4vLy8gVGFrZXMgYSAnZm9udCBtYXAnIGFzIGFuIGFyZ3VtZW50IGFuZCB1c2VzIGl0IHRvIGNyZWF0ZSBmb250LXNpemUgYW5kXG4vLy8gbGluZS1oZWlnaHQgZGVjbGFyYXRpb25zIGZvciBkaWZmZXJlbnQgYnJlYWtwb2ludHMsIGFuZCBmb3IgcHJpbnQuXG4vLy9cbi8vLyBFeGFtcGxlIGZvbnQgbWFwOlxuLy8vXG4vLy8gJG15LWZvbnQtbWFwOiAoXG4vLy8gICBudWxsOiAoXG4vLy8gICAgIGZvbnQtc2l6ZTogMTZweCxcbi8vLyAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbi8vLyAgICksXG4vLy8gICB0YWJsZXQ6IChcbi8vLyAgICAgZm9udC1zaXplOiAxOXB4LFxuLy8vICAgICBsaW5lLWhlaWdodDogMjVweFxuLy8vICAgKSxcbi8vLyAgIHByaW50OiAoXG4vLy8gICAgIGZvbnQtc2l6ZTogMTRwdCxcbi8vLyAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbi8vLyAgIClcbi8vLyApO1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRmb250LW1hcCAtIEZvbnQgbWFwXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvdmVycmlkZS1saW5lLWhlaWdodCBbZmFsc2VdIC0gTm9uIHJlc3BvbnNpdmUgY3VzdG9tIGxpbmVcbi8vLyAgIGhlaWdodC4gT21pdCB0byB1c2UgdGhlIGxpbmUgaGVpZ2h0IGZyb20gdGhlIGZvbnQgbWFwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGRlY2xhcmF0aW9ucyBhc1xuLy8vICAgYCFpbXBvcnRhbnRgLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZSwgJG92ZXJyaWRlLWxpbmUtaGVpZ2h0OiBmYWxzZSwgJGltcG9ydGFudDogZmFsc2UpIHtcblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlLCAkc2l6ZSkge1xuICAgIEBlcnJvciBcIlVua25vd24gZm9udCBzaXplIGAjeyRzaXplfWAgLSBleHBlY3RlZCBhIHBvaW50IGZyb20gdGhlIHR5cG9ncmFwaHkgc2NhbGUuXCI7XG4gIH1cblxuICAkZm9udC1tYXA6IG1hcC1nZXQoJGdvdnVrLXR5cG9ncmFwaHktc2NhbGUsICRzaXplKTtcblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnQtbWFwIGluICRmb250LW1hcCB7XG4gICAgJGZvbnQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludC1tYXAsIFwiZm9udC1zaXplXCIpO1xuICAgICRmb250LXNpemUtcmVtOiBnb3Z1ay1weC10by1yZW0oJGZvbnQtc2l6ZSk7XG5cbiAgICAkbGluZS1oZWlnaHQ6IF9nb3Z1ay1saW5lLWhlaWdodChcbiAgICAgICRsaW5lLWhlaWdodDogaWYoJG92ZXJyaWRlLWxpbmUtaGVpZ2h0LFxuICAgICAgICAkb3ZlcnJpZGUtbGluZS1oZWlnaHQsXG4gICAgICAgIG1hcC1nZXQoJGJyZWFrcG9pbnQtbWFwLCBcImxpbmUtaGVpZ2h0XCIpXG4gICAgICApLFxuICAgICAgJGZvbnQtc2l6ZTogJGZvbnQtc2l6ZVxuICAgICk7XG5cbiAgICAvLyBNYXJrIHJ1bGVzIGFzICFpbXBvcnRhbnQgaWYgJGltcG9ydGFudCBpcyB0cnVlIC0gdGhpcyB3aWxsIHJlc3VsdCBpblxuICAgIC8vIHRoZXNlIHZhcmlhYmxlcyBiZWNvbWluZyBzdHJpbmdzLCBzbyB0aGlzIG5lZWRzIHRvIGhhcHBlbiAqYWZ0ZXIqIHRoZXlcbiAgICAvLyBhcmUgdXNlZCBpbiBjYWxjdWxhdGlvbnNcbiAgICAkZm9udC1zaXplOiAkZm9udC1zaXplIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAkZm9udC1zaXplLXJlbTogJGZvbnQtc2l6ZS1yZW0gaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0IGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTsgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICAgIEBpZiAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXJlbTsgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICAgIH1cbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfSBAZWxzZWlmICRicmVha3BvaW50ID09IFwicHJpbnRcIiB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206ICRicmVha3BvaW50KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTsgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICAgICAgQGlmICRnb3Z1ay10eXBvZ3JhcGh5LXVzZS1yZW0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1yZW07IC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gICAgICAgIH1cbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEZvbnQgaGVscGVyXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBTaXplIG9mIHRoZSBmb250IGFzIGl0IHdvdWxkIGFwcGVhciBvbiBkZXNrdG9wIC1cbi8vLyAgIHVzZXMgdGhlIHJlc3BvbnNpdmUgZm9udCBzaXplIG1hcFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd2VpZ2h0IFtyZWd1bGFyXSAtIFdlaWdodDogYGJvbGRgIG9yIGByZWd1bGFyYFxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHRhYnVsYXIgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gdXNlIHRhYnVsYXIgbnVtYmVycyBvciBub3Rcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxpbmUtaGVpZ2h0IFtmYWxzZV0gLSBMaW5lLWhlaWdodCwgaWYgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdFxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWZvbnQoJHNpemUsICR3ZWlnaHQ6IHJlZ3VsYXIsICR0YWJ1bGFyOiBmYWxzZSwgJGxpbmUtaGVpZ2h0OiBmYWxzZSkge1xuICBAaWYgJHRhYnVsYXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uKCRmb250LWZhbWlseTogJGdvdnVrLWZvbnQtZmFtaWx5LXRhYnVsYXIpO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbjtcbiAgfVxuXG4gIEBpZiAkd2VpZ2h0ID09IHJlZ3VsYXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LXJlZ3VsYXI7XG4gIH0gQGVsc2UgaWYgJHdlaWdodCA9PSBib2xkIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICB9XG5cbiAgQGlmICRzaXplIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemUsICRvdmVycmlkZS1saW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0KTtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4vLy8gICAtIEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5LCBKb25hdGhhbiBTbm9vaywgRmVicnVhcnkgMjAxMVxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvOWYxMzY5NWQyMWZmOTJjNTVjNzhkZmE5ZjE2YmIwMmExYjZlOTExZi9zcmMvY3NzL21haW4uY3NzI0wxMjEtTDE1OFxuLy8vICAgLSBoNWJwL2h0bWw1LWJvaWxlcnBsYXRlIC0gVGhhbmtzIVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXZpc3VhbGx5LWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICAgICAgICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcblxuICBib3JkZXI6IDA7XG5cbiAgLy8gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAgLy8gY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gIC8vIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVycyB3aGlsc3Rcbi8vLyBhbGxvd2luZyB0aGUgZWxlbWVudCB0byBiZSBmb2N1c2VkIHdoZW4gbmF2aWdhdGVkIHRvIHZpYSB0aGUga2V5Ym9hcmQgKGUuZy5cbi8vLyBmb3IgdGhlIHNraXAgbGluaylcbi8vL1xuLy8vIFRoaXMgaXMgc2xpZ2h0bHkgbGVzcyBvcGluaW9uYXRlZCBhYm91dCBib3JkZXJzIGFuZCBwYWRkaW5nIHRvIG1ha2UgaXRcbi8vLyBlYXNpZXIgdG8gc3R5bGUgdGhlIGZvY3Vzc2VkIGVsZW1lbnQuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICAgICAgICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcblxuICAvLyBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICAvLyBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAgLy8gaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuXG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogaW5oZXJpdDtcblxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IG5vbmU7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IG5vbmU7XG5cbiAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgfVxufVxuIiwiQGltcG9ydCBcImxpbmtzXCI7XG5AaW1wb3J0IFwibGlzdHNcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZVwiO1xuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJzZWN0aW9uLWJyZWFrXCI7XG5AaW1wb3J0IFwiZ2xvYmFsLXN0eWxlc1wiO1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvbGlua3NcIikge1xuXG4gICVnb3Z1ay1saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1wcmludC1mcmllbmRseTtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xuICB9XG5cbiAgLy8gVmFyaWFudCBjbGFzc2VzIHNob3VsZCBhbHdheXMgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAuZ292dWstbGlua1xuICAvLyBjbGFzcywgc28gd2UgZG8gbm90IG5lZWQgdGhlIGNvbW1vbiBsaW5rIHN0eWxlcyBhcyB0aGV5IHdpbGwgYmUgaW5oZXJpdGVkLlxuXG4gIC5nb3Z1ay1saW5rLS1tdXRlZCB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1tdXRlZDtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rLS10ZXh0LWNvbG91ciB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICB9XG5cbiAgLy8gJ05vIHZpc2l0ZWQgc3RhdGUnIGxpbmsgbWl4aW5cbiAgLy9cbiAgLy8gVXNlZCBpbiBjYXNlcyB3aGVyZSBpdCBpcyBub3QgaGVscGZ1bCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHZpc2l0ZWQgYW5kXG4gIC8vIG5vbi12aXNpdGVkIGxpbmtzLlxuICAvL1xuICAvLyBGb3IgZXhhbXBsZSwgbmF2aWdhdGlvbiBsaW5rcyB0byBwYWdlcyB3aXRoIGR5bmFtaWMgY29udGVudCBsaWtlIGFkbWluXG4gIC8vIGRhc2hib2FyZHMuIFRoZSBjb250ZW50IG9uIHRoZSBwYWdlIGlzIGNoYW5naW5nIGFsbCB0aGUgdGltZSwgc28gdGhlIGZhY3RcbiAgLy8gdGhhdCB5b3XigJl2ZSB2aXNpdGVkIGl0IGJlZm9yZSBpcyBub3QgaW1wb3J0YW50LlxuICAvL1xuICAvLyBUaGlzIGlzIG5vdCBhYnN0cmFjdGVkIGFzIGEgbWl4aW4gYmVjYXVzZSBpdCBkb2VzIG5vdCBwcm92aWRlIHN0YXRlcyBmb3JcbiAgLy8gYWxsIHBzZXVkby1zZWxlY3RvcnMgc28gaXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byB1c2UgaXQgaW4gY29tcG9zaXRpb24uXG4gIC5nb3Z1ay1saW5rLS1uby12aXNpdGVkLXN0YXRlIHtcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL2xpc3RzXCIpIHtcblxuICAlZ292dWstbGlzdCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgIC8vIEFkZCBhIHRvcCBtYXJnaW4gZm9yIG5lc3RlZCBsaXN0c1xuICAgICVnb3Z1ay1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgJWdvdnVrLWxpc3QgPiBsaSB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cblxuICAlZ292dWstbGlzdCBhIHtcbiAgICAmOmxpbmsge1xuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICB9XG5cbiAgICAmOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLXZpc2l0ZWQtY29sb3VyO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbGlzdCB7XG4gICAgQGV4dGVuZCAlZ292dWstbGlzdDtcbiAgfVxuXG4gICVnb3Z1ay1saXN0LS1idWxsZXQge1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcblxuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgfVxuXG4gIC5nb3Z1ay1saXN0LS1idWxsZXQge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3QtLWJ1bGxldDtcbiAgfVxuXG4gICVnb3Z1ay1saXN0LS1udW1iZXIge1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gIH1cblxuICAuZ292dWstbGlzdC0tbnVtYmVyIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saXN0LS1udW1iZXI7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvdGVtcGxhdGVcIikge1xuXG4gIC8vIEFwcGxpZWQgdG8gdGhlIDxodG1sPiBlbGVtZW50XG4gIC5nb3Z1ay10ZW1wbGF0ZSB7XG4gICAgLy8gU2V0IHRoZSBvdmVyYWxsIHBhZ2UgYmFja2dyb3VuZCBjb2xvdXIgdG8gdGhlIHNhbWUgY29sb3VyIGFzIHVzZWQgYnkgdGhlXG4gICAgLy8gZm9vdGVyIHRvIGdpdmUgdGhlIGlsbHVzaW9uIG9mIGEgbG9uZyBmb290ZXIuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjtcbiAgfVxuXG4gIC8vIEFwcGxpZWQgdG8gdGhlIDxib2R5PiBlbGVtZW50XG4gIC5nb3Z1ay10ZW1wbGF0ZV9fYm9keSB7XG4gICAgLy8gVGhlIGRlZmF1bHQgbWFyZ2lucyBzZXQgYnkgdXNlci1hZ2VudHMgYXJlIG5vdCByZXF1aXJlZCBzaW5jZSB3ZSBoYXZlIG91clxuICAgIC8vIG93biBjb250YWluZXJzLlxuICAgIG1hcmdpbjogMDtcbiAgICAvLyBTZXQgdGhlIG92ZXJhbGwgYm9keSBvZiB0aGUgcGFnZSBiYWNrIHRvIHRoZSB0eXBpY2FsIGJhY2tncm91bmQgY29sb3VyLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1ib2R5LWJhY2tncm91bmQtY29sb3VyO1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29yZS90eXBvZ3JhcGh5XCIpIHtcblxuICAvLyBIZWFkaW5nc1xuXG4gICVnb3Z1ay1oZWFkaW5nLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiA0OCwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstaGVhZGluZy14bCB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy14bDtcbiAgfVxuXG4gICVnb3Z1ay1oZWFkaW5nLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDM2LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkaW5nLWwge1xuICAgIEBleHRlbmQgJWdvdnVrLWhlYWRpbmctbDtcbiAgfVxuXG4gICVnb3Z1ay1oZWFkaW5nLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkaW5nLW0ge1xuICAgIEBleHRlbmQgJWdvdnVrLWhlYWRpbmctbTtcbiAgfVxuXG4gICVnb3Z1ay1oZWFkaW5nLXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkaW5nLXMge1xuICAgIEBleHRlbmQgJWdvdnVrLWhlYWRpbmctcztcbiAgfVxuXG4gIC8vIENhcHRpb25zIHRvIGJlIHVzZWQgaW5zaWRlIGhlYWRpbmdzXG5cbiAgLmdvdnVrLWNhcHRpb24teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI3KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcblxuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLWNhcHRpb24tbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstY2FwdGlvbi1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuICB9XG5cbiAgLy8gQm9keSAocGFyYWdyYXBocylcblxuICAlZ292dWstYm9keS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCk7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWJvZHktbCB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1sO1xuICB9XG5cbiAgJWdvdnVrLWJvZHktbSB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5LW0ge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbTtcbiAgfVxuXG4gICVnb3Z1ay1ib2R5LXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstYm9keS1zIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LXM7XG4gIH1cblxuICAlZ292dWstYm9keS14cyB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTQpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5LXhzIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LXhzO1xuICB9XG5cbiAgLy8gVXNhZ2UgYWxpYXNlc1xuXG4gIC8vIFVzaW5nIGV4dGVuZCB0byBhbGlhcyBtZWFucyB3ZSBhbHNvIGluaGVyaXQgYW55IGNvbnRleHR1YWwgYWRqdXN0bWVudHMgdGhhdFxuICAvLyByZWZlciB0byB0aGUgJ29yaWdpbmFsJyBjbGFzcyBuYW1lXG5cbiAgLmdvdnVrLWJvZHktbGVhZCB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1sO1xuICB9XG5cbiAgLmdvdnVrLWJvZHkge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbTtcbiAgfVxuXG4gIC8vIENvbnRleHR1YWwgYWRqdXN0bWVudHNcbiAgLy8gQWRkIHRvcCBwYWRkaW5nIHRvIGhlYWRpbmdzIHRoYXQgYXBwZWFyIGRpcmVjdGx5IGFmdGVyIHBhcmFncmFwaHMuXG5cbiAgJWdvdnVrLWJvZHktbCAgKyAlZ292dWstaGVhZGluZy1sIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygxKTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIH1cbiAgfVxuXG4gICVnb3Z1ay1ib2R5LW0gICsgJWdvdnVrLWhlYWRpbmctbCxcbiAgJWdvdnVrLWJvZHktcyAgKyAlZ292dWstaGVhZGluZy1sLFxuICAlZ292dWstbGlzdCArICVnb3Z1ay1oZWFkaW5nLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg0LCBcInRvcFwiKTtcbiAgfVxuXG4gICVnb3Z1ay1ib2R5LW0gKyAlZ292dWstaGVhZGluZy1tLFxuICAlZ292dWstYm9keS1zICsgJWdvdnVrLWhlYWRpbmctbSxcbiAgJWdvdnVrLWxpc3QgKyAlZ292dWstaGVhZGluZy1tLFxuICAlZ292dWstYm9keS1tICsgJWdvdnVrLWhlYWRpbmctcyxcbiAgJWdvdnVrLWJvZHktcyArICVnb3Z1ay1oZWFkaW5nLXMsXG4gICVnb3Z1ay1saXN0ICsgJWdvdnVrLWhlYWRpbmctcyB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL3NlY3Rpb24tYnJlYWtcIikge1xuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgLy8gZml4IGRvdWJsZS13aWR0aCBzZWN0aW9uIGJyZWFrIGFuZCBmb3JjZWQgdmlzaWJsZSBzZWN0aW9uIGJyZWFrXG4gICAgLy8gd2hlbiBjb21iaW5lZCB3aXRoIHN0eWxlcyBmcm9tIGFscGhhZ292L2VsZW1lbnRzXG4gICAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a19lbGVtZW50cykge1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zZWN0aW9uLWJyZWFrIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrO1xuICB9XG5cbiAgLy8gU2l6ZXNcblxuICAlZ292dWstc2VjdGlvbi1icmVhay0teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLXhsIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS14bDtcbiAgfVxuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1zZWN0aW9uLWJyZWFrLS1sIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS1sO1xuICB9XG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWstLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLW0ge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLW07XG4gIH1cblxuICAvLyBWaXNpYmxlIHZhcmlhbnRcblxuICAlZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLXZpc2libGUge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLXZpc2libGU7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJsaW5rc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcblxuQG1peGluIGdvdnVrLWdsb2JhbC1zdHlsZXMge1xuICBhIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xuICB9XG5cbiAgcCB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1tO1xuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL2dsb2JhbC1zdHlsZXNcIikge1xuXG4gIEBpZiAkZ292dWstZ2xvYmFsLXN0eWxlcyA9PSB0cnVlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1nbG9iYWwtc3R5bGVzO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiZm9ybS1ncm91cFwiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJtYWluLXdyYXBwZXJcIjtcbkBpbXBvcnQgXCJ3aWR0aC1jb250YWluZXJcIjtcbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL2Zvcm0tZ3JvdXBcIikge1xuXG4gIC5nb3Z1ay1mb3JtLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIC5nb3Z1ay1mb3JtLWdyb3VwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmUgbWFyZ2luIGZyb20gbGFzdCBpdGVtIGluIG5lc3RlZCBncm91cHNcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9ybS1ncm91cC0tZXJyb3Ige1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygzKTtcbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWdyb3VwLWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAuZ292dWstZm9ybS1ncm91cCB7XG4gICAgICAvLyBSZXNldCBlcnJvciBzdHlsZXMgaW4gbmVzdGVkIGZvcm0gZ3JvdXBzIHRoYXQgbWlnaHQgaGF2ZSBlcnJvciBjbGFzc1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL2dyaWRcIikge1xuICAvL21vc3QgY29tbW9uIHVzYWdlXG4gIEBpbmNsdWRlIGdvdnVrLWdyaWQtcm93O1xuICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbihvbmUtcXVhcnRlcik7XG4gIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKG9uZS10aGlyZCk7XG4gIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKG9uZS1oYWxmKTtcbiAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4odHdvLXRoaXJkcyk7XG4gIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHRocmVlLXF1YXJ0ZXJzKTtcbiAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4oZnVsbCk7XG59XG4iLCIvLyBFeGFtcGxlIHVzYWdlIHdpdGggQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3M6XG4vLyA8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4vLyAgIDwhLS0gQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3MgYXJlIHBsYWNlZCBpbiBoZXJlLiAtLT5cbi8vICAgPGRpdiBjbGFzcz1cImdvdnVrLW1haW4td3JhcHBlclwiPlxuLy8gICAgICAgPCEtLSBXcmFwcGVyIGZvciB0aGUgbWFpbiBjb250ZW50IG9mIHlvdXIgcGFnZSB3aGljaCBhcHBsaWVzIHBhZGRpbmdcbi8vICAgICAgICAgICAgdG8gdGhlIHRvcCAvIGJvdHRvbSAtLT5cbi8vICAgPC9kaXY+XG4vLyA8L2Rpdj5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlIHdpdGhvdXQgQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3M6XG4vLyA8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4vLyAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1tYWluLXdyYXBwZXIgZ292dWstbWFpbi13cmFwcGVyLS1sXCI+XG4vLyAgICAgICA8IS0tIFdyYXBwZXIgZm9yIHRoZSBtYWluIGNvbnRlbnQgb2YgeW91ciBwYWdlIHdoaWNoIGFwcGxpZXMgcGFkZGluZ1xuLy8gICAgICAgICAgICB0byB0aGUgdG9wIC8gYm90dG9tIC0tPlxuLy8gICA8L2Rpdj5cbi8vIDwvZGl2PlxuXG5cbkBtaXhpbiBnb3Z1ay1tYWluLXdyYXBwZXIge1xuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNiwgXCJ0b3BcIik7XG4gIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg2LCBcImJvdHRvbVwiKTtcbiAgLy8gSW4gSUUxMSB0aGUgYG1haW5gIGVsZW1lbnQgY2FuIGJlIHVzZWQsIGJ1dCBpcyBub3QgcmVjb2duaXplZCAg4oCTXG4gIC8vIG1lYW5pbmcgaXQncyBub3QgZGVmaW5lZCBpbiBJRSdzIGRlZmF1bHQgc3R5bGUgc2hlZXQsXG4gIC8vIHNvIGl0IHVzZXMgQ1NTIGluaXRpYWwgdmFsdWUsIHdoaWNoIGlzIGlubGluZS5cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIFVzZSBnb3Z1ay1tYWluLXdyYXBwZXItLWwgd2hlbiB5b3UgcGFnZSBkb2VzIG5vdCBoYXZlIEJyZWFkY3J1bWJzLCBwaGFzZSBiYW5uZXJzIG9yIGJhY2sgbGlua3NcbkBtaXhpbiBnb3Z1ay1tYWluLXdyYXBwZXItLWwge1xuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoOCwgXCJ0b3BcIik7XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL21haW4td3JhcHBlclwiKSB7XG4gIC5nb3Z1ay1tYWluLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1haW4td3JhcHBlcjtcbiAgfVxuXG4gIC5nb3Z1ay1tYWluLXdyYXBwZXItLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1haW4td3JhcHBlci0tbDtcbiAgfVxufVxuIiwiQG1peGluIGdvdnVrLXdpZHRoLWNvbnRhaW5lciB7XG4gIC8vIExpbWl0IHRoZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIHRvIHRoZSBwYWdlIHdpZHRoXG4gIG1heC13aWR0aDogJGdvdnVrLXBhZ2Utd2lkdGg7XG5cbiAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICB3aWR0aDogJGdvdnVrLXBhZ2Utd2lkdGg7XG4gIH1cblxuICAvLyBPbiBtb2JpbGUsIGFkZCBoYWxmIHdpZHRoIGd1dHRlcnNcbiAgbWFyZ2luOiAwICRnb3Z1ay1ndXR0ZXItaGFsZjtcblxuICAvLyBPbiB0YWJsZXQsIGFkZCBmdWxsIHdpZHRoIGd1dHRlcnNcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1hcmdpbjogMCAkZ292dWstZ3V0dGVyO1xuICB9XG5cbiAgLy8gQXMgc29vbiBhcyB0aGUgdmlld3BvcnQgaXMgZ3JlYXRlciB0aGFuIHRoZSB3aWR0aCBvZiB0aGUgcGFnZSBwbHVzIHRoZVxuICAvLyBndXR0ZXJzLCBqdXN0IGNlbnRyZSB0aGUgY29udGVudCBpbnN0ZWFkIG9mIGFkZGluZyBndXR0ZXJzLlxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkYW5kOiBcIihtaW4td2lkdGg6ICN7KCRnb3Z1ay1wYWdlLXdpZHRoICsgJGdvdnVrLWd1dHRlciAqIDIpfSlcIikge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL3dpZHRoLWNvbnRhaW5lclwiKSB7XG4gIC5nb3Z1ay13aWR0aC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLXdpZHRoLWNvbnRhaW5lcjtcbiAgfVxufVxuIiwiQGltcG9ydCBcImJhY2stbGluay9iYWNrLWxpbmtcIjtcbkBpbXBvcnQgXCJicmVhZGNydW1icy9icmVhZGNydW1ic1wiO1xuQGltcG9ydCBcImJ1dHRvbi9idXR0b25cIjtcbkBpbXBvcnQgXCJjaGVja2JveGVzL2NoZWNrYm94ZXNcIjtcbkBpbXBvcnQgXCJkYXRlLWlucHV0L2RhdGUtaW5wdXRcIjtcbkBpbXBvcnQgXCJkZXRhaWxzL2RldGFpbHNcIjtcbkBpbXBvcnQgXCJlcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCJlcnJvci1zdW1tYXJ5L2Vycm9yLXN1bW1hcnlcIjtcbkBpbXBvcnQgXCJmaWVsZHNldC9maWVsZHNldFwiO1xuQGltcG9ydCBcImZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkXCI7XG5AaW1wb3J0IFwiZm9vdGVyL2Zvb3RlclwiO1xuQGltcG9ydCBcImhpbnQvaGludFwiO1xuQGltcG9ydCBcImhlYWRlci9oZWFkZXJcIjtcbkBpbXBvcnQgXCJpbnB1dC9pbnB1dFwiO1xuQGltcG9ydCBcImluc2V0LXRleHQvaW5zZXQtdGV4dFwiO1xuQGltcG9ydCBcImxhYmVsL2xhYmVsXCI7XG5AaW1wb3J0IFwicGFuZWwvcGFuZWxcIjtcbkBpbXBvcnQgXCJwaGFzZS1iYW5uZXIvcGhhc2UtYmFubmVyXCI7XG5AaW1wb3J0IFwidGFicy90YWJzXCI7XG5AaW1wb3J0IFwidGFnL3RhZ1wiO1xuQGltcG9ydCBcInJhZGlvcy9yYWRpb3NcIjtcbkBpbXBvcnQgXCJzZWxlY3Qvc2VsZWN0XCI7XG5AaW1wb3J0IFwic2tpcC1saW5rL3NraXAtbGlua1wiO1xuQGltcG9ydCBcInRhYmxlL3RhYmxlXCI7XG5AaW1wb3J0IFwidGV4dGFyZWEvdGV4dGFyZWFcIjtcbkBpbXBvcnQgXCJ3YXJuaW5nLXRleHQvd2FybmluZy10ZXh0XCI7XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9iYWNrLWxpbmtcIikge1xuXG4gIC5nb3Z1ay1iYWNrLWxpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZTogMTYpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICAvLyBBbGxvdyBzcGFjZSBmb3IgdGhlIGFycm93XG4gICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xuXG4gICAgLy8gVXNlIGJvcmRlci1ib3R0b20gcmF0aGVyIHRoYW4gdGV4dC1kZWNvcmF0aW9uIHNvIHRoYXQgdGhlIGFycm93IGlzXG4gICAgLy8gdW5kZXJsaW5lZCBhcyB3ZWxsLlxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcblxuICAgIC8vIFVuZGVybGluZSBpcyBwcm92aWRlZCBieSBhIGJvdHRvbSBib3JkZXJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAvLyBQcmVwZW5kIGxlZnQgcG9pbnRpbmcgYXJyb3dcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiBsZWZ0LCAkYmFzZTogMTBweCwgJGhlaWdodDogNnB4KTtcblxuICAgICAgY29udGVudDogXCJcIjtcblxuICAgICAgLy8gVmVydGljYWxseSBhbGlnbiB3aXRoIHRoZSBwYXJlbnQgZWxlbWVudFxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBib3R0b206IDFweDtcbiAgICAgIGxlZnQ6IDA7XG5cbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBCZWdpbiBhZGp1c3RtZW50cyBmb3IgZm9udCBiYXNlbGluZSBvZmZzZXRcbiAgLy8gVGhlc2Ugc2hvdWxkIGJlIHJlbW92ZWQgd2hlbiB0aGUgZm9udCBpcyB1cGRhdGVkIHdpdGggdGhlIGNvcnJlY3QgYmFzZWxpbmVcblxuICAuZ292dWstYmFjay1saW5rOmJlZm9yZSB7XG4gICAgJG9mZnNldDogMXB4O1xuXG4gICAgdG9wOiAkb2Zmc2V0ICogLTE7XG4gICAgYm90dG9tOiAkb2Zmc2V0O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9icmVhZGNydW1ic1wiKSB7XG5cbiAgLy8gU2l6ZSBvZiBjaGV2cm9uIChleGNsdWRpbmcgYm9yZGVyKVxuICAkY2hldnJvbi1zaXplOiA3cHg7XG5cbiAgLy8gU2l6ZSBvZiBjaGV2cm9uIGJvcmRlclxuICAkY2hldnJvbi1ib3JkZXItd2lkdGg6IDFweDtcblxuICAvLyBDb2xvdXIgb2YgY2hldnJvblxuICAkY2hldnJvbi1ib3JkZXItY29sb3VyOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuXG4gIC8vIENhbGN1bGF0ZWQgYWx0aXR1ZGUgKOKWs+KGlSkgb2YgdGhlIHJpZ2h0LWFuZ2xlZCBpc29zY2VsZXMgY2hldnJvbiB3aXRoIHNpZGVzXG4gIC8vIG9mIGxlbmd0aCA4ICg3cHggKyAxcHggYm9yZGVyKTpcbiAgLy9cbiAgLy8g4oiaKDjCsiArIDjCsikgKiAwLjUg4omFIDUuNjU1XG4gICRjaGV2cm9uLWFsdGl0dWRlLWNhbGN1bGF0ZWQ6IDUuNjU1cHg7XG5cbiAgLmdvdnVrLWJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstYnJlYWRjcnVtYnNfX2xpc3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWJyZWFkY3J1bWJzX19saXN0LWl0ZW0ge1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICAvLyBBZGQgYm90aCBtYXJnaW4gYW5kIHBhZGRpbmcgc3VjaCB0aGF0IHRoZSBjaGV2cm9uIGFwcGVhcnMgY2VudHJhbGx5XG4gICAgLy8gYmV0d2VlbiBlYWNoIGJyZWFkY3J1bWIgaXRlbVxuICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygyKSArICRjaGV2cm9uLWFsdGl0dWRlLWNhbGN1bGF0ZWQ7XG5cbiAgICBmbG9hdDogbGVmdDtcblxuICAgIC8vIENyZWF0ZSBhIGNoZXZyb24gdXNpbmcgYSBib3ggd2l0aCBib3JkZXJzIG9uIHR3byBzaWRlcywgcm90YXRlZCA0NWRlZy5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgLy8gQmVnaW4gYWRqdXN0bWVudHMgZm9yIGZvbnQgYmFzZWxpbmUgb2Zmc2V0XG4gICAgICAvLyBUaGVzZSBzaG91bGQgYmUgcmV2ZXJ0ZWQgd2hlbiB0aGUgZm9udCBpcyB1cGRhdGVkIHdpdGggdGhlIGNvcnJlY3RcbiAgICAgIC8vIGJhc2VsaW5lXG5cbiAgICAgIC8vIHRvcDogMDtcbiAgICAgIC8vIGJvdHRvbTogMDtcblxuICAgICAgdG9wOiAtMXB4O1xuICAgICAgYm90dG9tOiAxcHg7XG5cbiAgICAgIC8vIEVuZCBhZGp1c3RtZW50cyBmb3IgZm9udCBiYXNlbGluZSBvZmZzZXRcblxuICAgICAgLy8gT2Zmc2V0IGJ5IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHdpZHRoIG9mIHRoZSBub24tcm90YXRlZCBzcXVhcmVcbiAgICAgIC8vIGFuZCBpdHMgd2lkdGggd2hlbiByb3RhdGVkXG4gICAgICBsZWZ0OiAoKCRjaGV2cm9uLWFsdGl0dWRlLWNhbGN1bGF0ZWQgKiAtMikgKyAkY2hldnJvbi1zaXplICsgJGNoZXZyb24tYm9yZGVyLXdpZHRoKTtcblxuICAgICAgd2lkdGg6ICRjaGV2cm9uLXNpemU7XG4gICAgICBoZWlnaHQ6ICRjaGV2cm9uLXNpemU7XG5cbiAgICAgIG1hcmdpbjogYXV0byAwO1xuXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgICBib3JkZXI6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkY2hldnJvbi1ib3JkZXItd2lkdGggJGNoZXZyb24tYm9yZGVyLXdpZHRoIDAgMDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNoZXZyb24tYm9yZGVyLWNvbG91cjtcblxuICAgICAgLy8gRmFsbCBiYWNrIHRvIGEgZ3JlYXRlciB0aGFuIHNpZ24gZm9yIElFOFxuICAgICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICAgICAgY29udGVudDogXCJcXDAwM2VcIjsgLy8gR3JlYXRlciB0aGFuIHNpZ24gKD4pXG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6ICRjaGV2cm9uLWJvcmRlci1jb2xvdXI7XG5cbiAgICAgICAgLy8gSUU4IGRvZXNuJ3Qgc2VlbSB0byBsaWtlIHJlbmRlcmluZyBwc2V1ZG8tZWxlbWVudHMgdXNpbmcgQGZvbnQtZmFjZXMsXG4gICAgICAgIC8vIHNvIGZhbGwgYmFjayB0byB1c2luZyBhbm90aGVyIHNhbnMtc2VyaWYgZm9udCB0byByZW5kZXIgdGhlIGNoZXZyb24uXG4gICAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJyZWFkY3J1bWJzX19saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2J1dHRvblwiKSB7XG5cbiAgJGdvdnVrLWJ1dHRvbi1jb2xvdXI6ICMwMDgyM2I7XG4gICRnb3Z1ay1idXR0b24taG92ZXItY29sb3VyOiBkYXJrZW4oJGdvdnVrLWJ1dHRvbi1jb2xvdXIsIDUlKTtcbiAgJGdvdnVrLWJ1dHRvbi1zaGFkb3ctY29sb3VyOiBkYXJrZW4oJGdvdnVrLWJ1dHRvbi1jb2xvdXIsIDE1JSk7XG4gICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuXG4gIC8vIEJlY2F1c2UgdGhlIHNoYWRvdyAoczApIGlzIHZpc3VhbGx5ICdwYXJ0IG9mJyB0aGUgYnV0dG9uLCB3ZSBuZWVkIHRvIHJlZHVjZVxuICAvLyB0aGUgaGVpZ2h0IG9mIHRoZSBidXR0b24gdG8gY29tcGVuc2F0ZSBieSBhZGp1c3RpbmcgaXRzIHBhZGRpbmcgKHMxKSBhbmRcbiAgLy8gaW5jcmVhc2UgdGhlIGJvdHRvbSBtYXJnaW4gdG8gaW5jbHVkZSBpdCAoczIpLlxuICAkYnV0dG9uLXNoYWRvdy1zaXplOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcblxuICAuZ292dWstYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJGxpbmUtaGVpZ2h0OiAxOXB4KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG5cbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIsICRhZGp1c3RtZW50OiAkYnV0dG9uLXNoYWRvdy1zaXplKTsgLy8gczJcbiAgICBwYWRkaW5nOiAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSkgZ292dWstc3BhY2luZygyKTsgLy8gczFcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJ1dHRvbi1jb2xvdXI7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwICRidXR0b24tc2hhZG93LXNpemUgMCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwICRidXR0b24tc2hhZG93LXNpemUgMCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7IC8vIHMwXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYnV0dG9uLXNoYWRvdy1zaXplIHNvbGlkICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgdGhhdCBhbnkgZ2xvYmFsIGxpbmsgc3R5bGVzIGFyZSBvdmVycmlkZGVuXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gICAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycyBzb1xuICAgIC8vIHNvIHRoYXQgdW52aXNpdGVkIGxpbmtzIHN0eWxlZCBhcyBidXR0b25zIGRvIG5vdCBlbmQgdXAgd2l0aCBkYXJrIGJsdWVcbiAgICAvLyB0ZXh0IHdoZW4gZm9jdXNzZWQuXG4gICAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRml4IHVud2FudGVkIGJ1dHRvbiBwYWRkaW5nIGluIEZpcmVmb3hcbiAgICAmOi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJ1dHRvbi1ob3Zlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgdG9wOiAkYnV0dG9uLXNoYWRvdy1zaXplO1xuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoZSBmb2xsb3dpbmcgYWRqdXN0bWVudHMgZG8gbm90IHdvcmsgZm9yIDxpbnB1dCB0eXBlPVwiYnV0dG9uXCI+IGFzXG4gICAgLy8gbm9uLWNvbnRhaW5lciBlbGVtZW50cyBjYW5ub3QgaW5jbHVkZSBwc2V1ZG8gZWxlbWVudHMgKGkuZS4gOjpiZWZvcmUpLlxuXG4gICAgLy8gVXNlIGEgcHNldWRvIGVsZW1lbnQgdG8gZXhwYW5kIHRoZSBjbGljayB0YXJnZXQgYXJlYSB0byBpbmNsdWRlIHRoZVxuICAgIC8vIGJ1dHRvbidzIHNoYWRvdyBhcyB3ZWxsLCBpbiBjYXNlIHVzZXJzIHRyeSB0byBjbGljayBpdC5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIHRvcDogLSRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgICAgcmlnaHQ6IC0kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcbiAgICAgIGJvdHRvbTogLSgkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCArICRidXR0b24tc2hhZG93LXNpemUpO1xuICAgICAgbGVmdDogLSRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBXaGVuIHRoZSBidXR0b24gaXMgYWN0aXZlIGl0IGlzIHNoaWZ0ZWQgZG93biBieSAkYnV0dG9uLXNoYWRvdy1zaXplIHRvXG4gICAgLy8gZGVub3RlIGEgJ3ByZXNzZWQnIHN0YXRlLiBJZiB0aGUgdXNlciBoYXBwZW5lZCB0byBjbGljayBhdCB0aGUgdmVyeSB0b3BcbiAgICAvLyBvZiB0aGUgYnV0dG9uLCB0aGVpciBtb3VzZSBpcyBubyBsb25nZXIgb3ZlciB0aGUgYnV0dG9uIChiZWNhdXNlIGl0IGhhc1xuICAgIC8vICdtb3ZlZCBiZW5lYXRoIHRoZW0nKSBhbmQgc28gdGhlIGNsaWNrIGV2ZW50IGlzIG5vdCBmaXJlZC5cbiAgICAvL1xuICAgIC8vIFRoaXMgY29ycmVjdHMgdGhhdCBieSBzaGlmdGluZyB0aGUgdG9wIG9mIHRoZSBwc2V1ZG8gZWxlbWVudCBzbyB0aGF0IGl0XG4gICAgLy8gY29udGludWVzIHRvIGNvdmVyIHRoZSBhcmVhIHRoYXQgdGhlIHVzZXIgb3JpZ2luYWxseSBjbGlja2VkLCB3aGljaCBtZWFuc1xuICAgIC8vIHRoZSBjbGljayBldmVudCBpcyBzdGlsbCBmaXJlZC5cbiAgICAvL1xuICAgIC8vIPCfjolcbiAgICAmOmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgIHRvcDogLSgkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCArICRidXR0b24tc2hhZG93LXNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLWRpc2FibGVkLFxuICAuZ292dWstYnV0dG9uW2Rpc2FibGVkPVwiZGlzYWJsZWRcIl0sXG4gIC5nb3Z1ay1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAoLjUpO1xuICAgIGJhY2tncm91bmQ6ICRnb3Z1ay1idXR0b24tY29sb3VyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnV0dG9uLWNvbG91cjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwICRidXR0b24tc2hhZG93LXNpemUgMCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgJGJ1dHRvbi1zaGFkb3ctc2l6ZSAwICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjsgLy8gczBcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRidXR0b24tc2hhZG93LXNpemUgc29saWQgJGdvdnVrLWJ1dHRvbi1zaGFkb3ctY29sb3VyOyAvLyBzMFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLXN0YXJ0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZTogMjQsICRvdmVycmlkZS1saW5lLWhlaWdodDogMSk7XG5cbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG4gICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg3KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygzKTtcblxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcImljb24tcG9pbnRlci5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLWRldmljZS1waXhlbC1yYXRpbyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJpY29uLXBvaW50ZXItMngucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAzMHB4IDE5cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gQmVnaW4gYWRqdXN0bWVudHMgZm9yIGZvbnQgYmFzZWxpbmUgb2Zmc2V0XG4gIC8vIFRoZXNlIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gdGhlIGZvbnQgaXMgdXBkYXRlZCB3aXRoIHRoZSBjb3JyZWN0IGJhc2VsaW5lXG4gIC8vIEZvciB0aGUgMXB4IGFkZGl0aW9uIHBsZWFzZSBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kL3B1bGwvMzY1I2Rpc2N1c3Npb25fcjE1NDM0OTQyOFxuXG4gICRvZmZzZXQ6IDI7XG5cbiAgLmdvdnVrLWJ1dHRvbiB7XG4gICAgcGFkZGluZy10b3A6IChnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgLSAoJGJ1dHRvbi1zaGFkb3ctc2l6ZSAvIDIpICsgJG9mZnNldCk7IC8vIHMxXG4gICAgcGFkZGluZy1ib3R0b206IChnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgLSAoJGJ1dHRvbi1zaGFkb3ctc2l6ZSAvIDIpIC0gJG9mZnNldCArIDEpOyAvLyBzMVxuICB9XG5cbiAgLmdvdnVrLWJ1dHRvbi0tc3RhcnQge1xuICAgIHBhZGRpbmctdG9wOiAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSArICRvZmZzZXQpOyAvLyBzMVxuICAgIHBhZGRpbmctYm90dG9tOiAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSAtICRvZmZzZXQgKyAxKTsgLy8gczFcbiAgfVxuXG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZVwiO1xuQGltcG9ydCBcIi4uL2ZpZWxkc2V0L2ZpZWxkc2V0XCI7XG5AaW1wb3J0IFwiLi4vaGludC9oaW50XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvbGFiZWxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9jaGVja2JveGVzXCIpIHtcbiAgJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTogZ292dWstc3BhY2luZyg3KTtcbiAgJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtaW4taGVpZ2h0OiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nOiAwIDAgMCAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuXG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faXRlbTpsYXN0LWNoaWxkLFxuICAuZ292dWstY2hlY2tib3hlc19faXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIHotaW5kZXg6IDE7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTtcbiAgICBoZWlnaHQ6ICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvLyBJRTggZG9lc27igJl0IHN1cHBvcnQgcHNldWRvZWxlbWVudHMsIHNvIHdlIGRvbuKAmXQgd2FudCB0byBoaWRlIG5hdGl2ZSBlbGVtZW50cyB0aGVyZS5cbiAgICBAaW5jbHVkZSBnb3Z1ay1ub3QtaWU4IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgLy8gYWRkIGZvY3VzIG91dGxpbmUgdG8gaW5wdXQgZWxlbWVudCBmb3IgSUU4XG4gICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19fbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDhweCAkZ292dWstY2hlY2tib3hlcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQgZ292dWstc3BhY2luZygxKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gcmVtb3ZlIDMwMG1zIHBhdXNlIG9uIG1vYmlsZVxuICAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuICAgIGhlaWdodDogJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIC8vIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTFweDtcbiAgICBsZWZ0OiA5cHg7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiA3cHg7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgYm9yZGVyOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAkZ292dWstYm9yZGVyLXdpZHRoICRnb3Z1ay1ib3JkZXItd2lkdGg7XG4gICAgLy8gRml4IGJ1ZyBpbiBJRTExIGNhdXNlZCBieSB0cmFuc2Zvcm0gcm90YXRlICgtNDVkZWcpLlxuICAgIC8vIFNlZTogYWxwaGFnb3YvZ292dWtfZWxlbWVudHMvaXNzdWVzLzUxOFxuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgb3BhY2l0eTogMDtcblxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gRm9jdXNlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gU2luY2UgYm94LXNoYWRvd3MgYXJlIHJlbW92ZWQgd2hlbiB1c2VycyBjdXN0b21pc2UgdGhlaXIgY29sb3Vyc1xuICAgIC8vIFdlIHNldCBhIHRyYW5zcGFyZW50IG91dGxpbmUgdGhhdCBpcyBzaG93biBpbnN0ZWFkLlxuICAgIC8vIGh0dHBzOi8vYWNjZXNzaWJpbGl0eS5ibG9nLmdvdi51ay8yMDE3LzAzLzI3L2hvdy11c2Vycy1jaGFuZ2UtY29sb3Vycy1vbi13ZWJzaXRlcy9cbiAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6ICRnb3Z1ay1mb2N1cy13aWR0aDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwICRnb3Z1ay1mb2N1cy13aWR0aCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIH1cblxuICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6Y2hlY2tlZCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6ZGlzYWJsZWQsXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmRpc2FibGVkICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsIHtcbiAgICBvcGFjaXR5OiAuNTtcbiAgfVxuXG4gICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGg6ICRnb3Z1ay1ib3JkZXItd2lkdGgtbW9iaWxlO1xuICAvLyBDYWxjdWxhdGUgdGhlIGFtb3VudCBvZiBwYWRkaW5nIG5lZWRlZCB0byBrZWVwIHRoZSBib3JkZXIgY2VudGVyZWQgYWdhaW5zdCB0aGUgY2hlY2tib3guXG4gICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZzogKCRnb3Z1ay1jaGVja2JveGVzLXNpemUgLyAyKSAtICgkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIC8gMik7XG4gIC8vIE1vdmUgdGhlIGJvcmRlciBjZW50ZXJlZCB3aXRoIHRoZSBjaGVja2JveFxuICAkY29uZGl0aW9uYWwtbWFyZ2luLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZztcbiAgLy8gTW92ZSB0aGUgY29udGVudHMgb2YgdGhlIGNvbmRpdGlvbmFsIGlubGluZSB3aXRoIHRoZSBsYWJlbFxuICAkY29uZGl0aW9uYWwtcGFkZGluZy1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmcgKyAkZ292dWstY2hlY2tib3hlcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2NvbmRpdGlvbmFsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgICBtYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDtcbiAgICBib3JkZXItbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcblxuICAgICZbYXJpYS1oaWRkZW49XCJ0cnVlXCJdIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9lcnJvci1tZXNzYWdlXCIpIHtcbiAgLmdvdnVrLWVycm9yLW1lc3NhZ2Uge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBjb2xvcjogJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZmllbGRzZXRcIikge1xuICAuZ292dWstZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICAvLyBGaXggbGVnZW5kIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUVcbiAgICAvLyAxLiBJRTktMTEgJiBFZGdlIDEyLTEzXG4gICAgLy8gMi4gSUU4LTExXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGRpc3BsYXk6IHRhYmxlOyAgICAgICAgIC8vIDJcbiAgICBtYXgtd2lkdGg6IDEwMCU7ICAgICAgICAvLyAxXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC8vIEhhY2sgdG8gbGV0IGxlZ2VuZHMgb3IgZWxlbWVudHMgd2l0aGluIGxlZ2VuZHMgaGF2ZSBtYXJnaW5zIGluIHdlYmtpdCBicm93c2Vyc1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAgICAvLyAxXG4gIH1cblxuICAvLyBNb2RpZmllcnMgdGhhdCBtYWtlIGxlZ2VuZHMgbG9vayBtb3JlIGxpa2UgdGhlaXIgZXF1aXZhbGVudCBoZWFkaW5nc1xuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogNDgsICR3ZWlnaHQ6IGJvbGQpO1xuICB9XG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDM2LCAkd2VpZ2h0OiBib2xkKTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gIH1cblxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tcyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuICB9XG5cbiAgLy8gV2hlbiB0aGUgbGVnZW5kIGNvbnRhaW5zIGFuIEgxLCB3ZSB3YW50IHRoZSBIMSB0byBpbmhlcml0IGFsbCBzdHlsZXMgZnJvbVxuICAvLyB0aGUgbGVnZW5kLiBFZmZlY3RpdmVseSB3ZSB3YW50IHRvIGJlIGFibGUgdG8gdHJlYXQgdGhlIGhlYWRpbmcgYXMgaWYgaXQgaXNcbiAgLy8gbm90IHRoZXJlLlxuICAuZ292dWstZmllbGRzZXRfX2hlYWRpbmcge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2hpbnRcIikge1xuICAuZ292dWstaGludCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBSZWR1Y2VzIG1hcmdpbi1ib3R0b20gb2YgaGludCB3aGVuIHVzZWQgYWZ0ZXIgdGhlIGRlZmF1bHQgbGFiZWwgKG5vIGNsYXNzKVxuICAvLyBvciBnb3Z1ay1sYWJlbC0tcyBmb3IgYmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudC5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayB3aGVuIHRoZSBsYWJlbCBpcyBpbnNpZGUgdGhlIDxoMT4sIGhvd2V2ZXJcbiAgLy8gaXQgaXMgdW5saWtlbHkgdGhhdCB0aGUgZGVmYXVsdCBvciBnb3Z1ay1sYWJlbC0tcyBjbGFzcyB3b3VsZCBiZSB1c2VkIGluXG4gIC8vIHRoaXMgY2FzZS5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayBpbiBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IDpub3QoKVxuICAvLyBVc2VycyB3aXRoIHRoZXNlIGJyb3dzZXJzIHdpbGwgc2VlIHRoZSBkZWZhdWx0IHNpemUgbWFyZ2luICg1cHggbGFyZ2VyKVxuXG4gIC5nb3Z1ay1sYWJlbDpub3QoLmdvdnVrLWxhYmVsLS1tKTpub3QoLmdvdnVrLWxhYmVsLS1sKTpub3QoLmdvdnVrLWxhYmVsLS14bCkgKyAuZ292dWstaGludCB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvbGFiZWxcIikge1xuICAuZ292dWstbGFiZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC8vIE1vZGlmaWVycyB0aGF0IG1ha2UgbGFiZWxzIGxvb2sgbW9yZSBsaWtlIHRoZWlyIGVxdWl2YWxlbnQgaGVhZGluZ3NcblxuICAuZ292dWstbGFiZWwtLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiA0OCwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1sYWJlbC0tbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMzYsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstbGFiZWwtLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLWxhYmVsLS1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG4gIH1cblxuICAvLyBXaGVuIHRoZSBsYWJlbCBpcyBuZXN0ZWQgaW5zaWRlIGEgaGVhZGluZywgb3ZlcnJpZGUgdGhlIGhlYWRpbmcgc28gdGhhdCBpdFxuICAvLyBkb2VzIG5vdCBoYXZlIGEgbWFyZ2luLiBFZmZlY3RpdmVseSB3ZSB3YW50IHRvIGJlIGFibGUgdG8gdHJlYXQgdGhlIGhlYWRpbmdcbiAgLy8gYXMgaWYgaXQgaXMgbm90IHRoZXJlLlxuICAvL1xuICAvLyBUaGlzIGJyZWFrcyBCRU0gY29udmVudGlvbnMgYmVjYXVzZSBpdCBleGlzdHMgYXMgYSBwYXJlbnQgb2YgdGhlICdibG9jaycsXG4gIC8vIHNvIHdlIGNhbid0IHJlYWxseSBjb25zaWRlciBhbiBlbGVtZW50LlxuICAuZ292dWstbGFiZWwtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZVwiO1xuQGltcG9ydCBcIi4uL2lucHV0L2lucHV0XCI7XG5AaW1wb3J0IFwiLi4vaGludC9oaW50XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvbGFiZWxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9kYXRlLWlucHV0XCIpIHtcbiAgLmdvdnVrLWRhdGUtaW5wdXQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICB9XG5cbiAgLmdvdnVrLWRhdGUtaW5wdXRfX2l0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWRhdGUtaW5wdXRfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICB9XG5cbiAgLmdvdnVrLWRhdGUtaW5wdXRfX2lucHV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZVwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaW5wdXRcIikge1xuICAuZ292dWstaW5wdXQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG5cbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIC8vIHNldHRpbmcgYW55IGJhY2tncm91bmQtY29sb3IgbWFrZXMgdGV4dCBpbnZpc2libGUgd2hlbiBjaGFuZ2luZyBjb2xvdXJzIHRvIGRhcmsgYmFja2dyb3VuZHMgaW4gRmlyZWZveCAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzNTQ3NilcbiAgICAvLyBhcyBiYWNrZ3JvdW5kLWNvbG9yIGFuZCBjb2xvciBuZWVkIHRvIGFsd2F5cyBiZSBzZXQgdG9nZXRoZXIsIGNvbG9yIHNob3VsZCBub3QgYmUgc2V0IGVpdGhlclxuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIC8vIERpc2FibGUgaW5uZXIgc2hhZG93IGFuZCByZW1vdmUgcm91bmRlZCBjb3JuZXJzXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAuZ292dWstaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gIC5nb3Z1ay1pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0tZXJyb3Ige1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQtZXJyb3Igc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgfVxuXG4gIC8vIFRoZSBleCBtZWFzdXJlbWVudHMgYXJlIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgVydzIHRoYXQgY2FuIGZpdCBpbnNpZGUgdGhlIGlucHV0XG4gIC8vIEV4dHJhIHNwYWNlIGlzIGxlZnQgb24gdGhlIHJpZ2h0IGhhbmQgc2lkZSB0byBhbGxvdyBmb3IgdGhlIFNhZmFyaSBwcmVmaWxsIGljb25cbiAgLy8gTGluZWFyIHJlZ3Jlc3Npb24gZXN0aW1hdGlvbiBiYXNlZCBvbiB2aXN1YWwgdGVzdHM6IHkgPSAxLjc2ICsgMS44MXhcblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTMwIHtcbiAgICBtYXgtd2lkdGg6IDU2ZXggKyAzZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTIwIHtcbiAgICBtYXgtd2lkdGg6IDM4ZXggKyAzZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTEwIHtcbiAgICBtYXgtd2lkdGg6IDIwZXggKyAzZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTUge1xuICAgIG1heC13aWR0aDogMTAuOGV4O1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC00IHtcbiAgICBtYXgtd2lkdGg6IDlleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMyB7XG4gICAgbWF4LXdpZHRoOiA3LjJleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMiB7XG4gICAgbWF4LXdpZHRoOiA1LjRleDtcbiAgfVxuXG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9kZXRhaWxzXCIpIHtcblxuICAuZ292dWstZGV0YWlscyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeSB7XG4gICAgLy8gTWFrZSB0aGUgZm9jdXMgb3V0bGluZSBzaHJpbmstd3JhcCB0aGUgdGV4dCBjb250ZW50IG9mIHRoZSBzdW1tYXJ5XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgLy8gQWJzb2x1dGVseSBwb3NpdGlvbiB0aGUgbWFya2VyIGFnYWluc3QgdGhpcyBlbGVtZW50XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcblxuICAgIC8vIEFsbG93IGZvciBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgbWFya2VyIGFuZCBhbGlnbiB3aXRoIGRpc2Nsb3NlZCB0ZXh0XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpICsgJGdvdnVrLWJvcmRlci13aWR0aDtcblxuICAgIC8vIFN0eWxlIHRoZSBzdW1tYXJ5IHRvIGxvb2sgbGlrZSBhIGxpbmsuLi5cbiAgICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC8vIC4uLmJ1dCBvbmx5IHVuZGVybGluZSB0aGUgdGV4dCwgbm90IHRoZSBhcnJvd1xuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeS10ZXh0IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5OmhvdmVyIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstaG92ZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6Zm9jdXMge1xuICAgIC8vIC0xcHggb2Zmc2V0IGZpeGVzIGdhcCBiZXR3ZWVuIGJhY2tncm91bmQgYW5kIG91dGxpbmUgaW4gRmlyZWZveFxuICAgIG91dGxpbmU6ICgkZ292dWstZm9jdXMtd2lkdGggKyAxcHgpIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCBkZXRhaWxzIG1hcmtlciBzbyB3ZSBjYW4gc3R5bGUgb3VyIG93biBjb25zaXN0ZW50bHkgYW5kXG4gIC8vIGVuc3VyZSBpdCBkaXNwbGF5cyBpbiBGaXJlZm94IChzZWUgaW1wbGVtZW50YXRpb24ubWQgZm9yIGRldGFpbHMpXG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQXBwZW5kIG91ciBvd24gb3BlbiAvIGNsb3NlZCBtYXJrZXIgdXNpbmcgYSBwc2V1ZG8tZWxlbWVudFxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogcmlnaHQsICRiYXNlOiAxNHB4KTtcblxuICAgIC5nb3Z1ay1kZXRhaWxzW29wZW5dID4gJiB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiBkb3duLCAkYmFzZTogMTRweCk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3RleHQge1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIGJvcmRlci1sZWZ0OiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3RleHQgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3RleHQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi8uLi9jb3JlL2xpc3RzXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZXJyb3Itc3VtbWFyeVwiKSB7XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnkge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg0KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtbW9iaWxlIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fdGl0bGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ3Jvc3MtY29tcG9uZW50IGNsYXNzIC0gYWRqdXN0cyBzdHlsaW5nIG9mIGxpc3QgY29tcG9uZW50XG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5X19saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdCBhIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGUtZmlsbDtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuXG4gICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBsaW5rIHN0eWxpbmcgdG8gdXNlIGVycm9yIGNvbG91clxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3JcbiAgICAvLyBkZXNpZ25lZCB0byBtYWtlIHVudmlzaXRlZCBsaW5rcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvXG4gICAgLy8gd2UgbmVlZCB0byBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzLlxuICAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAgICY6bGluazpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZVwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZmlsZS11cGxvYWRcIikge1xuICAuZ292dWstZmlsZS11cGxvYWQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG4gIH1cblxuICAuZ292dWstZmlsZS11cGxvYWQtLWVycm9yIHtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy90eXBvZ3JhcGh5XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZm9vdGVyXCIpIHtcblxuICAkZ292dWstZm9vdGVyLWJhY2tncm91bmQ6ICRnb3Z1ay1jYW52YXMtYmFja2dyb3VuZC1jb2xvdXI7XG4gICRnb3Z1ay1mb290ZXItYm9yZGVyLXRvcDogI2ExYWNiMjtcbiAgJGdvdnVrLWZvb3Rlci1ib3JkZXI6IGdvdnVrLWNvbG91cihcImdyZXktMlwiKTtcbiAgJGdvdnVrLWZvb3Rlci10ZXh0OiAjNDU0YTRjO1xuICAkZ292dWstZm9vdGVyLWxpbms6ICRnb3Z1ay1mb290ZXItdGV4dDtcbiAgJGdvdnVrLWZvb3Rlci1saW5rLWhvdmVyOiAjMTcxODE5O1xuXG4gIC8vIEJhc2VkIG9uIHRoZSBnb3Z1ay1jcmVzdC0yeC5wbmcgaW1hZ2UgZGltZW5zaW9ucy5cbiAgJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aC0yeDogMjUwcHg7XG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0LTJ4OiAyMDRweDtcbiAgLy8gSGFsZiB0aGUgMnggaW1hZ2Ugc28gdGhhdCBpdCBmaXRzIHRoZSByZWd1bGFyIDF4IHNpemUuXG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGg6ICgkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoLTJ4IC8gMik7XG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0OiAoJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS1oZWlnaHQtMnggLyAyKTtcblxuICAuZ292dWstZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDcsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg1LCBcImJvdHRvbVwiKTtcblxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ292dWstZm9vdGVyLWJvcmRlci10b3A7XG4gICAgY29sb3I6ICRnb3Z1ay1mb290ZXItdGV4dDtcbiAgICBiYWNrZ3JvdW5kOiAkZ292dWstZm9vdGVyLWJhY2tncm91bmQ7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGUtZmlsbDtcblxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICRnb3Z1ay1mb290ZXItbGluaztcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkZ292dWstZm9vdGVyLWxpbmstaG92ZXI7XG4gICAgfVxuXG4gICAgLy8gVXNlIHRleHQgY29sb3VyIHdoZW4gZm9jdXNzZWRcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZ292dWstdGV4dC1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3JcbiAgICAvLyBkZXNpZ25lZCB0byBtYWtlIHVudmlzaXRlZCBsaW5rcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvXG4gICAgLy8gd2UgbmVlZCB0byBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzLlxuICAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAgICY6bGluazpmb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX3NlY3Rpb24tYnJlYWsge1xuICAgIG1hcmdpbjogMDsgLy8gUmVzZXQgYDxocj5gIGRlZmF1bHQgbWFyZ2luc1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICAgIGJvcmRlcjogMDsgLy8gUmVzZXQgYDxocj5gIGRlZmF1bHQgYm9yZGVyc1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstZm9vdGVyLWJvcmRlcjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICBtYXJnaW4tcmlnaHQ6IC0kZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgbWFyZ2luLWxlZnQ6IC0kZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZDtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEtaXRlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg1KTtcbiAgICBtYXJnaW4tbGVmdDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbWV0YS1pdGVtLS1ncm93IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICBAaW5jbHVkZSBtcSAoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAzMjBweDtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAzMjBweDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2xpY2VuY2UtbG9nbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgICBAaW5jbHVkZSBtcSAoJHVudGlsOiBkZXNrdG9wKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIH1cbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGljZW5jZS1kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fY29weXJpZ2h0LWxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4td2lkdGg6ICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGg7XG4gICAgcGFkZGluZy10b3A6ICgkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLWhlaWdodCArIGdvdnVrLXNwYWNpbmcoMikpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcImdvdnVrLWNyZXN0LnBuZ1wiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwiZ292dWstY3Jlc3QtMngucG5nXCIpO1xuICAgIH1cbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGggJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS1oZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9faW5saW5lLWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9faW5saW5lLWxpc3QtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNywgXCJib3R0b21cIik7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgQGluY2x1ZGUgbXEgKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1mb290ZXItYm9yZGVyO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIG1hcmdpbi1yaWdodDogLSRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICBtYXJnaW4tbGVmdDogLSRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX3NlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ292dWstZ3V0dGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAvLyBFbnN1cmUgY29sdW1ucyB0YWtlIHVwIGVxdWFsIHdpZHRoICh0eXBpY2FsbHkgb25lLWhhbGY6b25lLWhhbGYpXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMTtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICBAaW5jbHVkZSBtcSAoJHVudGlsOiBkZXNrdG9wKSB7XG4gICAgICAvLyBNYWtlIHN1cmUgY29sdW1ucyBkbyBub3QgZHJvcCBiZWxvdyAyMDBweCBpbiB3aWR0aFxuICAgICAgLy8gV2lsbCB0eXBpY2FsbHkgcmVzdWx0IGluIHdyYXBwaW5nLCBhbmQgZW5kIHVwIGluIGEgc2luZ2xlIGNvbHVtbiBvbiBzbWFsbGVyIHNjcmVlbnMuXG4gICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMjAwcHg7XG4gICAgICAgICAgZmxleC1iYXNpczogMjAwcHg7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICB9XG4gIH1cblxuICAvLyBTZWN0aW9ucyB0d28tdGhpcmQ6b25lLXRoaXJkIG9uIGRlc2t0b3BcbiAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgLmdvdnVrLWZvb3Rlcl9fc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAyO1xuICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAyO1xuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDI7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC13ZWJraXQtY29sdW1uLWdhcDogJGdvdnVrLWd1dHRlcjtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6ICRnb3Z1ay1ndXR0ZXI7IC8vIFN1cHBvcnQ6IENvbHVtbnNcbiAgfVxuXG4gIEBpbmNsdWRlIG1xICgkZnJvbTogZGVza3RvcCkge1xuICAgIC5nb3Z1ay1mb290ZXJfX2xpc3QtLWNvbHVtbnMtMiB7XG4gICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgICAgICAgY29sdW1uLWNvdW50OiAyOyAvLyBTdXBwb3J0OiBDb2x1bW5zXG4gICAgfVxuXG4gICAgLmdvdnVrLWZvb3Rlcl9fbGlzdC0tY29sdW1ucy0zIHtcbiAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAzO1xuICAgICAgICAgICAgICBjb2x1bW4tY291bnQ6IDM7IC8vIFN1cHBvcnQ6IENvbHVtbnNcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saXN0LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy90eXBvZ3JhcGh5XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaGVhZGVyXCIpIHtcblxuICAkZ292dWstaGVhZGVyLWJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAkZ292dWstaGVhZGVyLWJvcmRlci1jb2xvcjogJGdvdnVrLWJyYW5kLWNvbG91cjtcbiAgJGdvdnVrLWhlYWRlci1ib3JkZXItd2lkdGg6IGdvdnVrLXNwYWNpbmcoMik7XG4gICRnb3Z1ay1oZWFkZXItdGV4dDogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICRnb3Z1ay1oZWFkZXItbGluazogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICRnb3Z1ay1oZWFkZXItbGluay1ob3ZlcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICRnb3Z1ay1oZWFkZXItbGluay1hY3RpdmU6ICMxZDhmZWI7XG4gICRnb3Z1ay1oZWFkZXItbmF2LWl0ZW0tYm9yZGVyLWNvbG9yOiAjMmUzMTMzO1xuXG4gIC5nb3Z1ay1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcblxuICAgIGJvcmRlci1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgc29saWQgZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgY29sb3I6ICRnb3Z1ay1oZWFkZXItdGV4dDtcbiAgICBiYWNrZ3JvdW5kOiAkZ292dWstaGVhZGVyLWJhY2tncm91bmQ7XG5cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2NvbnRhaW5lci0tZnVsbC13aWR0aCB7XG4gICAgcGFkZGluZzogMCBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWhlYWRlci1ib3JkZXItY29sb3I7XG5cbiAgICAuZ292dWstaGVhZGVyX19tZW51LWJ1dHRvbiB7XG4gICAgICByaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAtJGdvdnVrLWhlYWRlci1ib3JkZXItd2lkdGg7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgYm9yZGVyLWJvdHRvbTogJGdvdnVrLWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWhlYWRlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvdHlwZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24ge1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24tZmFsbGJhY2staW1hZ2Uge1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBib3JkZXI6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX3Byb2R1Y3QtbmFtZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlLWZpbGw7XG5cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmxpbmssXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAkZ292dWstaGVhZGVyLWxpbms7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICB9XG5cbiAgICAvLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbmNsdWRlcyBhIHNwZWNpZmljIGE6bGluazpmb2N1cyBzZWxlY3RvclxuICAgIC8vIGRlc2lnbmVkIHRvIG1ha2UgdW52aXNpdGVkIGxpbmtzIGEgc2xpZ2h0bHkgZGFya2VyIGJsdWUgd2hlbiBmb2N1c3NlZCwgc29cbiAgICAvLyB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMuXG4gICAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluay0taG9tZXBhZ2Uge1xuICAgIC8vIEZvbnQgc2l6ZSBuZWVkcyB0byBiZSBzZXQgb24gdGhlIGxpbmsgc28gdGhhdCB0aGUgYm94IHNpemluZyBpcyBjb3JyZWN0XG4gICAgLy8gaW4gRmlyZWZveFxuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IGZhbHNlLCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDMwcHg7IC8vIFdlIGRvbid0IGhhdmUgYSBtaXhpbiB0aGF0IHByb2R1Y2VzIDMwcHggZm9udCBzaXplXG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG5cbiAgICAmOmxpbmssXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7IC8vIE5lZ2F0ZSB0cmFuc3BhcmVudCBib3R0b20gYm9yZGVyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluay0tc2VydmljZS1uYW1lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigyLCBcImJvdHRvbVwiKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDgpO1xuXG4gICAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIHdpZHRoOiA2Ni42NiU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19tZW51LWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogZ292dWstc3BhY2luZyg0KTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6ICRnb3Z1ay1oZWFkZXItbGluaztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiBkb3duLCAkYmFzZTogMTBweCwgJGRpc3BsYXk6IGlubGluZS1ibG9jayk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlO1xuXG4gICAgQGluY2x1ZGUgbXEgKCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19tZW51LWJ1dHRvbi0tb3BlbiB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogdXAsICRiYXNlOiAxMHB4LCAkZGlzcGxheTogaW5saW5lLWJsb2NrKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigyLCBcImJvdHRvbVwiKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgLmpzLWVuYWJsZWQge1xuICAgIC5nb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24tLW9wZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLS1lbmQge1xuICAgIEBpbmNsdWRlIG1xICgkZnJvbTogZGVza3RvcCkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKSAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi0tbm8tc2VydmljZS1uYW1lIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZyg3KTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24taXRlbSB7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygyKSAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstaGVhZGVyLW5hdi1pdGVtLWJvcmRlci1jb2xvcjtcblxuICAgIEBpbmNsdWRlIG1xICgkZnJvbTogZGVza3RvcCkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKSAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYsICR3ZWlnaHQ6IGJvbGQpO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLWl0ZW0tLWFjdGl2ZSB7XG4gICAgYSB7XG4gICAgICAmOmxpbmssXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1oZWFkZXItbGluay1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgIC5nb3Z1ay1oZWFkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIEhpZGUgdGhlIGludmVydGVkIGNyb3duIHdoZW4gcHJpbnRpbmcgaW4gYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IFNWRy5cbiAgICAuZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93bi1mYWxsYmFjay1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5nb3Z1ay1oZWFkZXJfX2xpbmsge1xuICAgICAgJjpsaW5rLFxuICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgICAgfVxuXG4gICAgICAvLyBEbyBub3QgYXBwZW5kIGxpbmsgaHJlZiB0byBHT1YuVUsgbGluayB3aGVuIHByaW50aW5nIChlLmcuICcoLyknKVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQmVnaW4gYWRqdXN0bWVudHMgZm9yIGZvbnQgYmFzZWxpbmUgb2Zmc2V0XG4gIC8vIFRoZXNlIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gdGhlIGZvbnQgaXMgdXBkYXRlZCB3aXRoIHRoZSBjb3JyZWN0IGJhc2VsaW5lXG4gIC5nb3Z1ay1oZWFkZXJfX2xvZ290eXBlLWNyb3duLFxuICAuZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93bi1mYWxsYmFjay1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTRweDtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXIge1xuICAgICRvZmZzZXQ6IDNweDtcbiAgICBwYWRkaW5nLXRvcDogJG9mZnNldDtcbiAgfVxuICAvLyBFbmQgYWRqdXN0bWVudHNcblxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaW5zZXQtdGV4dFwiKSB7XG4gIC5nb3Z1ay1pbnNldC10ZXh0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygzKTtcbiAgICAvLyBNYXJnaW4gdG9wIGludGVuZGVkIHRvIGNvbGxhcHNlXG4gICAgLy8gVGhpcyBhZGRzIGFuIGFkZGl0aW9uYWwgMTBweCB0byB0aGUgcGFyYWdyYXBoIGFib3ZlXG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG5cbiAgICBjbGVhcjogYm90aDtcblxuICAgIGJvcmRlci1sZWZ0OiAkZ292dWstYm9yZGVyLXdpZHRoLXdpZGUgc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG5cbiAgICA6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICA6b25seS1jaGlsZCxcbiAgICA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvcGFuZWxcIikge1xuXG4gIC5nb3Z1ay1wYW5lbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDcpIC0gJGdvdnVrLWJvcmRlci13aWR0aDtcblxuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDYpIC0gJGdvdnVrLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFuZWwtLWNvbmZpcm1hdGlvbiB7XG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcInR1cnF1b2lzZVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1wYW5lbF9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg2KTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDQ4LCAkd2VpZ2h0OiBib2xkKTtcbiAgfVxuXG4gIC5nb3Z1ay1wYW5lbF9fYm9keSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMzYpO1xuICB9XG5cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vdGFnL3RhZ1wiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3BoYXNlLWJhbm5lclwiKSB7XG4gIC5nb3Z1ay1waGFzZS1iYW5uZXIge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXBoYXNlLWJhbm5lcl9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuXG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmdvdnVrLXBoYXNlLWJhbm5lcl9fY29udGVudF9fdGFnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstcGhhc2UtYmFubmVyX190ZXh0IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvdGFnXCIpIHtcbiAgLmdvdnVrLXRhZyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMS4yNSk7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKSA4cHggMDtcblxuICAgIC8vIFdoZW4gYSB1c2VyIGN1c3RvbWlzZXMgdGhlaXIgY29sb3VycyBvZnRlbiB0aGUgYmFja2dyb3VuZCBpcyByZW1vdmVkLFxuICAgIC8vIGJ5IGFkZGluZyBhIG91dGxpbmUgd2UgZW5zdXJlIHRoYXQgdGhlIHRhZyBjb21wb25lbnQgc3RpbGwga2VlcHMgaXQncyBtZWFuaW5nLlxuICAgIC8vIGh0dHBzOi8vYWNjZXNzaWJpbGl0eS5ibG9nLmdvdi51ay8yMDE3LzAzLzI3L2hvdy11c2Vycy1jaGFuZ2UtY29sb3Vycy1vbi13ZWJzaXRlcy9cbiAgICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG5cbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiYmx1ZVwiKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAuZ292dWstdGFnLS1pbmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiZ3JleS0xXCIpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90YWJzXCIpIHtcblxuICAuZ292dWstdGFicyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDEsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXRhYnNfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJzX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstdGFic19fbGlzdC1pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZyg1KTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIuKAlCBcIjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtIGdvdnVrLXNwYWNpbmcoNSk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay10YWJzX190YWIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICAmW2FyaWEtY3VycmVudCA9IFwidHJ1ZVwiXSB7XG4gICAgICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXRhYnNfX3BhbmVsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC8vIEphdmFTY3JpcHQgZW5hYmxlZFxuICAuanMtZW5hYmxlZCB7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG5cbiAgICAgIC5nb3Z1ay10YWJzX19saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICAgIH1cblxuICAgICAgLmdvdnVrLXRhYnNfX2xpc3QtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fdGFiIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImdyZXktNFwiKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJlthcmlhLXNlbGVjdGVkPSBcInRydWVcIl0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0gZ292dWstc3BhY2luZygxKTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuXG4gICAgICAgICAgLy8gMXB4IGlzIGNvbXBlbnNhdGlvbiBmb3IgYm9yZGVyIChvdGhlcndpc2Ugd2UgZ2V0IGEgMXB4IHNoaWZ0KVxuICAgICAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpIC0gMXB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNCkgLSAxcHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMykgKyAxcHg7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpIC0gMXB4O1xuXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG5cbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fcGFuZWwge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigwLCBcImJvdHRvbVwiKTtcbiAgICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoNik7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuXG4gICAgICAgICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLmpzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9maWVsZHNldC9maWVsZHNldFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvcmFkaW9zXCIpIHtcbiAgJGdvdnVrLXJhZGlvcy1zaXplOiBnb3Z1ay1zcGFjaW5nKDcpO1xuICAkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgLy8gV2hlbiB0aGUgZGVmYXVsdCBmb2N1cyB3aWR0aCBpcyB1c2VkIG9uIGEgY3VydmVkIGVkZ2UgaXQgbG9va3MgdmlzdWFsbHkgc21hbGxlci5cbiAgLy8gU28gZm9yIHRoZSBjaXJjdWxhciByYWRpb3Mgd2UgYnVtcCB0aGUgZGVmYXVsdCB0byBtYWtlIGl0IGxvb2sgdmlzdWFsbHkgY29uc2lzdGVudC5cbiAgJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aDogJGdvdnVrLWZvY3VzLXdpZHRoICsgMXB4O1xuXG4gIC5nb3Z1ay1yYWRpb3NfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWluLWhlaWdodDogJGdvdnVrLXJhZGlvcy1zaXplO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nOiAwIDAgMCAkZ292dWstcmFkaW9zLXNpemU7XG5cbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2l0ZW06bGFzdC1jaGlsZCxcbiAgLmdvdnVrLXJhZGlvc19faXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19pbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAkZ292dWstcmFkaW9zLXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstcmFkaW9zLXNpemU7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvLyBJRTggZG9lc27igJl0IHN1cHBvcnQgcHNldWRvZWxlbWVudHMsIHNvIHdlIGRvbuKAmXQgd2FudCB0byBoaWRlIG5hdGl2ZSBlbGVtZW50cyB0aGVyZS4gRG91YmxlIGNvbG9ucyBnZXQgb21taXRlZCBieSBJRTguXG4gICAgQGluY2x1ZGUgZ292dWstbm90LWllOCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIC8vIGFkZCBmb2N1cyBvdXRsaW5lIHRvIGlucHV0IGVsZW1lbnQgZm9yIElFOFxuICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19fbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDhweCAkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodCBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyByZW1vdmUgMzAwbXMgcGF1c2Ugb24gbW9iaWxlXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQgKyAuZ292dWstcmFkaW9zX19sYWJlbDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6ICRnb3Z1ay1yYWRpb3Mtc2l6ZTtcbiAgICBoZWlnaHQ6ICRnb3Z1ay1yYWRpb3Mtc2l6ZTtcblxuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0ICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICBsZWZ0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuXG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuXG4gICAgYm9yZGVyOiBnb3Z1ay1zcGFjaW5nKDIpIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gIH1cblxuICAvLyBGb2N1c2VkIHN0YXRlXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmZvY3VzICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gU2luY2UgYm94LXNoYWRvd3MgYXJlIHJlbW92ZWQgd2hlbiB1c2VycyBjdXN0b21pc2UgdGhlaXIgY29sb3Vyc1xuICAgIC8vIFdlIHNldCBhIHRyYW5zcGFyZW50IG91dGxpbmUgdGhhdCBpcyBzaG93biBpbnN0ZWFkLlxuICAgIC8vIGh0dHBzOi8vYWNjZXNzaWJpbGl0eS5ibG9nLmdvdi51ay8yMDE3LzAzLzI3L2hvdy11c2Vycy1jaGFuZ2UtY29sb3Vycy1vbi13ZWJzaXRlcy9cbiAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6ICRnb3Z1ay1mb2N1cy13aWR0aDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwICRnb3Z1ay1yYWRpb3MtZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRnb3Z1ay1yYWRpb3MtZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFNlbGVjdGVkIHN0YXRlXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmNoZWNrZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbDo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuZ292dWstcmFkaW9zX19pbnB1dDpkaXNhYmxlZCxcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbCB7XG4gICAgb3BhY2l0eTogLjU7XG4gIH1cblxuICAvLyBJbmxpbmUgdmFyaWFudFxuICAuZ292dWstcmFkaW9zLS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIG1xICgkZnJvbTogdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcblxuICAgICAgLmdvdnVrLXJhZGlvc19faXRlbSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGg6ICRnb3Z1ay1ib3JkZXItd2lkdGgtbW9iaWxlO1xuICAvLyBDYWxjdWxhdGUgdGhlIGFtb3VudCBvZiBwYWRkaW5nIG5lZWRlZCB0byBrZWVwIHRoZSBib3JkZXIgY2VudGVyZWQgYWdhaW5zdCB0aGUgcmFkaW9zLlxuICAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc6ICgkZ292dWstcmFkaW9zLXNpemUgLyAyKSAtICgkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIC8gMik7XG4gIC8vIE1vdmUgdGhlIGJvcmRlciBjZW50ZXJlZCB3aXRoIHRoZSByYWRpb3NcbiAgJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc7XG4gIC8vIE1vdmUgdGhlIGNvbnRlbnRzIG9mIHRoZSBjb25kaXRpb25hbCBpbmxpbmUgd2l0aCB0aGUgbGFiZWxcbiAgJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nICsgJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG5cbiAgLmdvdnVrLXJhZGlvc19fY29uZGl0aW9uYWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIG1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtbWFyZ2luLWxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29uZGl0aW9uYWwtcGFkZGluZy1sZWZ0O1xuICAgIGJvcmRlci1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgJlthcmlhLWhpZGRlbj1cInRydWVcIl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlXCI7XG5AaW1wb3J0IFwiLi4vaGludC9oaW50XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvbGFiZWxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9zZWxlY3RcIikge1xuICAuZ292dWstc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJGxpbmUtaGVpZ2h0OiAxLjI1KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG5cbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIHNob3VsZCB0aGlzIGJlIGdsb2JhbD9cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQwcHg7XG5cbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpOyAvLyB3YXMgNXB4IDRweCA0cHggLSBzaXplIG9mIGl0IHNob3VsZCBiZSBhZGp1c3RlZCB0byBtYXRjaCBvdGhlciBmb3JtIGVsZW1lbnRzXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1zZWxlY3Qgb3B0aW9uOmFjdGl2ZSxcbiAgLmdvdnVrLXNlbGVjdCBvcHRpb246Y2hlY2tlZCxcbiAgLmdvdnVrLXNlbGVjdDpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiYmx1ZVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1zZWxlY3QtLWVycm9yIHtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG4gIH1cblxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvc2tpcC1saW5rXCIpIHtcbiAgLmdvdnVrLXNraXAtbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplOiAxNik7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3RhYmxlXCIpIHtcbiAgLmdvdnVrLXRhYmxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG5cbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG5cbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIGdvdnVrLXNwYWNpbmcoNCkgZ292dWstc3BhY2luZygyKSAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19jZWxsIHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIGdvdnVrLXNwYWNpbmcoNCkgZ292dWstc3BhY2luZygyKSAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19jZWxsLS1udW1lcmljIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiBmYWxzZSwgJHRhYnVsYXI6IHRydWUpO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXItLW51bWVyaWMsXG4gIC5nb3Z1ay10YWJsZV9fY2VsbC0tbnVtZXJpYyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2hlYWRlcjpsYXN0LWNoaWxkLFxuICAuZ292dWstdGFibGVfX2NlbGw6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9fY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcblxuICAgIGRpc3BsYXk6IHRhYmxlLWNhcHRpb247XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3RleHRhcmVhXCIpIHtcbiAgLmdvdnVrLXRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJGxpbmUtaGVpZ2h0OiAxLjI1KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG5cbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIHNob3VsZCB0aGlzIGJlIGdsb2JhbD9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLXRleHRhcmVhLS1lcnJvciB7XG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudC1lcnJvciBzb2xpZCAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC93YXJuaW5nLXRleHRcIikge1xuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIDA7XG4gIH1cblxuICAuZ292dWstd2FybmluZy10ZXh0X19hc3Npc3RpdmUge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbjtcbiAgfVxuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHRfX2ljb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IGZhbHNlLCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuXG4gICAgbWluLXdpZHRoOiAzMnB4O1xuICAgIG1pbi1oZWlnaHQ6IDI5cHg7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7IC8vIEhhbGYgdGhlIGhlaWdodCBvZiB0aGUgY2lyY2xlIChhZGp1c3RlZCBmb3IgTlRBKVxuICAgIHBhZGRpbmctdG9wOiAzcHg7XG5cbiAgICAvLyBXaGVuIGEgdXNlciBjdXN0b21pc2VzIHRoZWlyIGNvbG91cnMgdGhlIGJhY2tncm91bmQgY29sb3VyIHdpbGwgb2Z0ZW4gYmUgcmVtb3ZlZC5cbiAgICAvLyBBZGRpbmcgYSBib3JkZXIgdG8gdGhlIGNvbXBvbmVudCBrZWVwcyBpdCdzIHNoYXBlIGFzIGEgY2lyY2xlLlxuICAgIGJvcmRlcjogM3B4IHNvbGlkIGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcblxuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAvLyBQcmV2ZW50IHRoZSBleGNsYW1hdGlvbiBtYXJrIGZyb20gYmVpbmcgaW5jbHVkZWQgd2hlbiB0aGUgd2FybmluZyB0ZXh0XG4gICAgLy8gaXMgY29waWVkLCBmb3IgZXhhbXBsZS5cbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLmdvdnVrLXdhcm5pbmctdGV4dF9fdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IC0kZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgcGFkZGluZy1sZWZ0OiA2NXB4O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJ2aXN1YWxseS1oaWRkZW5cIjtcbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay91dGlsaXRpZXMvY2xlYXJmaXhcIikge1xuICAuZ292dWstY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvdXRpbGl0aWVzL3Zpc3VhbGx5LWhpZGRlblwiKSB7XG4gIC5nb3Z1ay12aXN1YWxseS1oaWRkZW4ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbjtcbiAgfVxuXG4gIC8vLyBAZGVwcmVjYXRlZCBEZXByZWNhdGVkIGFzIG9mIHJlbGVhc2UgMS4xLCByZXBsYWNlZCBieSBgLmdvdnVrLXZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGVgXG4gIC5nb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNzYWJsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTtcbiAgfVxuXG4gIC5nb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlO1xuICB9XG5cbn1cbiIsIkBpbXBvcnQgXCJkaXNwbGF5XCI7XG5AaW1wb3J0IFwic3BhY2luZ1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJ3aWR0aFwiO1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy9kaXNwbGF5XCIpIHtcblxuICAuZ292dWstXFwhLWRpc3BsYXktaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZGlzcGxheS1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS1kaXNwbGF5LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIG92ZXJyaWRlc1xuLy8vL1xuXG4vLy8gRGlyZWN0aW9ucyBmb3Igc3BhY2luZ1xuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfc3BhY2luZy1kaXJlY3Rpb25zOiAoXG4gIFwidG9wXCIsXG4gIFwicmlnaHRcIixcbiAgXCJib3R0b21cIixcbiAgXCJsZWZ0XCJcbikgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIG92ZXJyaWRlIGNsYXNzZXNcbi8vL1xuLy8vIEdlbmVyYXRlIHNwYWNpbmcgb3ZlcnJpZGUgY2xhc3NlcyBmb3IgdGhlIGdpdmVuIHByb3BlcnR5IChlLmcuIG1hcmdpbilcbi8vLyBmb3IgZWFjaCBwb2ludCBpbiB0aGUgc3BhY2luZyBzY2FsZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBQcm9wZXJ0eSB0byBhZGQgc3BhY2luZyB0byAoZS5nLiAnbWFyZ2luJylcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1cXCEtbWFyZ2luLTAge1xuLy8vICAgICAgbWFyZ2luOiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gIC5nb3Z1ay1cXCEtbWFyZ2luLXRvcC0xIHtcbi8vLyAgICAgbWFyZ2luLXRvcDogW3doYXRldmVyIHNwYWNpbmcgcG9pbnQgMSBpcy4uLl1cbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2dvdnVrLWdlbmVyYXRlLXNwYWNpbmctb3ZlcnJpZGVzKCRwcm9wZXJ0eSkge1xuICAvLyBGb3IgZWFjaCBwb2ludCBpbiB0aGUgc3BhY2luZyBzY2FsZSAoZGVmaW5lZCBpbiBzZXR0aW5ncyksIGNyZWF0ZSBhblxuICAvLyBvdmVycmlkZSB0aGF0IGFmZmVjdHMgYWxsIGRpcmVjdGlvbnMuLi5cbiAgQGVhY2ggJHNjYWxlLXBvaW50LCAkc2NhbGUtbWFwIGluICRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGUge1xuXG4gICAgLmdvdnVrLVxcIS0jeyRwcm9wZXJ0eX0tI3skc2NhbGUtcG9pbnR9IHtcblxuICAgICAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkc2NhbGUtcG9pbnQsICRwcm9wZXJ0eSwgXCJhbGxcIiwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gLi4uIGFuZCB0aGVuIGFuIG92ZXJyaWRlIGZvciBlYWNoIGluZGl2aWR1YWwgZGlyZWN0aW9uXG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiAkX3NwYWNpbmctZGlyZWN0aW9ucyB7XG5cbiAgICAgIC5nb3Z1ay1cXCEtI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn0tI3skc2NhbGUtcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkc2NhbGUtcG9pbnQsICRwcm9wZXJ0eSwgJGRpcmVjdGlvbiwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvc3BhY2luZ1wiKSB7XG4gIEBpbmNsdWRlIF9nb3Z1ay1nZW5lcmF0ZS1zcGFjaW5nLW92ZXJyaWRlcyhcIm1hcmdpblwiKTtcbiAgQGluY2x1ZGUgX2dvdnVrLWdlbmVyYXRlLXNwYWNpbmctb3ZlcnJpZGVzKFwicGFkZGluZ1wiKTtcbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvdHlwb2dyYXBoeVwiKSB7XG4gIC8vIEZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHRcblxuICAvLyBHZW5lcmF0ZSB0eXBvZ3JhcGh5IG92ZXJyaWRlIGNsYXNzZXMgZm9yIGVhY2ggcmVzcG9uc2l2ZSBmb250IG1hcCBpbiB0aGVcbiAgLy8gdHlwb2dyYXBoeSBzY2FsZSBlZyAuZ292dWstXFwhLWZvbnQtc2l6ZS04MFxuICBAZWFjaCAkc2l6ZSBpbiBtYXAta2V5cygkZ292dWstdHlwb2dyYXBoeS1zY2FsZSkge1xuICAgIC5nb3Z1ay1cXCEtZm9udC1zaXplLSN7JHNpemV9IHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZSwgJGltcG9ydGFudDogdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gV2VpZ2h0c1xuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtcmVndWxhciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcigkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtYm9sZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZCgkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy93aWR0aFwiKSB7XG4gIC5nb3Z1ay1cXCEtd2lkdGgtdGhyZWUtcXVhcnRlcnMge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC10d28tdGhpcmRzIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDY2LjY2JSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1cXCEtd2lkdGgtb25lLWhhbGYge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC1vbmUtdGhpcmQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogMzMuMzMlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC1vbmUtcXVhcnRlciB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi5hcHAtY29va2llLWJhbm5lciB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYpO1xuICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcblxuICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihkZXNhdHVyYXRlKGdvdnVrLWNvbG91cihcImxpZ2h0LWJsdWVcIiksIDguNDYpLCA0Mi41NSk7XG59XG5cbi5hcHAtY29va2llLWJhbm5lciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5hcHAtY29va2llLWJhbm5lcl9fbWVzc2FnZSB7XG4gIG1hcmdpbjogMDtcbiAgQGluY2x1ZGUgZ292dWstd2lkdGgtY29udGFpbmVyO1xufVxuXG5AaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgLmFwcC1jb29raWUtYmFubmVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi5mb3VuZC1oZWFkaW5nIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGxpZ2h0Z3JleTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjbGVhcjogYm90aDtcbiAgbWluLWhlaWdodDogNDhweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLm1hcC1yZXN1bHRzLWxpc3Qge1xuICBtYXJnaW4tbGVmdDogMzBweDtcbn1cblxuLnJlc3VsdHNtYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm1hcGltYWdlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIkxvYWRpbmcuLi5cIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbWFyZ2luLXRvcDogLTlweDtcbn1cblxuLm1hcGltYWdlIHtcbiAgei1pbmRleDogMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubWFwaW1hZ2UgaW1nIHtcbiAgei1pbmRleDogMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubWFwY29udHJvbHMge1xuICB6LWluZGV4OiAzO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxMHB4O1xuICBib3R0b206IDM4cHg7XG4gIHdpZHRoOiAyOHB4O1xuICBoZWlnaHQ6IDU1cHg7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4yOTgwMzkpIDBweCAxcHggNHB4IC0xcHg7XG4gIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4yOTgwMzkpIDBweCAxcHggNHB4IC0xcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogNTVweDtcbn1cblxuLm1hcHpvb21idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogMHB4O1xuICBtYXJnaW46IDBweDtcbiAgcGFkZGluZzogMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHdpZHRoOiAyN3B4O1xuICBoZWlnaHQ6IDI3cHg7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGluaXRpYWwgaW5pdGlhbDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IGluaXRpYWwgaW5pdGlhbDtcbn1cblxuLm1hcHpvb21kaXZpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogNjclO1xuICBoZWlnaHQ6IDFweDtcbiAgbGVmdDogMTYlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjMwLCAyMzAsIDIzMCk7XG4gIHRvcDogMHB4O1xufVxuXG4udmlldy1saXN0LWxpbmssXG4udmlldy1tYXAtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xufVxuXG4udmlldy1saXN0LWxpbms6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiL2ltYWdlcy9tYXBzL2ljb24tYnVyZ2VyLnBuZ1wiKSBuby1yZXBlYXQgMCAwO1xuICB3aWR0aDogNzFweDtcbiAgaGVpZ2h0OiA1NnB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDMwJTtcbiAgbGVmdDogLTMwcHg7XG4gIHRvcDogNnB4O1xufVxuXG4udmlldy1tYXAtbGluazo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIvaW1hZ2VzL21hcHMvaWNvbi1tYXAucG5nXCIpIG5vLXJlcGVhdCAwIDA7XG4gIHdpZHRoOiA3NXB4O1xuICBoZWlnaHQ6IDU2cHg7XG4gIGJhY2tncm91bmQtc2l6ZTogMzAlO1xuICBsZWZ0OiAtMzBweDtcbiAgdG9wOiAwXG59IiwiLnR3aXR0ZXItdHlwZWFoZWFkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50dC1zdWdnZXN0aW9uIHtcbiAgZm9udC1mYW1pbHk6IFwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwYWRkaW5nOiA3LjVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udHQtc3VnZ2VzdGlvbjpob3Zlcixcbi50dC1jdXJzb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVlOGYzO1xufVxuXG4udHQtbWVudSB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAjYmZjMWMzIDJweCBzb2xpZDtcbiAgYm94LXNoYWRvdzogMCAzcHggMnB4ICNiZmMxYzM7XG59XG5cbi50dC1oaW50IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIC5wYW5lbCAudHQtbWVudSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4udHQtaGlnaGxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4iLCLvu78vLyBEb2N1bWVudCBsaXN0IHBhdHRlcm5cblxuLy8gU3BhY2luZyB0byB0aGUgbGVmdCBvZiB0aGUgdGFzayBsaXN0XG4kY291cnNlLXBhcnRzLWluZGVudDogMzVweDtcblxuLmNvdXJzZS1wYXJ0cyB7XG4gIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1hcmdpbi10b3A6IChnb3Z1ay1zcGFjaW5nKDIpICogMS41KTtcbiAgfVxufVxuXG4uY291cnNlLXBhcnRzLXNlY3Rpb24ge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogKGdvdnVrLXNwYWNpbmcoMikgLyA2KTtcbn1cblxuLmNvdXJzZS1wYXJ0cy1pdGVtcyB7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1hcmdpbi1ib3R0b206IChnb3Z1ay1zcGFjaW5nKDIpICogMik7XG4gIH1cbn1cblxuLmNvdXJzZS1wYXJ0cy1pdGVtIHtcbiAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbn1cblxuLmNvdXJzZS1wYXJ0cy1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xufVxuXG4uY291cnNlLXBhcnQtdGFzayB7XG4gIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHR3by10aGlyZHMpO1xuICBmbG9hdDogbGVmdDtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQpO1xuICBtYXJnaW46IDA7XG59XG5cbi5jb3Vyc2UtcGFydC10YXNrLWFjdGlvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwYWRkaW5nLXRvcDogM3B4O1xufVxuXG4uY291cnNlLXBhcnQtdGFza3Mge1xuICBtYXJnaW4tdG9wOiA2MHB4O1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+ICoge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgfVxuXG4gICAgPiAqIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICBwYWRkaW5nOiBlbSgxMiwgMTkpIGVtKDIwLCAxOSkgZW0oOSwgMTkpIDA7IC8vIGNvcGllZCBmcm9tIEVsZW1lbnRzJyB0ZCBwYWRkaW5nXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgJjpmaXJzdC1jaGlsZCA+ICoge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY291cnNlLXBhcnQtbGFiZWwge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gIH1cblxuICA+ICo6Zmlyc3QtY2hpbGQgLmNvdXJzZS1wYXJ0LWxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLmNvdXJzZS1wYXJ0LXZhbHVlIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAmLS1lbXB0eSB7XG4gICAgICBjb2xvcjogZ292dWstY29sb3VyKFwiZ3JleS0xXCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLmdvdnVrLXN1Y2Nlc3Mtc3VtbWFyeSB7XG4gIEBleHRlbmQgLmdvdnVrLWVycm9yLXN1bW1hcnk7XG4gIGJvcmRlci1jb2xvcjogZ292dWstY29sb3VyKFwiZ3JlZW5cIik7XG5cbiAgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5nb3Z1ay1zdWNjZXNzLXN1bW1hcnlfX3RpdGxlIHtcbiAgQGV4dGVuZCAuZ292dWstZXJyb3Itc3VtbWFyeV9fdGl0bGU7XG59XG5cbi5nb3Z1ay1zdWNjZXNzLXN1bW1hcnlfX2JvZHkge1xuICBAZXh0ZW5kIC5nb3Z1ay1lcnJvci1zdW1tYXJ5X19ib2R5O1xufVxuIiwiJWdvdnVrLWxpc3QtLWRlc2NyaXB0aW9uIHtcbiAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbiVnb3Z1ay1saXN0LS1kZXNjcmlwdGlvbiA+IGR0IHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IG5vcm1hbCk7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDMzLjMzJTtcbiAgfVxufVxuXG4lZ292dWstbGlzdC0tZGVzY3JpcHRpb24gPiBkZCB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBub3JtYWwpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW46IDA7XG5cbiAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDY2LjY2JTtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5nb3Z1ay1saXN0LS1kZXNjcmlwdGlvbiB7XG4gIEBleHRlbmQgJWdvdnVrLWxpc3QtLWRlc2NyaXB0aW9uO1xuXG4gICZfX2xhYmVsOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIjpcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbiIsIi5maWx0ZXItZm9ybSB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImdyZXktM1wiKTtcbiAgcGFkZGluZzogOHB4O1xuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIH1cblxuICAmX192YWx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICB9XG5cbiAgJl9fdmFsdWUtLWxpc3Qge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3Q7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuXG4gICAgbGkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiA4cHg7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstaW5wdXQge1xuICAgIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgfVxuXG4gIC5nb3Z1ay1saXN0IGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi5wdWItYy1wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweFxufVxuXG4ucHViLWMtcGFnaW5hdGlvbl9fbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMFxufVxuXG4ucHViLWMtcGFnaW5hdGlvbl9fbGlzdDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aFxufVxuXG4ucHViLWMtcGFnaW5hdGlvbl9faXRlbSB7XG4gIGZvbnQtZmFtaWx5OiBcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiA1MCVcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIC5wdWItYy1wYWdpbmF0aW9uX19pdGVtIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVcbiAgfVxufVxuXG4ucHViLWMtcGFnaW5hdGlvbl9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxNXB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmVcbn1cblxuLnB1Yi1jLXBhZ2luYXRpb25fX2xpbms6dmlzaXRlZCB7XG4gIGNvbG9yOiAjMDA1ZWE1XG59XG5cbi5wdWItYy1wYWdpbmF0aW9uX19saW5rOmhvdmVyLFxuLnB1Yi1jLXBhZ2luYXRpb25fX2xpbms6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmOFxufVxuXG4ucHViLWMtcGFnaW5hdGlvbl9fbGluay10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTExMTExMTExMTtcbiAgZGlzcGxheTogYmxvY2tcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIC5wdWItYy1wYWdpbmF0aW9uX19saW5rLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDI3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVcbiAgfVxufVxuXG4ucHViLWMtcGFnaW5hdGlvbl9faXRlbS0tcHJldmlvdXMge1xuICBmbG9hdDogbGVmdDtcbiAgdGV4dC1hbGlnbjogbGVmdFxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLnB1Yi1jLXBhZ2luYXRpb25fX2l0ZW0tLXByZXZpb3VzIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJVxuICB9XG59XG5cbi5wdWItYy1wYWdpbmF0aW9uX19pdGVtLS1uZXh0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodFxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLnB1Yi1jLXBhZ2luYXRpb25fX2l0ZW0tLW5leHQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlXG4gIH1cbn1cblxuLnB1Yi1jLXBhZ2luYXRpb25fX2xpbmstaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICBoZWlnaHQ6IC40ODJlbTtcbiAgd2lkdGg6IC42M2VtXG59XG5cbi5wdWItYy1wYWdpbmF0aW9uX19saW5rLWxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tdG9wOiAwLjFlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmVcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0F3Q1FFLEFBTkEsV0FNVyxFS0pYLENBQUMsQ0xGVztFSGFaLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7Q0dYakM7O0FWYUcsb0xBQW9MO0FBRXBMLFVBQVU7RUFDUixXQUFXLEVBQUUsS0FBSztFQUNsQixHQUFHLEVWRUMscUNBQWtDO0VVRHRDLEdBQUcsRVZDQyw0Q0FBa0MsQ1VEZ0IsMkJBQTJCLEVWQzdFLHVDQUFrQyxDVUFXLGVBQWUsRVZBNUQsc0NBQWtDLENV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QUFNLEVRcERQLGtCQUFrQixBUnFEakIsT0FBTyxDQUFDO0VBQ1AsS0FBSyxFeEJ0Q0csT0FBTztDd0J1Q2hCOztBUXZERCxBUjJEQSxrQlEzRGtCLEFSMkRqQixNQUFNLENBQUM7RUFDTixLQUFLLEV4QjdDRSxPQUFPO0N3QjhDZjs7QVE3REQsQVJtRUUsa0JRbkVnQixBUm1FZixLQUFLLEFBQUEsTUFBTSxDQUFDO0VLOUNmLEtBQUssRTdCTkksT0FBTztDd0JzRGI7O0FFa0pHLE1BQU0sQ0FBQyxLQUFLO0VNdk5sQixBUm1FRSxrQlFuRWdCLEFSbUVmLEtBQUssQUFBQSxNQUFNLENBQUM7SUszQ2IsS0FBSyxFM0JVaUIsT0FBTztHc0JtQzVCOzs7QVFqRUgsQVJ1RkEsd0JRdkZ3QixBUnVGdkIsS0FBSyxFUXZGTix3QkFBd0IsQVJ3RnZCLFFBQVEsRVF4RlQsd0JBQXdCLEFSeUZ2QixNQUFNLEVRekZQLHdCQUF3QixBUjBGdkIsT0FBTyxFUTFGUix3QkFBd0IsQVIyRnZCLE1BQU0sQ0FBQztFSzFFUixLQUFLLEU3Qk5JLE9BQU87Q3dCa0ZmOztBRXNISyxNQUFNLENBQUMsS0FBSztFTW5ObEIsQVJ1RkEsd0JRdkZ3QixBUnVGdkIsS0FBSyxFUXZGTix3QkFBd0IsQVJ3RnZCLFFBQVEsRVF4RlQsd0JBQXdCLEFSeUZ2QixNQUFNLEVRekZQLHdCQUF3QixBUjBGdkIsT0FBTyxFUTFGUix3QkFBd0IsQVIyRnZCLE1BQU0sQ0FBQztJS3ZFTixLQUFLLEUzQlVpQixPQUFPO0dzQitEOUI7OztBUTdGRCxBUm1HRSx3QlFuR3NCLEFSbUdyQixLQUFLLEFBQUEsTUFBTSxDQUFDO0VLbEZmLEtBQUssRTdCTkksT0FBTztDd0IwRmI7O0FFOEdHLE1BQU0sQ0FBQyxLQUFLO0VNbk5sQixBUm1HRSx3QlFuR3NCLEFSbUdyQixLQUFLLEFBQUEsTUFBTSxDQUFDO0lLL0ViLEtBQUssRTNCVWlCLE9BQU87R3NCdUU1Qjs7O0FRdEZILEFBQ0UsNkJBRDJCLEFBQzFCLFFBQVEsQ0FBQztFQUNSLEtBQUssRWhDUkQsT0FBTztDZ0NTWjs7QUNHSCxBQXRDQSxXQXNDVyxFbUR2QlYseUJBQWEsQ25EZkY7RUphWixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBaUNsQyxXQUFXLEV0QlRlLEdBQUc7RXNCaUd6QixTQUFTLEVyQk5FLElBQUk7RXFCVWYsV0FBVyxFQXBFQyxJQUF5QjtFQXRDekMsS0FBSyxFN0JOSSxPQUFPO0VpQ3pCZCxVQUFVLEVBQUUsQ0FBQztFTGlGVCxhQUEwQixFeEI5QnhCLElBQUk7RTZCakRWLFlBQVksRUFBRSxDQUFDO0VBQ2YsZUFBZSxFQUFFLElBQUk7Q0FNdEI7O0FQd05LLE1BQU0sQ0FBQyxLQUFLO0VPOUxsQixBQXRDQSxXQXNDVyxFbUR2QlYseUJBQWEsQ25EZkY7SUp1QlYsV0FBVyxFdEJJVyxVQUFVO0cwQmZqQzs7O0FQd05LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFTzlMbEMsQUF0Q0EsV0FzQ1csRW1EdkJWLHlCQUFhLENuRGZGO0lKb0pOLFNBQVMsRXJCZEEsSUFBSTtJcUJrQmIsV0FBVyxFQWhGRCxPQUF5QjtHSTVEeEM7OztBUHdOSyxNQUFNLENBQUMsS0FBSztFTzlMbEIsQUF0Q0EsV0FzQ1csRW1EdkJWLHlCQUFhLENuRGZGO0lKK0lOLFNBQVMsRXJCTEEsSUFBSTtJcUJNYixXQUFXLEVyQkxBLElBQUk7R3lCL0hwQjs7O0FQd05LLE1BQU0sQ0FBQyxLQUFLO0VPOUxsQixBQXRDQSxXQXNDVyxFbUR2QlYseUJBQWEsQ25EZkY7SUpxQ1YsS0FBSyxFM0JVaUIsT0FBTztHK0JuQzlCOzs7QVB3TkssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VPOUxsQyxBQXRDQSxXQXNDVyxFbUR2QlYseUJBQWEsQ25EZkY7SUwyRkosYUFBMEIsRXhCcEN4QixJQUFJO0c2QjNDYjs7O0FBMEJELEFBN0JFLFdBNkJTLENBQVgsV0FBVyxFbUR2QlYseUJBQWEsQ25EdUJkLFdBQVcsRUFBWCxXQUFXLENtRHZCVix5QkFBYSxFQUFiLHlCQUFhLENBQWIseUJBQWEsQ25ETkE7RUFDVixVQUFVLEU3QkNYLElBQUk7QzZCQUo7O0FQeU5HLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFTzlMbEMsQUF4QkEsV0F3QlcsR0F4QkcsRUFBRSxFbURDZix5QkFBYSxHbkREQSxFQUFFLENBQUM7SUFFYixhQUFhLEU3Qk5kLEdBQUc7RzZCUUw7OztBQW9CRCxBQWpCRSxXQWlCUyxDQWxCQyxDQUFDLEFBQ1YsS0FBSyxFbUROUCx5QkFBYSxDbkRLRixDQUFDLEFBQ1YsS0FBSyxDQUFDO0VBQ0wsS0FBSyxFakNJRCxPQUFPO0NpQ0haOztBQWVILEFBYkUsV0FhUyxDQWxCQyxDQUFDLEFBS1YsUUFBUSxFbURWVix5QkFBYSxDbkRLRixDQUFDLEFBS1YsUUFBUSxDQUFDO0VBQ1IsS0FBSyxFL0J1RmlCLE9BQU87QytCdEY5Qjs7QUFXSCxBQVRFLFdBU1MsQ0FsQkMsQ0FBQyxBQVNWLE1BQU0sRW1EZFIseUJBQWEsQ25ES0YsQ0FBQyxBQVNWLE1BQU0sQ0FBQztFQUNOLEtBQUssRWpDTEssT0FBTztDaUNNbEI7O0FBT0gsQUFMRSxXQUtTLENBbEJDLENBQUMsQUFhVixPQUFPLEVtRGxCVCx5QkFBYSxDbkRLRixDQUFDLEFBYVYsT0FBTyxDQUFDO0VBQ1AsS0FBSyxFakNUSyxPQUFPO0NpQ1VsQjs7QUFhSCxBQU5BLG1CQU1tQixDQU5DO0VBQ2xCLFlBQVksRTdCOUJYLElBQUk7RTZCZ0NMLGVBQWUsRUFBRSxJQUFJO0NBQ3RCOztBQVdELEFBTEEsbUJBS21CLENBTEM7RUFDbEIsWUFBWSxFN0J4Q1gsSUFBSTtFNkJ5Q0wsZUFBZSxFQUFFLE9BQU87Q0FDekI7O0FDcERELEFBQUEsZUFBZSxDQUFDO0VBR2QsZ0JBQWdCLEVsQ3lCUixPQUFPO0NrQ3hCaEI7O0FBR0QsQUFBQSxxQkFBcUIsQ0FBQztFQUdwQixNQUFNLEVBQUUsQ0FBQztFQUVULGdCQUFnQixFbENrQlQsT0FBTztDa0NqQmY7O0FDSkQsQUFWQSxpQkFVaUIsQ0FWQztFTmdDbEIsS0FBSyxFN0JOSSxPQUFPO0U2QmZoQixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBMkNsQyxXQUFXLEV0QmJZLEdBQUc7RXNCMkZ0QixTQUFTLEVyQjlERSxJQUFJO0VxQmtFZixXQUFXLEVBcEVDLE9BQXlCO0VNbEV2QyxPQUFPLEVBQUUsS0FBSztFQUVkLFVBQVUsRUFBRSxDQUFDO0VQNEVULGFBQTBCLEV4QmR4QixJQUFJO0MrQjVEWDs7QVQwTkssTUFBTSxDQUFDLEtBQUs7RVN4TmxCLEFBVkEsaUJBVWlCLENBVkM7SU5tQ2hCLEtBQUssRTNCVWlCLE9BQU87R2lDckM5Qjs7O0FUME5LLE1BQU0sQ0FBQyxLQUFLO0VTeE5sQixBQVZBLGlCQVVpQixDQVZDO0lOcUJoQixXQUFXLEV0QklXLFVBQVU7RzRCakJqQzs7O0FUME5LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFU3hObEMsQUFWQSxpQkFVaUIsQ0FWQztJTmtKWixTQUFTLEVyQnRFQSxJQUFJO0lxQjBFYixXQUFXLEVBaEZELE9BQXlCO0dNOUR4Qzs7O0FUME5LLE1BQU0sQ0FBQyxLQUFLO0VTeE5sQixBQVZBLGlCQVVpQixDQVZDO0lONklaLFNBQVMsRXJCN0RBLElBQUk7SXFCOERiLFdBQVcsRXJCN0RBLElBQUk7RzJCekVwQjs7O0FUME5LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFU3hObEMsQUFWQSxpQkFVaUIsQ0FWQztJUHlGVixhQUEwQixFeEJwQnhCLElBQUk7RytCN0RiOzs7QUFnQkQsQUFWQSxnQkFVZ0IsQ0FWQztFTmtCakIsS0FBSyxFN0JOSSxPQUFPO0U2QmZoQixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBMkNsQyxXQUFXLEV0QmJZLEdBQUc7RXNCMkZ0QixTQUFTLEVyQmhERSxJQUFJO0VxQm9EZixXQUFXLEVBcEVDLE9BQXlCO0VNcER2QyxPQUFPLEVBQUUsS0FBSztFQUVkLFVBQVUsRUFBRSxDQUFDO0VQOERULGFBQTBCLEV4QnRCeEIsSUFBSTtDK0J0Q1g7O0FUNE1LLE1BQU0sQ0FBQyxLQUFLO0VTMU1sQixBQVZBLGdCQVVnQixDQVZDO0lOcUJmLEtBQUssRTNCVWlCLE9BQU87R2lDdkI5Qjs7O0FUNE1LLE1BQU0sQ0FBQyxLQUFLO0VTMU1sQixBQVZBLGdCQVVnQixDQVZDO0lOT2YsV0FBVyxFdEJJVyxVQUFVO0c0QkhqQzs7O0FUNE1LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFUzFNbEMsQUFWQSxnQkFVZ0IsQ0FWQztJTm9JWCxTQUFTLEVyQnhEQSxJQUFJO0lxQjREYixXQUFXLEVBaEZELE9BQXlCO0dNaER4Qzs7O0FUNE1LLE1BQU0sQ0FBQyxLQUFLO0VTMU1sQixBQVZBLGdCQVVnQixDQVZDO0lOK0hYLFNBQVMsRXJCL0NBLElBQUk7SXFCZ0RiLFdBQVcsRXJCL0NBLElBQUk7RzJCekVwQjs7O0FUNE1LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFUzFNbEMsQUFWQSxnQkFVZ0IsQ0FWQztJUDJFVCxhQUEwQixFeEI1QnhCLElBQUk7RytCdkNiOzs7QUFnQkQsQUFWQSxnQkFVZ0IsQ0FWQztFTklqQixLQUFLLEU3Qk5JLE9BQU87RTZCZmhCLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUEyQ2xDLFdBQVcsRXRCYlksR0FBRztFc0IyRnRCLFNBQVMsRXJCcEJFLElBQUk7RXFCd0JmLFdBQVcsRUFwRUMsT0FBeUI7RU10Q3ZDLE9BQU8sRUFBRSxLQUFLO0VBRWQsVUFBVSxFQUFFLENBQUM7RVBnRFQsYUFBMEIsRXhCOUJ4QixJQUFJO0MrQmhCWDs7QVQ4TEssTUFBTSxDQUFDLEtBQUs7RVM1TGxCLEFBVkEsZ0JBVWdCLENBVkM7SU5PZixLQUFLLEUzQlVpQixPQUFPO0dpQ1Q5Qjs7O0FUOExLLE1BQU0sQ0FBQyxLQUFLO0VTNUxsQixBQVZBLGdCQVVnQixDQVZDO0lOUGYsV0FBVyxFdEJJVyxVQUFVO0c0QldqQzs7O0FUOExLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFUzVMbEMsQUFWQSxnQkFVZ0IsQ0FWQztJTnNIWCxTQUFTLEVyQjVCQSxJQUFJO0lxQmdDYixXQUFXLEVBaEZELElBQXlCO0dNbEN4Qzs7O0FUOExLLE1BQU0sQ0FBQyxLQUFLO0VTNUxsQixBQVZBLGdCQVVnQixDQVZDO0lOaUhYLFNBQVMsRXJCbkJBLElBQUk7SXFCb0JiLFdBQVcsRXJCbkJBLElBQUk7RzJCdkZwQjs7O0FUOExLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFUzVMbEMsQUFWQSxnQkFVZ0IsQ0FWQztJUDZEVCxhQUEwQixFeEJwQ3hCLElBQUk7RytCakJiOzs7QUFnQkQsQUFWQSxnQkFVZ0IsQ0FWQztFTlZqQixLQUFLLEU3Qk5JLE9BQU87RTZCZmhCLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUEyQ2xDLFdBQVcsRXRCYlksR0FBRztFc0IyRnRCLFNBQVMsRXJCTkUsSUFBSTtFcUJVZixXQUFXLEVBcEVDLElBQXlCO0VNeEJ2QyxPQUFPLEVBQUUsS0FBSztFQUVkLFVBQVUsRUFBRSxDQUFDO0VQa0NULGFBQTBCLEV4QjlCeEIsSUFBSTtDK0JGWDs7QVRnTEssTUFBTSxDQUFDLEtBQUs7RVM5S2xCLEFBVkEsZ0JBVWdCLENBVkM7SU5QZixLQUFLLEUzQlVpQixPQUFPO0dpQ0s5Qjs7O0FUZ0xLLE1BQU0sQ0FBQyxLQUFLO0VTOUtsQixBQVZBLGdCQVVnQixDQVZDO0lOckJmLFdBQVcsRXRCSVcsVUFBVTtHNEJ5QmpDOzs7QVRnTEssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VTOUtsQyxBQVZBLGdCQVVnQixDQVZDO0lOd0dYLFNBQVMsRXJCZEEsSUFBSTtJcUJrQmIsV0FBVyxFQWhGRCxPQUF5QjtHTXBCeEM7OztBVGdMSyxNQUFNLENBQUMsS0FBSztFUzlLbEIsQUFWQSxnQkFVZ0IsQ0FWQztJTm1HWCxTQUFTLEVyQkxBLElBQUk7SXFCTWIsV0FBVyxFckJMQSxJQUFJO0cyQnZGcEI7OztBVGdMSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RVM5S2xDLEFBVkEsZ0JBVWdCLENBVkM7SVArQ1QsYUFBMEIsRXhCcEN4QixJQUFJO0crQkhiOzs7QUFRRCxBQUFBLGlCQUFpQixDQUFDO0VOL0NsQixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBaUNsQyxXQUFXLEV0QlRlLEdBQUc7RXNCaUd6QixTQUFTLEVyQmxDRSxJQUFJO0VxQnNDZixXQUFXLEVBcEVDLE9BQXlCO0VNVHZDLE9BQU8sRUFBRSxLQUFLO0VBRWQsYUFBYSxFL0J2RFosR0FBRztFK0J5REosS0FBSyxFbkN0Q0csT0FBTztDbUN1Q2hCOztBVGdLSyxNQUFNLENBQUMsS0FBSztFU3hLbEIsQUFBQSxpQkFBaUIsQ0FBQztJTnJDaEIsV0FBVyxFdEJJVyxVQUFVO0c0QnlDakM7OztBVGdLSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RVN4S2xDLEFBQUEsaUJBQWlCLENBQUM7SU53RlosU0FBUyxFckIxQ0EsSUFBSTtJcUI4Q2IsV0FBVyxFQWhGRCxPQUF5QjtHTUp4Qzs7O0FUZ0tLLE1BQU0sQ0FBQyxLQUFLO0VTeEtsQixBQUFBLGlCQUFpQixDQUFDO0lObUZaLFNBQVMsRXJCakNBLElBQUk7SXFCa0NiLFdBQVcsRXJCakNBLElBQUk7RzJCM0NwQjs7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQztFTnpEakIsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQWlDbEMsV0FBVyxFdEJUZSxHQUFHO0VzQmlHekIsU0FBUyxFckJwQkUsSUFBSTtFcUJ3QmYsV0FBVyxFQXBFQyxPQUF5QjtFTUN2QyxPQUFPLEVBQUUsS0FBSztFQUVkLGFBQWEsRS9CakVaLEdBQUc7RStCa0VKLEtBQUssRW5DL0NHLE9BQU87Q21Db0RoQjs7QVRtSkssTUFBTSxDQUFDLEtBQUs7RVM5SmxCLEFBQUEsZ0JBQWdCLENBQUM7SU4vQ2YsV0FBVyxFdEJJVyxVQUFVO0c0QnNEakM7OztBVG1KSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RVM5SmxDLEFBQUEsZ0JBQWdCLENBQUM7SU44RVgsU0FBUyxFckI1QkEsSUFBSTtJcUJnQ2IsV0FBVyxFQWhGRCxJQUF5QjtHTVN4Qzs7O0FUbUpLLE1BQU0sQ0FBQyxLQUFLO0VTOUpsQixBQUFBLGdCQUFnQixDQUFDO0lOeUVYLFNBQVMsRXJCbkJBLElBQUk7SXFCb0JiLFdBQVcsRXJCbkJBLElBQUk7RzJCNUNwQjs7O0FUbUpLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFUzlKbEMsQUFBQSxnQkFBZ0IsQ0FBQztJQVNiLGFBQWEsRUFBRSxDQUFDO0dBRW5COzs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VOdEVqQixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBaUNsQyxXQUFXLEV0QlRlLEdBQUc7RXNCaUd6QixTQUFTLEVyQk5FLElBQUk7RXFCVWYsV0FBVyxFQXBFQyxJQUF5QjtFTWN2QyxPQUFPLEVBQUUsS0FBSztFQUVkLEtBQUssRW5DM0RHLE9BQU87Q21DNERoQjs7QVQySUssTUFBTSxDQUFDLEtBQUs7RVNqSmxCLEFBQUEsZ0JBQWdCLENBQUM7SU41RGYsV0FBVyxFdEJJVyxVQUFVO0c0QjhEakM7OztBVDJJSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RVNqSmxDLEFBQUEsZ0JBQWdCLENBQUM7SU5pRVgsU0FBUyxFckJkQSxJQUFJO0lxQmtCYixXQUFXLEVBaEZELE9BQXlCO0dNaUJ4Qzs7O0FUMklLLE1BQU0sQ0FBQyxLQUFLO0VTakpsQixBQUFBLGdCQUFnQixDQUFDO0lONERYLFNBQVMsRXJCTEEsSUFBSTtJcUJNYixXQUFXLEVyQkxBLElBQUk7RzJCbERwQjs7O0FBWUQsQUFSQSxhQVFhLEVBNkNiLGdCQUFnQixDQXJERjtFTjNEZCxLQUFLLEU3Qk5JLE9BQU87RTZCZmhCLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUFpQ2xDLFdBQVcsRXRCVGUsR0FBRztFc0JpR3pCLFNBQVMsRXJCcEJFLElBQUk7RXFCd0JmLFdBQVcsRUFwRUMsT0FBeUI7RU15QnZDLFVBQVUsRUFBRSxDQUFDO0VQYlQsYUFBMEIsRXhCdEJ4QixJQUFJO0MrQnFDWDs7QVRpSUssTUFBTSxDQUFDLEtBQUs7RVMvSGxCLEFBUkEsYUFRYSxFQTZDYixnQkFBZ0IsQ0FyREY7SU54RFosS0FBSyxFM0JVaUIsT0FBTztHaUNvRDlCOzs7QVRpSUssTUFBTSxDQUFDLEtBQUs7RVMvSGxCLEFBUkEsYUFRYSxFQTZDYixnQkFBZ0IsQ0FyREY7SU50RVosV0FBVyxFdEJJVyxVQUFVO0c0QndFakM7OztBVGlJSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RVMvSGxDLEFBUkEsYUFRYSxFQTZDYixnQkFBZ0IsQ0FyREY7SU51RFIsU0FBUyxFckI1QkEsSUFBSTtJcUJnQ2IsV0FBVyxFQWhGRCxJQUF5QjtHTTJCeEM7OztBVGlJSyxNQUFNLENBQUMsS0FBSztFUy9IbEIsQUFSQSxhQVFhLEVBNkNiLGdCQUFnQixDQXJERjtJTmtEUixTQUFTLEVyQm5CQSxJQUFJO0lxQm9CYixXQUFXLEVyQm5CQSxJQUFJO0cyQjFCcEI7OztBVGlJSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RVMvSGxDLEFBUkEsYUFRYSxFQTZDYixnQkFBZ0IsQ0FyREY7SVBGTixhQUEwQixFeEI1QnhCLElBQUk7RytCb0NiOzs7QUFjRCxBQVJBLGFBUWEsRUFxQ2IsV0FBVyxFRWhKWCxDQUFDLENGbUdhO0VOdkVkLEtBQUssRTdCTkksT0FBTztFNkJmaEIsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQWlDbEMsV0FBVyxFdEJUZSxHQUFHO0VzQmlHekIsU0FBUyxFckJORSxJQUFJO0VxQlVmLFdBQVcsRUFwRUMsSUFBeUI7RU1xQ3ZDLFVBQVUsRUFBRSxDQUFDO0VQekJULGFBQTBCLEV4QjlCeEIsSUFBSTtDK0J5RFg7O0FUcUhLLE1BQU0sQ0FBQyxLQUFLO0VTbkhsQixBQVJBLGFBUWEsRUFxQ2IsV0FBVyxFRWhKWCxDQUFDLENGbUdhO0lOcEVaLEtBQUssRTNCVWlCLE9BQU87R2lDZ0U5Qjs7O0FUcUhLLE1BQU0sQ0FBQyxLQUFLO0VTbkhsQixBQVJBLGFBUWEsRUFxQ2IsV0FBVyxFRWhKWCxDQUFDLENGbUdhO0lObEZaLFdBQVcsRXRCSVcsVUFBVTtHNEJvRmpDOzs7QVRxSEssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VTbkhsQyxBQVJBLGFBUWEsRUFxQ2IsV0FBVyxFRWhKWCxDQUFDLENGbUdhO0lOMkNSLFNBQVMsRXJCZEEsSUFBSTtJcUJrQmIsV0FBVyxFQWhGRCxPQUF5QjtHTXVDeEM7OztBVHFISyxNQUFNLENBQUMsS0FBSztFU25IbEIsQUFSQSxhQVFhLEVBcUNiLFdBQVcsRUVoSlgsQ0FBQyxDRm1HYTtJTnNDUixTQUFTLEVyQkxBLElBQUk7SXFCTWIsV0FBVyxFckJMQSxJQUFJO0cyQjVCcEI7OztBVHFISyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RVNuSGxDLEFBUkEsYUFRYSxFQXFDYixXQUFXLEVFaEpYLENBQUMsQ0ZtR2E7SVBkTixhQUEwQixFeEJwQ3hCLElBQUk7RytCd0RiOzs7QUFjRCxBQVJBLGFBUWEsQ0FSQztFTm5GZCxLQUFLLEU3Qk5JLE9BQU87RTZCZmhCLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUFpQ2xDLFdBQVcsRXRCVGUsR0FBRztFc0JpR3pCLFNBQVMsRXJCUUUsSUFBSTtFcUJKZixXQUFXLEVBcEVDLE9BQXlCO0VNaUR2QyxVQUFVLEVBQUUsQ0FBQztFUHJDVCxhQUEwQixFeEI5QnhCLElBQUk7QytCcUVYOztBVHlHSyxNQUFNLENBQUMsS0FBSztFU3ZHbEIsQUFSQSxhQVFhLENBUkM7SU5oRlosS0FBSyxFM0JVaUIsT0FBTztHaUM0RTlCOzs7QVR5R0ssTUFBTSxDQUFDLEtBQUs7RVN2R2xCLEFBUkEsYUFRYSxDQVJDO0lOOUZaLFdBQVcsRXRCSVcsVUFBVTtHNEJnR2pDOzs7QVR5R0ssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VTdkdsQyxBQVJBLGFBUWEsQ0FSQztJTitCUixTQUFTLEVyQkFBLElBQUk7SXFCSWIsV0FBVyxFQWhGRCxJQUF5QjtHTW1EeEM7OztBVHlHSyxNQUFNLENBQUMsS0FBSztFU3ZHbEIsQUFSQSxhQVFhLENBUkM7SU4wQlIsU0FBUyxFckJTQSxJQUFJO0lxQlJiLFdBQVcsRXJCU0EsR0FBRztHMkI5Qm5COzs7QVR5R0ssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VTdkdsQyxBQVJBLGFBUWEsQ0FSQztJUDFCTixhQUEwQixFeEJwQ3hCLElBQUk7RytCb0ViOzs7QUFjRCxBQVJBLGNBUWMsQ0FSQztFTi9GZixLQUFLLEU3Qk5JLE9BQU87RTZCZmhCLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUFpQ2xDLFdBQVcsRXRCVGUsR0FBRztFc0JpR3pCLFNBQVMsRXJCc0JFLElBQUk7RXFCbEJmLFdBQVcsRUFwRUMsSUFBeUI7RU02RHZDLFVBQVUsRUFBRSxDQUFDO0VQakRULGFBQTBCLEV4QjlCeEIsSUFBSTtDK0JpRlg7O0FUNkZLLE1BQU0sQ0FBQyxLQUFLO0VTM0ZsQixBQVJBLGNBUWMsQ0FSQztJTjVGYixLQUFLLEUzQlVpQixPQUFPO0dpQ3dGOUI7OztBVDZGSyxNQUFNLENBQUMsS0FBSztFUzNGbEIsQUFSQSxjQVFjLENBUkM7SU4xR2IsV0FBVyxFdEJJVyxVQUFVO0c0QjRHakM7OztBVDZGSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RVMzRmxDLEFBUkEsY0FRYyxDQVJDO0lObUJULFNBQVMsRXJCY0EsSUFBSTtJcUJWYixXQUFXLEVBaEZELE9BQXlCO0dNK0R4Qzs7O0FUNkZLLE1BQU0sQ0FBQyxLQUFLO0VTM0ZsQixBQVJBLGNBUWMsQ0FSQztJTmNULFNBQVMsRXJCdUJBLElBQUk7SXFCdEJiLFdBQVcsRXJCdUJBLEdBQUc7RzJCaENuQjs7O0FUNkZLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFUzNGbEMsQUFSQSxjQVFjLENBUkM7SVB0Q1AsYUFBMEIsRXhCcEN4QixJQUFJO0crQmdGYjs7O0FBbENELEFBd0RBLGFBeERhLEdBM0ViLGdCQUFnQixFQXdIaEIsZ0JBQWdCLEdBeEhoQixnQkFBZ0IsQ0FtSWtCO0VBQ2hDLFdBQVcsRS9CcEpWLEdBQUc7QytCeUpMOztBVGlFSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RVMvSGxDLEFBd0RBLGFBeERhLEdBM0ViLGdCQUFnQixFQXdIaEIsZ0JBQWdCLEdBeEhoQixnQkFBZ0IsQ0FtSWtCO0lBSTlCLFdBQVcsRS9CdEpaLElBQUk7RytCd0pOOzs7QUFsREQsQUFvREEsYUFwRGEsR0F2RmIsZ0JBQWdCLEVBNEhoQixXQUFXLEdBNUhYLGdCQUFnQixFRXBCaEIsQ0FBQyxHRm9CRCxnQkFBZ0I7QUFtR2hCLGFBQWEsR0FuR2IsZ0JBQWdCO0FGWWhCLFdBQVcsR0VaWCxnQkFBZ0I7QWlEWGYseUJBQWEsR2pEV2QsZ0JBQWdCLENBNkllO0VQbkZ6QixXQUEwQixFeEI5QnhCLElBQUk7QytCbUhYOztBVDJESyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RVNuSGxDLEFBb0RBLGFBcERhLEdBdkZiLGdCQUFnQixFQTRIaEIsV0FBVyxHQTVIWCxnQkFBZ0IsRUVwQmhCLENBQUMsR0ZvQkQsZ0JBQWdCO0VBbUdoQixhQUFhLEdBbkdiLGdCQUFnQjtFRlloQixXQUFXLEdFWlgsZ0JBQWdCO0VpRFhmLHlCQUFhLEdqRFdkLGdCQUFnQixDQTZJZTtJUDVFdkIsV0FBMEIsRXhCcEN4QixJQUFJO0crQmtIYjs7O0FBeERELEFBMERBLGFBMURhLEdBekViLGdCQUFnQixFQThHaEIsV0FBVyxHQTlHWCxnQkFBZ0IsRUVsQ2hCLENBQUMsR0ZrQ0QsZ0JBQWdCO0FBcUZoQixhQUFhLEdBckZiLGdCQUFnQjtBRkZoQixXQUFXLEdFRVgsZ0JBQWdCO0FpRHpCZix5QkFBYSxHakR5QmQsZ0JBQWdCO0FBeUVoQixhQUFhLEdBM0RiLGdCQUFnQjtBQWdHaEIsV0FBVyxHQWhHWCxnQkFBZ0I7QUVoRGhCLENBQUMsR0ZnREQsZ0JBQWdCO0FBdUVoQixhQUFhLEdBdkViLGdCQUFnQjtBRmhCaEIsV0FBVyxHRWdCWCxnQkFBZ0I7QWlEdkNmLHlCQUFhLEdqRHVDZCxnQkFBZ0IsQ0EwSGU7RUFDN0IsV0FBVyxFL0J2S1YsR0FBRztDK0I0S0w7O0FUOENLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFU25IbEMsQUEwREEsYUExRGEsR0F6RWIsZ0JBQWdCLEVBOEdoQixXQUFXLEdBOUdYLGdCQUFnQixFRWxDaEIsQ0FBQyxHRmtDRCxnQkFBZ0I7RUFxRmhCLGFBQWEsR0FyRmIsZ0JBQWdCO0VGRmhCLFdBQVcsR0VFWCxnQkFBZ0I7RWlEekJmLHlCQUFhLEdqRHlCZCxnQkFBZ0I7RUF5RWhCLGFBQWEsR0EzRGIsZ0JBQWdCO0VBZ0doQixXQUFXLEdBaEdYLGdCQUFnQjtFRWhEaEIsQ0FBQyxHRmdERCxnQkFBZ0I7RUF1RWhCLGFBQWEsR0F2RWIsZ0JBQWdCO0VGaEJoQixXQUFXLEdFZ0JYLGdCQUFnQjtFaUR2Q2YseUJBQWEsR2pEdUNkLGdCQUFnQixDQTBIZTtJQUkzQixXQUFXLEUvQnpLWixJQUFJO0crQjJLTjs7O0FDM0tELEFBWEEsb0JBV29CLENBWEM7RUFDbkIsTUFBTSxFQUFFLENBQUM7RUFDVCxNQUFNLEVBQUUsQ0FBQztFQUtQLE1BQU0sRUFBRSxDQUFDO0NBRVo7O0FBYUQsQUFMQSx3QkFLd0IsQ0FMQztFUm1FbkIsVUFBMEIsRXhCZHhCLElBQUk7RXdCY04sYUFBMEIsRXhCZHhCLElBQUk7Q2dDbERYOztBVmdOSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RVU5TWxDLEFBTEEsd0JBS3dCLENBTEM7SVIwRWpCLFVBQTBCLEV4QnBCeEIsSUFBSTtHZ0NuRGI7OztBVmdOSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RVU5TWxDLEFBTEEsd0JBS3dCLENBTEM7SVIwRWpCLGFBQTBCLEV4QnBCeEIsSUFBSTtHZ0NuRGI7OztBQVdELEFBTEEsdUJBS3VCLENBTEM7RVIwRGxCLFVBQTBCLEV4QnRCeEIsSUFBSTtFd0JzQk4sYUFBMEIsRXhCdEJ4QixJQUFJO0NnQ2pDWDs7QVZ1TUssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VVck1sQyxBQUxBLHVCQUt1QixDQUxDO0lSaUVoQixVQUEwQixFeEI1QnhCLElBQUk7R2dDbENiOzs7QVZ1TUssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VVck1sQyxBQUxBLHVCQUt1QixDQUxDO0lSaUVoQixhQUEwQixFeEI1QnhCLElBQUk7R2dDbENiOzs7QUFXRCxBQUxBLHVCQUt1QixDQUxDO0VSaURsQixVQUEwQixFeEI5QnhCLElBQUk7RXdCOEJOLGFBQTBCLEV4QjlCeEIsSUFBSTtDZ0NoQlg7O0FWOExLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFVTVMbEMsQUFMQSx1QkFLdUIsQ0FMQztJUndEaEIsVUFBMEIsRXhCcEN4QixJQUFJO0dnQ2pCYjs7O0FWOExLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFVTVMbEMsQUFMQSx1QkFLdUIsQ0FMQztJUndEaEIsYUFBMEIsRXhCcEN4QixJQUFJO0dnQ2pCYjs7O0FBWUQsQUFKQSw2QkFJNkIsQ0FKQztFQUM1QixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3BDakJoQixPQUFPO0NvQ2tCaEI7O0FHaERELEFBQUEsaUJBQWlCLENBQUM7RVhvRlosYUFBMEIsRXhCdEJ4QixJQUFJO0NtQ3hEWDs7QWI4TkssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VhcE9sQyxBQUFBLGlCQUFpQixDQUFDO0lYMkZWLGFBQTBCLEV4QjVCeEIsSUFBSTtHbUN6RGI7OztBQU5ELEFBR0UsaUJBSGUsQ0FHZixpQkFBaUIsQUFBQSxhQUFhLENBQUM7RUFDN0IsYUFBYSxFQUFFLENBQUM7Q0FDakI7O0FBR0gsQUFBQSx3QkFBd0IsQ0FBQztFQUN2QixZQUFZLEVuQ0dYLElBQUk7RW1DRkwsV0FBVyxFbEM4Qk0sR0FBRyxDa0M5QjhCLEtBQUssQ3ZDT2xELE9BQU87Q3VDQWI7O0FBVEQsQUFJRSx3QkFKc0IsQ0FJdEIsaUJBQWlCLENBQUM7RUFFaEIsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsQ0FBQztDQUNWOztBaEI4QkgsQUFBQSxlQUFlLENBQUo7RUFFVCxZQUFZLEVsQnJCSSxLQUFpQjtFa0JzQmpDLFdBQVcsRWxCdEJLLEtBQWlCO0NrQnVCbEM7O0FBSkQsQUp2Q0EsZUl1Q2UsQUp2Q2QsTUFBTSxDQUFDO0VBQ04sT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0NBQ1o7O0FJMEVELEFBQUEsOEJBQThCLENBQVQ7RUFDbkIsa0JBQWtCLEVBQUUsVUFBVTtFQUN0QixVQUFVLEVBQUUsVUFBVTtFQUU1QixLQUFLLEVBQUUsSUFBSTtFQUViLE9BQU8sRUFBRSxDQUFDLENsQmhFTSxJQUFpQjtDa0JxRWxDOztBR29JSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RUgvSWxDLEFBQUEsOEJBQThCLENBQVQ7SUFRakIsS0FBSyxFQXJGSSxHQUFHO0lBc0ZaLEtBQUssRUFYb0MsSUFBSTtHQWFoRDs7O0FBWEQsQUFBQSw0QkFBNEIsQ0FBUDtFQUNuQixrQkFBa0IsRUFBRSxVQUFVO0VBQ3RCLFVBQVUsRUFBRSxVQUFVO0VBRTVCLEtBQUssRUFBRSxJQUFJO0VBRWIsT0FBTyxFQUFFLENBQUMsQ2xCaEVNLElBQWlCO0NrQnFFbEM7O0FHb0lLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFSC9JbEMsQUFBQSw0QkFBNEIsQ0FBUDtJQVFqQixLQUFLLEVBcEZFLFFBQVE7SUFxRmYsS0FBSyxFQVhvQyxJQUFJO0dBYWhEOzs7QUFYRCxBQUFBLDJCQUEyQixDQUFOO0VBQ25CLGtCQUFrQixFQUFFLFVBQVU7RUFDdEIsVUFBVSxFQUFFLFVBQVU7RUFFNUIsS0FBSyxFQUFFLElBQUk7RUFFYixPQUFPLEVBQUUsQ0FBQyxDbEJoRU0sSUFBaUI7Q2tCcUVsQzs7QUdvSUssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VIL0lsQyxBQUFBLDJCQUEyQixDQUFOO0lBUWpCLEtBQUssRUFuRkMsR0FBRztJQW9GVCxLQUFLLEVBWG9DLElBQUk7R0FhaEQ7OztBQVhELEFBQUEsNkJBQTZCLENBQVI7RUFDbkIsa0JBQWtCLEVBQUUsVUFBVTtFQUN0QixVQUFVLEVBQUUsVUFBVTtFQUU1QixLQUFLLEVBQUUsSUFBSTtFQUViLE9BQU8sRUFBRSxDQUFDLENsQmhFTSxJQUFpQjtDa0JxRWxDOztBR29JSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RUgvSWxDLEFBQUEsNkJBQTZCLENBQVI7SUFRakIsS0FBSyxFQWxGRyxRQUFRO0lBbUZoQixLQUFLLEVBWG9DLElBQUk7R0FhaEQ7OztBQVhELEFBQUEsaUNBQWlDLENBQVo7RUFDbkIsa0JBQWtCLEVBQUUsVUFBVTtFQUN0QixVQUFVLEVBQUUsVUFBVTtFQUU1QixLQUFLLEVBQUUsSUFBSTtFQUViLE9BQU8sRUFBRSxDQUFDLENsQmhFTSxJQUFpQjtDa0JxRWxDOztBR29JSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RUgvSWxDLEFBQUEsaUNBQWlDLENBQVo7SUFRakIsS0FBSyxFQWpGTyxHQUFHO0lBa0ZmLEtBQUssRUFYb0MsSUFBSTtHQWFoRDs7O0FBWEQsQUFBQSx1QkFBdUIsQ0FBRjtFQUNuQixrQkFBa0IsRUFBRSxVQUFVO0VBQ3RCLFVBQVUsRUFBRSxVQUFVO0VBRTVCLEtBQUssRUFBRSxJQUFJO0VBRWIsT0FBTyxFQUFFLENBQUMsQ2xCaEVNLElBQWlCO0NrQnFFbEM7O0FHb0lLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFSC9JbEMsQUFBQSx1QkFBdUIsQ0FBRjtJQVFqQixLQUFLLEVBaEZILElBQUk7SUFpRk4sS0FBSyxFQVhvQyxJQUFJO0dBYWhEOzs7QWtCakVELEFBQUEsbUJBQW1CLENBQUM7RWJxRGQsV0FBMEIsRXhCdEJ4QixJQUFJO0V3QnNCTixjQUEwQixFeEJ0QnhCLElBQUk7RXFDeENaLE9BQU8sRUFBRSxLQUFLO0NBV2I7O0FmbU1LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFZXJNbEMsQUFBQSxtQkFBbUIsQ0FBQztJYjREWixXQUEwQixFeEI1QnhCLElBQUk7R3FDOUJiOzs7QWZtTUssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0Vlck1sQyxBQUFBLG1CQUFtQixDQUFDO0liNERaLGNBQTBCLEV4QjVCeEIsSUFBSTtHcUM5QmI7OztBQUVELEFBQUEsc0JBQXNCLENBQUM7RWJpRGpCLFdBQTBCLEV4QmR4QixJQUFJO0NxQ2pDWDs7QWYrTEssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0Vlak1sQyxBQUFBLHNCQUFzQixDQUFDO0lid0RmLFdBQTBCLEV4QnBCeEIsSUFBSTtHcUNsQ2I7OztBQ2ZELEFBQUEsc0JBQXNCLENBQUM7RUF0QnZCLFNBQVMsRXJDYVEsS0FBSztFcUNOdEIsTUFBTSxFQUFFLENBQUMsQ3JDb0JTLElBQWlCO0NxQ0hsQzs7QWhCNE1LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFZ0I5TWxDLEFBQUEsc0JBQXNCLENBQUM7SUFYckIsTUFBTSxFQUFFLENBQUMsQ3JDU0UsSUFBSTtHcUNJaEI7OztBaEI0TUssTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VnQjlNL0IsQUFBQSxzQkFBc0IsQ0FBQztJQUxyQixNQUFNLEVBQUUsTUFBTTtHQU9mOzs7QUVwQkQsQUFBQSxnQkFBZ0IsQ0FBQztFZm9JYixTQUFTLEVyQlFFLElBQUk7RXFCSmYsV0FBVyxFQXBFQyxPQUF5QjtFQTNEekMsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFZU5oQyxPQUFPLEVBQUUsWUFBWTtFQUNyQixRQUFRLEVBQUUsUUFBUTtFQUVsQixVQUFVLEV4Q0FULElBQUk7RXdDQ0wsYUFBYSxFeENEWixJQUFJO0V3Q0lMLFlBQVksRUFBRSxJQUFJO0VBSWxCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDNUNRakIsT0FBTztFNENMZCxlQUFlLEVBQUUsSUFBSTtDQWlCdEI7O0FsQjRMSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWtCaE9sQyxBQUFBLGdCQUFnQixDQUFDO0lmZ0pYLFNBQVMsRXJCQUEsSUFBSTtJcUJJYixXQUFXLEVBaEZELElBQXlCO0dlaEN4Qzs7O0FsQjRMSyxNQUFNLENBQUMsS0FBSztFa0JoT2xCLEFBQUEsZ0JBQWdCLENBQUM7SWYySVgsU0FBUyxFckJTQSxJQUFJO0lxQlJiLFdBQVcsRXJCU0EsR0FBRztHb0NqSG5COzs7QWxCNExLLE1BQU0sQ0FBQyxLQUFLO0VrQmhPbEIsQUFBQSxnQkFBZ0IsQ0FBQztJZm1CZixXQUFXLEV0QklXLFVBQVU7R3FDYWpDOzs7QUFwQ0QsQXZCc0JBLGdCdUJ0QmdCLEF2QnNCZixNQUFNLENBQUM7RUFDTixPQUFPLEVoQnVEUyxHQUFHLENnQnZEUyxLQUFLLENyQk56QixPQUFPO0VxQk9mLGNBQWMsRUFBRSxDQUFDO0VBQ2pCLGdCQUFnQixFckJSUixPQUFPO0NxQlNoQjs7QXVCMUJELEFwQm9HQSxnQm9CcEdnQixBcEJvR2YsS0FBSyxFb0JwR04sZ0JBQWdCLEFwQnFHZixRQUFRLEVvQnJHVCxnQkFBZ0IsQXBCc0dmLE1BQU0sRW9CdEdQLGdCQUFnQixBcEJ1R2YsT0FBTyxFb0J2R1IsZ0JBQWdCLEFwQndHZixNQUFNLENBQUM7RUsxRVIsS0FBSyxFN0JOSSxPQUFPO0N3QmtGZjs7QUVzSEssTUFBTSxDQUFDLEtBQUs7RWtCaE9sQixBcEJvR0EsZ0JvQnBHZ0IsQXBCb0dmLEtBQUssRW9CcEdOLGdCQUFnQixBcEJxR2YsUUFBUSxFb0JyR1QsZ0JBQWdCLEFwQnNHZixNQUFNLEVvQnRHUCxnQkFBZ0IsQXBCdUdmLE9BQU8sRW9CdkdSLGdCQUFnQixBcEJ3R2YsTUFBTSxDQUFDO0lLdkVOLEtBQUssRTNCVWlCLE9BQU87R3NCK0Q5Qjs7O0FvQjFHRCxBcEJnSEUsZ0JvQmhIYyxBcEJnSGIsS0FBSyxBQUFBLE1BQU0sQ0FBQztFS2xGZixLQUFLLEU3Qk5JLE9BQU87Q3dCMEZiOztBRThHRyxNQUFNLENBQUMsS0FBSztFa0JoT2xCLEFwQmdIRSxnQm9CaEhjLEFwQmdIYixLQUFLLEFBQUEsTUFBTSxDQUFDO0lLL0ViLEtBQUssRTNCVWlCLE9BQU87R3NCdUU1Qjs7O0FvQmxISCxBQXNCRSxnQkF0QmMsQUFzQmIsT0FBTyxDQUFDO0VqQlVYLE9BQU8sRUFENEQsS0FBSztFQUd4RSxLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBRVQsWUFBWSxFQUFFLEtBQUs7RUFDbkIsWUFBWSxFQUFFLFdBQVc7RUEyQnZCLGlCQUFpQixFQUFFLG1DQUFtQztFQUM5QyxTQUFTLEVBQUUsbUNBQW1DO0VBRXRELFlBQVksRUE1QkUsR0FBUyxDaUJqQjhDLEdBQUcsQ2pCaUIxRCxHQUFTLENBNEI2QixDQUFDO0VBQ3JELGtCQUFrQixFQUFFLE9BQU87RWlCNUN6QixPQUFPLEVBQUUsRUFBRTtFQUdYLFFBQVEsRUFBRSxRQUFRO0VBRWxCLEdBQUcsRUFBRSxJQUFJO0VBQ1QsTUFBTSxFQUFFLEdBQUc7RUFDWCxJQUFJLEVBQUUsQ0FBQztFQUVQLE1BQU0sRUFBRSxJQUFJO0NBQ2I7O0FBbkNILEFBc0JFLGdCQXRCYyxBQXNCYixPQUFPLENBbUJjO0VBR3RCLEdBQUcsRUFBRSxJQUFZO0VBQ2pCLE1BQU0sRUFIRyxHQUFHO0NBSWI7O0FDL0JELEFBQUEsa0JBQWtCLENBQUM7RWhCTm5CLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUFpQ2xDLFdBQVcsRXRCVGUsR0FBRztFc0JpR3pCLFNBQVMsRXJCUUUsSUFBSTtFcUJKZixXQUFXLEVBcEVDLE9BQXlCO0VBdEN6QyxLQUFLLEU3Qk5JLE9BQU87RTZDTGQsVUFBVSxFekNYVCxJQUFJO0V5Q1lMLGFBQWEsRXpDYlosSUFBSTtDeUNjTjs7QW5CMk1LLE1BQU0sQ0FBQyxLQUFLO0VtQmpObEIsQUFBQSxrQkFBa0IsQ0FBQztJaEJJakIsV0FBVyxFdEJJVyxVQUFVO0dzQ0ZqQzs7O0FuQjJNSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RW1Cak5sQyxBQUFBLGtCQUFrQixDQUFDO0loQmlJYixTQUFTLEVyQkFBLElBQUk7SXFCSWIsV0FBVyxFQWhGRCxJQUF5QjtHZ0IvQ3hDOzs7QW5CMk1LLE1BQU0sQ0FBQyxLQUFLO0VtQmpObEIsQUFBQSxrQkFBa0IsQ0FBQztJaEI0SGIsU0FBUyxFckJTQSxJQUFJO0lxQlJiLFdBQVcsRXJCU0EsR0FBRztHcUNoSW5COzs7QW5CMk1LLE1BQU0sQ0FBQyxLQUFLO0VtQmpObEIsQUFBQSxrQkFBa0IsQ0FBQztJaEJrQmpCLEtBQUssRTNCVWlCLE9BQU87RzJDdEI5Qjs7O0FBRUQsQUFBQSx3QkFBd0IsQ0FBQztFQUd2QixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsZUFBZSxFQUFFLElBQUk7Q0FDdEI7O0FBTkQsQTFCcEJBLHdCMEJvQndCLEExQnBCdkIsTUFBTSxDQUFDO0VBQ04sT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0NBQ1o7O0EwQndCRCxBQUFBLDZCQUE2QixDQUFDO0VBRTVCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFFBQVEsRUFBRSxRQUFRO0VBRWxCLGFBQWEsRXpDOUJaLEdBQUc7RXlDa0NKLFdBQVcsRXpDakNWLElBQUk7RXlDa0NMLFlBQVksRUFBRSxRQUErQztFQUU3RCxLQUFLLEVBQUUsSUFBSTtDQStEWjs7QUEzRUQsQUFlRSw2QkFmMkIsQUFlMUIsT0FBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPLEVBQUUsS0FBSztFQUVkLFFBQVEsRUFBRSxRQUFRO0VBU2xCLEdBQUcsRUFBRSxJQUFJO0VBQ1QsTUFBTSxFQUFFLEdBQUc7RUFNWCxJQUFJLEVBQUUsT0FBNkU7RUFFbkYsS0FBSyxFQW5FTSxHQUFHO0VBb0VkLE1BQU0sRUFwRUssR0FBRztFQXNFZCxNQUFNLEVBQUUsTUFBTTtFQUVkLGlCQUFpQixFQUFFLGFBQWE7RUFFNUIsYUFBYSxFQUFFLGFBQWE7RUFFeEIsU0FBUyxFQUFFLGFBQWE7RUFFaEMsTUFBTSxFQUFFLEtBQUs7RUFDYixZQUFZLEVBNUVPLEdBQUcsQ0FBSCxHQUFHLENBNEVvQyxDQUFDLENBQUMsQ0FBQztFQUM3RCxZQUFZLEU3Q3hETixPQUFPO0M2Q3NFZDs7QUFoRUgsQUFrRUUsNkJBbEUyQixBQWtFMUIsWUFBWSxDQUFDO0VBQ1osV0FBVyxFQUFFLENBQUM7RUFDZCxZQUFZLEVBQUUsQ0FBQztDQU1oQjs7QUExRUgsQUFzRUksNkJBdEV5QixBQWtFMUIsWUFBWSxBQUlWLE9BQU8sQ0FBQztFQUNQLE9BQU8sRUFBRSxJQUFJO0VBQ2IsT0FBTyxFQUFFLElBQUk7Q0FDZDs7QUFJTCxBQUFBLHdCQUF3QixDQUFDO0VoQm5HekIsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztDZ0JvR2pDOztBbkJpSEssTUFBTSxDQUFDLEtBQUs7RW1CcEhsQixBQUFBLHdCQUF3QixDQUFDO0loQnpGdkIsV0FBVyxFdEJJVyxVQUFVO0dzQ3dGakM7OztBQUhELEF4QnRGQSx3QndCc0Z3QixBeEJ0RnZCLE1BQU0sQ0FBQztFQUNOLE9BQU8sRWhCdURTLEdBQUcsQ2dCdkRTLEtBQUssQ3JCTnpCLE9BQU87RXFCT2YsY0FBYyxFQUFFLENBQUM7RUFDakIsZ0JBQWdCLEVyQlJSLE9BQU87Q3FCU2hCOztBd0JrRkQsQXJCUkEsd0JxQlF3QixBckJSdkIsS0FBSyxFcUJRTix3QkFBd0IsQXJCUHZCLFFBQVEsRXFCT1Qsd0JBQXdCLEFyQk52QixNQUFNLEVxQk1QLHdCQUF3QixBckJMdkIsT0FBTyxFcUJLUix3QkFBd0IsQXJCSnZCLE1BQU0sQ0FBQztFSzFFUixLQUFLLEU3Qk5JLE9BQU87Q3dCa0ZmOztBRXNISyxNQUFNLENBQUMsS0FBSztFbUJwSGxCLEFyQlJBLHdCcUJRd0IsQXJCUnZCLEtBQUssRXFCUU4sd0JBQXdCLEFyQlB2QixRQUFRLEVxQk9ULHdCQUF3QixBckJOdkIsTUFBTSxFcUJNUCx3QkFBd0IsQXJCTHZCLE9BQU8sRXFCS1Isd0JBQXdCLEFyQkp2QixNQUFNLENBQUM7SUt2RU4sS0FBSyxFM0JVaUIsT0FBTztHc0IrRDlCOzs7QXFCRUQsQXJCSUUsd0JxQkpzQixBckJJckIsS0FBSyxBQUFBLE1BQU0sQ0FBQztFS2xGZixLQUFLLEU3Qk5JLE9BQU87Q3dCMEZiOztBRThHRyxNQUFNLENBQUMsS0FBSztFbUJwSGxCLEFyQklFLHdCcUJKc0IsQXJCSXJCLEtBQUssQUFBQSxNQUFNLENBQUM7SUsvRWIsS0FBSyxFM0JVaUIsT0FBTztHc0J1RTVCOzs7QXNCeEdILEFBQUEsYUFBYSxDQUFDO0VqQkRkLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUFpQ2xDLFdBQVcsRXRCVGUsR0FBRztFc0JpR3pCLFNBQVMsRXJCTkUsSUFBSTtFcUJVZixXQUFXLEVBcEVDLE1BQXlCO0VpQnREdkMsa0JBQWtCLEVBQUUsVUFBVTtFQUV0QixVQUFVLEVBQUUsVUFBVTtFQUM5QixPQUFPLEVBQUUsWUFBWTtFQUNyQixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxDQUFDO0VsQjREVCxhQUEwQixFQVRULElBQStCO0VrQmpEcEQsT0FBTyxFQUFFLEdBQWlGLEMxQ2Z6RixJQUFJO0UwQ2dCTCxNQUFNLEV6Q2tDd0IsR0FBRyxDeUNsQ1EsS0FBSyxDQUFDLFdBQVc7RUFDMUQsYUFBYSxFQUFFLENBQUM7RUFDaEIsS0FBSyxFOUNJRSxPQUFPO0U4Q0hkLGdCQUFnQixFQTFCSSxPQUFPO0VBMkIzQixrQkFBa0IsRUFBRSxDQUFDLEN6QzhCUyxHQUFHLEN5QzlCUyxDQUFDLENBekJoQixPQUFpQztFQTBCcEQsVUFBVSxFQUFFLENBQUMsQ3pDNkJTLEdBQUcsQ3lDN0JTLENBQUMsQ0ExQmhCLE9BQWlDO0VBMkI1RCxVQUFVLEVBQUUsTUFBTTtFQUNsQixjQUFjLEVBQUUsR0FBRztFQUNuQixNQUFNLEVBQUUsT0FBTztFQUNmLGtCQUFrQixFQUFFLElBQUk7Q0FtRnpCOztBcEI2R0ssTUFBTSxDQUFDLEtBQUs7RW9CdE5sQixBQUFBLGFBQWEsQ0FBQztJakJTWixXQUFXLEV0QklXLFVBQVU7R3VDNEZqQzs7O0FwQjZHSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RW9CdE5sQyxBQUFBLGFBQWEsQ0FBQztJakJzSVIsU0FBUyxFckJkQSxJQUFJO0lxQmtCYixXQUFXLEVBaEZELENBQXlCO0dpQitDeEM7OztBcEI2R0ssTUFBTSxDQUFDLEtBQUs7RW9CdE5sQixBQUFBLGFBQWEsQ0FBQztJakJpSVIsU0FBUyxFckJMQSxJQUFJO0lxQk1iLFdBQVcsRWlCakk4QixJQUFJO0dBd0dsRDs7O0FBekdELEF6QkhBLGF5QkdhLEF6QkhaLE1BQU0sQ0FBQztFQUNOLE9BQU8sRWhCc0VTLEdBQUcsQ2dCdEVTLEtBQUssQ3JCU3pCLE9BQU87RXFCUmYsY0FBYyxFQUFFLENBQUM7Q0FDbEI7O0FLc05LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFb0J0TmxDLEFBQUEsYUFBYSxDQUFDO0lsQjZFTixhQUEwQixFQWhCWCxJQUErQjtHa0I0Q3JEOzs7QXBCNkdLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFb0J0TmxDLEFBQUEsYUFBYSxDQUFDO0lBNkJWLEtBQUssRUFBRSxJQUFJO0dBNEVkOzs7QUF6R0QsQUFpQ0UsYUFqQ1csQUFpQ1YsS0FBSyxFQWpDUixhQUFhLEFBa0NWLFFBQVEsRUFsQ1gsYUFBYSxBQW1DVixPQUFPLEVBbkNWLGFBQWEsQUFvQ1YsTUFBTSxDQUFDO0VBQ04sS0FBSyxFOUNsQkEsT0FBTztFOENtQlosZUFBZSxFQUFFLElBQUk7Q0FDdEI7O0FBdkNILEFBK0NJLGFBL0NTLEFBK0NSLEtBQUssQUFBQSxNQUFNLENBQUM7RUFDWCxLQUFLLEU5QzdCRixPQUFPO0M4QzhCWDs7QUFqREwsQUFxREUsYUFyRFcsQUFxRFYsaUJBQWlCLENBQUM7RUFDakIsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsQ0FBQztDQUNWOztBQXhESCxBQTBERSxhQTFEVyxBQTBEVixNQUFNLEVBMURULGFBQWEsQUEyRFYsTUFBTSxDQUFDO0VBQ04sZ0JBQWdCLEVBckVRLE9BQWdDO0NBc0V6RDs7QUE3REgsQUErREUsYUEvRFcsQUErRFYsT0FBTyxDQUFDO0VBQ1AsR0FBRyxFekNqQnlCLEdBQUc7RXlDa0IvQixrQkFBa0IsRUFBRSxJQUFJO0VBQ2hCLFVBQVUsRUFBRSxJQUFJO0NBS3pCOztBQXZFSCxBQThFRSxhQTlFVyxBQThFVixRQUFRLENBQUM7RUFDUixPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxLQUFLO0VBRWQsUUFBUSxFQUFFLFFBQVE7RUFFbEIsR0FBRyxFekNyQ3lCLElBQUc7RXlDc0MvQixLQUFLLEV6Q3RDdUIsSUFBRztFeUN1Qy9CLE1BQU0sRUFBSSxJQUFzRDtFQUNoRSxJQUFJLEV6Q3hDd0IsSUFBRztFeUMwQy9CLFVBQVUsRUFBRSxXQUFXO0NBQ3hCOztBQTFGSCxBQXNHRSxhQXRHVyxBQXNHVixPQUFPLEFBQUEsUUFBUSxDQUFDO0VBQ2YsR0FBRyxFQUFJLElBQXNEO0NBQzlEOztBQUdILEFBQUEsdUJBQXVCO0FBQ3ZCLGFBQWEsQ0FBQSxBQUFBLFFBQUMsQ0FBUyxVQUFVLEFBQW5CO0FBQ2QsYUFBYSxDQUFBLEFBQUEsUUFBQyxBQUFBLEVBQVU7RUFDdEIsT0FBTyxFQUFFLEdBQUk7RUFDYixVQUFVLEVBekhVLE9BQU87Q0E0STVCOztBQXZCRCxBQU1FLHVCQU5xQixBQU1wQixNQUFNO0FBTFQsYUFBYSxDQUFBLEFBQUEsUUFBQyxDQUFTLFVBQVUsQUFBbkIsQ0FLWCxNQUFNO0FBSlQsYUFBYSxDQUFBLEFBQUEsUUFBQyxBQUFBLENBSVgsTUFBTSxDQUFDO0VBQ04sZ0JBQWdCLEVBNUhFLE9BQU87RUE2SHpCLE1BQU0sRUFBRSxPQUFPO0NBQ2hCOztBQVRILEFBV0UsdUJBWHFCLEFBV3BCLE1BQU07QUFWVCxhQUFhLENBQUEsQUFBQSxRQUFDLENBQVMsVUFBVSxBQUFuQixDQVVYLE1BQU07QUFUVCxhQUFhLENBQUEsQUFBQSxRQUFDLEFBQUEsQ0FTWCxNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsSUFBSTtDQUNkOztBQWJILEFBZUUsdUJBZnFCLEFBZXBCLE9BQU87QUFkVixhQUFhLENBQUEsQUFBQSxRQUFDLENBQVMsVUFBVSxBQUFuQixDQWNYLE9BQU87QUFiVixhQUFhLENBQUEsQUFBQSxRQUFDLEFBQUEsQ0FhWCxPQUFPLENBQUM7RUFDUCxHQUFHLEVBQUUsQ0FBQztFQUNOLGtCQUFrQixFQUFFLENBQUMsQ3pDN0VPLEdBQUcsQ3lDNkVXLENBQUMsQ0FwSWxCLE9BQWlDO0VBcUlsRCxVQUFVLEVBQUUsQ0FBQyxDekM5RU8sR0FBRyxDeUM4RVcsQ0FBQyxDQXJJbEIsT0FBaUM7Q0F5STNEOztBQUdILEFBQUEsb0JBQW9CLENBQUM7RWpCeEZyQixXQUFXLEV0QmJZLEdBQUc7RXNCMkZ0QixTQUFTLEVyQnBCRSxJQUFJO0VxQndCZixXQUFXLEVpQlEwRCxDQUFDO0VBRXhFLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFdBQVcsRUFBRSxHQUFtRDtFQUNoRSxhQUFhLEUxQ3hJWixJQUFJO0UwQ3lJTCxjQUFjLEVBQUUsR0FBbUQ7RUFDbkUsWUFBWSxFMUM5SVgsSUFBSTtFMENnSkwsZ0JBQWdCLEUvQnJJUiwrQkFBbUM7RStCc0kzQyxpQkFBaUIsRUFBRSxTQUFTO0VBQzVCLG1CQUFtQixFQUFFLFFBQVE7Q0FNOUI7O0FwQmdFSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RW9CbEZsQyxBQUFBLG9CQUFvQixDQUFDO0lqQkVmLFNBQVMsRXJCNUJBLElBQUk7SXFCZ0NiLFdBQVcsRWlCSndELENBQUM7R0FnQnpFOzs7QXBCZ0VLLE1BQU0sQ0FBQyxLQUFLO0VvQmxGbEIsQUFBQSxvQkFBb0IsQ0FBQztJakJIZixTQUFTLEVyQm5CQSxJQUFJO0lxQm9CYixXQUFXLEVpQkl3RCxDQUFDO0dBZ0J6RTs7O0ExQnhJRCxNQUFNLE1BQU0sTUFBTSxPQUFPLDZCQUE2QixFQUFFLENBQUMsUUFBUSxNQUFNLE1BQU0sMkJBQTJCLEVBQUUsQ0FBQyxRQUFRLE1BQU0sTUFBTSxzQkFBc0IsRUFBRSxDQUFDLFFBQVEsTUFBTSxNQUFNLGNBQWMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLGNBQWMsRUFBRSxLQUFLO0UwQnNIM08sQUFBQSxvQkFBb0IsQ0FBQztJQWVqQixnQkFBZ0IsRS9CMUlWLGtDQUFtQztJK0IySXpDLGVBQWUsRUFBRSxTQUFTO0dBRTdCOzs7QUF0SkQsQUFBQSxhQUFhLENBOEpDO0VBQ1osV0FBVyxFQUFFLEdBQTJGO0VBQ3hHLGNBQWMsRUFBRSxHQUErRjtDQUNoSDs7QUE3QkQsQUFBQSxvQkFBb0IsQ0ErQkM7RUFDbkIsV0FBVyxFQUFFLEdBQTJGO0VBQ3hHLGNBQWMsRUFBRSxHQUErRjtDQUNoSDs7QUVqTEQsQUFBQSxvQkFBb0IsQ0FBQztFbkJVckIsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQTJDbEMsV0FBVyxFdEJiWSxHQUFHO0VzQjJGdEIsU0FBUyxFckJORSxJQUFJO0VxQlVmLFdBQVcsRUFwRUMsSUFBeUI7RW1CbEV2QyxPQUFPLEVBQUUsS0FBSztFQUNkLGFBQWEsRTVDS1osSUFBSTtFNENKTCxLQUFLLEVBQUUsSUFBSTtFQUVYLEtBQUssRWhET0EsT0FBTztDZ0ROYjs7QXRCeU5LLE1BQU0sQ0FBQyxLQUFLO0VzQmpPbEIsQUFBQSxvQkFBb0IsQ0FBQztJbkJvQm5CLFdBQVcsRXRCSVcsVUFBVTtHeUNoQmpDOzs7QXRCeU5LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFc0JqT2xDLEFBQUEsb0JBQW9CLENBQUM7SW5CaUpmLFNBQVMsRXJCZEEsSUFBSTtJcUJrQmIsV0FBVyxFQWhGRCxPQUF5QjtHbUI3RHhDOzs7QXRCeU5LLE1BQU0sQ0FBQyxLQUFLO0VzQmpPbEIsQUFBQSxvQkFBb0IsQ0FBQztJbkI0SWYsU0FBUyxFckJMQSxJQUFJO0lxQk1iLFdBQVcsRXJCTEEsSUFBSTtHd0NoSXBCOzs7QUNSRCxBQUFBLGVBQWUsQ0FBQztFQUNkLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsQ0FBQztDQUVWOztBQUxELEE5QklBLGU4QkplLEE5QklkLE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSTtDQUNaOztBOEJERCxBQUFBLHVCQUF1QixDQUFDO0VwQkd4QixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBaUNsQyxXQUFXLEV0QlRlLEdBQUc7RXNCaUd6QixTQUFTLEVyQk5FLElBQUk7RXFCVWYsV0FBVyxFQXBFQyxJQUF5QjtFQXRDekMsS0FBSyxFN0JOSSxPQUFPO0VpRFhkLGtCQUFrQixFQUFFLFVBQVU7RUFDdEIsVUFBVSxFQUFFLFVBQVU7RUFDOUIsT0FBTyxFQUFFLEtBQUs7RUFDZCxTQUFTLEVBQUUsSUFBSTtFQUNmLGFBQWEsRTdDVFosSUFBSTtFNkNVTCxPQUFPLEVBQUUsQ0FBQztFQUVWLFFBQVEsRUFBRSxNQUFNO0VBRWhCLFdBQVcsRUFBRSxNQUFNO0NBQ3BCOztBdkJ5TUssTUFBTSxDQUFDLEtBQUs7RXVCMU5sQixBQUFBLHVCQUF1QixDQUFDO0lwQmF0QixXQUFXLEV0QklXLFVBQVU7RzBDQWpDOzs7QXZCeU1LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFdUIxTmxDLEFBQUEsdUJBQXVCLENBQUM7SXBCMElsQixTQUFTLEVyQmRBLElBQUk7SXFCa0JiLFdBQVcsRUFoRkQsT0FBeUI7R29CN0N4Qzs7O0F2QnlNSyxNQUFNLENBQUMsS0FBSztFdUIxTmxCLEFBQUEsdUJBQXVCLENBQUM7SXBCcUlsQixTQUFTLEVyQkxBLElBQUk7SXFCTWIsV0FBVyxFckJMQSxJQUFJO0d5Q2hIcEI7OztBdkJ5TUssTUFBTSxDQUFDLEtBQUs7RXVCMU5sQixBQUFBLHVCQUF1QixDQUFDO0lwQjJCdEIsS0FBSyxFM0JVaUIsT0FBTztHK0NwQjlCOzs7QUFJRCxBQUFBLDJCQUEyQixDQUFDO0VwQmxCNUIsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQTJDbEMsV0FBVyxFdEJiWSxHQUFHO0VzQjJGdEIsU0FBUyxFckI5REUsSUFBSTtFcUJrRWYsV0FBVyxFQXBFQyxPQUF5QjtDb0J2Q3hDOztBdkJtTUssTUFBTSxDQUFDLEtBQUs7RXVCck1sQixBQUFBLDJCQUEyQixDQUFDO0lwQlIxQixXQUFXLEV0QklXLFVBQVU7RzBDTWpDOzs7QXZCbU1LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFdUJyTWxDLEFBQUEsMkJBQTJCLENBQUM7SXBCcUh0QixTQUFTLEVyQnRFQSxJQUFJO0lxQjBFYixXQUFXLEVBaEZELE9BQXlCO0dvQnZDeEM7OztBdkJtTUssTUFBTSxDQUFDLEtBQUs7RXVCck1sQixBQUFBLDJCQUEyQixDQUFDO0lwQmdIdEIsU0FBUyxFckI3REEsSUFBSTtJcUI4RGIsV0FBVyxFckI3REEsSUFBSTtHeUNsRHBCOzs7QUFFRCxBQUFBLDBCQUEwQixDQUFDO0VwQnRCM0IsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQTJDbEMsV0FBVyxFdEJiWSxHQUFHO0VzQjJGdEIsU0FBUyxFckJoREUsSUFBSTtFcUJvRGYsV0FBVyxFQXBFQyxPQUF5QjtDb0JuQ3hDOztBdkIrTEssTUFBTSxDQUFDLEtBQUs7RXVCak1sQixBQUFBLDBCQUEwQixDQUFDO0lwQlp6QixXQUFXLEV0QklXLFVBQVU7RzBDVWpDOzs7QXZCK0xLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFdUJqTWxDLEFBQUEsMEJBQTBCLENBQUM7SXBCaUhyQixTQUFTLEVyQnhEQSxJQUFJO0lxQjREYixXQUFXLEVBaEZELE9BQXlCO0dvQm5DeEM7OztBdkIrTEssTUFBTSxDQUFDLEtBQUs7RXVCak1sQixBQUFBLDBCQUEwQixDQUFDO0lwQjRHckIsU0FBUyxFckIvQ0EsSUFBSTtJcUJnRGIsV0FBVyxFckIvQ0EsSUFBSTtHeUM1RHBCOzs7QUFFRCxBQUFBLDBCQUEwQixDQUFDO0VwQjFCM0IsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQTJDbEMsV0FBVyxFdEJiWSxHQUFHO0VzQjJGdEIsU0FBUyxFckJwQkUsSUFBSTtFcUJ3QmYsV0FBVyxFQXBFQyxPQUF5QjtDb0IvQnhDOztBdkIyTEssTUFBTSxDQUFDLEtBQUs7RXVCN0xsQixBQUFBLDBCQUEwQixDQUFDO0lwQmhCekIsV0FBVyxFdEJJVyxVQUFVO0cwQ2NqQzs7O0F2QjJMSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXVCN0xsQyxBQUFBLDBCQUEwQixDQUFDO0lwQjZHckIsU0FBUyxFckI1QkEsSUFBSTtJcUJnQ2IsV0FBVyxFQWhGRCxJQUF5QjtHb0IvQnhDOzs7QXZCMkxLLE1BQU0sQ0FBQyxLQUFLO0V1QjdMbEIsQUFBQSwwQkFBMEIsQ0FBQztJcEJ3R3JCLFNBQVMsRXJCbkJBLElBQUk7SXFCb0JiLFdBQVcsRXJCbkJBLElBQUk7R3lDcEZwQjs7O0FBRUQsQUFBQSwwQkFBMEIsQ0FBQztFcEI5QjNCLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUEyQ2xDLFdBQVcsRXRCYlksR0FBRztFc0IyRnRCLFNBQVMsRXJCTkUsSUFBSTtFcUJVZixXQUFXLEVBcEVDLElBQXlCO0NvQjNCeEM7O0F2QnVMSyxNQUFNLENBQUMsS0FBSztFdUJ6TGxCLEFBQUEsMEJBQTBCLENBQUM7SXBCcEJ6QixXQUFXLEV0QklXLFVBQVU7RzBDa0JqQzs7O0F2QnVMSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXVCekxsQyxBQUFBLDBCQUEwQixDQUFDO0lwQnlHckIsU0FBUyxFckJkQSxJQUFJO0lxQmtCYixXQUFXLEVBaEZELE9BQXlCO0dvQjNCeEM7OztBdkJ1TEssTUFBTSxDQUFDLEtBQUs7RXVCekxsQixBQUFBLDBCQUEwQixDQUFDO0lwQm9HckIsU0FBUyxFckJMQSxJQUFJO0lxQk1iLFdBQVcsRXJCTEEsSUFBSTtHeUM5RnBCOzs7QUFLRCxBQUFBLHdCQUF3QixDQUFDO0VBQ3ZCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsU0FBUyxFQUFFLE9BQU87RUFDbEIsV0FBVyxFQUFFLE9BQU87Q0FDckI7O0FDbkRELEFBQUEsV0FBVyxDQUFDO0VyQlVaLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUFpQ2xDLFdBQVcsRXRCVGUsR0FBRztFc0JpR3pCLFNBQVMsRXJCTkUsSUFBSTtFcUJVZixXQUFXLEVBcEVDLElBQXlCO0VxQmxFdkMsT0FBTyxFQUFFLEtBQUs7RUFFZCxhQUFhLEU5Q0laLElBQUk7RThDRkwsS0FBSyxFbERtQkcsT0FBTztDa0RsQmhCOztBeEJ5TkssTUFBTSxDQUFDLEtBQUs7RXdCak9sQixBQUFBLFdBQVcsQ0FBQztJckJvQlYsV0FBVyxFdEJJVyxVQUFVO0cyQ2hCakM7OztBeEJ5TkssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0V3QmpPbEMsQUFBQSxXQUFXLENBQUM7SXJCaUpOLFNBQVMsRXJCZEEsSUFBSTtJcUJrQmIsV0FBVyxFQWhGRCxPQUF5QjtHcUI3RHhDOzs7QXhCeU5LLE1BQU0sQ0FBQyxLQUFLO0V3QmpPbEIsQUFBQSxXQUFXLENBQUM7SXJCNElOLFNBQVMsRXJCTEEsSUFBSTtJcUJNYixXQUFXLEVyQkxBLElBQUk7RzBDaElwQjs7O0FBWUQsQUFBQSxZQUFZLEFBQUEsSUFBSyxDQUFBLGVBQWUsQ0FBQyxJQUFLLENBQUEsZUFBZSxDQUFDLElBQUssQ0FBQSxnQkFBZ0IsSUFBSSxXQUFXLENBQUM7RUFDekYsYUFBYSxFOUNiWixJQUFJO0M4Q2NOOztBQ3RCRCxBQUFBLFlBQVksQ0FBQztFdEJVYixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBaUNsQyxXQUFXLEV0QlRlLEdBQUc7RXNCaUd6QixTQUFTLEVyQk5FLElBQUk7RXFCVWYsV0FBVyxFQXBFQyxJQUF5QjtFQXRDekMsS0FBSyxFN0JOSSxPQUFPO0VtRHJCZCxPQUFPLEVBQUUsS0FBSztFQUVkLGFBQWEsRS9DQ1osR0FBRztDK0NBTDs7QXpCME5LLE1BQU0sQ0FBQyxLQUFLO0V5QmpPbEIsQUFBQSxZQUFZLENBQUM7SXRCb0JYLFdBQVcsRXRCSVcsVUFBVTtHNENqQmpDOzs7QXpCME5LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFeUJqT2xDLEFBQUEsWUFBWSxDQUFDO0l0QmlKUCxTQUFTLEVyQmRBLElBQUk7SXFCa0JiLFdBQVcsRUFoRkQsT0FBeUI7R3NCOUR4Qzs7O0F6QjBOSyxNQUFNLENBQUMsS0FBSztFeUJqT2xCLEFBQUEsWUFBWSxDQUFDO0l0QjRJUCxTQUFTLEVyQkxBLElBQUk7SXFCTWIsV0FBVyxFckJMQSxJQUFJO0cyQ2pJcEI7OztBekIwTkssTUFBTSxDQUFDLEtBQUs7RXlCak9sQixBQUFBLFlBQVksQ0FBQztJdEJrQ1gsS0FBSyxFM0JVaUIsT0FBTztHaURyQzlCOzs7QURhMEQsQUFBTCxnQkFBcUIsQ0NUMUQ7RXRCRGpCLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUEyQ2xDLFdBQVcsRXRCYlksR0FBRztFc0IyRnRCLFNBQVMsRXJCOURFLElBQUk7RXFCa0VmLFdBQVcsRUFwRUMsT0FBeUI7RXNCeER2QyxhQUFhLEUvQ0paLElBQUk7QytDS047O0F6Qm1OSyxNQUFNLENBQUMsS0FBSztFd0I3TXlDLEFBQUwsZ0JBQXFCLENDVDFEO0l0QlNmLFdBQVcsRXRCSVcsVUFBVTtHNENWakM7OztBekJtTkssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0V3QjdNeUIsQUFBTCxnQkFBcUIsQ0NUMUQ7SXRCc0lYLFNBQVMsRXJCdEVBLElBQUk7SXFCMEViLFdBQVcsRUFoRkQsT0FBeUI7R3NCdkR4Qzs7O0F6Qm1OSyxNQUFNLENBQUMsS0FBSztFd0I3TXlDLEFBQUwsZ0JBQXFCLENDVDFEO0l0QmlJWCxTQUFTLEVyQjdEQSxJQUFJO0lxQjhEYixXQUFXLEVyQjdEQSxJQUFJO0cyQ2xFcEI7OztBRE1xQyxBQUFMLGVBQW9CLENDSnJDO0V0Qk5oQixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBMkNsQyxXQUFXLEV0QmJZLEdBQUc7RXNCMkZ0QixTQUFTLEVyQmhERSxJQUFJO0VxQm9EZixXQUFXLEVBcEVDLE9BQXlCO0VzQm5EdkMsYUFBYSxFL0NUWixJQUFJO0MrQ1VOOztBekI4TUssTUFBTSxDQUFDLEtBQUs7RXdCN01vQixBQUFMLGVBQW9CLENDSnJDO0l0QklkLFdBQVcsRXRCSVcsVUFBVTtHNENMakM7OztBekI4TUssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0V3QjdNSSxBQUFMLGVBQW9CLENDSnJDO0l0QmlJVixTQUFTLEVyQnhEQSxJQUFJO0lxQjREYixXQUFXLEVBaEZELE9BQXlCO0dzQmxEeEM7OztBekI4TUssTUFBTSxDQUFDLEtBQUs7RXdCN01vQixBQUFMLGVBQW9CLENDSnJDO0l0QjRIVixTQUFTLEVyQi9DQSxJQUFJO0lxQmdEYixXQUFXLEVyQi9DQSxJQUFJO0cyQzNFcEI7OztBRENnQixBQUFMLGVBQW9CLENDQ2hCO0V0QlhoQixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBMkNsQyxXQUFXLEV0QmJZLEdBQUc7RXNCMkZ0QixTQUFTLEVyQnBCRSxJQUFJO0VxQndCZixXQUFXLEVBcEVDLE9BQXlCO0VzQjlDdkMsYUFBYSxFL0NmWixJQUFJO0MrQ2dCTjs7QXpCeU1LLE1BQU0sQ0FBQyxLQUFLO0V3QjdNRCxBQUFMLGVBQW9CLENDQ2hCO0l0QkRkLFdBQVcsRXRCSVcsVUFBVTtHNENBakM7OztBekJ5TUssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0V3QjdNakIsQUFBTCxlQUFvQixDQ0NoQjtJdEI0SFYsU0FBUyxFckI1QkEsSUFBSTtJcUJnQ2IsV0FBVyxFQWhGRCxJQUF5QjtHc0I3Q3hDOzs7QXpCeU1LLE1BQU0sQ0FBQyxLQUFLO0V3QjdNRCxBQUFMLGVBQW9CLENDQ2hCO0l0QnVIVixTQUFTLEVyQm5CQSxJQUFJO0lxQm9CYixXQUFXLEVyQm5CQSxJQUFJO0cyQ2xHcEI7OztBQUVELEFBQUEsZUFBZSxDQUFDO0V0QmhCaEIsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQTJDbEMsV0FBVyxFdEJiWSxHQUFHO0VzQjJGdEIsU0FBUyxFckJORSxJQUFJO0VxQlVmLFdBQVcsRUFwRUMsSUFBeUI7Q3NCekN4Qzs7QXpCcU1LLE1BQU0sQ0FBQyxLQUFLO0V5QnZNbEIsQUFBQSxlQUFlLENBQUM7SXRCTmQsV0FBVyxFdEJJVyxVQUFVO0c0Q0lqQzs7O0F6QnFNSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXlCdk1sQyxBQUFBLGVBQWUsQ0FBQztJdEJ1SFYsU0FBUyxFckJkQSxJQUFJO0lxQmtCYixXQUFXLEVBaEZELE9BQXlCO0dzQnpDeEM7OztBekJxTUssTUFBTSxDQUFDLEtBQUs7RXlCdk1sQixBQUFBLGVBQWUsQ0FBQztJdEJrSFYsU0FBUyxFckJMQSxJQUFJO0lxQk1iLFdBQVcsRXJCTEEsSUFBSTtHMkM1R3BCOzs7QUFRRCxBQUFBLG9CQUFvQixDQUFDO0VBQ25CLE1BQU0sRUFBRSxDQUFDO0NBQ1Y7O0FKOUJELEFBQUEsdUJBQXVCLENBQUM7RWxCRXhCLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUFpQ2xDLFdBQVcsRXRCVGUsR0FBRztFc0JpR3pCLFNBQVMsRXJCTkUsSUFBSTtFcUJVZixXQUFXLEVBcEVDLElBQXlCO0VrQjFEdkMsT0FBTyxFQUFFLEtBQUs7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUVsQixVQUFVLEUzQ0RULElBQUk7RTJDR0wsYUFBYSxFM0NSWixJQUFJO0UyQ1NMLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQzNDSmIsSUFBSTtFMkNNTCxLQUFLLEVBQUUsSUFBSTtDQUNaOztBckI2TUssTUFBTSxDQUFDLEtBQUs7RXFCek5sQixBQUFBLHVCQUF1QixDQUFDO0lsQll0QixXQUFXLEV0QklXLFVBQVU7R3dDSmpDOzs7QXJCNk1LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFcUJ6TmxDLEFBQUEsdUJBQXVCLENBQUM7SWxCeUlsQixTQUFTLEVyQmRBLElBQUk7SXFCa0JiLFdBQVcsRUFoRkQsT0FBeUI7R2tCakR4Qzs7O0FyQjZNSyxNQUFNLENBQUMsS0FBSztFcUJ6TmxCLEFBQUEsdUJBQXVCLENBQUM7SWxCb0lsQixTQUFTLEVyQkxBLElBQUk7SXFCTWIsV0FBVyxFckJMQSxJQUFJO0d1Q3BIcEI7OztBQUVELEFBQUEsdUJBQXVCLEFBQUEsV0FBVztBQUNsQyx1QkFBdUIsQUFBQSxhQUFhLENBQUM7RUFDbkMsYUFBYSxFQUFFLENBQUM7Q0FDakI7O0FBRUQsQUFBQSx3QkFBd0IsQ0FBQztFQUN2QixRQUFRLEVBQUUsUUFBUTtFQUVsQixPQUFPLEVBQUUsQ0FBQztFQUNWLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFFUCxLQUFLLEUzQ3JCSixJQUFJO0UyQ3NCTCxNQUFNLEUzQ3RCTCxJQUFJO0UyQ3dCTCxNQUFNLEVBQUUsT0FBTztFQUliLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7Q0FTYjs7QUFFRCxBQUFBLHdCQUF3QixDQUFDO0VBQ3ZCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGFBQWEsRUFBRSxDQUFDO0VBQ2hCLE9BQU8sRUFBRSxHQUFHLEMzQy9DWCxJQUFJLENBRkosR0FBRztFMkNrREosTUFBTSxFQUFFLE9BQU87RUFFZixnQkFBZ0IsRUFBRSxZQUFZO0VBQzlCLFlBQVksRUFBRSxZQUFZO0NBQzNCOztBQUVELEFBQUEsd0JBQXdCLEdBQUcsd0JBQXdCLEFBQUEsUUFBUSxDQUFDO0VBQzFELE9BQU8sRUFBRSxFQUFFO0VBQ1gsa0JBQWtCLEVBQUUsVUFBVTtFQUN0QixVQUFVLEVBQUUsVUFBVTtFQUM5QixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFM0N6REosSUFBSTtFMkMwREwsTUFBTSxFM0MxREwsSUFBSTtFMkMyREwsTUFBTSxFMUNkd0IsR0FBRyxDMENjUSxLQUFLLENBQUMsWUFBWTtFQUMzRCxVQUFVLEVBQUUsV0FBVztDQUd4Qjs7QUFFRCxBQUFBLHdCQUF3QixHQUFHLHdCQUF3QixBQUFBLE9BQU8sQ0FBQztFQUN6RCxPQUFPLEVBQUUsRUFBRTtFQUVYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxJQUFJO0VBQ1QsSUFBSSxFQUFFLEdBQUc7RUFDVCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxHQUFHO0VBRVgsaUJBQWlCLEVBQUUsY0FBYztFQUU3QixhQUFhLEVBQUUsY0FBYztFQUV6QixTQUFTLEVBQUUsY0FBYztFQUNqQyxNQUFNLEVBQUUsS0FBSztFQUNiLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxDMUN4REEsR0FBRyxDQUFILEdBQUc7RTBDMkRwQixnQkFBZ0IsRUFBRSxXQUFXO0VBRTdCLE9BQU8sRUFBRSxDQUFDO0VBRVYsVUFBVSxFQUFFLFdBQVc7Q0FDeEI7O0FBR0QsQUFBQSx3QkFBd0IsQUFBQSxNQUFNLEdBQUcsd0JBQXdCLEFBQUEsUUFBUSxDQUFDO0VBSWhFLE9BQU8sRTFDN0JTLEdBQUcsQzBDNkJTLEtBQUssQ0FBQyxXQUFXO0VBQzdDLGNBQWMsRTFDOUJFLEdBQUc7RTBDK0JuQixrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQzFDL0JULEdBQUcsQ0w3RFgsT0FBTztFK0M2RlAsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDMUNoQ1QsR0FBRyxDTDdEWCxPQUFPO0MrQzhGaEI7O0FBR0QsQUFBQSx3QkFBd0IsQUFBQSxRQUFRLEdBQUcsd0JBQXdCLEFBQUEsT0FBTyxDQUFDO0VBQ2pFLE9BQU8sRUFBRSxDQUFDO0NBQ1g7O0FBR0QsQUFBQSx3QkFBd0IsQUFBQSxTQUFTO0FBQ2pDLHdCQUF3QixBQUFBLFNBQVMsR0FBRyx3QkFBd0IsQ0FBQztFQUMzRCxNQUFNLEVBQUUsT0FBTztDQUNoQjs7QUFFRCxBQUFBLHdCQUF3QixBQUFBLFNBQVMsR0FBRyx3QkFBd0IsQ0FBQztFQUMzRCxPQUFPLEVBQUUsRUFBRTtDQUNaOztBQVVELEFBQUEsOEJBQThCLENBQUM7RW5CeER6QixhQUEwQixFeEI5QnhCLElBQUk7RTJDd0ZWLFdBQVcsRUFSZ0IsSUFBOEQ7RUFTekYsWUFBWSxFQUxhLElBQXdFO0VBTWpHLFdBQVcsRTFDMUZhLEdBQUcsQzBDMEZZLEtBQUssQy9DbEhwQyxPQUFPO0MrQzJIaEI7O0FyQjJFSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFCeEZsQyxBQUFBLDhCQUE4QixDQUFDO0luQmpEdkIsYUFBMEIsRXhCcEN4QixJQUFJO0cyQ2tHYjs7O0FBYkQsQUFNRSw4QkFONEIsQ0FNM0IsQUFBQSxXQUFDLENBQVksTUFBTSxBQUFsQixFQUFvQjtFQUNwQixPQUFPLEVBQUUsSUFBSTtDQUNkOztBQVJILEFBVUUsOEJBVjRCLEdBVXhCLFdBQVcsQ0FBQztFQUNkLGFBQWEsRUFBRSxDQUFDO0NBQ2pCOztBTWpKSCxBQUFBLFlBQVksQ0FBQztFeEJNYixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBaUNsQyxXQUFXLEV0QlRlLEdBQUc7RXNCaUd6QixTQUFTLEVyQk5FLElBQUk7RXFCVWYsV0FBVyxFQXBFQyxJQUF5QjtFd0I3RHZDLGtCQUFrQixFQUFFLFVBQVU7RUFFdEIsVUFBVSxFQUFFLFVBQVU7RUFDOUIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLFVBQVUsRUFBRSxDQUFDO0VBRWIsT0FBTyxFakRSTixHQUFHO0VpRFdKLE1BQU0sRWhEd0N3QixHQUFHLENnRHhDUSxLQUFLLENyRE92QyxPQUFPO0VxRE5kLGFBQWEsRUFBRSxDQUFDO0VBR2hCLGtCQUFrQixFQUFFLElBQUk7RUFDckIsZUFBZSxFQUFFLElBQUk7RUFDaEIsVUFBVSxFQUFFLElBQUk7Q0FDekI7O0EzQndNSyxNQUFNLENBQUMsS0FBSztFMkI3TmxCLEFBQUEsWUFBWSxDQUFDO0l4QmdCWCxXQUFXLEV0QklXLFVBQVU7RzhDQ2pDOzs7QTNCd01LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMkI3TmxDLEFBQUEsWUFBWSxDQUFDO0l4QjZJUCxTQUFTLEVyQmRBLElBQUk7SXFCa0JiLFdBQVcsRUFoRkQsT0FBeUI7R3dCNUN4Qzs7O0EzQndNSyxNQUFNLENBQUMsS0FBSztFMkI3TmxCLEFBQUEsWUFBWSxDQUFDO0l4QndJUCxTQUFTLEVyQkxBLElBQUk7SXFCTWIsV0FBVyxFckJMQSxJQUFJO0c2Qy9HcEI7OztBQXJCRCxBaENJQSxZZ0NKWSxBaENJWCxNQUFNLENBQUM7RUFDTixPQUFPLEVoQnNFUyxHQUFHLENnQnRFUyxLQUFLLENyQlN6QixPQUFPO0VxQlJmLGNBQWMsRUFBRSxDQUFDO0NBQ2xCOztBZ0NnQkQsQUFBQSxZQUFZLEFBQUEsMkJBQTJCO0FBQ3ZDLFlBQVksQUFBQSwyQkFBMkIsQ0FBQztFQUN0QyxNQUFNLEVBQUUsQ0FBQztFQUNULGtCQUFrQixFQUFFLElBQUk7Q0FDekI7O0FBRUQsQUFBQSxZQUFZLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEVBQWU7RUFDMUIsZUFBZSxFQUFFLFNBQVM7Q0FDM0I7O0FBRUQsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixNQUFNLEVoRDJCOEIsR0FBRyxDZ0QzQlEsS0FBSyxDckR4Qi9DLE9BQU87Q3FEeUJiOztBQU1ELEFBQUEsc0JBQXNCLENBQUM7RUFDckIsU0FBUyxFQUFFLElBQVU7Q0FDdEI7O0FBRUQsQUFBQSxzQkFBc0IsQ0FBQztFQUNyQixTQUFTLEVBQUUsSUFBVTtDQUN0Qjs7QUFFRCxBQUFBLHNCQUFzQixDQUFDO0VBQ3JCLFNBQVMsRUFBRSxJQUFVO0NBQ3RCOztBQUVELEFBQUEscUJBQXFCLENBQUM7RUFDcEIsU0FBUyxFQUFFLE1BQU07Q0FDbEI7O0FBRUQsQUFBQSxxQkFBcUIsQ0FBQztFQUNwQixTQUFTLEVBQUUsR0FBRztDQUNmOztBQUVELEFBQUEscUJBQXFCLENBQUM7RUFDcEIsU0FBUyxFQUFFLEtBQUs7Q0FDakI7O0FBRUQsQUFBQSxxQkFBcUIsQ0FBQztFQUNwQixTQUFTLEVBQUUsS0FBSztDQUNqQjs7QURsRUQsQWpDREEsaUJpQ0NpQixBakNEaEIsTUFBTSxDQUFDO0VBQ04sT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0NBQ1o7O0FpQ0NELEFBQUEsdUJBQXVCLENBQUM7RUFDdEIsWUFBWSxFaERBWCxJQUFJO0VnRENMLGFBQWEsRUFBRSxDQUFDO0VBQ2hCLEtBQUssRUFBRSxJQUFJO0VBQ1gsS0FBSyxFQUFFLElBQUk7Q0FDWjs7QUFFRCxBQUFBLHdCQUF3QixDQUFDO0VBQ3ZCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsY0FBYyxFQUFFLEdBQUc7Q0FDcEI7O0FBRUQsQUFBQSx3QkFBd0IsQ0FBQztFQUN2QixhQUFhLEVBQUUsQ0FBQztDQUNqQjs7QUV0QkQsQUFBQSxjQUFjLENBQUM7RXpCU2YsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQWlDbEMsV0FBVyxFdEJUZSxHQUFHO0VzQmlHekIsU0FBUyxFckJORSxJQUFJO0VxQlVmLFdBQVcsRUFwRUMsSUFBeUI7RUF0Q3pDLEtBQUssRTdCTkksT0FBTztFNEJ3RFYsYUFBMEIsRXhCdEJ4QixJQUFJO0VrRHJEVixPQUFPLEVBQUUsS0FBSztDQUNmOztBNUIwTkssTUFBTSxDQUFDLEtBQUs7RTRCaE9sQixBQUFBLGNBQWMsQ0FBQztJekJtQmIsV0FBVyxFdEJJVyxVQUFVO0crQ2pCakM7OztBNUIwTkssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0U0QmhPbEMsQUFBQSxjQUFjLENBQUM7SXpCZ0pULFNBQVMsRXJCZEEsSUFBSTtJcUJrQmIsV0FBVyxFQWhGRCxPQUF5QjtHeUI5RHhDOzs7QTVCME5LLE1BQU0sQ0FBQyxLQUFLO0U0QmhPbEIsQUFBQSxjQUFjLENBQUM7SXpCMklULFNBQVMsRXJCTEEsSUFBSTtJcUJNYixXQUFXLEVyQkxBLElBQUk7RzhDaklwQjs7O0E1QjBOSyxNQUFNLENBQUMsS0FBSztFNEJoT2xCLEFBQUEsY0FBYyxDQUFDO0l6QmlDYixLQUFLLEUzQlVpQixPQUFPO0dvRHJDOUI7OztBNUIwTkssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0U0QmhPbEMsQUFBQSxjQUFjLENBQUM7STFCdUZQLGFBQTBCLEV4QjVCeEIsSUFBSTtHa0RyRGI7OztBQUVELEFBQUEsdUJBQXVCLENBQUM7RUFFdEIsT0FBTyxFQUFFLFlBQVk7RUFHckIsUUFBUSxFQUFFLFFBQVE7RUFFbEIsYUFBYSxFbERUWixHQUFHO0VrRFlKLFlBQVksRUFBRSxJQUFzQztFQUdwRCxLQUFLLEV0RENDLE9BQU87RXNEQWIsTUFBTSxFQUFFLE9BQU87Q0FDaEI7O0FBR0QsQUFBQSw0QkFBNEIsQ0FBQztFQUMzQixlQUFlLEVBQUUsU0FBUztDQUMzQjs7QUFFRCxBQUFBLHVCQUF1QixBQUFBLE1BQU0sQ0FBQztFQUM1QixLQUFLLEV0RFZPLE9BQU87Q3NEV3BCOztBQUVELEFBQUEsdUJBQXVCLEFBQUEsTUFBTSxDQUFDO0VBRTVCLE9BQU8sRUFBRSxHQUEwQixDQUFDLEtBQUssQ3REbkJqQyxPQUFPO0VzRG9CZixjQUFjLEVBQUUsSUFBSTtFQUNwQixVQUFVLEV0RHJCRixPQUFPO0NzRHNCaEI7O0FBSUQsQUFBQSx1QkFBdUIsQUFBQSx3QkFBd0IsQ0FBQztFQUM5QyxPQUFPLEVBQUUsSUFBSTtDQUNkOztBQUdELEFBQUEsdUJBQXVCLEFBQUEsT0FBTyxDQUFDO0VBQzdCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFFbEIsR0FBRyxFQUFFLENBQUM7RUFDTixNQUFNLEVBQUUsQ0FBQztFQUNULElBQUksRUFBRSxDQUFDO0VBRVAsTUFBTSxFQUFFLElBQUk7RTNCeEJkLE9BQU8sRUFENEQsS0FBSztFQUd4RSxLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBRVQsWUFBWSxFQUFFLEtBQUs7RUFDbkIsWUFBWSxFQUFFLFdBQVc7RUFldkIsaUJBQWlCLEVBQUUsaUNBQWlDO0VBQzVDLFNBQVMsRUFBRSxpQ0FBaUM7RUFFcEQsWUFBWSxFQWhCRSxHQUFTLENBZ0JNLENBQUMsQ0FoQmhCLEdBQVMsQ0E5QmpCLFFBQW1DO0VBK0N6QyxpQkFBaUIsRUFBRSxPQUFPO0MyQk0zQjs7QUFIQyxBQUFBLGNBQWMsQ0FBQSxBQUFBLElBQUMsQUFBQSxJQVpqQix1QkFBdUIsQUFBQSxPQUFPLENBWUg7RTNCNUIzQixPQUFPLEVBRDRELEtBQUs7RUFHeEUsS0FBSyxFQUFFLENBQUM7RUFDUixNQUFNLEVBQUUsQ0FBQztFQUVULFlBQVksRUFBRSxLQUFLO0VBQ25CLFlBQVksRUFBRSxXQUFXO0VBcUJ2QixpQkFBaUIsRUFBRSxpQ0FBaUM7RUFDNUMsU0FBUyxFQUFFLGlDQUFpQztFQUVwRCxZQUFZLEVBcEROLFFBQW1DLENBOEIzQixHQUFTLENBc0JjLENBQUMsQ0F0QnhCLEdBQVM7RUF1QnZCLGdCQUFnQixFQUFFLE9BQU87QzJCRHhCOztBQUdILEFBQUEsb0JBQW9CLENBQUM7RUFDbkIsT0FBTyxFbEQxRE4sSUFBSTtFa0QyREwsWUFBWSxFbEQxRFgsSUFBSTtFa0QyREwsV0FBVyxFakRoQ00sR0FBRyxDaURnQ2EsS0FBSyxDdEQxQzlCLE9BQU87Q3NEMkNoQjs7QUFFRCxBQUFBLG9CQUFvQixDQUFDLENBQUMsQ0FBQztFQUNyQixVQUFVLEVBQUUsQ0FBQztFQUNiLGFBQWEsRWxEaEVaLElBQUk7Q2tEaUVOOztBQUVELEFBQUEsb0JBQW9CLEdBQUcsV0FBVyxDQUFDO0VBQ2pDLGFBQWEsRUFBRSxDQUFDO0NBQ2pCOztBQzVFRCxBQUFBLG9CQUFvQixFMkJSdEIsc0JBQXNCLEMzQlFDO0UxQjRCckIsS0FBSyxFN0JOSSxPQUFPO0U0QnNEVixPQUFZLEV4QjVCVixJQUFJO0V3QjhCTixhQUEwQixFeEJkeEIsSUFBSTtFbUQxRFYsTUFBTSxFbEQwQ2tCLEdBQUcsQ2tEMUNRLEtBQUssQ3ZES25DLE9BQU87Q3VEQWI7O0E3Qm1OSyxNQUFNLENBQUMsS0FBSztFNkI5TmxCLEFBQUEsb0JBQW9CLEUyQlJ0QixzQkFBc0IsQzNCUUM7STFCK0JuQixLQUFLLEUzQlVpQixPQUFPO0dxRDlCOUI7OztBN0JtTkssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0U2QjlObEMsQUFBQSxvQkFBb0IsRTJCUnRCLHNCQUFzQixDM0JRQztJM0JtRmIsT0FBWSxFeEJsQ1YsSUFBSTtHbUR0Q2I7OztBN0JtTkssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0U2QjlObEMsQUFBQSxvQkFBb0IsRTJCUnRCLHNCQUFzQixDM0JRQztJM0JxRmIsYUFBMEIsRXhCcEJ4QixJQUFJO0dtRHREYjs7O0FBWEQsQWxDS0Esb0JrQ0xvQixBbENLbkIsTUFBTSxFNkRiVCxzQkFBc0IsQTdEYW5CLE1BQU0sQ0FBQztFQUNOLE9BQU8sRWhCc0VTLEdBQUcsQ2dCdEVTLEtBQUssQ3JCU3pCLE9BQU87RXFCUmYsY0FBYyxFQUFFLENBQUM7Q0FDbEI7O0FLc05LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFNkI5TmxDLEFBQUEsb0JBQW9CLEUyQlJ0QixzQkFBc0IsQzNCUUM7SUFTakIsTUFBTSxFbER5QlMsR0FBRyxDa0R6QlUsS0FBSyxDdkRFOUIsT0FBTztHdURBYjs7O0FBRUQsQUFBQSwyQkFBMkIsRTJCWjdCLDZCQUE2QixDM0JZQztFMUJONUIsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQTJDbEMsV0FBVyxFdEJiWSxHQUFHO0VzQjJGdEIsU0FBUyxFckJwQkUsSUFBSTtFcUJ3QmYsV0FBVyxFQXBFQyxPQUF5QjtFMEJsRHZDLFVBQVUsRUFBRSxDQUFDO0UzQjhEVCxhQUEwQixFeEI5QnhCLElBQUk7Q21EOUJYOztBN0I0TUssTUFBTSxDQUFDLEtBQUs7RTZCak5sQixBQUFBLDJCQUEyQixFMkJaN0IsNkJBQTZCLEMzQllDO0kxQkkxQixXQUFXLEV0QklXLFVBQVU7R2dESGpDOzs7QTdCNE1LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFNkJqTmxDLEFBQUEsMkJBQTJCLEUyQlo3Qiw2QkFBNkIsQzNCWUM7STFCaUl0QixTQUFTLEVyQjVCQSxJQUFJO0lxQmdDYixXQUFXLEVBaEZELElBQXlCO0cwQmhEeEM7OztBN0I0TUssTUFBTSxDQUFDLEtBQUs7RTZCak5sQixBQUFBLDJCQUEyQixFMkJaN0IsNkJBQTZCLEMzQllDO0kxQjRIdEIsU0FBUyxFckJuQkEsSUFBSTtJcUJvQmIsV0FBVyxFckJuQkEsSUFBSTtHK0NyR3BCOzs7QTdCNE1LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFNkJqTmxDLEFBQUEsMkJBQTJCLEUyQlo3Qiw2QkFBNkIsQzNCWUM7STNCd0VwQixhQUEwQixFeEJwQ3hCLElBQUk7R21EL0JiOzs7QUFFRCxBQUFBLDBCQUEwQixFMkJmNUIsNEJBQTRCLEMzQmVDO0UxQmIzQixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBaUNsQyxXQUFXLEV0QlRlLEdBQUc7RXNCaUd6QixTQUFTLEVyQk5FLElBQUk7RXFCVWYsV0FBVyxFQXBFQyxJQUF5QjtDMEJ2Q3hDOztBN0JtTUssTUFBTSxDQUFDLEtBQUs7RTZCMU1sQixBQUFBLDBCQUEwQixFMkJmNUIsNEJBQTRCLEMzQmVDO0kxQkh6QixXQUFXLEV0QklXLFVBQVU7R2dETWpDOzs7QTdCbU1LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFNkIxTWxDLEFBQUEsMEJBQTBCLEUyQmY1Qiw0QkFBNEIsQzNCZUM7STFCMEhyQixTQUFTLEVyQmRBLElBQUk7SXFCa0JiLFdBQVcsRUFoRkQsT0FBeUI7RzBCdkN4Qzs7O0E3Qm1NSyxNQUFNLENBQUMsS0FBSztFNkIxTWxCLEFBQUEsMEJBQTBCLEUyQmY1Qiw0QkFBNEIsQzNCZUM7STFCcUhyQixTQUFTLEVyQkxBLElBQUk7SXFCTWIsV0FBVyxFckJMQSxJQUFJO0crQzFHcEI7OztBQVBELEFBR0UsMEJBSHdCLENBR3hCLENBQUMsRTJCbEJMLDRCQUE0QixDM0JrQnhCLENBQUMsQ0FBQztFQUNBLFVBQVUsRUFBRSxDQUFDO0UzQnNEWCxhQUEwQixFeEI5QnhCLElBQUk7Q21EdEJUOztBN0JvTUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0U2QjFNbEMsQUFHRSwwQkFId0IsQ0FHeEIsQ0FBQyxFMkJsQkwsNEJBQTRCLEMzQmtCeEIsQ0FBQyxDQUFDO0kzQjhESSxhQUEwQixFeEJwQ3hCLElBQUk7R21EdkJYOzs7QUFJSCxBQUFBLDBCQUEwQixDQUFDO0VBQ3pCLFVBQVUsRUFBRSxDQUFDO0VBQ2IsYUFBYSxFQUFFLENBQUM7Q0FDakI7O0FBRUQsQUFBQSwwQkFBMEIsQ0FBQyxDQUFDLENBQUM7RTFCaUI3QixXQUFXLEV0QmJZLEdBQUc7Q2dEa0J6Qjs7QUF0QkQsQWxDZkEsMEJrQ2UwQixDQUFDLENBQUMsQWxDZjNCLE1BQU0sQ0FBQztFQUNOLE9BQU8sRWhCdURTLEdBQUcsQ2dCdkRTLEtBQUssQ3JCTnpCLE9BQU87RXFCT2YsY0FBYyxFQUFFLENBQUM7RUFDakIsZ0JBQWdCLEVyQlJSLE9BQU87Q3FCU2hCOztBa0NXRCxBQUtFLDBCQUx3QixDQUFDLENBQUMsQUFLekIsS0FBSyxFQUxSLDBCQUEwQixDQUFDLENBQUMsQUFNekIsUUFBUSxFQU5YLDBCQUEwQixDQUFDLENBQUMsQUFPekIsTUFBTSxFQVBULDBCQUEwQixDQUFDLENBQUMsQUFRekIsT0FBTyxFQVJWLDBCQUEwQixDQUFDLENBQUMsQUFTekIsTUFBTSxDQUFDO0VBQ04sS0FBSyxFdkRsQ0YsT0FBTztFdURtQ1YsZUFBZSxFQUFFLFNBQVM7Q0FDM0I7O0FBWkgsQUFrQkksMEJBbEJzQixDQUFDLENBQUMsQUFrQnZCLEtBQUssQUFBQSxNQUFNLENBQUM7RUFDWCxLQUFLLEV2RDNDSixPQUFPO0N1RDRDVDs7QUN0REwsQUFBQSxrQkFBa0IsQ0FBQztFM0JNbkIsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQWlDbEMsV0FBVyxFdEJUZSxHQUFHO0VzQmlHekIsU0FBUyxFckJORSxJQUFJO0VxQlVmLFdBQVcsRUFwRUMsSUFBeUI7RUF0Q3pDLEtBQUssRTdCTkksT0FBTztDd0RqQmY7O0E5QnlOSyxNQUFNLENBQUMsS0FBSztFOEI3TmxCLEFBQUEsa0JBQWtCLENBQUM7STNCZ0JqQixXQUFXLEV0QklXLFVBQVU7R2lEaEJqQzs7O0E5QnlOSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RThCN05sQyxBQUFBLGtCQUFrQixDQUFDO0kzQjZJYixTQUFTLEVyQmRBLElBQUk7SXFCa0JiLFdBQVcsRUFoRkQsT0FBeUI7RzJCN0R4Qzs7O0E5QnlOSyxNQUFNLENBQUMsS0FBSztFOEI3TmxCLEFBQUEsa0JBQWtCLENBQUM7STNCd0liLFNBQVMsRXJCTEEsSUFBSTtJcUJNYixXQUFXLEVyQkxBLElBQUk7R2dEaElwQjs7O0E5QnlOSyxNQUFNLENBQUMsS0FBSztFOEI3TmxCLEFBQUEsa0JBQWtCLENBQUM7STNCOEJqQixLQUFLLEUzQlVpQixPQUFPO0dzRHBDOUI7OztBQUpELEFuQ0lBLGtCbUNKa0IsQW5DSWpCLE1BQU0sQ0FBQztFQUNOLE9BQU8sRWhCc0VTLEdBQUcsQ2dCdEVTLEtBQUssQ3JCU3pCLE9BQU87RXFCUmYsY0FBYyxFQUFFLENBQUM7Q0FDbEI7O0FtQ0RELEFBQUEseUJBQXlCLENBQUM7RUFDeEIsTUFBTSxFbkRzRDhCLEdBQUcsQ21EdERRLEtBQUssQ3hERy9DLE9BQU87Q3dERmI7O0FDS0QsQUFBQSxhQUFhLENBQUM7RTVCUGQsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQWlDbEMsV0FBVyxFdEJUZSxHQUFHO0VzQmlHekIsU0FBUyxFckJRRSxJQUFJO0VxQkpmLFdBQVcsRUFwRUMsT0FBeUI7RURZbkMsV0FBMEIsRXhCbEJ4QixJQUFJO0V3QmtCTixjQUEwQixFeEIxQnhCLElBQUk7RXFEakNWLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDQWxCRyxPQUFPO0VBbUIvQixLQUFLLEVBakJhLE9BQU87RUFrQnpCLFVBQVUsRXpESUYsT0FBTztDeURIaEI7O0EvQndNSyxNQUFNLENBQUMsS0FBSztFK0JoTmxCLEFBQUEsYUFBYSxDQUFDO0k1QkdaLFdBQVcsRXRCSVcsVUFBVTtHa0RDakM7OztBL0J3TUssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UrQmhObEMsQUFBQSxhQUFhLENBQUM7STVCZ0lSLFNBQVMsRXJCQUEsSUFBSTtJcUJJYixXQUFXLEVBaEZELElBQXlCO0c0QjVDeEM7OztBL0J3TUssTUFBTSxDQUFDLEtBQUs7RStCaE5sQixBQUFBLGFBQWEsQ0FBQztJNUIySFIsU0FBUyxFckJTQSxJQUFJO0lxQlJiLFdBQVcsRXJCU0EsR0FBRztHaUQ3SG5COzs7QS9Cd01LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFK0JoTmxDLEFBQUEsYUFBYSxDQUFDO0k3QnVFTixXQUEwQixFeEJ4QnhCLElBQUk7R3FEdkNiOzs7QS9Cd01LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFK0JoTmxDLEFBQUEsYUFBYSxDQUFDO0k3QnVFTixjQUEwQixFeEJoQ3hCLElBQUk7R3FEL0JiOzs7QUFFRCxBcENKQSxtQm9DSW1CLEFwQ0psQixNQUFNLENBQUM7RUFDTixPQUFPLEVoQnVEUyxHQUFHLENnQnZEUyxLQUFLLENyQk56QixPQUFPO0VxQk9mLGNBQWMsRUFBRSxDQUFDO0VBQ2pCLGdCQUFnQixFckJSUixPQUFPO0NxQlNoQjs7QW9DQUQsQUFHRSxtQkFIaUIsQUFHaEIsS0FBSyxFQUhSLG1CQUFtQixBQUloQixRQUFRLENBQUM7RUFDUixLQUFLLEVBMUJXLE9BQU87Q0EyQnhCOztBQU5ILEFBUUUsbUJBUmlCLEFBUWhCLE1BQU0sRUFSVCxtQkFBbUIsQUFTaEIsT0FBTyxDQUFDO0VBQ1AsS0FBSyxFQTdCaUIsT0FBTztDQThCOUI7O0FBWEgsQXBDSkEsbUJvQ0ltQixBcENKbEIsTUFBTSxDb0NrQkc7RUFDTixLQUFLLEV6RGpCQSxPQUFPO0N5RGtCYjs7QUFoQkgsQUFzQkksbUJBdEJlLEFBc0JkLEtBQUssQUFBQSxNQUFNLENBQUM7RTVCbEJqQixLQUFLLEU3Qk5JLE9BQU87Q3lEMEJYOztBL0I4S0MsTUFBTSxDQUFDLEtBQUs7RStCdE1sQixBQXNCSSxtQkF0QmUsQUFzQmQsS0FBSyxBQUFBLE1BQU0sQ0FBQztJNUJmZixLQUFLLEUzQlVpQixPQUFPO0d1RE8xQjs7O0FBSUwsQUFBQSw0QkFBNEIsQ0FBQztFQUMzQixNQUFNLEVBQUUsQ0FBQztFN0J5QkwsYUFBMEIsRXhCZHhCLElBQUk7RXFEVFYsTUFBTSxFQUFFLENBQUM7RUFDVCxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3pEaENoQixPQUFPO0N5RGlDaEI7O0EvQnFLSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RStCMUtsQyxBQUFBLDRCQUE0QixDQUFDO0k3QmlDckIsYUFBMEIsRXhCcEJ4QixJQUFJO0dxRFJiOzs7QUFFRCxBQUFBLG1CQUFtQixDQUFDO0VBQ2xCLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsWUFBWSxFcEQxQ0ksS0FBaUI7RW9EMkNqQyxXQUFXLEVwRDNDSyxLQUFpQjtFb0Q0Q2pDLGFBQWEsRUFBRSxJQUFJO0VBQ2YsU0FBUyxFQUFFLElBQUk7RUFDbkIsaUJBQWlCLEVBQUUsR0FBRztFQUNsQixjQUFjLEVBQUUsR0FBRztFQUNmLFdBQVcsRUFBRSxRQUFRO0VBQzdCLGdCQUFnQixFQUFFLE1BQU07RUFDcEIsYUFBYSxFQUFFLE1BQU07RUFDakIsZUFBZSxFQUFFLE1BQU07Q0FDaEM7O0FBRUQsQUFBQSx3QkFBd0IsQ0FBQztFQUN2QixZQUFZLEVwRHZESSxJQUFpQjtFb0R3RGpDLGFBQWEsRXJEckVaLElBQUk7RXFEc0VMLFdBQVcsRXBEekRLLElBQWlCO0NvRDBEbEM7O0FBRUQsQUFBQSw4QkFBOEIsQ0FBQztFQUM3QixnQkFBZ0IsRUFBRSxDQUFDO0VBQ2YsUUFBUSxFQUFFLENBQUM7RUFDUCxJQUFJLEVBQUUsQ0FBQztDQUtoQjs7QS9CcUlLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFK0I3SWxDLEFBQUEsOEJBQThCLENBQUM7SUFLM0IsdUJBQXVCLEVBQUUsS0FBSztJQUMxQixVQUFVLEVBQUUsS0FBSztHQUV4Qjs7O0FBRUQsQUFBQSwyQkFBMkIsQ0FBQztFQUMxQixPQUFPLEVBQUUsWUFBWTtFQUNyQixZQUFZLEVyRHhGWCxJQUFJO0VxRDRGTCxjQUFjLEVBQUUsR0FBRztDQUNwQjs7QS9CNEhLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFK0JuSWxDLEFBQUEsMkJBQTJCLENBQUM7SUFJeEIsYUFBYSxFckR6RmQsSUFBSTtHcUQ0Rk47OztBQUVELEFBQUEsa0NBQWtDLENBQUM7RUFDakMsT0FBTyxFQUFFLFlBQVk7Q0FDdEI7O0FBRUQsQUFBQSw2QkFBNkIsQ0FBQztFQUM1QixPQUFPLEVBQUUsWUFBWTtFQUNyQixTQUFTLEVBL0ZzQixLQUF3QztFQWdHdkUsV0FBVyxFQUFFLEtBQXFEO0VBQ2xFLGdCQUFnQixFMUMzRlIsOEJBQW1DO0UwQytGM0MsaUJBQWlCLEVBQUUsU0FBUztFQUM1QixtQkFBbUIsRUFBRSxNQUFNO0VBQzNCLGVBQWUsRUF2R2dCLEtBQXdDLENBQ3ZDLEtBQXlDO0VBdUd6RSxVQUFVLEVBQUUsTUFBTTtFQUNsQixlQUFlLEVBQUUsSUFBSTtFQUNyQixXQUFXLEVBQUUsTUFBTTtDQUNwQjs7QXJDaEdELE1BQU0sTUFBTSxNQUFNLE9BQU8sNkJBQTZCLEVBQUUsQ0FBQyxRQUFRLE1BQU0sTUFBTSwyQkFBMkIsRUFBRSxDQUFDLFFBQVEsTUFBTSxNQUFNLHNCQUFzQixFQUFFLENBQUMsUUFBUSxNQUFNLE1BQU0sY0FBYyxFQUFFLE1BQU0sUUFBUSxNQUFNLE1BQU0sY0FBYyxFQUFFLEtBQUs7RXFDa0YzTyxBQUFBLDZCQUE2QixDQUFDO0lBTTFCLGdCQUFnQixFMUM3RlYsaUNBQW1DO0cwQ3FHNUM7OztBQUVELEFBQUEsMEJBQTBCLENBQUM7RUFDekIsVUFBVSxFQUFFLENBQUM7RUFDYixhQUFhLEVyRHBIWixJQUFJO0VxRHFITCxPQUFPLEVBQUUsQ0FBQztDQUNYOztBQUVELEFBQUEsK0JBQStCLENBQUM7RUFDOUIsT0FBTyxFQUFFLFlBQVk7RUFDckIsWUFBWSxFckQxSFgsSUFBSTtFcUQySEwsYUFBYSxFckQ3SFosR0FBRztDcUQ4SEw7O0FBRUQsQUFBQSxzQkFBc0IsQ0FBQztFN0J0RGpCLGFBQTBCLEV4QmxCeEIsSUFBSTtFcUQwRVYsY0FBYyxFckQvSGIsSUFBSTtFcURtSUwsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN6RGxIaEIsT0FBTztDeURtSGhCOztBL0JtRkssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UrQjFGbEMsQUFBQSxzQkFBc0IsQ0FBQztJN0IvQ2YsYUFBMEIsRXhCeEJ4QixJQUFJO0dxRDhFYjs7O0EvQm1GSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RStCMUZsQyxBQUFBLHNCQUFzQixDQUFDO0lBSW5CLGNBQWMsRXJEbklmLElBQUk7R3FEc0lOOzs7QUFFRCxBQUFBLHlCQUF5QixDQUFDO0VBQ3hCLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsWUFBWSxFcEQ1SEksS0FBaUI7RW9ENkhqQyxXQUFXLEVwRDdISyxLQUFpQjtFb0Q4SGpDLGFBQWEsRUFBRSxJQUFJO0VBQ2YsU0FBUyxFQUFFLElBQUk7Q0FDcEI7O0FBRUQsQUFBQSxzQkFBc0IsQ0FBQztFQUNyQixPQUFPLEVBQUUsWUFBWTtFQUNyQixZQUFZLEVwRHBJSSxJQUFpQjtFb0RxSWpDLGFBQWEsRXBENUlGLElBQUk7RW9ENklmLFdBQVcsRXBEdElLLElBQWlCO0VvRHVJakMsY0FBYyxFQUFFLEdBQUc7RUFFbkIsZ0JBQWdCLEVBQUUsQ0FBQztFQUNmLGlCQUFpQixFQUFFLENBQUM7RUFDaEIsU0FBUyxFQUFFLENBQUM7RUFDcEIsaUJBQWlCLEVBQUUsQ0FBQztFQUNoQixXQUFXLEVBQUUsQ0FBQztDQU9uQjs7QS9CcURLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFK0J2RWxDLEFBQUEsc0JBQXNCLENBQUM7SUFlbkIsdUJBQXVCLEVBQUUsS0FBSztJQUMxQixVQUFVLEVBQUUsS0FBSztHQUV4Qjs7O0EvQnFESyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RStCakRoQyxBQUFBLHNCQUFzQixBQUFBLFlBQVksQ0FBQztJQUNqQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ2YsaUJBQWlCLEVBQUUsQ0FBQztJQUNoQixTQUFTLEVBQUUsQ0FBQztHQUNyQjs7O0FBR0gsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLElBQUk7RUFDaEIsa0JBQWtCLEVwRDFLUCxJQUFJO0VvRDJLUCxVQUFVLEVwRDNLUCxJQUFJO0NvRDRLaEI7O0EvQm9DSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RStCakNoQyxBQUFBLDhCQUE4QixDQUFDO0lBQzdCLG9CQUFvQixFQUFFLENBQUM7SUFDZixZQUFZLEVBQUUsQ0FBQztHQUN4QjtFQUVELEFBQUEsOEJBQThCLENBQUM7SUFDN0Isb0JBQW9CLEVBQUUsQ0FBQztJQUNmLFlBQVksRUFBRSxDQUFDO0dBQ3hCOzs7QUFHSCxBQUFBLHdCQUF3QixDQUFDO0U3QjFIbkIsYUFBMEIsRXhCOUJ4QixJQUFJO0NxRDBKWDs7QS9Cb0JLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFK0J0QmxDLEFBQUEsd0JBQXdCLENBQUM7STdCbkhqQixhQUEwQixFeEJwQ3hCLElBQUk7R3FEeUpiOzs7QUFFRCxBQUFBLHdCQUF3QixBQUFBLFdBQVcsQ0FBQztFQUNsQyxhQUFhLEVBQUUsQ0FBQztDQUNqQjs7QUNyTUQsQUFBQSxhQUFhLENBQUM7RTdCRmQsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQWlDbEMsV0FBVyxFdEJUZSxHQUFHO0VzQmlHekIsU0FBUyxFckJRRSxJQUFJO0VxQkpmLFdBQVcsRUFwRUMsT0FBeUI7RTZCdER2QyxhQUFhLEV0RFBaLElBQUksQ3NETzJCLEtBQUssQzFEZTlCLE9BQU87RTBEZGQsS0FBSyxFMURjRSxPQUFPO0UwRGJkLFVBQVUsRTFEUUgsT0FBTztDMEROZjs7QWhDOE1LLE1BQU0sQ0FBQyxLQUFLO0VnQ3JObEIsQUFBQSxhQUFhLENBQUM7STdCUVosV0FBVyxFdEJJVyxVQUFVO0dtRExqQzs7O0FoQzhNSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWdDck5sQyxBQUFBLGFBQWEsQ0FBQztJN0JxSVIsU0FBUyxFckJBQSxJQUFJO0lxQkliLFdBQVcsRUFoRkQsSUFBeUI7RzZCbER4Qzs7O0FoQzhNSyxNQUFNLENBQUMsS0FBSztFZ0NyTmxCLEFBQUEsYUFBYSxDQUFDO0k3QmdJUixTQUFTLEVyQlNBLElBQUk7SXFCUmIsV0FBVyxFckJTQSxHQUFHO0drRG5JbkI7OztBQUVELEFBQUEsb0NBQW9DLENBQUM7RUFDbkMsT0FBTyxFQUFFLENBQUMsQ3REYlQsSUFBSTtFc0RjTCxZQUFZLEUxREFOLE9BQU87QzBES2Q7O0FBUEQsQUFJRSxvQ0FKa0MsQ0FJbEMsMEJBQTBCLENBQUM7RUFDekIsS0FBSyxFdERqQk4sSUFBSTtDc0RrQko7O0FBR0gsQUFBQSx3QkFBd0IsQ0FBQztFQUV2QixRQUFRLEVBQUUsUUFBUTtFQUNsQixhQUFhLEV0RHpCWixLQUFJO0VzRDBCTCxXQUFXLEV0RDFCVixJQUFJO0VzRDJCTCxhQUFhLEV0RDNCWixJQUFJLENzRDJCcUMsS0FBSyxDMURaekMsT0FBTztDMERhZDs7QUFORCxBdkMxQkEsd0J1QzBCd0IsQXZDMUJ2QixNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUk7Q0FDWjs7QXVDOEJELEFBQUEsdUJBQXVCLENBQUM7RUFDdEIsWUFBWSxFdERoQ1gsR0FBRztDc0RpQ0w7O0FBRUQsQUFBQSw2QkFBNkIsQ0FBQztFQUM1QixZQUFZLEVBQUUsR0FBRztFQUNqQixJQUFJLEVBQUUsWUFBWTtFQUNsQixjQUFjLEVBQUUsTUFBTTtDQUN2Qjs7QUFFRCxBQUFBLDRDQUE0QyxDQUFDO0VBQzNDLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsQ0FBQztFQUNULGNBQWMsRUFBRSxNQUFNO0NBQ3ZCOztBQUVELEFBQUEsMkJBQTJCLENBQUM7RTdCN0M1QixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBaUNsQyxXQUFXLEV0QlRlLEdBQUc7RXNCaUd6QixTQUFTLEVyQnBCRSxJQUFJO0VxQndCZixXQUFXLEVBcEVDLE9BQXlCO0M2Qlp4Qzs7QWhDd0tLLE1BQU0sQ0FBQyxLQUFLO0VnQzFLbEIsQUFBQSwyQkFBMkIsQ0FBQztJN0JuQzFCLFdBQVcsRXRCSVcsVUFBVTtHbURpQ2pDOzs7QWhDd0tLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFZ0MxS2xDLEFBQUEsMkJBQTJCLENBQUM7STdCMEZ0QixTQUFTLEVyQjVCQSxJQUFJO0lxQmdDYixXQUFXLEVBaEZELElBQXlCO0c2Qlp4Qzs7O0FoQ3dLSyxNQUFNLENBQUMsS0FBSztFZ0MxS2xCLEFBQUEsMkJBQTJCLENBQUM7STdCcUZ0QixTQUFTLEVyQm5CQSxJQUFJO0lxQm9CYixXQUFXLEVyQm5CQSxJQUFJO0drRGpFcEI7OztBQUVELEFBQUEsbUJBQW1CLEVsRWhEckIsNEJBQTRCLENrRWdETjtFQUdsQixlQUFlLEVBQUUsSUFBSTtDQXVCdEI7O0FBMUJELEFyQ3BDQSxtQnFDb0NtQixBckNwQ2xCLE1BQU0sRTdCWlQsNEJBQTRCLEE2Qll6QixNQUFNLENBQUM7RUFDTixPQUFPLEVoQnVEUyxHQUFHLENnQnZEUyxLQUFLLENyQk56QixPQUFPO0VxQk9mLGNBQWMsRUFBRSxDQUFDO0VBQ2pCLGdCQUFnQixFckJSUixPQUFPO0NxQlNoQjs7QXFDZ0NELEFBS0UsbUJBTGlCLEFBS2hCLEtBQUssRWxFckRWLDRCQUE0QixBa0VxRHZCLEtBQUssRUFMUixtQkFBbUIsQUFNaEIsUUFBUSxFbEV0RGIsNEJBQTRCLEFrRXNEdkIsUUFBUSxDQUFDO0VBQ1IsS0FBSyxFMURwQ0EsT0FBTztDMERxQ2I7O0FBUkgsQUFVRSxtQkFWaUIsQUFVaEIsTUFBTSxFbEUxRFgsNEJBQTRCLEFrRTBEdkIsTUFBTSxDQUFDO0VBQ04sZUFBZSxFQUFFLFNBQVM7Q0FDM0I7O0FBWkgsQXJDcENBLG1CcUNvQ21CLEFyQ3BDbEIsTUFBTSxFN0JaVCw0QkFBNEIsQTZCWXpCLE1BQU0sQ3FDa0RHO0VBQ04sS0FBSyxFMURqREEsT0FBTztDMERrRGI7O0FBaEJILEFBc0JJLG1CQXRCZSxBQXNCZCxLQUFLLEFBQUEsTUFBTSxFbEV0RWxCLDRCQUE0QixBa0VzRXJCLEtBQUssQUFBQSxNQUFNLENBQUM7RTdCbERqQixLQUFLLEU3Qk5JLE9BQU87QzBEMERYOztBaEM4SUMsTUFBTSxDQUFDLEtBQUs7RWdDdEtsQixBQXNCSSxtQkF0QmUsQUFzQmQsS0FBSyxBQUFBLE1BQU0sRWxFdEVsQiw0QkFBNEIsQWtFc0VyQixLQUFLLEFBQUEsTUFBTSxDQUFDO0k3Qi9DZixLQUFLLEUzQlVpQixPQUFPO0d3RHVDMUI7OztBQUlMLEFBQUEsNkJBQTZCLENBQUM7RTdCN0U5QixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBMkNsQyxXQUFXLEV0QmJZLEdBQUc7RW1Ea0R4QixPQUFPLEVBQUUsWUFBWTtFQUNyQixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxJQUFJO0NBYWxCOztBaENzSEssTUFBTSxDQUFDLEtBQUs7RWdDMUlsQixBQUFBLDZCQUE2QixDQUFDO0k3Qm5FNUIsV0FBVyxFdEJJVyxVQUFVO0dtRG1GakM7OztBQXBCRCxBQVNFLDZCQVQyQixBQVMxQixLQUFLLEVBVFIsNkJBQTZCLEFBVTFCLFFBQVEsQ0FBQztFQUNSLGFBQWEsRUFBRSxJQUFJO0VBQ25CLGFBQWEsRUFBRSxxQkFBcUI7RUFDcEMsZUFBZSxFQUFFLElBQUk7Q0FDdEI7O0FBZEgsQUFnQkUsNkJBaEIyQixBQWdCMUIsTUFBTSxFQWhCVCw2QkFBNkIsQUFpQjFCLE9BQU8sQ0FBQztFQUNQLG1CQUFtQixFQUFFLFlBQVk7Q0FDbEM7O0FBR0gsQUFBQSxpQ0FBaUMsQ0FBQztFQUNoQyxPQUFPLEVBQUUsWUFBWTtFQUNyQixhQUFhLEV0RHZHWixJQUFJO0V5QkVQLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUEyQ2xDLFdBQVcsRXRCYlksR0FBRztFc0IyRnRCLFNBQVMsRXJCcEJFLElBQUk7RXFCd0JmLFdBQVcsRUFwRUMsT0FBeUI7QzZCNEN4Qzs7QWhDZ0hLLE1BQU0sQ0FBQyxLQUFLO0VnQ3BIbEIsQUFBQSxpQ0FBaUMsQ0FBQztJN0J6RmhDLFdBQVcsRXRCSVcsVUFBVTtHbUR5RmpDOzs7QWhDZ0hLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFZ0NwSGxDLEFBQUEsaUNBQWlDLENBQUM7STdCb0M1QixTQUFTLEVyQjVCQSxJQUFJO0lxQmdDYixXQUFXLEVBaEZELElBQXlCO0c2QjRDeEM7OztBaENnSEssTUFBTSxDQUFDLEtBQUs7RWdDcEhsQixBQUFBLGlDQUFpQyxDQUFDO0k3QitCNUIsU0FBUyxFckJuQkEsSUFBSTtJcUJvQmIsV0FBVyxFckJuQkEsSUFBSTtHa0RUcEI7OztBQUVELEFBQUEsbUJBQW1CLENBQUM7RTlCbENkLGFBQTBCLEV4QnRDeEIsSUFBSTtFc0QwRVYsYUFBYSxFdER2R1osSUFBSTtDc0QrR047O0FoQ29HSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWdDOUdsQyxBQUFBLG1CQUFtQixDQUFDO0k5QjNCWixhQUEwQixFeEI1Q3hCLElBQUk7R3NEaUZiOzs7QWhDb0dLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFZ0M5R2xDLEFBQUEsbUJBQW1CLENBQUM7SUFLaEIsS0FBSyxFQUFFLE1BQU07SUFDYixhQUFhLEVBQUUsQ0FBQztJQUNoQixLQUFLLEVBQUUsSUFBSTtJQUNYLGNBQWMsRUFBRSxHQUFHO0dBRXRCOzs7QWhDb0dLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFZ0NsR2xDLEFBQUEsc0JBQXNCLENBQUM7SUFFbkIsS0FBSyxFQUFFLE1BQU07SUFDYixLQUFLLEVBQUUsSUFBSTtHQUVkOzs7QUFFRCxBQUFBLDBCQUEwQixDQUFDO0U3QjVIM0IsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQWlDbEMsV0FBVyxFdEJUZSxHQUFHO0VzQmlHekIsU0FBUyxFckJRRSxJQUFJO0VxQkpmLFdBQVcsRUFwRUMsT0FBeUI7RTZCbUV2QyxPQUFPLEVBQUUsSUFBSTtFQUNiLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRXREaElGLElBQUk7RXNEaUlMLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxDQUFDO0VBQ1QsS0FBSyxFMURqSEUsT0FBTztFMERrSGQsVUFBVSxFQUFFLElBQUk7Q0FpQmpCOztBaENnRUssTUFBTSxDQUFDLEtBQUs7RWdDM0ZsQixBQUFBLDBCQUEwQixDQUFDO0k3QmxIekIsV0FBVyxFdEJJVyxVQUFVO0dtRHlJakM7OztBaENnRUssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VnQzNGbEMsQUFBQSwwQkFBMEIsQ0FBQztJN0JXckIsU0FBUyxFckJBQSxJQUFJO0lxQkliLFdBQVcsRUFoRkQsSUFBeUI7RzZCNEZ4Qzs7O0FoQ2dFSyxNQUFNLENBQUMsS0FBSztFZ0MzRmxCLEFBQUEsMEJBQTBCLENBQUM7STdCTXJCLFNBQVMsRXJCU0EsSUFBSTtJcUJSYixXQUFXLEVyQlNBLEdBQUc7R2tEV25COzs7QUEzQkQsQUFZRSwwQkFad0IsQUFZdkIsTUFBTSxDQUFDO0VBQ04sZUFBZSxFQUFFLFNBQVM7Q0FDM0I7O0FBZEgsQUFnQkUsMEJBaEJ3QixBQWdCdkIsT0FBTyxDQUFDO0UvQnJIWCxPQUFPLEUrQnNIaUUsWUFBWTtFL0JwSHBGLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLENBQUM7RUFFVCxZQUFZLEVBQUUsS0FBSztFQUNuQixZQUFZLEVBQUUsV0FBVztFQXFCdkIsaUJBQWlCLEVBQUUsaUNBQWlDO0VBQzVDLFNBQVMsRUFBRSxpQ0FBaUM7RUFFcEQsWUFBWSxFQXBETixNQUFtQyxDQThCM0IsR0FBUyxDQXNCYyxDQUFDLENBdEJ4QixHQUFTO0VBdUJ2QixnQkFBZ0IsRUFBRSxPQUFPO0UrQndGdkIsT0FBTyxFQUFFLEVBQUU7RUFDWCxXQUFXLEV0RGxKWixHQUFHO0NzRG1KSDs7QUFwQkgsQXJDOUhBLDBCcUM4SDBCLEFyQzlIekIsTUFBTSxDQUFDO0VBQ04sT0FBTyxFaEJzRVMsR0FBRyxDZ0J0RVMsS0FBSyxDckJTekIsT0FBTztFcUJSZixjQUFjLEVBQUUsQ0FBQztDQUNsQjs7QUtzTkssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VnQzNGbEMsQUFBQSwwQkFBMEIsQ0FBQztJQXlCdkIsR0FBRyxFdER0SkosSUFBSTtHc0R3Sk47OztBQUVELEFBQ0UsZ0NBRDhCLEFBQzdCLE9BQU8sQ0FBQztFL0JuSVgsT0FBTyxFK0JvSStELFlBQVk7RS9CbElsRixLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBRVQsWUFBWSxFQUFFLEtBQUs7RUFDbkIsWUFBWSxFQUFFLFdBQVc7RUFTdkIsaUJBQWlCLEVBQUUsbUNBQW1DO0VBQzlDLFNBQVMsRUFBRSxtQ0FBbUM7RUFFdEQsWUFBWSxFQUFFLENBQUMsQ0FWRCxHQUFTLENBOUJqQixNQUFtQyxDQThCM0IsR0FBUztFQVd2QixtQkFBbUIsRUFBRSxPQUFPO0MrQmtIM0I7O0FBR0gsQUFBQSx5QkFBeUIsQ0FBQztFOUJ4RnBCLGFBQTBCLEV4QnRDeEIsSUFBSTtFc0RnSVYsT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLElBQUk7Q0FDakI7O0FoQ2tESyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWdDeERsQyxBQUFBLHlCQUF5QixDQUFDO0k5QmpGbEIsYUFBMEIsRXhCNUN4QixJQUFJO0dzRG1JYjs7O0FBRUQsQUFDRSxXQURTLENBQ1QsMEJBQTBCLENBQUM7RUFDekIsT0FBTyxFQUFFLEtBQUs7Q0FJZjs7QWhDMENHLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFZ0NoRGxDLEFBQ0UsV0FEUyxDQUNULDBCQUEwQixDQUFDO0lBR3ZCLE9BQU8sRUFBRSxJQUFJO0dBRWhCOzs7QUFOSCxBQVFFLFdBUlMsQ0FRVCx5QkFBeUIsQ0FBQztFQUN4QixPQUFPLEVBQUUsSUFBSTtDQUlkOztBaENtQ0csTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VnQ2hEbEMsQUFRRSxXQVJTLENBUVQseUJBQXlCLENBQUM7SUFHdEIsT0FBTyxFQUFFLEtBQUs7R0FFakI7OztBQWJILEFBZUUsV0FmUyxDQWVULCtCQUErQixDQUFDO0VBQzlCLE9BQU8sRUFBRSxLQUFLO0NBQ2Y7O0FoQytCRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWdDM0JsQyxBQUFBLDhCQUE4QixDQUFDO0lBRTNCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFdERsTVIsR0FBRyxDc0RrTXdCLENBQUM7SUFDM0IsVUFBVSxFQUFFLEtBQUs7R0FFcEI7OztBQUVELEFBQUEsMENBQTBDLENBQUM7RUFDekMsV0FBVyxFdERsTVYsSUFBSTtDc0RtTU47O0FBRUQsQUFBQSw4QkFBOEIsQ0FBQztFQUM3QixPQUFPLEV0RDNNTixJQUFJLENzRDJNcUIsQ0FBQztFQUMzQixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0ExTVcsT0FBTztDQXVOM0M7O0FoQ0FLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFZ0NmbEMsQUFBQSw4QkFBOEIsQ0FBQztJQUszQixPQUFPLEVBQUUsWUFBWTtJQUNyQixZQUFZLEV0RC9NYixJQUFJO0lzRGdOSCxPQUFPLEV0RGxOUixHQUFHLENzRGtOd0IsQ0FBQztJQUMzQixNQUFNLEVBQUUsQ0FBQztHQU9aOzs7QUFmRCxBQVdFLDhCQVg0QixDQVc1QixDQUFDLENBQUM7RTdCbk5KLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUEyQ2xDLFdBQVcsRXRCYlksR0FBRztFc0IyRnRCLFNBQVMsRXJCUUUsSUFBSTtFcUJKZixXQUFXLEVBcEVDLE9BQXlCO0U2QjBKckMsV0FBVyxFQUFFLE1BQU07Q0FDcEI7O0FoQ0NHLE1BQU0sQ0FBQyxLQUFLO0VnQ2ZsQixBQVdFLDhCQVg0QixDQVc1QixDQUFDLENBQUM7STdCek1GLFdBQVcsRXRCSVcsVUFBVTtHbUR3TS9COzs7QWhDQ0csTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VnQ2ZsQyxBQVdFLDhCQVg0QixDQVc1QixDQUFDLENBQUM7STdCNUVFLFNBQVMsRXJCQUEsSUFBSTtJcUJJYixXQUFXLEVBaEZELElBQXlCO0c2QjJKdEM7OztBaENDRyxNQUFNLENBQUMsS0FBSztFZ0NmbEIsQUFXRSw4QkFYNEIsQ0FXNUIsQ0FBQyxDQUFDO0k3QmpGRSxTQUFTLEVyQlNBLElBQUk7SXFCUmIsV0FBVyxFckJTQSxHQUFHO0drRDBFakI7OztBQUdILEFBRUksc0NBRmtDLENBQ3BDLENBQUMsQUFDRSxLQUFLLEVBRlYsc0NBQXNDLENBQ3BDLENBQUMsQUFFRSxNQUFNLEVBSFgsc0NBQXNDLENBQ3BDLENBQUMsQUFHRSxRQUFRLENBQUM7RUFDUixLQUFLLEVBL05nQixPQUFPO0NBZ083Qjs7QUFJTCxBQUFBLDhCQUE4QixBQUFBLFdBQVcsQ0FBQztFQUN4QyxZQUFZLEVBQUUsQ0FBQztDQUNoQjs7QWhDZEssTUFBTSxDQUFDLEtBQUs7RWdDck5sQixBQUFBLGFBQWEsQ0FzT0c7SUFDWixtQkFBbUIsRUFBRSxDQUFDO0lBQ3RCLEtBQUssRTFEM05BLE9BQU87STBENE5aLFVBQVUsRUFBRSxXQUFXO0dBQ3hCO0VBdE1ILEFBQUEsNENBQTRDLENBeU1HO0lBQzNDLE9BQU8sRUFBRSxJQUFJO0dBQ2Q7RUFoTUgsQUFLRSxtQkFMaUIsQUFLaEIsS0FBSyxFbEVyRFYsNEJBQTRCLEFrRXFEdkIsS0FBSyxFQUxSLG1CQUFtQixBQU1oQixRQUFRLEVsRXREYiw0QkFBNEIsQWtFc0R2QixRQUFRLENBOExHO0lBQ1IsS0FBSyxFMUR2T0YsT0FBTztHMER3T1g7RUFKSCxBQU9FLG1CQVBpQixBQU9oQixNQUFNLEVsRXpQYiw0QkFBNEIsQWtFeVByQixNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsSUFBSTtHQUNkOzs7QUFNTCxBQUFBLDZCQUE2QjtBQUM3Qiw0Q0FBNEMsQ0FBQztFQUMzQyxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsSUFBSTtDQUNWOztBQXBRRCxBQUFBLGFBQWEsQ0FzUUM7RUFFWixXQUFXLEVBREYsR0FBRztDQUViOztBQ3JSRCxBQUFBLGlCQUFpQixDQUFDO0U5QlVsQixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBaUNsQyxXQUFXLEV0QlRlLEdBQUc7RXNCaUd6QixTQUFTLEVyQk5FLElBQUk7RXFCVWYsV0FBVyxFQXBFQyxJQUF5QjtFQXRDekMsS0FBSyxFN0JOSSxPQUFPO0UyRHRCZCxPQUFPLEV2RE1OLElBQUk7RXdCd0VELFVBQTBCLEV4QnRCeEIsSUFBSTtFd0JzQk4sYUFBMEIsRXhCdEJ4QixJQUFJO0V1RGxEVixLQUFLLEVBQUUsSUFBSTtFQUVYLFdBQVcsRXREaUNXLElBQUksQ3NEakNZLEtBQUssQzNEZ0JuQyxPQUFPO0MyRE5oQjs7QWpDNE1LLE1BQU0sQ0FBQyxLQUFLO0VpQ2pPbEIsQUFBQSxpQkFBaUIsQ0FBQztJOUJvQmhCLFdBQVcsRXRCSVcsVUFBVTtHb0RIakM7OztBakM0TUssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpQ2pPbEMsQUFBQSxpQkFBaUIsQ0FBQztJOUJpSlosU0FBUyxFckJkQSxJQUFJO0lxQmtCYixXQUFXLEVBaEZELE9BQXlCO0c4QmhEeEM7OztBakM0TUssTUFBTSxDQUFDLEtBQUs7RWlDak9sQixBQUFBLGlCQUFpQixDQUFDO0k5QjRJWixTQUFTLEVyQkxBLElBQUk7SXFCTWIsV0FBVyxFckJMQSxJQUFJO0dtRG5IcEI7OztBakM0TUssTUFBTSxDQUFDLEtBQUs7RWlDak9sQixBQUFBLGlCQUFpQixDQUFDO0k5QmtDaEIsS0FBSyxFM0JVaUIsT0FBTztHeUR2QjlCOzs7QWpDNE1LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUNqT2xDLEFBQUEsaUJBQWlCLENBQUM7SS9Cd0ZWLFVBQTBCLEV4QjVCeEIsSUFBSTtHdUR2Q2I7OztBakM0TUssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpQ2pPbEMsQUFBQSxpQkFBaUIsQ0FBQztJL0J3RlYsYUFBMEIsRXhCNUJ4QixJQUFJO0d1RHZDYjs7O0FBckJELEFBYUUsaUJBYmUsQ0FhZixZQUFZLENBQUM7RUFDWCxVQUFVLEVBQUUsQ0FBQztDQUNkOztBQWZILEFBaUJFLGlCQWpCZSxDQWlCZixXQUFXO0FBakJiLGlCQUFpQixDQWtCZixXQUFXLENBQUM7RUFDVixhQUFhLEVBQUUsQ0FBQztDQUNqQjs7QUNuQkgsQUFBQSxZQUFZLENBQUM7RS9CU2IsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQWlDbEMsV0FBVyxFdEJUZSxHQUFHO0VzQmlHekIsU0FBUyxFckJORSxJQUFJO0VxQlVmLFdBQVcsRUFwRUMsSUFBeUI7RStCakV2QyxrQkFBa0IsRUFBRSxVQUFVO0VBRXRCLFVBQVUsRUFBRSxVQUFVO0VBRTlCLGFBQWEsRXhEQ1osSUFBSTtFd0RBTCxPQUFPLEVBQUUsSUFBc0M7RUFFL0MsTUFBTSxFdkQwQlcsR0FBRyxDdUQxQlEsS0FBSyxDQUFDLFdBQVc7RUFFN0MsVUFBVSxFQUFFLE1BQU07Q0FLbkI7O0FsQytNSyxNQUFNLENBQUMsS0FBSztFa0NoT2xCLEFBQUEsWUFBWSxDQUFDO0kvQm1CWCxXQUFXLEV0QklXLFVBQVU7R3FETmpDOzs7QWxDK01LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFa0NoT2xDLEFBQUEsWUFBWSxDQUFDO0kvQmdKUCxTQUFTLEVyQmRBLElBQUk7SXFCa0JiLFdBQVcsRUFoRkQsT0FBeUI7RytCbkR4Qzs7O0FsQytNSyxNQUFNLENBQUMsS0FBSztFa0NoT2xCLEFBQUEsWUFBWSxDQUFDO0kvQjJJUCxTQUFTLEVyQkxBLElBQUk7SXFCTWIsV0FBVyxFckJMQSxJQUFJO0dvRHRIcEI7OztBbEMrTUssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VrQ2hPbEMsQUFBQSxZQUFZLENBQUM7SUFlVCxPQUFPLEVBQUUsSUFBc0M7R0FFbEQ7OztBQUVELEFBQUEsMEJBQTBCLENBQUM7RUFDekIsS0FBSyxFNURTRSxPQUFPO0U0RFJkLFVBQVUsRTVEREMsT0FBTztDNERFbkI7O0FBRUQsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixVQUFVLEVBQUUsQ0FBQztFQUNiLGFBQWEsRXhEZlosSUFBSTtFeUJGUCxXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBMkNsQyxXQUFXLEV0QmJZLEdBQUc7RXNCMkZ0QixTQUFTLEVyQjlERSxJQUFJO0VxQmtFZixXQUFXLEVBcEVDLE9BQXlCO0MrQnZDeEM7O0FsQ21NSyxNQUFNLENBQUMsS0FBSztFa0N4TWxCLEFBQUEsbUJBQW1CLENBQUM7SS9CTGxCLFdBQVcsRXRCSVcsVUFBVTtHcURNakM7OztBbENtTUssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VrQ3hNbEMsQUFBQSxtQkFBbUIsQ0FBQztJL0J3SGQsU0FBUyxFckJ0RUEsSUFBSTtJcUIwRWIsV0FBVyxFQWhGRCxPQUF5QjtHK0J2Q3hDOzs7QWxDbU1LLE1BQU0sQ0FBQyxLQUFLO0VrQ3hNbEIsQUFBQSxtQkFBbUIsQ0FBQztJL0JtSGQsU0FBUyxFckI3REEsSUFBSTtJcUI4RGIsV0FBVyxFckI3REEsSUFBSTtHb0RsRHBCOzs7QUFFRCxBQUFBLGtCQUFrQixDQUFDO0UvQnRCbkIsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQWlDbEMsV0FBVyxFdEJUZSxHQUFHO0VzQmlHekIsU0FBUyxFckJoREUsSUFBSTtFcUJvRGYsV0FBVyxFQXBFQyxPQUF5QjtDK0JuQ3hDOztBbEMrTEssTUFBTSxDQUFDLEtBQUs7RWtDak1sQixBQUFBLGtCQUFrQixDQUFDO0kvQlpqQixXQUFXLEV0QklXLFVBQVU7R3FEVWpDOzs7QWxDK0xLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFa0NqTWxDLEFBQUEsa0JBQWtCLENBQUM7SS9CaUhiLFNBQVMsRXJCeERBLElBQUk7SXFCNERiLFdBQVcsRUFoRkQsT0FBeUI7RytCbkN4Qzs7O0FsQytMSyxNQUFNLENBQUMsS0FBSztFa0NqTWxCLEFBQUEsa0JBQWtCLENBQUM7SS9CNEdiLFNBQVMsRXJCL0NBLElBQUk7SXFCZ0RiLFdBQVcsRXJCL0NBLElBQUk7R29ENURwQjs7O0FFbENELEFBQUEsVUFBVSxDQUFDO0VqQ1VYLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUEyQ2xDLFdBQVcsRXRCYlksR0FBRztFc0IyRnRCLFNBQVMsRXJCUUUsSUFBSTtFcUJKZixXQUFXLEVpQ3hJK0MsSUFBSTtFQUVoRSxPQUFPLEVBQUUsWUFBWTtFQUNyQixPQUFPLEUxREdOLEdBQUcsQzBESHNCLEdBQUcsQ0FBQyxDQUFDO0VBSy9CLE9BQU8sRUFBRSxxQkFBcUI7RUFDOUIsY0FBYyxFQUFFLElBQUk7RUFFcEIsS0FBSyxFOURrQkUsT0FBTztFOERqQmQsZ0JBQWdCLEU5RFVWLE9BQU87RThEVGIsY0FBYyxFQUFFLEdBQUc7RUFFbkIsZUFBZSxFQUFFLElBQUk7RUFDckIsY0FBYyxFQUFFLFNBQVM7Q0FDMUI7O0FwQytNSyxNQUFNLENBQUMsS0FBSztFb0NqT2xCLEFBQUEsVUFBVSxDQUFDO0lqQ29CVCxXQUFXLEV0QklXLFVBQVU7R3VETmpDOzs7QXBDK01LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFb0NqT2xDLEFBQUEsVUFBVSxDQUFDO0lqQ2lKTCxTQUFTLEVyQkFBLElBQUk7SXFCSWIsV0FBVyxFaUNwSjZDLElBQUk7R0FpQmpFOzs7QXBDK01LLE1BQU0sQ0FBQyxLQUFLO0VvQ2pPbEIsQUFBQSxVQUFVLENBQUM7SWpDNElMLFNBQVMsRXJCU0EsSUFBSTtJcUJSYixXQUFXLEVpQzVJNkMsSUFBSTtHQWlCakU7OztBQUVELEFBQUEsb0JBQW9CLENBQUM7RUFDbkIsZ0JBQWdCLEU5REtSLE9BQU87QzhESmhCOztBRHBCRCxBQUFBLG1CQUFtQixDQUFDO0VBQ2xCLFdBQVcsRXpES1YsSUFBSTtFeURKTCxjQUFjLEV6REliLElBQUk7RXlERkwsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM3RHFCaEIsT0FBTztDNkRwQmhCOztBQUVELEFBQUEsNEJBQTRCLENBQUM7RWhDQzdCLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUFpQ2xDLFdBQVcsRXRCVGUsR0FBRztFc0JpR3pCLFNBQVMsRXJCUUUsSUFBSTtFcUJKZixXQUFXLEVBcEVDLE9BQXlCO0VBdEN6QyxLQUFLLEU3Qk5JLE9BQU87RTZEWmQsT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsQ0FBQztDQUNWOztBbkNrTkssTUFBTSxDQUFDLEtBQUs7RW1DeE5sQixBQUFBLDRCQUE0QixDQUFDO0loQ1czQixXQUFXLEV0QklXLFVBQVU7R3NEVGpDOzs7QW5Da05LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFbUN4TmxDLEFBQUEsNEJBQTRCLENBQUM7SWhDd0l2QixTQUFTLEVyQkFBLElBQUk7SXFCSWIsV0FBVyxFQWhGRCxJQUF5QjtHZ0N0RHhDOzs7QW5Da05LLE1BQU0sQ0FBQyxLQUFLO0VtQ3hObEIsQUFBQSw0QkFBNEIsQ0FBQztJaENtSXZCLFNBQVMsRXJCU0EsSUFBSTtJcUJSYixXQUFXLEVyQlNBLEdBQUc7R3FEdkluQjs7O0FuQ2tOSyxNQUFNLENBQUMsS0FBSztFbUN4TmxCLEFBQUEsNEJBQTRCLENBQUM7SWhDeUIzQixLQUFLLEUzQlVpQixPQUFPO0cyRDdCOUI7OztBQUVELEFBQUEsaUNBQWlDLENBQUM7RUFDaEMsWUFBWSxFekRWWCxJQUFJO0N5RFdOOztBQUVELEFBQUEseUJBQXlCLENBQUM7RUFDeEIsT0FBTyxFQUFFLFVBQVU7RUFDbkIsY0FBYyxFQUFFLFFBQVE7Q0FDekI7O0FFdkJELEFBQUEsV0FBVyxDQUFDO0VsQ1NaLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUFpQ2xDLFdBQVcsRXRCVGUsR0FBRztFc0JpR3pCLFNBQVMsRXJCTkUsSUFBSTtFcUJVZixXQUFXLEVBcEVDLElBQXlCO0VBdEN6QyxLQUFLLEU3Qk5JLE9BQU87RTRCd0RWLFVBQTBCLEV4QjFDeEIsR0FBRztFd0IwQ0wsYUFBMEIsRXhCdEJ4QixJQUFJO0MyRHJEWDs7QXJDMk5LLE1BQU0sQ0FBQyxLQUFLO0VxQ2hPbEIsQUFBQSxXQUFXLENBQUM7SWxDbUJWLFdBQVcsRXRCSVcsVUFBVTtHd0RsQmpDOzs7QXJDMk5LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFcUNoT2xDLEFBQUEsV0FBVyxDQUFDO0lsQ2dKTixTQUFTLEVyQmRBLElBQUk7SXFCa0JiLFdBQVcsRUFoRkQsT0FBeUI7R2tDL0R4Qzs7O0FyQzJOSyxNQUFNLENBQUMsS0FBSztFcUNoT2xCLEFBQUEsV0FBVyxDQUFDO0lsQzJJTixTQUFTLEVyQkxBLElBQUk7SXFCTWIsV0FBVyxFckJMQSxJQUFJO0d1RGxJcEI7OztBckMyTkssTUFBTSxDQUFDLEtBQUs7RXFDaE9sQixBQUFBLFdBQVcsQ0FBQztJbENpQ1YsS0FBSyxFM0JVaUIsT0FBTztHNkR0QzlCOzs7QXJDMk5LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFcUNoT2xDLEFBQUEsV0FBVyxDQUFDO0luQ3VGSixVQUEwQixFeEJoRHhCLEdBQUc7RzJEbENaOzs7QXJDMk5LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFcUNoT2xDLEFBQUEsV0FBVyxDQUFDO0luQ3VGSixhQUEwQixFeEI1QnhCLElBQUk7RzJEdERiOzs7QUFFRCxBQUFBLGtCQUFrQixDQUFDO0VsQ0VuQixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBaUNsQyxXQUFXLEV0QlRlLEdBQUc7RXNCaUd6QixTQUFTLEVyQk5FLElBQUk7RXFCVWYsV0FBVyxFQXBFQyxJQUF5QjtFa0MzRHZDLGFBQWEsRTNESFosR0FBRztDMkRJTDs7QXJDc05LLE1BQU0sQ0FBQyxLQUFLO0VxQ3pObEIsQUFBQSxrQkFBa0IsQ0FBQztJbENZakIsV0FBVyxFdEJJVyxVQUFVO0d3RGJqQzs7O0FyQ3NOSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFDek5sQyxBQUFBLGtCQUFrQixDQUFDO0lsQ3lJYixTQUFTLEVyQmRBLElBQUk7SXFCa0JiLFdBQVcsRUFoRkQsT0FBeUI7R2tDMUR4Qzs7O0FyQ3NOSyxNQUFNLENBQUMsS0FBSztFcUN6TmxCLEFBQUEsa0JBQWtCLENBQUM7SWxDb0liLFNBQVMsRXJCTEEsSUFBSTtJcUJNYixXQUFXLEVyQkxBLElBQUk7R3VEN0hwQjs7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLElBQUk7Q0FJakI7O0FyQzZNSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFDcE5sQyxBQUFBLGlCQUFpQixDQUFDO0luQ29FWixhQUEwQixFeEJ0QnhCLElBQUk7RzJEdkNYOzs7QXJDNk1LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxPQUFwQixTQUFTLEVBQUUsU0FBUztFcUNwTmxDLEFBQUEsaUJBQWlCLENBQUM7SW5DMkVWLGFBQTBCLEV4QjVCeEIsSUFBSTtHMkR4Q2I7OztBQUVELEFBQUEsc0JBQXNCLENBQUM7RUFDckIsV0FBVyxFM0RaVixJQUFJO0MyRG1CTjs7QUFSRCxBQUdFLHNCQUhvQixBQUduQixRQUFRLENBQUM7RUFDUixPQUFPLEVBQUUsS0FBSztFQUNkLFdBQVcsRTNEaEJaLEtBQUk7RTJEaUJILGFBQWEsRTNEckJkLEdBQUc7QzJEc0JIOztBQUdILEFBQUEsZ0JBQWdCLENBQUM7RWxDdEJqQixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBRmxDLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUFpQ2xDLFdBQVcsRXRCVGUsR0FBRztFc0JpR3pCLFNBQVMsRXJCTkUsSUFBSTtFcUJVZixXQUFXLEVBcEVDLElBQXlCO0VrQ2hDdkMsT0FBTyxFQUFFLFlBQVk7RUFDckIsV0FBVyxFM0Q5QlYsSUFBSTtFMkQrQkwsY0FBYyxFM0QvQmIsSUFBSTtDMkRxQ047O0FyQ29MSyxNQUFNLENBQUMsS0FBSztFcUNqTWxCLEFBQUEsZ0JBQWdCLENBQUM7SWxDWmYsV0FBVyxFdEJJVyxVQUFVO0d3RHFCakM7OztBQWJELEExQ1RBLGdCMENTZ0IsQTFDVGYsTUFBTSxDQUFDO0VBQ04sT0FBTyxFaEJ1RFMsR0FBRyxDZ0J2RFMsS0FBSyxDckJOekIsT0FBTztFcUJPZixjQUFjLEVBQUUsQ0FBQztFQUNqQixnQkFBZ0IsRXJCUlIsT0FBTztDcUJTaEI7O0EwQ0tELEF2Q05BLGdCdUNNZ0IsQXZDTmYsS0FBSyxDQUFDO0VBQ0wsS0FBSyxFeEJKQyxPQUFPO0N3QktkOztBdUNJRCxBdkNGQSxnQnVDRWdCLEF2Q0ZmLFFBQVEsQ0FBQztFQUNSLEtBQUssRXRCK0VtQixPQUFPO0NzQjlFaEM7O0F1Q0FELEF2Q0VBLGdCdUNGZ0IsQXZDRWYsTUFBTSxDQUFDO0VBQ04sS0FBSyxFeEJiTyxPQUFPO0N3QmNwQjs7QXVDSkQsQXZDTUEsZ0J1Q05nQixBdkNNZixPQUFPLENBQUM7RUFDUCxLQUFLLEV4QmpCTyxPQUFPO0N3QmtCcEI7O0FFeUxLLE1BQU0sQ0FBQyxLQUFLO0VxQ2pNbEIsQUFBQSxnQkFBZ0IsQ0FBQztJbENaZixXQUFXLEV0QklXLFVBQVU7R3dEcUJqQzs7O0FyQ29MSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFDak1sQyxBQUFBLGdCQUFnQixDQUFDO0lsQ2lIWCxTQUFTLEVyQmRBLElBQUk7SXFCa0JiLFdBQVcsRUFoRkQsT0FBeUI7R2tDeEJ4Qzs7O0FyQ29MSyxNQUFNLENBQUMsS0FBSztFcUNqTWxCLEFBQUEsZ0JBQWdCLENBQUM7SWxDNEdYLFNBQVMsRXJCTEEsSUFBSTtJcUJNYixXQUFXLEVyQkxBLElBQUk7R3VEM0ZwQjs7O0FBYkQsQUFTRSxnQkFUYyxDQVNiLEFBQUEsWUFBQyxDQUFlLE1BQU0sQUFBckIsRUFBdUI7RUFDdkIsS0FBSyxFL0RqQkEsT0FBTztFK0RrQlosZUFBZSxFQUFFLElBQUk7Q0FDdEI7O0FBR0gsQUFBQSxrQkFBa0IsQ0FBQztFbkNrQ2IsYUFBMEIsRXhCZHhCLElBQUk7QzJEbEJYOztBckNnTEssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VxQ2xMbEMsQUFBQSxrQkFBa0IsQ0FBQztJbkN5Q1gsYUFBMEIsRXhCcEJ4QixJQUFJO0cyRG5CYjs7O0FyQ2dMSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFDN0tsQyxBQUlJLFdBSk8sQ0FJUCxpQkFBaUIsQ0FBQztJQUVoQixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQy9EL0JwQixPQUFPO0crRGdDWjtFQVBMLEE1Q2hEQSxXNENnRFcsQ0FJUCxpQkFBaUIsQTVDcERwQixNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLElBQUk7R0FDWjtFNEM0Q0QsQUFTSSxXQVRPLENBU1Asc0JBQXNCLENBQUM7SUFDckIsV0FBVyxFQUFFLENBQUM7R0FLZjtFQWZMLEFBWU0sV0FaSyxDQVNQLHNCQUFzQixBQUduQixRQUFRLENBQUM7SUFDUixPQUFPLEVBQUUsSUFBSTtHQUNkO0VBZFAsQUFpQkksV0FqQk8sQ0FpQlAsa0JBQWtCLENBQUM7SUFDakIsT0FBTyxFQUFFLElBQUk7R0FDZDtFQW5CTCxBQXFCSSxXQXJCTyxDQXFCUCxnQkFBZ0IsQ0FBQztJQUNmLFlBQVksRTNEbkVmLEdBQUc7STJEb0VBLGFBQWEsRTNEakVoQixJQUFJO0kyRGtFRCxZQUFZLEUzRGxFZixJQUFJO0kyRG1FRCxLQUFLLEVBQUUsSUFBSTtJQUNYLEtBQUssRS9EckRGLE9BQU87SStEc0RWLGdCQUFnQixFL0RsRFosT0FBTztJK0RtRFgsVUFBVSxFQUFFLE1BQU07SUFDbEIsZUFBZSxFQUFFLElBQUk7R0FxQnRCO0VBbERMLEFBK0JNLFdBL0JLLENBcUJQLGdCQUFnQixDQVViLEFBQUEsYUFBQyxDQUFlLE1BQU0sQUFBckIsRUFBdUI7SUFDdkIsVUFBVSxFM0Q3RWYsSUFBRztJMkQ4RUUsYUFBYSxFQUFFLElBQUk7SUFHbkIsV0FBVyxFQUFFLElBQXNCO0lBQ25DLGFBQWEsRUFBRSxJQUFzQjtJQUNyQyxjQUFjLEVBQUUsSUFBc0I7SUFDdEMsWUFBWSxFQUFFLElBQXNCO0lBRXBDLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDL0RsRWYsT0FBTztJK0RtRVQsYUFBYSxFQUFFLENBQUM7SUFDaEIsS0FBSyxFL0R0RUosT0FBTztJK0R1RVIsZ0JBQWdCLEUvRGxFZixPQUFPO0crRHVFVDtFQWpEUCxBQThDUSxXQTlDRyxDQXFCUCxnQkFBZ0IsQ0FVYixBQUFBLGFBQUMsQ0FBZSxNQUFNLEFBQXJCLENBZUMsTUFBTSxDQUFDO0lBQ04sZ0JBQWdCLEVBQUUsV0FBVztHQUM5QjtFQWhEVCxBQW9ESSxXQXBETyxDQW9EUCxrQkFBa0IsQ0FBQztJbkN2QmpCLGFBQTBCLEV4QjlDeEIsQ0FBQztJMkR1RUgsV0FBVyxFM0Q5RmQsSUFBSTtJMkQrRkQsYUFBYSxFM0RqR2hCLElBQUk7STJEa0dELGNBQWMsRTNEaEdqQixJQUFJO0kyRGlHRCxZQUFZLEUzRG5HZixJQUFJO0kyRG9HRCxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQy9EbkZiLE9BQU87SStEb0ZYLFVBQVUsRUFBRSxDQUFDO0dBS2Q7OztBckM2R0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLE9BQXBCLFNBQVMsRUFBRSxTQUFTO0VxQzdLbEMsQUFvREksV0FwRE8sQ0FvRFAsa0JBQWtCLENBQUM7SW5DaEJmLGFBQTBCLEV4QnBEeEIsQ0FBQztHMkRnRk47OztBckM2R0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VxQzdLbEMsQUE2RE0sV0E3REssQ0FvRFAsa0JBQWtCLEdBU1osV0FBVyxDQUFDO0lBQ2QsYUFBYSxFQUFFLENBQUM7R0FDakI7OztBQU1QLEFBQUEsVUFBVSxDQUFDO0VBQ1QsT0FBTyxFQUFFLElBQUk7Q0FDZDs7QUNoSEQsQUFBQSxtQkFBbUIsQ0FBQztFbkNEcEIsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQWlDbEMsV0FBVyxFdEJUZSxHQUFHO0VzQmlHekIsU0FBUyxFckJORSxJQUFJO0VxQlVmLFdBQVcsRUFwRUMsSUFBeUI7RW1DdkR2QyxPQUFPLEVBQUUsS0FBSztFQUVkLFFBQVEsRUFBRSxRQUFRO0VBRWxCLFVBQVUsRTVETFQsSUFBSTtFNERPTCxhQUFhLEU1RFpaLElBQUk7RTREYUwsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDNURSYixJQUFJO0U0RFVMLEtBQUssRUFBRSxJQUFJO0NBQ1o7O0F0Q3lNSyxNQUFNLENBQUMsS0FBSztFc0N0TmxCLEFBQUEsbUJBQW1CLENBQUM7SW5DU2xCLFdBQVcsRXRCSVcsVUFBVTtHeURBakM7OztBdEN5TUssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VzQ3RObEMsQUFBQSxtQkFBbUIsQ0FBQztJbkNzSWQsU0FBUyxFckJkQSxJQUFJO0lxQmtCYixXQUFXLEVBaEZELE9BQXlCO0dtQzdDeEM7OztBdEN5TUssTUFBTSxDQUFDLEtBQUs7RXNDdE5sQixBQUFBLG1CQUFtQixDQUFDO0luQ2lJZCxTQUFTLEVyQkxBLElBQUk7SXFCTWIsV0FBVyxFckJMQSxJQUFJO0d3RGhIcEI7OztBQUVELEFBQUEsbUJBQW1CLEFBQUEsV0FBVztBQUM5QixtQkFBbUIsQUFBQSxhQUFhLENBQUM7RUFDL0IsYUFBYSxFQUFFLENBQUM7Q0FDakI7O0FBRUQsQUFBQSxvQkFBb0IsQ0FBQztFQUNuQixRQUFRLEVBQUUsUUFBUTtFQUVsQixPQUFPLEVBQUUsQ0FBQztFQUNWLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFFUCxLQUFLLEU1RHpCSixJQUFJO0U0RDBCTCxNQUFNLEU1RDFCTCxJQUFJO0U0RDRCTCxNQUFNLEVBQUUsT0FBTztFQUliLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7Q0FTYjs7QUFFRCxBQUFBLG9CQUFvQixDQUFDO0VBQ25CLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGFBQWEsRUFBRSxDQUFDO0VBQ2hCLE9BQU8sRUFBRSxHQUFHLEM1RG5EWCxJQUFJLENBRkosR0FBRztFNERzREosTUFBTSxFQUFFLE9BQU87RUFFZixnQkFBZ0IsRUFBRSxZQUFZO0VBQzlCLFlBQVksRUFBRSxZQUFZO0NBQzNCOztBQUVELEFBQUEsb0JBQW9CLEdBQUcsb0JBQW9CLEFBQUEsUUFBUSxDQUFDO0VBQ2xELE9BQU8sRUFBRSxFQUFFO0VBQ1gsa0JBQWtCLEVBQUUsVUFBVTtFQUN0QixVQUFVLEVBQUUsVUFBVTtFQUM5QixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBRVAsS0FBSyxFNUQ5REosSUFBSTtFNEQrREwsTUFBTSxFNUQvREwsSUFBSTtFNERpRUwsTUFBTSxFM0RwQndCLEdBQUcsQzJEb0JRLEtBQUssQ0FBQyxZQUFZO0VBQzNELGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRUFBRSxXQUFXO0NBQ3hCOztBQUVELEFBQUEsb0JBQW9CLEdBQUcsb0JBQW9CLEFBQUEsT0FBTyxDQUFDO0VBQ2pELE9BQU8sRUFBRSxFQUFFO0VBRVgsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFNUQvRUYsSUFBSTtFNERnRkwsSUFBSSxFNURoRkgsSUFBSTtFNERrRkwsS0FBSyxFQUFFLENBQUM7RUFDUixNQUFNLEVBQUUsQ0FBQztFQUVULE1BQU0sRTVEckZMLElBQUksQzREcUZvQixLQUFLLENBQUMsWUFBWTtFQUMzQyxhQUFhLEVBQUUsR0FBRztFQUNsQixPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxZQUFZO0NBQ3pCOztBQUdELEFBQUEsb0JBQW9CLEFBQUEsTUFBTSxHQUFHLG9CQUFvQixBQUFBLFFBQVEsQ0FBQztFQUl4RCxPQUFPLEUzRHpCUyxHQUFHLEMyRHlCUyxLQUFLLENBQUMsV0FBVztFQUM3QyxjQUFjLEUzRDFCRSxHQUFHO0UyRDJCbkIsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBakdBLEdBQXdCLENoRVN6QyxPQUFPO0VnRXlGUCxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBbEdBLEdBQXdCLENoRVN6QyxPQUFPO0NnRTBGaEI7O0FBR0QsQUFBQSxvQkFBb0IsQUFBQSxRQUFRLEdBQUcsb0JBQW9CLEFBQUEsT0FBTyxDQUFDO0VBQ3pELE9BQU8sRUFBRSxDQUFDO0NBQ1g7O0FBR0QsQUFBQSxvQkFBb0IsQUFBQSxTQUFTO0FBQzdCLG9CQUFvQixBQUFBLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQztFQUNuRCxNQUFNLEVBQUUsT0FBTztDQUNoQjs7QUFFRCxBQUFBLG9CQUFvQixBQUFBLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQztFQUNuRCxPQUFPLEVBQUUsRUFBRTtDQUNaOztBdENzR0ssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VzQ25HbEMsQTdDMUhBLHFCNkMwSHFCLEE3QzFIcEIsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLEVBQUU7SUFDWCxPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxJQUFJO0dBQ1o7RTZDc0hELEFBSUkscUJBSmlCLENBSWpCLG1CQUFtQixDQUFDO0lBQ2xCLFlBQVksRTVEekhmLElBQUk7STREMEhELEtBQUssRUFBRSxJQUFJO0lBQ1gsS0FBSyxFQUFFLElBQUk7R0FDWjs7O0FBWUwsQUFBQSwwQkFBMEIsQ0FBQztFcENqRXJCLGFBQTBCLEV4QjlCeEIsSUFBSTtFNERpR1YsV0FBVyxFQVJnQixJQUEwRDtFQVNyRixZQUFZLEVBTGEsSUFBb0U7RUFNN0YsV0FBVyxFM0RuR2EsR0FBRyxDMkRtR1ksS0FBSyxDaEUzSHBDLE9BQU87Q2dFb0loQjs7QXRDa0VLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFc0MvRWxDLEFBQUEsMEJBQTBCLENBQUM7SXBDMURuQixhQUEwQixFeEJwQ3hCLElBQUk7RzREMkdiOzs7QUFiRCxBQU1FLDBCQU53QixDQU12QixBQUFBLFdBQUMsQ0FBWSxNQUFNLEFBQWxCLEVBQW9CO0VBQ3BCLE9BQU8sRUFBRSxJQUFJO0NBQ2Q7O0FBUkgsQUFVRSwwQkFWd0IsR0FVcEIsV0FBVyxDQUFDO0VBQ2QsYUFBYSxFQUFFLENBQUM7Q0FDakI7O0FDMUpILEFBQUEsYUFBYSxDQUFDO0VwQ01kLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUFpQ2xDLFdBQVcsRXRCVGUsR0FBRztFc0JpR3pCLFNBQVMsRXJCTkUsSUFBSTtFcUJVZixXQUFXLEVvQ3BJZ0MsSUFBSTtFQUdqRCxrQkFBa0IsRUFBRSxVQUFVO0VBRXRCLFVBQVUsRUFBRSxVQUFVO0VBQzlCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFFWixPQUFPLEU3RFBOLEdBQUc7RTZEUUosTUFBTSxFNUQyQ3dCLEdBQUcsQzREM0NRLEtBQUssQ2pFVXZDLE9BQU87Q2lFVGY7O0F2Q2lOSyxNQUFNLENBQUMsS0FBSztFdUM3TmxCLEFBQUEsYUFBYSxDQUFDO0lwQ2dCWixXQUFXLEV0QklXLFVBQVU7RzBEUmpDOzs7QXZDaU5LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFdUM3TmxDLEFBQUEsYUFBYSxDQUFDO0lwQzZJUixTQUFTLEVyQmRBLElBQUk7SXFCa0JiLFdBQVcsRW9DaEo4QixJQUFJO0dBV2xEOzs7QXZDaU5LLE1BQU0sQ0FBQyxLQUFLO0V1QzdObEIsQUFBQSxhQUFhLENBQUM7SXBDd0lSLFNBQVMsRXJCTEEsSUFBSTtJcUJNYixXQUFXLEVvQ3hJOEIsSUFBSTtHQVdsRDs7O0FBWkQsQTVDSUEsYTRDSmEsQTVDSVosTUFBTSxDQUFDO0VBQ04sT0FBTyxFaEJzRVMsR0FBRyxDZ0J0RVMsS0FBSyxDckJTekIsT0FBTztFcUJSZixjQUFjLEVBQUUsQ0FBQztDQUNsQjs7QTRDT0QsQUFBQSxhQUFhLENBQUMsTUFBTSxBQUFBLE9BQU87QUFDM0IsYUFBYSxDQUFDLE1BQU0sQUFBQSxRQUFRO0FBQzVCLGFBQWEsQUFBQSxNQUFNLEFBQUEsV0FBVyxDQUFDO0VBQzdCLEtBQUssRWpFU0UsT0FBTztFaUVSZCxnQkFBZ0IsRWpFQ1YsT0FBTztDaUVBZDs7QUFFRCxBQUFBLG9CQUFvQixDQUFDO0VBQ25CLE1BQU0sRTVEdUM4QixHQUFHLEM0RHZDUSxLQUFLLENqRVovQyxPQUFPO0NpRWFiOztBQzNCRCxBQUFBLGdCQUFnQixDQUFDO0VwQ3VDakIsUUFBUSxFQUFFLFFBQVE7RUFFbEIsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsR0FBRztFQUNYLE1BQU0sRUFBRSxJQUFJO0VBRVosUUFBUSxFQUFFLE1BQU07RUFDaEIsSUFBSSxFQUFFLGFBQWE7RUFDbkIsaUJBQWlCLEVBQUUsVUFBVTtFQUNyQixTQUFTLEVBQUUsVUFBVTtFQUs3QixXQUFXLEVBQUUsTUFBTTtFRDNDbkIsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQXlIOUIsU0FBUyxFckJRRSxJQUFJO0VxQkpmLFdBQVcsRUFwRUMsT0FBeUI7RXFDL0R2QyxPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU8sRTlEQ04sSUFBSSxDQUNKLElBQUk7QzhERE47O0FBUkQsQXBDdURBLGdCb0N2RGdCLEFwQ3VEZixPQUFPLEVvQ3ZEUixnQkFBZ0IsQXBDd0RmLE1BQU0sQ0FBQztFQUNOLFFBQVEsRUFBRSxNQUFNO0VBRWhCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsT0FBTztFQUVmLFFBQVEsRUFBRSxPQUFPO0VBQ2pCLElBQUksRUFBRSxJQUFJO0VBQ1YsaUJBQWlCLEVBQUUsSUFBSTtFQUNmLFNBQVMsRUFBRSxJQUFJO0VBRXZCLFdBQVcsRUFBRSxPQUFPO0NBQ3JCOztBSjRKSyxNQUFNLENBQUMsS0FBSztFd0NqT2xCLEFBQUEsZ0JBQWdCLENBQUM7SXJDb0JmLFdBQVcsRXRCSVcsVUFBVTtHMkRoQmpDOzs7QUFSRCxBN0N1QkEsZ0I2Q3ZCZ0IsQTdDdUJmLE1BQU0sQ0FBQztFQUNOLE9BQU8sRWhCdURTLEdBQUcsQ2dCdkRTLEtBQUssQ3JCTnpCLE9BQU87RXFCT2YsY0FBYyxFQUFFLENBQUM7RUFDakIsZ0JBQWdCLEVyQlJSLE9BQU87Q3FCU2hCOztBNkMzQkQsQTFDcUdBLGdCMENyR2dCLEExQ3FHZixLQUFLLEUwQ3JHTixnQkFBZ0IsQTFDc0dmLFFBQVEsRTBDdEdULGdCQUFnQixBMUN1R2YsTUFBTSxFMEN2R1AsZ0JBQWdCLEExQ3dHZixPQUFPLEUwQ3hHUixnQkFBZ0IsQTFDeUdmLE1BQU0sQ0FBQztFSzFFUixLQUFLLEU3Qk5JLE9BQU87Q3dCa0ZmOztBRXNISyxNQUFNLENBQUMsS0FBSztFd0NqT2xCLEExQ3FHQSxnQjBDckdnQixBMUNxR2YsS0FBSyxFMENyR04sZ0JBQWdCLEExQ3NHZixRQUFRLEUwQ3RHVCxnQkFBZ0IsQTFDdUdmLE1BQU0sRTBDdkdQLGdCQUFnQixBMUN3R2YsT0FBTyxFMEN4R1IsZ0JBQWdCLEExQ3lHZixNQUFNLENBQUM7SUt2RU4sS0FBSyxFM0JVaUIsT0FBTztHc0IrRDlCOzs7QTBDM0dELEExQ2lIRSxnQjBDakhjLEExQ2lIYixLQUFLLEFBQUEsTUFBTSxDQUFDO0VLbEZmLEtBQUssRTdCTkksT0FBTztDd0IwRmI7O0FFOEdHLE1BQU0sQ0FBQyxLQUFLO0V3Q2pPbEIsQTFDaUhFLGdCMENqSGMsQTFDaUhiLEtBQUssQUFBQSxNQUFNLENBQUM7SUsvRWIsS0FBSyxFM0JVaUIsT0FBTztHc0J1RTVCOzs7QUU4R0csTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0V3Q2pPbEMsQUFBQSxnQkFBZ0IsQ0FBQztJckNpSlgsU0FBUyxFckJBQSxJQUFJO0lxQkliLFdBQVcsRUFoRkQsSUFBeUI7R3FDN0R4Qzs7O0F4Q3lOSyxNQUFNLENBQUMsS0FBSztFd0NqT2xCLEFBQUEsZ0JBQWdCLENBQUM7SXJDNElYLFNBQVMsRXJCU0EsSUFBSTtJcUJSYixXQUFXLEVyQlNBLEdBQUc7RzBEOUluQjs7O0FDUkQsQUFBQSxZQUFZLENBQUM7RXRDVWIsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQWlDbEMsV0FBVyxFdEJUZSxHQUFHO0VzQmlHekIsU0FBUyxFckJORSxJQUFJO0VxQlVmLFdBQVcsRUFwRUMsSUFBeUI7RUF0Q3pDLEtBQUssRTdCTkksT0FBTztFbUV0QmQsS0FBSyxFQUFFLElBQUk7RXZDOEVQLGFBQTBCLEV4QnRCeEIsSUFBSTtFK0RyRFYsY0FBYyxFQUFFLENBQUM7RUFDakIsZUFBZSxFQUFFLFFBQVE7Q0FDMUI7O0F6Q3lOSyxNQUFNLENBQUMsS0FBSztFeUNqT2xCLEFBQUEsWUFBWSxDQUFDO0l0Q29CWCxXQUFXLEV0QklXLFVBQVU7RzREaEJqQzs7O0F6Q3lOSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXlDak9sQyxBQUFBLFlBQVksQ0FBQztJdENpSlAsU0FBUyxFckJkQSxJQUFJO0lxQmtCYixXQUFXLEVBaEZELE9BQXlCO0dzQzdEeEM7OztBekN5TkssTUFBTSxDQUFDLEtBQUs7RXlDak9sQixBQUFBLFlBQVksQ0FBQztJdEM0SVAsU0FBUyxFckJMQSxJQUFJO0lxQk1iLFdBQVcsRXJCTEEsSUFBSTtHMkRoSXBCOzs7QXpDeU5LLE1BQU0sQ0FBQyxLQUFLO0V5Q2pPbEIsQUFBQSxZQUFZLENBQUM7SXRDa0NYLEtBQUssRTNCVWlCLE9BQU87R2lFcEM5Qjs7O0F6Q3lOSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXlDak9sQyxBQUFBLFlBQVksQ0FBQztJdkN3RkwsYUFBMEIsRXhCNUJ4QixJQUFJO0crRHBEYjs7O0FBRUQsQUFBQSxvQkFBb0IsQ0FBQztFdEM2Q3JCLFdBQVcsRXRCYlksR0FBRztFNEQ3QnhCLE9BQU8sRS9ETE4sSUFBSSxDQUVKLElBQUksQ0FGSixJQUFJLEMrREt1RCxDQUFDO0VBQzdELGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDbkVhaEIsT0FBTztFbUVaZixVQUFVLEVBQUUsSUFBSTtDQUNqQjs7QUFFRCxBQUFBLGtCQUFrQixDQUFDO0VBQ2pCLE9BQU8sRS9EWE4sSUFBSSxDQUVKLElBQUksQ0FGSixJQUFJLEMrRFd1RCxDQUFDO0VBQzdELGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDbkVPaEIsT0FBTztFbUVOZixVQUFVLEVBQUUsSUFBSTtDQUNqQjs7QUFFRCxBQUFBLDJCQUEyQixDQUFDO0V0Q2Q1QixXQUFXLEV2Qk1tQixtQkFBbUIsRUFYM0IsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUFpQ2xDLFdBQVcsRXRCVGUsR0FBRztDNERWNUI7O0F6Q3VNSyxNQUFNLENBQUMsS0FBSztFeUN6TWxCLEFBQUEsMkJBQTJCLENBQUM7SXRDSjFCLFdBQVcsRXRCSVcsVUFBVTtHNERFakM7OztBQUVELEFBQUEsNkJBQTZCO0FBQzdCLDJCQUEyQixDQUFDO0VBQzFCLFVBQVUsRUFBRSxLQUFLO0NBQ2xCOztBQUVELEFBQUEsb0JBQW9CLEFBQUEsV0FBVztBQUMvQixrQkFBa0IsQUFBQSxXQUFXLENBQUM7RUFDNUIsYUFBYSxFQUFFLENBQUM7Q0FDakI7O0FBRUQsQUFBQSxxQkFBcUIsQ0FBQztFdENpQnRCLFdBQVcsRXRCYlksR0FBRztFNEREeEIsT0FBTyxFQUFFLGFBQWE7RUFDdEIsVUFBVSxFQUFFLElBQUk7Q0FDakI7O0FDdkNELEFBQUEsZUFBZSxDQUFDO0V2Q01oQixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBaUNsQyxXQUFXLEV0QlRlLEdBQUc7RXNCaUd6QixTQUFTLEVyQk5FLElBQUk7RXFCVWYsV0FBVyxFdUNwSWdDLElBQUk7RUFHakQsa0JBQWtCLEVBQUUsVUFBVTtFQUV0QixVQUFVLEVBQUUsVUFBVTtFQUM5QixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0V4Q3FFUCxhQUEwQixFeEJ0QnhCLElBQUk7RWdFN0NWLE9BQU8sRWhFUE4sR0FBRztFZ0VTSixNQUFNLEUvRDBDd0IsR0FBRyxDK0QxQ1EsS0FBSyxDcEVTdkMsT0FBTztFb0VSZCxhQUFhLEVBQUUsQ0FBQztFQUVoQixrQkFBa0IsRUFBRSxJQUFJO0NBQ3pCOztBMUM2TUssTUFBTSxDQUFDLEtBQUs7RTBDN05sQixBQUFBLGVBQWUsQ0FBQztJdkNnQmQsV0FBVyxFdEJJVyxVQUFVO0c2REpqQzs7O0ExQzZNSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBDN05sQyxBQUFBLGVBQWUsQ0FBQztJdkM2SVYsU0FBUyxFckJkQSxJQUFJO0lxQmtCYixXQUFXLEV1Q2hKOEIsSUFBSTtHQWVsRDs7O0ExQzZNSyxNQUFNLENBQUMsS0FBSztFMEM3TmxCLEFBQUEsZUFBZSxDQUFDO0l2Q3dJVixTQUFTLEVyQkxBLElBQUk7SXFCTWIsV0FBVyxFdUN4SThCLElBQUk7R0FlbEQ7OztBQWhCRCxBL0NJQSxlK0NKZSxBL0NJZCxNQUFNLENBQUM7RUFDTixPQUFPLEVoQnNFUyxHQUFHLENnQnRFUyxLQUFLLENyQlN6QixPQUFPO0VxQlJmLGNBQWMsRUFBRSxDQUFDO0NBQ2xCOztBS3NOSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBDN05sQyxBQUFBLGVBQWUsQ0FBQztJeENvRlIsYUFBMEIsRXhCNUJ4QixJQUFJO0dnRXhDYjs7O0FBRUQsQUFBQSxzQkFBc0IsQ0FBQztFQUNyQixNQUFNLEUvRDBDOEIsR0FBRyxDK0QxQ1EsS0FBSyxDcEVUL0MsT0FBTztDb0VVYjs7QUN2QkQsQUFBQSxtQkFBbUIsQ0FBQztFeENTcEIsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQWlDbEMsV0FBVyxFdEJUZSxHQUFHO0VzQmlHekIsU0FBUyxFckJORSxJQUFJO0VxQlVmLFdBQVcsRUFwRUMsSUFBeUI7RUF0Q3pDLEtBQUssRTdCTkksT0FBTztFcUVwQmQsUUFBUSxFQUFFLFFBQVE7RXpDNEVkLGFBQTBCLEV4QnRCeEIsSUFBSTtFaUVwRFYsT0FBTyxFakVDTixJQUFJLENpRURxQixDQUFDO0NBQzVCOztBM0N5TkssTUFBTSxDQUFDLEtBQUs7RTJDaE9sQixBQUFBLG1CQUFtQixDQUFDO0l4Q21CbEIsV0FBVyxFdEJJVyxVQUFVO0c4RGhCakM7OztBM0N5TkssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UyQ2hPbEMsQUFBQSxtQkFBbUIsQ0FBQztJeENnSmQsU0FBUyxFckJkQSxJQUFJO0lxQmtCYixXQUFXLEVBaEZELE9BQXlCO0d3QzdEeEM7OztBM0N5TkssTUFBTSxDQUFDLEtBQUs7RTJDaE9sQixBQUFBLG1CQUFtQixDQUFDO0l4QzJJZCxTQUFTLEVyQkxBLElBQUk7SXFCTWIsV0FBVyxFckJMQSxJQUFJO0c2RGhJcEI7OztBM0N5TkssTUFBTSxDQUFDLEtBQUs7RTJDaE9sQixBQUFBLG1CQUFtQixDQUFDO0l4Q2lDbEIsS0FBSyxFM0JVaUIsT0FBTztHbUVwQzlCOzs7QTNDeU5LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMkNoT2xDLEFBQUEsbUJBQW1CLENBQUM7SXpDdUZaLGFBQTBCLEV4QjVCeEIsSUFBSTtHaUVwRGI7OztBQUVELEFBQUEsOEJBQThCLENBQUM7RXZDRC9CLFFBQVEsRUFBRSxRQUFRO0VBRWxCLEtBQUssRUFBRSxHQUFHO0VBQ1YsTUFBTSxFQUFFLEdBQUc7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxDQUFDO0VBRVYsUUFBUSxFQUFFLE1BQU07RUFDaEIsSUFBSSxFQUFFLGFBQWE7RUFDbkIsaUJBQWlCLEVBQUUsVUFBVTtFQUNyQixTQUFTLEVBQUUsVUFBVTtFQUU3QixNQUFNLEVBQUUsQ0FBQztFQUtULFdBQVcsRUFBRSxNQUFNO0N1Q2RsQjs7QUFFRCxBQUFBLHlCQUF5QixDQUFDO0V4Q0oxQixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBMkNsQyxXQUFXLEV0QmJZLEdBQUc7RThEekJ4QixPQUFPLEVBQUUsWUFBWTtFQUVyQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsR0FBRztFQUNSLElBQUksRUFBRSxDQUFDO0VBRVAsU0FBUyxFQUFFLElBQUk7RUFDZixVQUFVLEVBQUUsSUFBSTtFQUNoQixVQUFVLEVBQUUsS0FBSztFQUNqQixXQUFXLEVBQUUsR0FBRztFQUloQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3JFTFYsT0FBTztFcUVNZCxhQUFhLEVBQUUsR0FBRztFQUVsQixLQUFLLEVyRUhFLE9BQU87RXFFSWQsVUFBVSxFckVUSCxPQUFPO0VxRVdkLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLFdBQVcsRUFBRSxJQUFJO0VBRWpCLFVBQVUsRUFBRSxNQUFNO0VBSWxCLG1CQUFtQixFQUFFLElBQUk7RUFDdEIsZ0JBQWdCLEVBQUUsSUFBSTtFQUNyQixlQUFlLEVBQUUsSUFBSTtFQUNqQixXQUFXLEVBQUUsSUFBSTtDQUMxQjs7QTNDa0xLLE1BQU0sQ0FBQyxLQUFLO0UyQ25ObEIsQUFBQSx5QkFBeUIsQ0FBQztJeENNeEIsV0FBVyxFdEJJVyxVQUFVO0c4RHVCakM7OztBQUVELEFBQUEseUJBQXlCLENBQUM7RUFDeEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxXQUFXLEVoRTNCSyxLQUFpQjtFZ0U0QmpDLFlBQVksRUFBRSxJQUFJO0NBQ25COztBRXpERCxBcERRQSxlb0RSZSxBcERRZCxNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUk7Q0FDWjs7QXFEWkQsQUFBQSxzQkFBc0IsQ0FBQztFMUNhdkIsUUFBUSxFQUFFLFFBQVE7RUFFbEIsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsR0FBRztFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLENBQUM7RUFFVixRQUFRLEVBQUUsTUFBTTtFQUNoQixJQUFJLEVBQUUsYUFBYTtFQUNuQixpQkFBaUIsRUFBRSxVQUFVO0VBQ3JCLFNBQVMsRUFBRSxVQUFVO0VBRTdCLE1BQU0sRUFBRSxDQUFDO0VBS1QsV0FBVyxFQUFFLE1BQU07QzBDNUJsQjs7QUFHRCxBQUFBLGlDQUFpQyxDQUFDO0UxQ3NDbEMsUUFBUSxFQUFFLFFBQVE7RUFFbEIsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsR0FBRztFQUNYLE1BQU0sRUFBRSxJQUFJO0VBRVosUUFBUSxFQUFFLE1BQU07RUFDaEIsSUFBSSxFQUFFLGFBQWE7RUFDbkIsaUJBQWlCLEVBQUUsVUFBVTtFQUNyQixTQUFTLEVBQUUsVUFBVTtFQUs3QixXQUFXLEVBQUUsTUFBTTtDMENsRGxCOztBQUZELEExQ3NEQSxpQzBDdERpQyxBMUNzRGhDLE9BQU8sRTBDdERSLGlDQUFpQyxBMUN1RGhDLE1BQU0sQ0FBQztFQUNOLFFBQVEsRUFBRSxNQUFNO0VBRWhCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsT0FBTztFQUVmLFFBQVEsRUFBRSxPQUFPO0VBQ2pCLElBQUksRUFBRSxJQUFJO0VBQ1YsaUJBQWlCLEVBQUUsSUFBSTtFQUNmLFNBQVMsRUFBRSxJQUFJO0VBRXZCLFdBQVcsRUFBRSxPQUFPO0NBQ3JCOztBMENoRUQsQUFBQSxnQ0FBZ0MsQ0FBQztFMUNrQ2pDLFFBQVEsRUFBRSxRQUFRO0VBRWxCLEtBQUssRUFBRSxHQUFHO0VBQ1YsTUFBTSxFQUFFLEdBQUc7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUVaLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLElBQUksRUFBRSxhQUFhO0VBQ25CLGlCQUFpQixFQUFFLFVBQVU7RUFDckIsU0FBUyxFQUFFLFVBQVU7RUFLN0IsV0FBVyxFQUFFLE1BQU07QzBDOUNsQjs7QUFGRCxBMUNrREEsZ0MwQ2xEZ0MsQTFDa0QvQixPQUFPLEUwQ2xEUixnQ0FBZ0MsQTFDbUQvQixNQUFNLENBQUM7RUFDTixRQUFRLEVBQUUsTUFBTTtFQUVoQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osTUFBTSxFQUFFLE9BQU87RUFFZixRQUFRLEVBQUUsT0FBTztFQUNqQixJQUFJLEVBQUUsSUFBSTtFQUNWLGlCQUFpQixFQUFFLElBQUk7RUFDZixTQUFTLEVBQUUsSUFBSTtFQUV2QixXQUFXLEVBQUUsT0FBTztDQUNyQjs7QTRDeEVELEFBQUEsd0JBQXdCLENBQUM7RUFDdkIsT0FBTyxFQUFFLGlCQUFpQjtDQUMzQjs7QUFFRCxBQUFBLDhCQUE4QixDQUFDO0VBQzdCLE9BQU8sRUFBRSx1QkFBdUI7Q0FDakM7O0FBRUQsQUFBQSx1QkFBdUIsQ0FBQztFQUN0QixPQUFPLEVBQUUsZ0JBQWdCO0NBQzFCOztBQzJCQyxBQUFBLGtCQUFrQixDQUFxQjtFL0M2Q25DLE1BQVksRXhCNUNWLENBQUMsQ3dCNEM2QyxVQUFVO0MrQzFDN0Q7O0FqRDRMRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEL0xoQyxBQUFBLGtCQUFrQixDQUFxQjtJL0NvRGpDLE1BQVksRXhCbERWLENBQUMsQ3dCa0Q2QyxVQUFVO0crQ2pEL0Q7OztBQUtDLEFBQUEsc0JBQXNCLENBQStCO0UvQ3VDbkQsVUFBMEIsRXhCOUN4QixDQUFDLEN3QjhDNEQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSxzQkFBc0IsQ0FBK0I7SS9DOENqRCxVQUEwQixFeEJwRHhCLENBQUMsQ3dCb0Q0RCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEsd0JBQXdCLENBQTZCO0UvQ3VDbkQsWUFBMEIsRXhCOUN4QixDQUFDLEN3QjhDNEQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx3QkFBd0IsQ0FBNkI7SS9DOENqRCxZQUEwQixFeEJwRHhCLENBQUMsQ3dCb0Q0RCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEseUJBQXlCLENBQTRCO0UvQ3VDbkQsYUFBMEIsRXhCOUN4QixDQUFDLEN3QjhDNEQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx5QkFBeUIsQ0FBNEI7SS9DOENqRCxhQUEwQixFeEJwRHhCLENBQUMsQ3dCb0Q0RCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEsdUJBQXVCLENBQThCO0UvQ3VDbkQsV0FBMEIsRXhCOUN4QixDQUFDLEN3QjhDNEQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx1QkFBdUIsQ0FBOEI7SS9DOENqRCxXQUEwQixFeEJwRHhCLENBQUMsQ3dCb0Q0RCxVQUFVO0crQzVDNUU7OztBQVZILEFBQUEsa0JBQWtCLENBQXFCO0UvQzZDbkMsTUFBWSxFeEJ4Q1YsR0FBRyxDd0J3QzJDLFVBQVU7QytDMUM3RDs7QWpENExHLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUQvTGhDLEFBQUEsa0JBQWtCLENBQXFCO0kvQ29EakMsTUFBWSxFeEI5Q1YsR0FBRyxDd0I4QzJDLFVBQVU7RytDakQvRDs7O0FBS0MsQUFBQSxzQkFBc0IsQ0FBK0I7RS9DdUNuRCxVQUEwQixFeEIxQ3hCLEdBQUcsQ3dCMEMwRCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHNCQUFzQixDQUErQjtJL0M4Q2pELFVBQTBCLEV4QmhEeEIsR0FBRyxDd0JnRDBELFVBQVU7RytDNUM1RTs7O0FBRkQsQUFBQSx3QkFBd0IsQ0FBNkI7RS9DdUNuRCxZQUEwQixFeEIxQ3hCLEdBQUcsQ3dCMEMwRCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHdCQUF3QixDQUE2QjtJL0M4Q2pELFlBQTBCLEV4QmhEeEIsR0FBRyxDd0JnRDBELFVBQVU7RytDNUM1RTs7O0FBRkQsQUFBQSx5QkFBeUIsQ0FBNEI7RS9DdUNuRCxhQUEwQixFeEIxQ3hCLEdBQUcsQ3dCMEMwRCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHlCQUF5QixDQUE0QjtJL0M4Q2pELGFBQTBCLEV4QmhEeEIsR0FBRyxDd0JnRDBELFVBQVU7RytDNUM1RTs7O0FBRkQsQUFBQSx1QkFBdUIsQ0FBOEI7RS9DdUNuRCxXQUEwQixFeEIxQ3hCLEdBQUcsQ3dCMEMwRCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHVCQUF1QixDQUE4QjtJL0M4Q2pELFdBQTBCLEV4QmhEeEIsR0FBRyxDd0JnRDBELFVBQVU7RytDNUM1RTs7O0FBVkgsQUFBQSxrQkFBa0IsQ0FBcUI7RS9DNkNuQyxNQUFZLEV4QnBDVixJQUFJLEN3Qm9DMEMsVUFBVTtDK0MxQzdEOztBakQ0TEcsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRC9MaEMsQUFBQSxrQkFBa0IsQ0FBcUI7SS9Db0RqQyxNQUFZLEV4QjFDVixJQUFJLEN3QjBDMEMsVUFBVTtHK0NqRC9EOzs7QUFLQyxBQUFBLHNCQUFzQixDQUErQjtFL0N1Q25ELFVBQTBCLEV4QnRDeEIsSUFBSSxDd0JzQ3lELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEsc0JBQXNCLENBQStCO0kvQzhDakQsVUFBMEIsRXhCNUN4QixJQUFJLEN3QjRDeUQsVUFBVTtHK0M1QzVFOzs7QUFGRCxBQUFBLHdCQUF3QixDQUE2QjtFL0N1Q25ELFlBQTBCLEV4QnRDeEIsSUFBSSxDd0JzQ3lELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEsd0JBQXdCLENBQTZCO0kvQzhDakQsWUFBMEIsRXhCNUN4QixJQUFJLEN3QjRDeUQsVUFBVTtHK0M1QzVFOzs7QUFGRCxBQUFBLHlCQUF5QixDQUE0QjtFL0N1Q25ELGFBQTBCLEV4QnRDeEIsSUFBSSxDd0JzQ3lELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEseUJBQXlCLENBQTRCO0kvQzhDakQsYUFBMEIsRXhCNUN4QixJQUFJLEN3QjRDeUQsVUFBVTtHK0M1QzVFOzs7QUFGRCxBQUFBLHVCQUF1QixDQUE4QjtFL0N1Q25ELFdBQTBCLEV4QnRDeEIsSUFBSSxDd0JzQ3lELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEsdUJBQXVCLENBQThCO0kvQzhDakQsV0FBMEIsRXhCNUN4QixJQUFJLEN3QjRDeUQsVUFBVTtHK0M1QzVFOzs7QUFWSCxBQUFBLGtCQUFrQixDQUFxQjtFL0M2Q25DLE1BQVksRXhCaENWLElBQUksQ3dCZ0MwQyxVQUFVO0MrQzFDN0Q7O0FqRDRMRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEL0xoQyxBQUFBLGtCQUFrQixDQUFxQjtJL0NvRGpDLE1BQVksRXhCdENWLElBQUksQ3dCc0MwQyxVQUFVO0crQ2pEL0Q7OztBQUtDLEFBQUEsc0JBQXNCLENBQStCO0UvQ3VDbkQsVUFBMEIsRXhCbEN4QixJQUFJLEN3QmtDeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSxzQkFBc0IsQ0FBK0I7SS9DOENqRCxVQUEwQixFeEJ4Q3hCLElBQUksQ3dCd0N5RCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEsd0JBQXdCLENBQTZCO0UvQ3VDbkQsWUFBMEIsRXhCbEN4QixJQUFJLEN3QmtDeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx3QkFBd0IsQ0FBNkI7SS9DOENqRCxZQUEwQixFeEJ4Q3hCLElBQUksQ3dCd0N5RCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEseUJBQXlCLENBQTRCO0UvQ3VDbkQsYUFBMEIsRXhCbEN4QixJQUFJLEN3QmtDeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx5QkFBeUIsQ0FBNEI7SS9DOENqRCxhQUEwQixFeEJ4Q3hCLElBQUksQ3dCd0N5RCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEsdUJBQXVCLENBQThCO0UvQ3VDbkQsV0FBMEIsRXhCbEN4QixJQUFJLEN3QmtDeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx1QkFBdUIsQ0FBOEI7SS9DOENqRCxXQUEwQixFeEJ4Q3hCLElBQUksQ3dCd0N5RCxVQUFVO0crQzVDNUU7OztBQVZILEFBQUEsa0JBQWtCLENBQXFCO0UvQzZDbkMsTUFBWSxFeEI1QlYsSUFBSSxDd0I0QjBDLFVBQVU7QytDMUM3RDs7QWpENExHLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUQvTGhDLEFBQUEsa0JBQWtCLENBQXFCO0kvQ29EakMsTUFBWSxFeEJsQ1YsSUFBSSxDd0JrQzBDLFVBQVU7RytDakQvRDs7O0FBS0MsQUFBQSxzQkFBc0IsQ0FBK0I7RS9DdUNuRCxVQUEwQixFeEI5QnhCLElBQUksQ3dCOEJ5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHNCQUFzQixDQUErQjtJL0M4Q2pELFVBQTBCLEV4QnBDeEIsSUFBSSxDd0JvQ3lELFVBQVU7RytDNUM1RTs7O0FBRkQsQUFBQSx3QkFBd0IsQ0FBNkI7RS9DdUNuRCxZQUEwQixFeEI5QnhCLElBQUksQ3dCOEJ5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHdCQUF3QixDQUE2QjtJL0M4Q2pELFlBQTBCLEV4QnBDeEIsSUFBSSxDd0JvQ3lELFVBQVU7RytDNUM1RTs7O0FBRkQsQUFBQSx5QkFBeUIsQ0FBNEI7RS9DdUNuRCxhQUEwQixFeEI5QnhCLElBQUksQ3dCOEJ5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHlCQUF5QixDQUE0QjtJL0M4Q2pELGFBQTBCLEV4QnBDeEIsSUFBSSxDd0JvQ3lELFVBQVU7RytDNUM1RTs7O0FBRkQsQUFBQSx1QkFBdUIsQ0FBOEI7RS9DdUNuRCxXQUEwQixFeEI5QnhCLElBQUksQ3dCOEJ5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHVCQUF1QixDQUE4QjtJL0M4Q2pELFdBQTBCLEV4QnBDeEIsSUFBSSxDd0JvQ3lELFVBQVU7RytDNUM1RTs7O0FBVkgsQUFBQSxrQkFBa0IsQ0FBcUI7RS9DNkNuQyxNQUFZLEV4QnhCVixJQUFJLEN3QndCMEMsVUFBVTtDK0MxQzdEOztBakQ0TEcsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRC9MaEMsQUFBQSxrQkFBa0IsQ0FBcUI7SS9Db0RqQyxNQUFZLEV4QjlCVixJQUFJLEN3QjhCMEMsVUFBVTtHK0NqRC9EOzs7QUFLQyxBQUFBLHNCQUFzQixDQUErQjtFL0N1Q25ELFVBQTBCLEV4QjFCeEIsSUFBSSxDd0IwQnlELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEsc0JBQXNCLENBQStCO0kvQzhDakQsVUFBMEIsRXhCaEN4QixJQUFJLEN3QmdDeUQsVUFBVTtHK0M1QzVFOzs7QUFGRCxBQUFBLHdCQUF3QixDQUE2QjtFL0N1Q25ELFlBQTBCLEV4QjFCeEIsSUFBSSxDd0IwQnlELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEsd0JBQXdCLENBQTZCO0kvQzhDakQsWUFBMEIsRXhCaEN4QixJQUFJLEN3QmdDeUQsVUFBVTtHK0M1QzVFOzs7QUFGRCxBQUFBLHlCQUF5QixDQUE0QjtFL0N1Q25ELGFBQTBCLEV4QjFCeEIsSUFBSSxDd0IwQnlELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEseUJBQXlCLENBQTRCO0kvQzhDakQsYUFBMEIsRXhCaEN4QixJQUFJLEN3QmdDeUQsVUFBVTtHK0M1QzVFOzs7QUFGRCxBQUFBLHVCQUF1QixDQUE4QjtFL0N1Q25ELFdBQTBCLEV4QjFCeEIsSUFBSSxDd0IwQnlELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEsdUJBQXVCLENBQThCO0kvQzhDakQsV0FBMEIsRXhCaEN4QixJQUFJLEN3QmdDeUQsVUFBVTtHK0M1QzVFOzs7QUFWSCxBQUFBLGtCQUFrQixDQUFxQjtFL0M2Q25DLE1BQVksRXhCcEJWLElBQUksQ3dCb0IwQyxVQUFVO0MrQzFDN0Q7O0FqRDRMRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEL0xoQyxBQUFBLGtCQUFrQixDQUFxQjtJL0NvRGpDLE1BQVksRXhCMUJWLElBQUksQ3dCMEIwQyxVQUFVO0crQ2pEL0Q7OztBQUtDLEFBQUEsc0JBQXNCLENBQStCO0UvQ3VDbkQsVUFBMEIsRXhCdEJ4QixJQUFJLEN3QnNCeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSxzQkFBc0IsQ0FBK0I7SS9DOENqRCxVQUEwQixFeEI1QnhCLElBQUksQ3dCNEJ5RCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEsd0JBQXdCLENBQTZCO0UvQ3VDbkQsWUFBMEIsRXhCdEJ4QixJQUFJLEN3QnNCeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx3QkFBd0IsQ0FBNkI7SS9DOENqRCxZQUEwQixFeEI1QnhCLElBQUksQ3dCNEJ5RCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEseUJBQXlCLENBQTRCO0UvQ3VDbkQsYUFBMEIsRXhCdEJ4QixJQUFJLEN3QnNCeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx5QkFBeUIsQ0FBNEI7SS9DOENqRCxhQUEwQixFeEI1QnhCLElBQUksQ3dCNEJ5RCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEsdUJBQXVCLENBQThCO0UvQ3VDbkQsV0FBMEIsRXhCdEJ4QixJQUFJLEN3QnNCeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx1QkFBdUIsQ0FBOEI7SS9DOENqRCxXQUEwQixFeEI1QnhCLElBQUksQ3dCNEJ5RCxVQUFVO0crQzVDNUU7OztBQVZILEFBQUEsa0JBQWtCLENBQXFCO0UvQzZDbkMsTUFBWSxFeEJoQlYsSUFBSSxDd0JnQjBDLFVBQVU7QytDMUM3RDs7QWpENExHLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUQvTGhDLEFBQUEsa0JBQWtCLENBQXFCO0kvQ29EakMsTUFBWSxFeEJ0QlYsSUFBSSxDd0JzQjBDLFVBQVU7RytDakQvRDs7O0FBS0MsQUFBQSxzQkFBc0IsQ0FBK0I7RS9DdUNuRCxVQUEwQixFeEJsQnhCLElBQUksQ3dCa0J5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHNCQUFzQixDQUErQjtJL0M4Q2pELFVBQTBCLEV4QnhCeEIsSUFBSSxDd0J3QnlELFVBQVU7RytDNUM1RTs7O0FBRkQsQUFBQSx3QkFBd0IsQ0FBNkI7RS9DdUNuRCxZQUEwQixFeEJsQnhCLElBQUksQ3dCa0J5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHdCQUF3QixDQUE2QjtJL0M4Q2pELFlBQTBCLEV4QnhCeEIsSUFBSSxDd0J3QnlELFVBQVU7RytDNUM1RTs7O0FBRkQsQUFBQSx5QkFBeUIsQ0FBNEI7RS9DdUNuRCxhQUEwQixFeEJsQnhCLElBQUksQ3dCa0J5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHlCQUF5QixDQUE0QjtJL0M4Q2pELGFBQTBCLEV4QnhCeEIsSUFBSSxDd0J3QnlELFVBQVU7RytDNUM1RTs7O0FBRkQsQUFBQSx1QkFBdUIsQ0FBOEI7RS9DdUNuRCxXQUEwQixFeEJsQnhCLElBQUksQ3dCa0J5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHVCQUF1QixDQUE4QjtJL0M4Q2pELFdBQTBCLEV4QnhCeEIsSUFBSSxDd0J3QnlELFVBQVU7RytDNUM1RTs7O0FBVkgsQUFBQSxrQkFBa0IsQ0FBcUI7RS9DNkNuQyxNQUFZLEV4QlpWLElBQUksQ3dCWTBDLFVBQVU7QytDMUM3RDs7QWpENExHLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUQvTGhDLEFBQUEsa0JBQWtCLENBQXFCO0kvQ29EakMsTUFBWSxFeEJsQlYsSUFBSSxDd0JrQjBDLFVBQVU7RytDakQvRDs7O0FBS0MsQUFBQSxzQkFBc0IsQ0FBK0I7RS9DdUNuRCxVQUEwQixFeEJkeEIsSUFBSSxDd0JjeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSxzQkFBc0IsQ0FBK0I7SS9DOENqRCxVQUEwQixFeEJwQnhCLElBQUksQ3dCb0J5RCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEsd0JBQXdCLENBQTZCO0UvQ3VDbkQsWUFBMEIsRXhCZHhCLElBQUksQ3dCY3lELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEsd0JBQXdCLENBQTZCO0kvQzhDakQsWUFBMEIsRXhCcEJ4QixJQUFJLEN3Qm9CeUQsVUFBVTtHK0M1QzVFOzs7QUFGRCxBQUFBLHlCQUF5QixDQUE0QjtFL0N1Q25ELGFBQTBCLEV4QmR4QixJQUFJLEN3QmN5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHlCQUF5QixDQUE0QjtJL0M4Q2pELGFBQTBCLEV4QnBCeEIsSUFBSSxDd0JvQnlELFVBQVU7RytDNUM1RTs7O0FBRkQsQUFBQSx1QkFBdUIsQ0FBOEI7RS9DdUNuRCxXQUEwQixFeEJkeEIsSUFBSSxDd0JjeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx1QkFBdUIsQ0FBOEI7SS9DOENqRCxXQUEwQixFeEJwQnhCLElBQUksQ3dCb0J5RCxVQUFVO0crQzVDNUU7OztBQVZILEFBQUEsa0JBQWtCLENBQXFCO0UvQzZDbkMsTUFBWSxFeEJSVixJQUFJLEN3QlEwQyxVQUFVO0MrQzFDN0Q7O0FqRDRMRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEL0xoQyxBQUFBLGtCQUFrQixDQUFxQjtJL0NvRGpDLE1BQVksRXhCZFYsSUFBSSxDd0JjMEMsVUFBVTtHK0NqRC9EOzs7QUFLQyxBQUFBLHNCQUFzQixDQUErQjtFL0N1Q25ELFVBQTBCLEV4QlZ4QixJQUFJLEN3QlV5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHNCQUFzQixDQUErQjtJL0M4Q2pELFVBQTBCLEV4QmhCeEIsSUFBSSxDd0JnQnlELFVBQVU7RytDNUM1RTs7O0FBRkQsQUFBQSx3QkFBd0IsQ0FBNkI7RS9DdUNuRCxZQUEwQixFeEJWeEIsSUFBSSxDd0JVeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx3QkFBd0IsQ0FBNkI7SS9DOENqRCxZQUEwQixFeEJoQnhCLElBQUksQ3dCZ0J5RCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEseUJBQXlCLENBQTRCO0UvQ3VDbkQsYUFBMEIsRXhCVnhCLElBQUksQ3dCVXlELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEseUJBQXlCLENBQTRCO0kvQzhDakQsYUFBMEIsRXhCaEJ4QixJQUFJLEN3QmdCeUQsVUFBVTtHK0M1QzVFOzs7QUFGRCxBQUFBLHVCQUF1QixDQUE4QjtFL0N1Q25ELFdBQTBCLEV4QlZ4QixJQUFJLEN3QlV5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHVCQUF1QixDQUE4QjtJL0M4Q2pELFdBQTBCLEV4QmhCeEIsSUFBSSxDd0JnQnlELFVBQVU7RytDNUM1RTs7O0FBVkgsQUFBQSxtQkFBbUIsQ0FBb0I7RS9DNkNuQyxPQUFZLEV4QjVDVixDQUFDLEN3QjRDNkMsVUFBVTtDK0MxQzdEOztBakQ0TEcsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRC9MaEMsQUFBQSxtQkFBbUIsQ0FBb0I7SS9Db0RqQyxPQUFZLEV4QmxEVixDQUFDLEN3QmtENkMsVUFBVTtHK0NqRC9EOzs7QUFLQyxBQUFBLHVCQUF1QixDQUE4QjtFL0N1Q25ELFdBQTBCLEV4QjlDeEIsQ0FBQyxDd0I4QzRELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEsdUJBQXVCLENBQThCO0kvQzhDakQsV0FBMEIsRXhCcER4QixDQUFDLEN3Qm9ENEQsVUFBVTtHK0M1QzVFOzs7QUFGRCxBQUFBLHlCQUF5QixDQUE0QjtFL0N1Q25ELGFBQTBCLEV4QjlDeEIsQ0FBQyxDd0I4QzRELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEseUJBQXlCLENBQTRCO0kvQzhDakQsYUFBMEIsRXhCcER4QixDQUFDLEN3Qm9ENEQsVUFBVTtHK0M1QzVFOzs7QUFGRCxBQUFBLDBCQUEwQixDQUEyQjtFL0N1Q25ELGNBQTBCLEV4QjlDeEIsQ0FBQyxDd0I4QzRELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEsMEJBQTBCLENBQTJCO0kvQzhDakQsY0FBMEIsRXhCcER4QixDQUFDLEN3Qm9ENEQsVUFBVTtHK0M1QzVFOzs7QUFGRCxBQUFBLHdCQUF3QixDQUE2QjtFL0N1Q25ELFlBQTBCLEV4QjlDeEIsQ0FBQyxDd0I4QzRELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEsd0JBQXdCLENBQTZCO0kvQzhDakQsWUFBMEIsRXhCcER4QixDQUFDLEN3Qm9ENEQsVUFBVTtHK0M1QzVFOzs7QUFWSCxBQUFBLG1CQUFtQixDQUFvQjtFL0M2Q25DLE9BQVksRXhCeENWLEdBQUcsQ3dCd0MyQyxVQUFVO0MrQzFDN0Q7O0FqRDRMRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEL0xoQyxBQUFBLG1CQUFtQixDQUFvQjtJL0NvRGpDLE9BQVksRXhCOUNWLEdBQUcsQ3dCOEMyQyxVQUFVO0crQ2pEL0Q7OztBQUtDLEFBQUEsdUJBQXVCLENBQThCO0UvQ3VDbkQsV0FBMEIsRXhCMUN4QixHQUFHLEN3QjBDMEQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx1QkFBdUIsQ0FBOEI7SS9DOENqRCxXQUEwQixFeEJoRHhCLEdBQUcsQ3dCZ0QwRCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEseUJBQXlCLENBQTRCO0UvQ3VDbkQsYUFBMEIsRXhCMUN4QixHQUFHLEN3QjBDMEQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx5QkFBeUIsQ0FBNEI7SS9DOENqRCxhQUEwQixFeEJoRHhCLEdBQUcsQ3dCZ0QwRCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEsMEJBQTBCLENBQTJCO0UvQ3VDbkQsY0FBMEIsRXhCMUN4QixHQUFHLEN3QjBDMEQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSwwQkFBMEIsQ0FBMkI7SS9DOENqRCxjQUEwQixFeEJoRHhCLEdBQUcsQ3dCZ0QwRCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEsd0JBQXdCLENBQTZCO0UvQ3VDbkQsWUFBMEIsRXhCMUN4QixHQUFHLEN3QjBDMEQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx3QkFBd0IsQ0FBNkI7SS9DOENqRCxZQUEwQixFeEJoRHhCLEdBQUcsQ3dCZ0QwRCxVQUFVO0crQzVDNUU7OztBQVZILEFBQUEsbUJBQW1CLENBQW9CO0UvQzZDbkMsT0FBWSxFeEJwQ1YsSUFBSSxDd0JvQzBDLFVBQVU7QytDMUM3RDs7QWpENExHLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUQvTGhDLEFBQUEsbUJBQW1CLENBQW9CO0kvQ29EakMsT0FBWSxFeEIxQ1YsSUFBSSxDd0IwQzBDLFVBQVU7RytDakQvRDs7O0FBS0MsQUFBQSx1QkFBdUIsQ0FBOEI7RS9DdUNuRCxXQUEwQixFeEJ0Q3hCLElBQUksQ3dCc0N5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHVCQUF1QixDQUE4QjtJL0M4Q2pELFdBQTBCLEV4QjVDeEIsSUFBSSxDd0I0Q3lELFVBQVU7RytDNUM1RTs7O0FBRkQsQUFBQSx5QkFBeUIsQ0FBNEI7RS9DdUNuRCxhQUEwQixFeEJ0Q3hCLElBQUksQ3dCc0N5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHlCQUF5QixDQUE0QjtJL0M4Q2pELGFBQTBCLEV4QjVDeEIsSUFBSSxDd0I0Q3lELFVBQVU7RytDNUM1RTs7O0FBRkQsQUFBQSwwQkFBMEIsQ0FBMkI7RS9DdUNuRCxjQUEwQixFeEJ0Q3hCLElBQUksQ3dCc0N5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLDBCQUEwQixDQUEyQjtJL0M4Q2pELGNBQTBCLEV4QjVDeEIsSUFBSSxDd0I0Q3lELFVBQVU7RytDNUM1RTs7O0FBRkQsQUFBQSx3QkFBd0IsQ0FBNkI7RS9DdUNuRCxZQUEwQixFeEJ0Q3hCLElBQUksQ3dCc0N5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHdCQUF3QixDQUE2QjtJL0M4Q2pELFlBQTBCLEV4QjVDeEIsSUFBSSxDd0I0Q3lELFVBQVU7RytDNUM1RTs7O0FBVkgsQUFBQSxtQkFBbUIsQ0FBb0I7RS9DNkNuQyxPQUFZLEV4QmhDVixJQUFJLEN3QmdDMEMsVUFBVTtDK0MxQzdEOztBakQ0TEcsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRC9MaEMsQUFBQSxtQkFBbUIsQ0FBb0I7SS9Db0RqQyxPQUFZLEV4QnRDVixJQUFJLEN3QnNDMEMsVUFBVTtHK0NqRC9EOzs7QUFLQyxBQUFBLHVCQUF1QixDQUE4QjtFL0N1Q25ELFdBQTBCLEV4QmxDeEIsSUFBSSxDd0JrQ3lELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEsdUJBQXVCLENBQThCO0kvQzhDakQsV0FBMEIsRXhCeEN4QixJQUFJLEN3QndDeUQsVUFBVTtHK0M1QzVFOzs7QUFGRCxBQUFBLHlCQUF5QixDQUE0QjtFL0N1Q25ELGFBQTBCLEV4QmxDeEIsSUFBSSxDd0JrQ3lELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEseUJBQXlCLENBQTRCO0kvQzhDakQsYUFBMEIsRXhCeEN4QixJQUFJLEN3QndDeUQsVUFBVTtHK0M1QzVFOzs7QUFGRCxBQUFBLDBCQUEwQixDQUEyQjtFL0N1Q25ELGNBQTBCLEV4QmxDeEIsSUFBSSxDd0JrQ3lELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEsMEJBQTBCLENBQTJCO0kvQzhDakQsY0FBMEIsRXhCeEN4QixJQUFJLEN3QndDeUQsVUFBVTtHK0M1QzVFOzs7QUFGRCxBQUFBLHdCQUF3QixDQUE2QjtFL0N1Q25ELFlBQTBCLEV4QmxDeEIsSUFBSSxDd0JrQ3lELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEsd0JBQXdCLENBQTZCO0kvQzhDakQsWUFBMEIsRXhCeEN4QixJQUFJLEN3QndDeUQsVUFBVTtHK0M1QzVFOzs7QUFWSCxBQUFBLG1CQUFtQixDQUFvQjtFL0M2Q25DLE9BQVksRXhCNUJWLElBQUksQ3dCNEIwQyxVQUFVO0MrQzFDN0Q7O0FqRDRMRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEL0xoQyxBQUFBLG1CQUFtQixDQUFvQjtJL0NvRGpDLE9BQVksRXhCbENWLElBQUksQ3dCa0MwQyxVQUFVO0crQ2pEL0Q7OztBQUtDLEFBQUEsdUJBQXVCLENBQThCO0UvQ3VDbkQsV0FBMEIsRXhCOUJ4QixJQUFJLEN3QjhCeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx1QkFBdUIsQ0FBOEI7SS9DOENqRCxXQUEwQixFeEJwQ3hCLElBQUksQ3dCb0N5RCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEseUJBQXlCLENBQTRCO0UvQ3VDbkQsYUFBMEIsRXhCOUJ4QixJQUFJLEN3QjhCeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx5QkFBeUIsQ0FBNEI7SS9DOENqRCxhQUEwQixFeEJwQ3hCLElBQUksQ3dCb0N5RCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEsMEJBQTBCLENBQTJCO0UvQ3VDbkQsY0FBMEIsRXhCOUJ4QixJQUFJLEN3QjhCeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSwwQkFBMEIsQ0FBMkI7SS9DOENqRCxjQUEwQixFeEJwQ3hCLElBQUksQ3dCb0N5RCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEsd0JBQXdCLENBQTZCO0UvQ3VDbkQsWUFBMEIsRXhCOUJ4QixJQUFJLEN3QjhCeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx3QkFBd0IsQ0FBNkI7SS9DOENqRCxZQUEwQixFeEJwQ3hCLElBQUksQ3dCb0N5RCxVQUFVO0crQzVDNUU7OztBQVZILEFBQUEsbUJBQW1CLENBQW9CO0UvQzZDbkMsT0FBWSxFeEJ4QlYsSUFBSSxDd0J3QjBDLFVBQVU7QytDMUM3RDs7QWpENExHLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUQvTGhDLEFBQUEsbUJBQW1CLENBQW9CO0kvQ29EakMsT0FBWSxFeEI5QlYsSUFBSSxDd0I4QjBDLFVBQVU7RytDakQvRDs7O0FBS0MsQUFBQSx1QkFBdUIsQ0FBOEI7RS9DdUNuRCxXQUEwQixFeEIxQnhCLElBQUksQ3dCMEJ5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHVCQUF1QixDQUE4QjtJL0M4Q2pELFdBQTBCLEV4QmhDeEIsSUFBSSxDd0JnQ3lELFVBQVU7RytDNUM1RTs7O0FBRkQsQUFBQSx5QkFBeUIsQ0FBNEI7RS9DdUNuRCxhQUEwQixFeEIxQnhCLElBQUksQ3dCMEJ5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHlCQUF5QixDQUE0QjtJL0M4Q2pELGFBQTBCLEV4QmhDeEIsSUFBSSxDd0JnQ3lELFVBQVU7RytDNUM1RTs7O0FBRkQsQUFBQSwwQkFBMEIsQ0FBMkI7RS9DdUNuRCxjQUEwQixFeEIxQnhCLElBQUksQ3dCMEJ5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLDBCQUEwQixDQUEyQjtJL0M4Q2pELGNBQTBCLEV4QmhDeEIsSUFBSSxDd0JnQ3lELFVBQVU7RytDNUM1RTs7O0FBRkQsQUFBQSx3QkFBd0IsQ0FBNkI7RS9DdUNuRCxZQUEwQixFeEIxQnhCLElBQUksQ3dCMEJ5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHdCQUF3QixDQUE2QjtJL0M4Q2pELFlBQTBCLEV4QmhDeEIsSUFBSSxDd0JnQ3lELFVBQVU7RytDNUM1RTs7O0FBVkgsQUFBQSxtQkFBbUIsQ0FBb0I7RS9DNkNuQyxPQUFZLEV4QnBCVixJQUFJLEN3Qm9CMEMsVUFBVTtDK0MxQzdEOztBakQ0TEcsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRC9MaEMsQUFBQSxtQkFBbUIsQ0FBb0I7SS9Db0RqQyxPQUFZLEV4QjFCVixJQUFJLEN3QjBCMEMsVUFBVTtHK0NqRC9EOzs7QUFLQyxBQUFBLHVCQUF1QixDQUE4QjtFL0N1Q25ELFdBQTBCLEV4QnRCeEIsSUFBSSxDd0JzQnlELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEsdUJBQXVCLENBQThCO0kvQzhDakQsV0FBMEIsRXhCNUJ4QixJQUFJLEN3QjRCeUQsVUFBVTtHK0M1QzVFOzs7QUFGRCxBQUFBLHlCQUF5QixDQUE0QjtFL0N1Q25ELGFBQTBCLEV4QnRCeEIsSUFBSSxDd0JzQnlELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEseUJBQXlCLENBQTRCO0kvQzhDakQsYUFBMEIsRXhCNUJ4QixJQUFJLEN3QjRCeUQsVUFBVTtHK0M1QzVFOzs7QUFGRCxBQUFBLDBCQUEwQixDQUEyQjtFL0N1Q25ELGNBQTBCLEV4QnRCeEIsSUFBSSxDd0JzQnlELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEsMEJBQTBCLENBQTJCO0kvQzhDakQsY0FBMEIsRXhCNUJ4QixJQUFJLEN3QjRCeUQsVUFBVTtHK0M1QzVFOzs7QUFGRCxBQUFBLHdCQUF3QixDQUE2QjtFL0N1Q25ELFlBQTBCLEV4QnRCeEIsSUFBSSxDd0JzQnlELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEsd0JBQXdCLENBQTZCO0kvQzhDakQsWUFBMEIsRXhCNUJ4QixJQUFJLEN3QjRCeUQsVUFBVTtHK0M1QzVFOzs7QUFWSCxBQUFBLG1CQUFtQixDQUFvQjtFL0M2Q25DLE9BQVksRXhCaEJWLElBQUksQ3dCZ0IwQyxVQUFVO0MrQzFDN0Q7O0FqRDRMRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEL0xoQyxBQUFBLG1CQUFtQixDQUFvQjtJL0NvRGpDLE9BQVksRXhCdEJWLElBQUksQ3dCc0IwQyxVQUFVO0crQ2pEL0Q7OztBQUtDLEFBQUEsdUJBQXVCLENBQThCO0UvQ3VDbkQsV0FBMEIsRXhCbEJ4QixJQUFJLEN3QmtCeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx1QkFBdUIsQ0FBOEI7SS9DOENqRCxXQUEwQixFeEJ4QnhCLElBQUksQ3dCd0J5RCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEseUJBQXlCLENBQTRCO0UvQ3VDbkQsYUFBMEIsRXhCbEJ4QixJQUFJLEN3QmtCeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx5QkFBeUIsQ0FBNEI7SS9DOENqRCxhQUEwQixFeEJ4QnhCLElBQUksQ3dCd0J5RCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEsMEJBQTBCLENBQTJCO0UvQ3VDbkQsY0FBMEIsRXhCbEJ4QixJQUFJLEN3QmtCeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSwwQkFBMEIsQ0FBMkI7SS9DOENqRCxjQUEwQixFeEJ4QnhCLElBQUksQ3dCd0J5RCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEsd0JBQXdCLENBQTZCO0UvQ3VDbkQsWUFBMEIsRXhCbEJ4QixJQUFJLEN3QmtCeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx3QkFBd0IsQ0FBNkI7SS9DOENqRCxZQUEwQixFeEJ4QnhCLElBQUksQ3dCd0J5RCxVQUFVO0crQzVDNUU7OztBQVZILEFBQUEsbUJBQW1CLENBQW9CO0UvQzZDbkMsT0FBWSxFeEJaVixJQUFJLEN3QlkwQyxVQUFVO0MrQzFDN0Q7O0FqRDRMRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEL0xoQyxBQUFBLG1CQUFtQixDQUFvQjtJL0NvRGpDLE9BQVksRXhCbEJWLElBQUksQ3dCa0IwQyxVQUFVO0crQ2pEL0Q7OztBQUtDLEFBQUEsdUJBQXVCLENBQThCO0UvQ3VDbkQsV0FBMEIsRXhCZHhCLElBQUksQ3dCY3lELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEsdUJBQXVCLENBQThCO0kvQzhDakQsV0FBMEIsRXhCcEJ4QixJQUFJLEN3Qm9CeUQsVUFBVTtHK0M1QzVFOzs7QUFGRCxBQUFBLHlCQUF5QixDQUE0QjtFL0N1Q25ELGFBQTBCLEV4QmR4QixJQUFJLEN3QmN5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLHlCQUF5QixDQUE0QjtJL0M4Q2pELGFBQTBCLEV4QnBCeEIsSUFBSSxDd0JvQnlELFVBQVU7RytDNUM1RTs7O0FBRkQsQUFBQSwwQkFBMEIsQ0FBMkI7RS9DdUNuRCxjQUEwQixFeEJkeEIsSUFBSSxDd0JjeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSwwQkFBMEIsQ0FBMkI7SS9DOENqRCxjQUEwQixFeEJwQnhCLElBQUksQ3dCb0J5RCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEsd0JBQXdCLENBQTZCO0UvQ3VDbkQsWUFBMEIsRXhCZHhCLElBQUksQ3dCY3lELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEsd0JBQXdCLENBQTZCO0kvQzhDakQsWUFBMEIsRXhCcEJ4QixJQUFJLEN3Qm9CeUQsVUFBVTtHK0M1QzVFOzs7QUFWSCxBQUFBLG1CQUFtQixDQUFvQjtFL0M2Q25DLE9BQVksRXhCUlYsSUFBSSxDd0JRMEMsVUFBVTtDK0MxQzdEOztBakQ0TEcsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRC9MaEMsQUFBQSxtQkFBbUIsQ0FBb0I7SS9Db0RqQyxPQUFZLEV4QmRWLElBQUksQ3dCYzBDLFVBQVU7RytDakQvRDs7O0FBS0MsQUFBQSx1QkFBdUIsQ0FBOEI7RS9DdUNuRCxXQUEwQixFeEJWeEIsSUFBSSxDd0JVeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx1QkFBdUIsQ0FBOEI7SS9DOENqRCxXQUEwQixFeEJoQnhCLElBQUksQ3dCZ0J5RCxVQUFVO0crQzVDNUU7OztBQUZELEFBQUEseUJBQXlCLENBQTRCO0UvQ3VDbkQsYUFBMEIsRXhCVnhCLElBQUksQ3dCVXlELFVBQVU7QytDckMxRTs7QWpEcUxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUR2TDlCLEFBQUEseUJBQXlCLENBQTRCO0kvQzhDakQsYUFBMEIsRXhCaEJ4QixJQUFJLEN3QmdCeUQsVUFBVTtHK0M1QzVFOzs7QUFGRCxBQUFBLDBCQUEwQixDQUEyQjtFL0N1Q25ELGNBQTBCLEV4QlZ4QixJQUFJLEN3QlV5RCxVQUFVO0MrQ3JDMUU7O0FqRHFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlEdkw5QixBQUFBLDBCQUEwQixDQUEyQjtJL0M4Q2pELGNBQTBCLEV4QmhCeEIsSUFBSSxDd0JnQnlELFVBQVU7RytDNUM1RTs7O0FBRkQsQUFBQSx3QkFBd0IsQ0FBNkI7RS9DdUNuRCxZQUEwQixFeEJWeEIsSUFBSSxDd0JVeUQsVUFBVTtDK0NyQzFFOztBakRxTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpRHZMOUIsQUFBQSx3QkFBd0IsQ0FBNkI7SS9DOENqRCxZQUEwQixFeEJoQnhCLElBQUksQ3dCZ0J5RCxVQUFVO0crQzVDNUU7OztBQzNDSCxBQUFBLHNCQUFzQixDQUFPO0UvQ29JM0IsU0FBUyxFckI1RUUsSUFBSSxDcUJ1RXNCLFVBQVU7RUFTL0MsV0FBVyxFQXBFQyxPQUF5QixDQTZESSxVQUFVO0MrQy9IcEQ7O0FsRDhORyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWtEaE9oQyxBQUFBLHNCQUFzQixDQUFPO0kvQ2dKekIsU0FBUyxFckJwRkEsSUFBSSxDcUJtRXNCLFVBQVU7SUFxQjdDLFdBQVcsRUFoRkQsQ0FBeUIsQ0E2REksVUFBVTtHK0MvSHBEOzs7QWxEOE5HLE1BQU0sQ0FBQyxLQUFLO0VrRGhPaEIsQUFBQSxzQkFBc0IsQ0FBTztJL0MySXpCLFNBQVMsRXJCM0VBLElBQUksQ3FCK0RzQixVQUFVO0lBYTdDLFdBQVcsRXJCM0VBLEdBQUcsQ3FCZ0V5QixVQUFVO0crQy9IcEQ7OztBQUZELEFBQUEsc0JBQXNCLENBQU87RS9Db0kzQixTQUFTLEVyQjlERSxJQUFJLENxQnlEc0IsVUFBVTtFQVMvQyxXQUFXLEVBcEVDLE9BQXlCLENBNkRJLFVBQVU7QytDL0hwRDs7QWxEOE5HLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFa0RoT2hDLEFBQUEsc0JBQXNCLENBQU87SS9DZ0p6QixTQUFTLEVyQnRFQSxJQUFJLENxQnFEc0IsVUFBVTtJQXFCN0MsV0FBVyxFQWhGRCxPQUF5QixDQTZESSxVQUFVO0crQy9IcEQ7OztBbEQ4TkcsTUFBTSxDQUFDLEtBQUs7RWtEaE9oQixBQUFBLHNCQUFzQixDQUFPO0kvQzJJekIsU0FBUyxFckI3REEsSUFBSSxDcUJpRHNCLFVBQVU7SUFhN0MsV0FBVyxFckI3REEsSUFBSSxDcUJrRHdCLFVBQVU7RytDL0hwRDs7O0FBRkQsQUFBQSxzQkFBc0IsQ0FBTztFL0NvSTNCLFNBQVMsRXJCaERFLElBQUksQ3FCMkNzQixVQUFVO0VBUy9DLFdBQVcsRUFwRUMsT0FBeUIsQ0E2REksVUFBVTtDK0MvSHBEOztBbEQ4TkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VrRGhPaEMsQUFBQSxzQkFBc0IsQ0FBTztJL0NnSnpCLFNBQVMsRXJCeERBLElBQUksQ3FCdUNzQixVQUFVO0lBcUI3QyxXQUFXLEVBaEZELE9BQXlCLENBNkRJLFVBQVU7RytDL0hwRDs7O0FsRDhORyxNQUFNLENBQUMsS0FBSztFa0RoT2hCLEFBQUEsc0JBQXNCLENBQU87SS9DMkl6QixTQUFTLEVyQi9DQSxJQUFJLENxQm1Dc0IsVUFBVTtJQWE3QyxXQUFXLEVyQi9DQSxJQUFJLENxQm9Dd0IsVUFBVTtHK0MvSHBEOzs7QUFGRCxBQUFBLHNCQUFzQixDQUFPO0UvQ29JM0IsU0FBUyxFckJsQ0UsSUFBSSxDcUI2QnNCLFVBQVU7RUFTL0MsV0FBVyxFQXBFQyxPQUF5QixDQTZESSxVQUFVO0MrQy9IcEQ7O0FsRDhORyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWtEaE9oQyxBQUFBLHNCQUFzQixDQUFPO0kvQ2dKekIsU0FBUyxFckIxQ0EsSUFBSSxDcUJ5QnNCLFVBQVU7SUFxQjdDLFdBQVcsRUFoRkQsT0FBeUIsQ0E2REksVUFBVTtHK0MvSHBEOzs7QWxEOE5HLE1BQU0sQ0FBQyxLQUFLO0VrRGhPaEIsQUFBQSxzQkFBc0IsQ0FBTztJL0MySXpCLFNBQVMsRXJCakNBLElBQUksQ3FCcUJzQixVQUFVO0lBYTdDLFdBQVcsRXJCakNBLElBQUksQ3FCc0J3QixVQUFVO0crQy9IcEQ7OztBQUZELEFBQUEsc0JBQXNCLENBQU87RS9Db0kzQixTQUFTLEVyQnBCRSxJQUFJLENxQmVzQixVQUFVO0VBUy9DLFdBQVcsRUFwRUMsT0FBeUIsQ0E2REksVUFBVTtDK0MvSHBEOztBbEQ4TkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VrRGhPaEMsQUFBQSxzQkFBc0IsQ0FBTztJL0NnSnpCLFNBQVMsRXJCNUJBLElBQUksQ3FCV3NCLFVBQVU7SUFxQjdDLFdBQVcsRUFoRkQsSUFBeUIsQ0E2REksVUFBVTtHK0MvSHBEOzs7QWxEOE5HLE1BQU0sQ0FBQyxLQUFLO0VrRGhPaEIsQUFBQSxzQkFBc0IsQ0FBTztJL0MySXpCLFNBQVMsRXJCbkJBLElBQUksQ3FCT3NCLFVBQVU7SUFhN0MsV0FBVyxFckJuQkEsSUFBSSxDcUJRd0IsVUFBVTtHK0MvSHBEOzs7QUFGRCxBQUFBLHNCQUFzQixDQUFPO0UvQ29JM0IsU0FBUyxFckJORSxJQUFJLENxQkNzQixVQUFVO0VBUy9DLFdBQVcsRUFwRUMsSUFBeUIsQ0E2REksVUFBVTtDK0MvSHBEOztBbEQ4TkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VrRGhPaEMsQUFBQSxzQkFBc0IsQ0FBTztJL0NnSnpCLFNBQVMsRXJCZEEsSUFBSSxDcUJIc0IsVUFBVTtJQXFCN0MsV0FBVyxFQWhGRCxPQUF5QixDQTZESSxVQUFVO0crQy9IcEQ7OztBbEQ4TkcsTUFBTSxDQUFDLEtBQUs7RWtEaE9oQixBQUFBLHNCQUFzQixDQUFPO0kvQzJJekIsU0FBUyxFckJMQSxJQUFJLENxQlBzQixVQUFVO0lBYTdDLFdBQVcsRXJCTEEsSUFBSSxDcUJOd0IsVUFBVTtHK0MvSHBEOzs7QUFGRCxBQUFBLHNCQUFzQixDQUFPO0UvQ29JM0IsU0FBUyxFckJRRSxJQUFJLENxQmJzQixVQUFVO0VBUy9DLFdBQVcsRUFwRUMsT0FBeUIsQ0E2REksVUFBVTtDK0MvSHBEOztBbEQ4TkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VrRGhPaEMsQUFBQSxzQkFBc0IsQ0FBTztJL0NnSnpCLFNBQVMsRXJCQUEsSUFBSSxDcUJqQnNCLFVBQVU7SUFxQjdDLFdBQVcsRUFoRkQsSUFBeUIsQ0E2REksVUFBVTtHK0MvSHBEOzs7QWxEOE5HLE1BQU0sQ0FBQyxLQUFLO0VrRGhPaEIsQUFBQSxzQkFBc0IsQ0FBTztJL0MySXpCLFNBQVMsRXJCU0EsSUFBSSxDcUJyQnNCLFVBQVU7SUFhN0MsV0FBVyxFckJTQSxHQUFHLENxQnBCeUIsVUFBVTtHK0MvSHBEOzs7QUFGRCxBQUFBLHNCQUFzQixDQUFPO0UvQ29JM0IsU0FBUyxFckJzQkUsSUFBSSxDcUIzQnNCLFVBQVU7RUFTL0MsV0FBVyxFQXBFQyxJQUF5QixDQTZESSxVQUFVO0MrQy9IcEQ7O0FsRDhORyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWtEaE9oQyxBQUFBLHNCQUFzQixDQUFPO0kvQ2dKekIsU0FBUyxFckJjQSxJQUFJLENxQi9Cc0IsVUFBVTtJQXFCN0MsV0FBVyxFQWhGRCxPQUF5QixDQTZESSxVQUFVO0crQy9IcEQ7OztBbEQ4TkcsTUFBTSxDQUFDLEtBQUs7RWtEaE9oQixBQUFBLHNCQUFzQixDQUFPO0kvQzJJekIsU0FBUyxFckJ1QkEsSUFBSSxDcUJuQ3NCLFVBQVU7SUFhN0MsV0FBVyxFckJ1QkEsR0FBRyxDcUJsQ3lCLFVBQVU7RytDL0hwRDs7O0FBS0gsQUFBQSw2QkFBNkIsQ0FBQztFL0NxQzlCLFdBQVcsRXRCVGUsR0FBRyxDc0JTMkIsVUFBVTtDK0NuQ2pFOztBQUVELEFBQUEsMEJBQTBCLENBQUM7RS9DMkMzQixXQUFXLEV0QmJZLEdBQUcsQ3NCYTJCLFVBQVU7QytDekM5RDs7QUNsQkQsQUFBQSw4QkFBOEIsQ0FBQztFQUM3QixLQUFLLEVBQUUsZUFBZTtDQUt2Qjs7QW5EK05LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFbURyT2xDLEFBQUEsOEJBQThCLENBQUM7SUFJM0IsS0FBSyxFQUFFLGNBQWM7R0FFeEI7OztBQUVELEFBQUEsMEJBQTBCLENBQUM7RUFDekIsS0FBSyxFQUFFLGVBQWU7Q0FLdkI7O0FuRHVOSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RW1EN05sQyxBQUFBLDBCQUEwQixDQUFDO0lBSXZCLEtBQUssRUFBRSxpQkFBaUI7R0FFM0I7OztBQUVELEFBQUEsd0JBQXdCLENBQUM7RUFDdkIsS0FBSyxFQUFFLGVBQWU7Q0FLdkI7O0FuRCtNSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RW1Eck5sQyxBQUFBLHdCQUF3QixDQUFDO0lBSXJCLEtBQUssRUFBRSxjQUFjO0dBRXhCOzs7QUFFRCxBQUFBLHlCQUF5QixDQUFDO0VBQ3hCLEtBQUssRUFBRSxlQUFlO0NBS3ZCOztBbkR1TUssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VtRDdNbEMsQUFBQSx5QkFBeUIsQ0FBQztJQUl0QixLQUFLLEVBQUUsaUJBQWlCO0dBRTNCOzs7QUFFRCxBQUFBLDJCQUEyQixDQUFDO0VBQzFCLEtBQUssRUFBRSxlQUFlO0NBS3ZCOztBbkQrTEssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VtRHJNbEMsQUFBQSwyQkFBMkIsQ0FBQztJQUl4QixLQUFLLEVBQUUsY0FBYztHQUV4Qjs7O0FDdkNILEFBQUEsa0JBQWtCLENBQUM7RWpEZWpCLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUFpQ2xDLFdBQVcsRXRCVGUsR0FBRztFc0JpR3pCLFNBQVMsRXJCUUUsSUFBSTtFcUJKZixXQUFXLEVBcEVDLE9BQXlCO0VBdEN6QyxLQUFLLEU3Qk5JLE9BQU87RThFMUJoQixVQUFVLEVBQUUsVUFBVTtFQUN0QixLQUFLLEVBQUUsSUFBSTtFQUVYLFdBQVcsRTFFT1IsSUFBSTtFMEVOUCxhQUFhLEUxRU1WLElBQUk7RTBFTFAsY0FBYyxFMUVLWCxJQUFJO0UwRUpQLFlBQVksRTFFSVQsSUFBSTtFMEVIUCxnQkFBZ0IsRUFBRSxPQUE0RDtDQUMvRTs7QXBEME5PLE1BQU0sQ0FBQyxLQUFLO0VvRHRPcEIsQUFBQSxrQkFBa0IsQ0FBQztJakR5QmYsV0FBVyxFdEJJVyxVQUFVO0d1RWpCbkM7OztBcEQwTk8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VvRHRPcEMsQUFBQSxrQkFBa0IsQ0FBQztJakRzSlgsU0FBUyxFckJBQSxJQUFJO0lxQkliLFdBQVcsRUFoRkQsSUFBeUI7R2lEOUQxQzs7O0FwRDBOTyxNQUFNLENBQUMsS0FBSztFb0R0T3BCLEFBQUEsa0JBQWtCLENBQUM7SWpEaUpYLFNBQVMsRXJCU0EsSUFBSTtJcUJSYixXQUFXLEVyQlNBLEdBQUc7R3NFL0lyQjs7O0FwRDBOTyxNQUFNLENBQUMsS0FBSztFb0R0T3BCLEFBQUEsa0JBQWtCLENBQUM7SWpEdUNmLEtBQUssRTNCVWlCLE9BQU87RzRFckNoQzs7O0FBWkQsQUFBQSxrQkFBa0IsQ0FjQztFQUNqQixPQUFPLEVBQUUsSUFBSTtDQUNkOztBQUVELEFBQUEsMkJBQTJCLENBQUM7RUFDMUIsTUFBTSxFQUFFLENBQUM7RXBDakJULFNBQVMsRXJDYVEsS0FBSztFcUNOdEIsTUFBTSxFQUFFLENBQUMsQ3JDb0JTLElBQWlCO0N5RVJwQzs7QXBEaU5PLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFb0RwTnBDLEFBQUEsMkJBQTJCLENBQUM7SXBDTHhCLE1BQU0sRUFBRSxDQUFDLENyQ1NFLElBQUk7R3lFRGxCOzs7QXBEaU5PLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFb0RwTmpDLEFBQUEsMkJBQTJCLENBQUM7SXBDQ3hCLE1BQU0sRUFBRSxNQUFNO0dvQ0VqQjs7O0FwRGlOTyxNQUFNLENBQUMsS0FBSztFb0R0T3BCLEFBQUEsa0JBQWtCLENBd0JHO0lBQ2pCLE9BQU8sRUFBRSxlQUFlO0dBQ3pCOzs7QUMxQkgsQUFBQSxjQUFjLENBQUM7RUFDYixhQUFhLEVBQUUsbUJBQW1CO0VBQ2xDLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLElBQUk7RUFDaEIsYUFBYSxFQUFFLElBQUk7Q0FDcEI7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixXQUFXLEVBQUUsSUFBSTtDQUNsQjs7QUFFRCxBQUFBLFdBQVcsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFVBQVUsRUFBRSxNQUFNO0NBQ25COztBQUVELEFBQUEsU0FBUyxBQUFBLFFBQVEsQ0FBQztFQUNoQixPQUFPLEVBQUUsWUFBWTtFQUNyQixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsQ0FBQztFQUNWLEdBQUcsRUFBRSxHQUFHO0VBQ1IsSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsQ0FBQztFQUNSLFNBQVMsRUFBRSxJQUFJO0VBQ2YsVUFBVSxFQUFFLElBQUk7Q0FDakI7O0FBRUQsQUFBQSxTQUFTLENBQUM7RUFDUixPQUFPLEVBQUUsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0NBQ25COztBQUVELEFBQUEsU0FBUyxDQUFDLEdBQUcsQ0FBQztFQUNaLE9BQU8sRUFBRSxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVE7Q0FDbkI7O0FBRUQsQUFBQSxZQUFZLENBQUM7RUFDWCxPQUFPLEVBQUUsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osV0FBVyxFQUFFLElBQUk7RUFDakIsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QixrQkFBa0IsRUFBRSx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBRSxJQUFHO0VBQzVELFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBRSxJQUFHO0VBQ3BELHNCQUFzQixFQUFFLEdBQUc7RUFDM0IsdUJBQXVCLEVBQUUsR0FBRztFQUM1QiwwQkFBMEIsRUFBRSxHQUFHO0VBQy9CLHlCQUF5QixFQUFFLEdBQUc7RUFDOUIsTUFBTSxFQUFFLE9BQU87RUFDZixnQkFBZ0IsRUFBRSxLQUFrQjtFQUNwQyxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0NBQ2I7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDYixnQkFBZ0IsRUFBRSxXQUFXO0VBQzdCLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsR0FBRztFQUNYLE1BQU0sRUFBRSxHQUFHO0VBQ1gsT0FBTyxFQUFFLEdBQUc7RUFDWixRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsT0FBTztFQUNmLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLG1CQUFtQixFQUFFLElBQUk7RUFDekIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLEdBQUcsRUFBRSxHQUFHO0VBQ1IsSUFBSSxFQUFFLEdBQUc7RUFDVCxtQkFBbUIsRUFBRSxlQUFlO0VBQ3BDLGlCQUFpQixFQUFFLGVBQWU7Q0FDbkM7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixRQUFRLEVBQUUsTUFBTTtFQUNoQixLQUFLLEVBQUUsR0FBRztFQUNWLE1BQU0sRUFBRSxHQUFHO0VBQ1gsSUFBSSxFQUFFLEdBQUc7RUFDVCxnQkFBZ0IsRUFBRSxPQUFrQjtFQUNwQyxHQUFHLEVBQUUsR0FBRztDQUNUOztBQUVELEFBQUEsZUFBZTtBQUNmLGNBQWMsQ0FBQztFQUNiLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFdBQVcsRUFBRSxJQUFJO0NBQ2xCOztBQUVELEFBQUEsZUFBZSxBQUFBLFFBQVEsQ0FBQztFQUN0QixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsRUFBRTtFQUNYLFVBQVUsRUFBRSxXQUFXLENBQUMsbUNBQW1DLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQ3pFLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixlQUFlLEVBQUUsR0FBRztFQUNwQixJQUFJLEVBQUUsS0FBSztFQUNYLEdBQUcsRUFBRSxHQUFHO0NBQ1Q7O0FBRUQsQUFBQSxjQUFjLEFBQUEsUUFBUSxDQUFDO0VBQ3JCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsVUFBVSxFQUFFLFdBQVcsQ0FBQyxnQ0FBZ0MsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFDdEUsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLGVBQWUsRUFBRSxHQUFHO0VBQ3BCLElBQUksRUFBRSxLQUFLO0VBQ1gsR0FBRyxFQUFFLENBQ1A7Q0FBQzs7QUNySEQsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixLQUFLLEVBQUUsSUFBSTtDQUNaOztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ2IsV0FBVyxFQUFFLHdCQUF3QjtFQUNyQyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUFDbEMsV0FBVyxFQUFFLEdBQUc7RUFDaEIsU0FBUyxFQUFFLElBQUk7RUFDZixPQUFPLEVBQUUsS0FBSztFQUNkLE1BQU0sRUFBRSxPQUFPO0NBQ2hCOztBQUVELEFBQUEsY0FBYyxBQUFBLE1BQU07QUFDcEIsVUFBVSxDQUFDO0VBQ1QsZ0JBQWdCLEVBQUUsT0FBTztDQUMxQjs7QUFFRCxBQUFBLFFBQVEsQ0FBQztFQUNQLEtBQUssRUFBRSxJQUFJO0VBQ1gsZ0JBQWdCLEVBQUUsS0FBSztFQUN2QixNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLFVBQVUsRUFBRSxpQkFBaUI7Q0FDOUI7O0FBRUQsQUFBQSxRQUFRLENBQUM7RUFDUCxVQUFVLEVBQUUsaUJBQWlCO0NBQzlCOztBQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUFDakMsQUFBQSxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2QsS0FBSyxFQUFFLEdBQUc7R0FDWDs7O0FBR0gsQUFBQSxhQUFhLENBQUM7RUFDWixXQUFXLEVBQUUsSUFBSTtDQUNsQjs7QUNqQ0QsQUFBQSxhQUFhLENBQUM7RUFDWixVQUFVLEU3RU9QLElBQUk7QzZFRlI7O0F2RDJOTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXVEak9wQyxBQUFBLGFBQWEsQ0FBQztJQUlWLFVBQVUsRUFBRSxJQUF3QjtHQUV2Qzs7O0FBRUQsQUFBQSxxQkFBcUIsQ0FBQztFQUNwQixPQUFPLEVBQUUsS0FBSztFcERDZCxXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBaUNsQyxXQUFXLEV0QlRlLEdBQUc7RXNCaUd6QixTQUFTLEVyQk5FLElBQUk7RXFCVWYsV0FBVyxFQXBFQyxJQUF5QjtFb0QxRHpDLGFBQWEsRUFBRSxJQUFJO0VBQ25CLGNBQWMsRUFBRSxTQUFzQjtDQUN2Qzs7QXZEb05PLE1BQU0sQ0FBQyxLQUFLO0V1RHpOcEIsQUFBQSxxQkFBcUIsQ0FBQztJcERZbEIsV0FBVyxFdEJJVyxVQUFVO0cwRVhuQzs7O0F2RG9OTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXVEek5wQyxBQUFBLHFCQUFxQixDQUFDO0lwRHlJZCxTQUFTLEVyQmRBLElBQUk7SXFCa0JiLFdBQVcsRUFoRkQsT0FBeUI7R29EeEQxQzs7O0F2RG9OTyxNQUFNLENBQUMsS0FBSztFdUR6TnBCLEFBQUEscUJBQXFCLENBQUM7SXBEb0lkLFNBQVMsRXJCTEEsSUFBSTtJcUJNYixXQUFXLEVyQkxBLElBQUk7R3lFM0h0Qjs7O0FBRUQsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixhQUFhLEU3RVJWLElBQUk7QzZFYVI7O0F2RDRNTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXVEbE5wQyxBQUFBLG1CQUFtQixDQUFDO0lBSWhCLGFBQWEsRUFBRSxJQUFzQjtHQUV4Qzs7O0FBRUQsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixXQUFXLEU3RWhCUixJQUFJO0U2RWlCUCxjQUFjLEU3RWpCWCxJQUFJO0M2RW1CUjs7QUFKRCxBOURuQkUsa0I4RG1CZ0IsQTlEbkJmLE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSTtDQUNaOztBOERxQkgsQUFBQSxrQkFBa0IsQUFBQSxZQUFZLENBQUM7RUFDN0IsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENqRkxaLE9BQU87Q2lGTWpCOztBQUVELEFBQUEsaUJBQWlCLENBQUM7RUFFaEIsS0FBSyxFQUFFLElBQUk7RXBEekJYLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUFpQ2xDLFdBQVcsRXRCVGUsR0FBRztFc0JpR3pCLFNBQVMsRXJCcEJFLElBQUk7RXFCd0JmLFdBQVcsRUFwRUMsT0FBeUI7RW9EaEN6QyxNQUFNLEVBQUUsQ0FBQztDQUNWOztBQUxELEExRGlERSxpQjBEakRlLEMxRGlEZiw2QkFBNkIsQ0FBUjtFQUNuQixrQkFBa0IsRUFBRSxVQUFVO0VBQ3RCLFVBQVUsRUFBRSxVQUFVO0VBRTVCLEtBQUssRUFBRSxJQUFJO0VBRWIsT0FBTyxFQUFFLENBQUMsQ2xCaEVNLElBQWlCO0NrQnFFbEM7O0FHb0lLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFdURoTXBDLEExRGlERSxpQjBEakRlLEMxRGlEZiw2QkFBNkIsQ0FBUjtJQVFqQixLQUFLLEVBbEZHLFFBQVE7SUFtRmhCLEtBQUssRUFYb0MsSUFBSTtHQWFoRDs7O0FHb0lLLE1BQU0sQ0FBQyxLQUFLO0V1RGhNcEIsQUFBQSxpQkFBaUIsQ0FBQztJcERiZCxXQUFXLEV0QklXLFVBQVU7RzBFY25DOzs7QXZEMkxPLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFdURoTXBDLEFBQUEsaUJBQWlCLENBQUM7SXBEZ0hWLFNBQVMsRXJCNUJBLElBQUk7SXFCZ0NiLFdBQVcsRUFoRkQsSUFBeUI7R29EL0IxQzs7O0F2RDJMTyxNQUFNLENBQUMsS0FBSztFdURoTXBCLEFBQUEsaUJBQWlCLENBQUM7SXBEMkdWLFNBQVMsRXJCbkJBLElBQUk7SXFCb0JiLFdBQVcsRXJCbkJBLElBQUk7R3lFcEZ0Qjs7O0FBRUQsQUFBQSx3QkFBd0IsQ0FBQztFQUN2QixLQUFLLEVBQUUsS0FBSztFQUNaLFlBQVksRUFBRSxDQUFDO0VBQ2YsV0FBVyxFQUFFLEdBQUc7Q0FDakI7O0FBRUQsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixVQUFVLEVBQUUsSUFBSTtDQW9EakI7O0F2RDhITyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXVEbkxwQyxBQUFBLGtCQUFrQixDQUFDO0lBSWYsT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsSUFBSTtHQWdEZDs7O0FBckRELEFBUUUsa0JBUmdCLEdBUWQsQ0FBQyxDQUFDO0VBQ0YsUUFBUSxFQUFFLFFBQVE7Q0FxQm5COztBdkRxSkssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0V1RG5McEMsQUFRRSxrQkFSZ0IsR0FRZCxDQUFDLENBQUM7SUFJQSxPQUFPLEVBQUUsU0FBUztHQWtCckI7OztBQTlCSCxBQWVJLGtCQWZjLEdBUWQsQ0FBQyxHQU9DLENBQUMsQ0FBQztFQUNGLE9BQU8sRUFBRSxLQUFLO0NBT2Y7O0F2RDRKRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXVEbkxwQyxBQWVJLGtCQWZjLEdBUWQsQ0FBQyxHQU9DLENBQUMsQ0FBQztJQUlBLE9BQU8sRUFBRSxVQUFVO0lBQ25CLE9BQU8sRUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sRUFBRSxDQUFDO0dBRVo7OztBdkQ0SkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0V1RG5McEMsQUEwQk0sa0JBMUJZLEdBUWQsQ0FBQyxBQWtCRSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLFdBQVcsRUFBRSxDQUFDO0dBQ2Y7OztBQTVCUCxBQWdDRSxrQkFoQ2dCLENBZ0NoQixrQkFBa0IsQ0FBQztFQUNqQixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxLQUFLO0VBQ2QsV0FBVyxFQUFFLElBQUk7RUFDakIsY0FBYyxFQUFFLEdBQUc7Q0FDcEI7O0FBckNILEFBdUNFLGtCQXZDZ0IsR0F1Q2QsQ0FBQyxBQUFBLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQztFQUNqQyxVQUFVLEVBQUUsQ0FBQztDQUNkOztBQXpDSCxBQTJDRSxrQkEzQ2dCLENBMkNoQixrQkFBa0IsQ0FBQztFQUNqQixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFQUFFLENBQUM7RUFDVixhQUFhLEVBQUUsSUFBSTtDQUtwQjs7QUFwREgsQUFpREksa0JBakRjLENBaURiLHlCQUFPLENBQUM7RUFDUCxLQUFLLEVqRnRFQyxPQUFPO0NpRnVFZDs7QUN0R0wsQUFBQSxzQkFBc0IsQ0FBQztFQUVyQixZQUFZLEVsRnVCSCxPQUFPO0NrRmxCakI7O0FBUEQsQUFJRSxzQkFKb0IsQ0FJcEIsQ0FBQyxBQUFBLFdBQVcsQ0FBQztFQUNYLGFBQWEsRUFBRSxDQUFDO0NBQ2pCOztBQ3dCSCxBQTlCQSx3QkE4QndCLENBOUJDO0VBRXZCLFVBQVUsRUFBRSxDQUFDO0NBQ2Q7O0FBMkJELEFoRXJCRSx3QmdFcUJzQixBaEVyQnJCLE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSTtDQUNaOztBZ0VpQkgsQUF6QkEsd0JBeUJ3QixHQXpCRyxFQUFFLENBQUM7RXREVTVCLFdBQVcsRXZCTFcsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1Qk05QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUF5SDlCLFNBQVMsRXJCTkUsSUFBSTtFcUJVZixXQUFXLEVBcEVDLElBQXlCO0VzRG5FekMsY0FBYyxFQUFFLEdBQUc7Q0FNcEI7O0F6RHlOTyxNQUFNLENBQUMsS0FBSztFeUR4TXBCLEFBekJBLHdCQXlCd0IsR0F6QkcsRUFBRSxDQUFDO0l0RG9CMUIsV0FBVyxFdEJJVyxVQUFVO0c0RWhCbkM7OztBekR5Tk8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0V5RHhNcEMsQUF6QkEsd0JBeUJ3QixHQXpCRyxFQUFFLENBQUM7SXREaUp0QixTQUFTLEVyQmRBLElBQUk7SXFCa0JiLFdBQVcsRUFoRkQsT0FBeUI7R3NEN0QxQzs7O0F6RHlOTyxNQUFNLENBQUMsS0FBSztFeUR4TXBCLEFBekJBLHdCQXlCd0IsR0F6QkcsRUFBRSxDQUFDO0l0RDRJdEIsU0FBUyxFckJMQSxJQUFJO0lxQk1iLFdBQVcsRXJCTEEsSUFBSTtHMkVoSXRCOzs7QXpEeU5PLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFeUR4TXBDLEFBekJBLHdCQXlCd0IsR0F6QkcsRUFBRSxDQUFDO0lBSzFCLEtBQUssRUFBRSxJQUFJO0lBQ1gsS0FBSyxFQUFFLE1BQU07R0FFaEI7OztBQWlCRCxBQWZBLHdCQWV3QixHQWZHLEVBQUUsQ0FBQztFdERBNUIsV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQXlIOUIsU0FBUyxFckJORSxJQUFJO0VxQlVmLFdBQVcsRUFwRUMsSUFBeUI7RXNEekR6QyxjQUFjLEVBQUUsR0FBRztFQUNuQixNQUFNLEVBQUUsQ0FBQztDQVVWOztBekQwTU8sTUFBTSxDQUFDLEtBQUs7RXlEeE1wQixBQWZBLHdCQWV3QixHQWZHLEVBQUUsQ0FBQztJdERVMUIsV0FBVyxFdEJJVyxVQUFVO0c0RURuQzs7O0F6RDBNTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXlEeE1wQyxBQWZBLHdCQWV3QixHQWZHLEVBQUUsQ0FBQztJdER1SXRCLFNBQVMsRXJCZEEsSUFBSTtJcUJrQmIsV0FBVyxFQWhGRCxPQUF5QjtHc0Q5QzFDOzs7QXpEME1PLE1BQU0sQ0FBQyxLQUFLO0V5RHhNcEIsQUFmQSx3QkFld0IsR0FmRyxFQUFFLENBQUM7SXREa0l0QixTQUFTLEVyQkxBLElBQUk7SXFCTWIsV0FBVyxFckJMQSxJQUFJO0cyRWpIdEI7OztBekQwTU8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0V5RHhNcEMsQUFmQSx3QkFld0IsR0FmRyxFQUFFLENBQUM7SUFNMUIsS0FBSyxFQUFFLElBQUk7SUFDWCxLQUFLLEVBQUUsTUFBTTtHQU1oQjs7O0FBRUQsQUFMRSx3QkFLc0IsR0FmRyxFQUFFLENBVTNCLGNBQWMsQ0FBQztFQUNiLGFBQWEsRUFBRSxDQUFDO0NBQ2pCOztBQU1BLEFBQUQsK0JBQVEsQUFBQSxNQUFNLENBQUM7RUFDYixPQUFPLEVBQUUsR0FBRztFQUNaLE9BQU8sRUFBRSxZQUFZO0NBQ3RCOztBQ3BDSCxBQUFBLFlBQVksQ0FBQztFdkRlWCxXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBaUNsQyxXQUFXLEV0QlRlLEdBQUc7RXNCaUd6QixTQUFTLEVyQk5FLElBQUk7RXFCVWYsV0FBVyxFQXBFQyxJQUF5QjtFRFluQyxhQUEwQixFeEI5QnhCLElBQUk7RWdGckRaLGdCQUFnQixFcEY4Qk4sT0FBTztFb0Y3QmpCLE9BQU8sRUFBRSxHQUFHO0NBeUNiOztBMUR5TE8sTUFBTSxDQUFDLEtBQUs7RTBEdE9wQixBQUFBLFlBQVksQ0FBQztJdkR5QlQsV0FBVyxFdEJJVyxVQUFVO0c2RWdCbkM7OztBMUR5TE8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwRHRPcEMsQUFBQSxZQUFZLENBQUM7SXZEc0pMLFNBQVMsRXJCZEEsSUFBSTtJcUJrQmIsV0FBVyxFQWhGRCxPQUF5QjtHdUQ3QjFDOzs7QTFEeUxPLE1BQU0sQ0FBQyxLQUFLO0UwRHRPcEIsQUFBQSxZQUFZLENBQUM7SXZEaUpMLFNBQVMsRXJCTEEsSUFBSTtJcUJNYixXQUFXLEVyQkxBLElBQUk7RzRFaEd0Qjs7O0ExRHlMTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBEdE9wQyxBQUFBLFlBQVksQ0FBQztJeEQ2RkgsYUFBMEIsRXhCcEN4QixJQUFJO0dnRlpmOzs7QUF2Q0UsQUFBRCxtQkFBUSxDQUFDO0VBQ1AsYUFBYSxFQUFFLEdBQUc7Q0FDbkI7O0FBRUEsQUFBRCxtQkFBUSxDQUFDO0VBQ1AsZ0JBQWdCLEVwRndCVCxPQUFPO0VvRnZCZCxhQUFhLEVBQUUsR0FBRztFQUNsQixPQUFPLEVBQUUsR0FBRztFQUNaLGNBQWMsRUFBRSxHQUFHO0NBQ3BCOztBQUVBLEFBQUQseUJBQWMsQ0FBQztFQUViLGFBQWEsRUFBRSxHQUFHO0NBWW5COztBQWRBLEFBSUMseUJBSlksQ0FJWixFQUFFLENBQUM7RUFDRCxnQkFBZ0IsRXBGYVgsT0FBTztFb0ZaWixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3BGU2xCLE9BQU87RW9GUmIsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsR0FBRztDQUtiOztBQWJGLEFBVUcseUJBVlUsQ0FJWixFQUFFLEFBTUMsV0FBVyxDQUFDO0VBQ1gsTUFBTSxFQUFFLElBQUk7Q0FDYjs7QUE3QlAsQUFpQ0UsWUFqQ1UsQ0FpQ1YsWUFBWSxDQUFDO0VBQ1gsVUFBVSxFcEZDSCxPQUFPO0VvRkFkLGFBQWEsRUFBRSxHQUFHO0NBQ25COztBQXBDSCxBQXNDRSxZQXRDVSxDQXNDVixhQUFhLENBQUM7RUFDWixhQUFhLEVBQUUsR0FBRztDQUNuQjs7QUF4Q0gsQUEwQ0UsWUExQ1UsQ0EwQ1YsV0FBVyxDQUFDLEVBQUUsQUFBQSxXQUFXLENBQUM7RUFDeEIsYUFBYSxFQUFFLENBQUM7Q0FDakI7O0FDNUNILEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxVQUFVLEVBQUUsSUFBSTtFQUNoQixhQUFhLEVBQUUsSUFBSTtFQUNuQixXQUFXLEVBQUUsS0FBSztFQUNsQixZQUFZLEVBQUUsS0FDaEI7Q0FBQzs7QUFFRCxBQUFBLHVCQUF1QixDQUFDO0VBQ3RCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQ1g7Q0FBQzs7QUFFRCxBQUFBLHVCQUF1QixBQUFBLE1BQU0sQ0FBQztFQUM1QixPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLElBQ1Q7Q0FBQzs7QUFFRCxBQUFBLHVCQUF1QixDQUFDO0VBQ3RCLFdBQVcsRUFBRSx3QkFBd0I7RUFDckMsV0FBVyxFQUFFLEdBQUc7RUFDaEIsY0FBYyxFQUFFLElBQUk7RUFDcEIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsWUFBWTtFQUN6QixLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixLQUFLLEVBQUUsR0FDVDtDQUFDOztBQUVELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQWR4QixBQUFBLHVCQUF1QixDQWVHO0lBQ3RCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLElBQ2Y7R0FBQzs7O0FBR0gsQUFBQSx1QkFBdUIsQ0FBQztFQUN0QixPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLElBQ25CO0NBQUM7O0FBRUQsQUFBQSx1QkFBdUIsQUFBQSxRQUFRLENBQUM7RUFDOUIsS0FBSyxFQUFFLE9BQ1Q7Q0FBQzs7QUFFRCxBQUFBLHVCQUF1QixBQUFBLE1BQU07QUFDN0IsdUJBQXVCLEFBQUEsT0FBTyxDQUFDO0VBQzdCLGdCQUFnQixFQUFFLE9BQ3BCO0NBQUM7O0FBRUQsQUFBQSw2QkFBNkIsQ0FBQztFQUM1QixXQUFXLEVBQUUsd0JBQXdCO0VBQ3JDLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLFlBQVk7RUFDekIsT0FBTyxFQUFFLEtBQ1g7Q0FBQzs7QUFFRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFUeEIsQUFBQSw2QkFBNkIsQ0FVRztJQUM1QixTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxJQUNmO0dBQUM7OztBQUdILEFBQUEsaUNBQWlDLENBQUM7RUFDaEMsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsSUFDZDtDQUFDOztBQUVELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUx4QixBQUFBLGlDQUFpQyxDQU1HO0lBQ2hDLEtBQUssRUFBRSxJQUFJO0lBQ1gsS0FBSyxFQUFFLElBQ1Q7R0FBQzs7O0FBR0gsQUFBQSw2QkFBNkIsQ0FBQztFQUM1QixLQUFLLEVBQUUsS0FBSztFQUNaLFVBQVUsRUFBRSxLQUNkO0NBQUM7O0FBRUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBTHhCLEFBQUEsNkJBQTZCLENBTUc7SUFDNUIsS0FBSyxFQUFFLElBQUk7SUFDWCxLQUFLLEVBQUUsSUFDVDtHQUFDOzs7QUFHSCxBQUFBLDRCQUE0QixDQUFDO0VBQzNCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE1BQU0sRUFBRSxNQUFNO0VBQ2QsS0FBSyxFQUFFLEtBQ1Q7Q0FBQzs7QUFFRCxBQUFBLDZCQUE2QixDQUFDO0VBQzVCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLGVBQWUsRUFBRSxTQUNuQjtDQUFDOztBN0YxRkQsQUFHRSw0QkFIMEIsQUFHekIsTUFBTSxDQUFDO0VBQ04sT0FBTyxFQUFFLEdBQUc7Q0FDYjs7QUFMSCxBQU9FLDRCQVAwQixBQU96QixPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsR0FBRztFQUNaLFdBQVcsRVliVixHQUFHO0NaY0w7O0FBSUgsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixZQUFZLEVZaEJULElBQUk7RVppQlAsZ0JBQWdCLEVBQUUsdUJBQXVCO0VBQ3pDLGFBQWEsRVlkVixJQUFJO0NaZVI7O0FBR0QsQUFBQSx3QkFBd0IsQ0FBQywwQkFBMEIsQ0FBQztFQUNsRCxPQUFPLEVBQUUsS0FBSztDQUNmOztBQUdELEFBQUEsdUJBQXVCLENBQUM7RUFDdEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsa0JBQWtCO0NBQ3JDOztBQUdELEFBQUEsc0JBQXNCLENBQUM7RXFDaENyQixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBeUg5QixTQUFTLEVyQk5FLElBQUk7RXFCVWYsV0FBVyxFQXBFQyxJQUF5QjtFckN6QnpDLEtBQUssRUFBRSxJQUFJO0VBQ1gsYUFBYSxFQUFFLElBQUk7RUFDbkIsVUFBVSxFQUFFLE1BQU07Q0FDbkI7O0FrQ2tMTyxNQUFNLENBQUMsS0FBSztFbEN2THBCLEFBQUEsc0JBQXNCLENBQUM7SXFDdEJuQixXQUFXLEV0QklXLFVBQVU7R2Z1Qm5DOzs7QWtDa0xPLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFbEN2THBDLEFBQUEsc0JBQXNCLENBQUM7SXFDdUdmLFNBQVMsRXJCZEEsSUFBSTtJcUJrQmIsV0FBVyxFQWhGRCxPQUF5QjtHckN0QjFDOzs7QWtDa0xPLE1BQU0sQ0FBQyxLQUFLO0VsQ3ZMcEIsQUFBQSxzQkFBc0IsQ0FBQztJcUNrR2YsU0FBUyxFckJMQSxJQUFJO0lxQk1iLFdBQVcsRXJCTEEsSUFBSTtHaEJ6RnRCOzs7QUFHRCxBQUFBLG1CQUFtQixBQUFBLFlBQVksQ0FBQztFQUM5QixVQUFVLEVBQUUsT0FBTztFQUNuQixZQUFZLEVBQUUsSUFBSTtDQUNuQjs7QUFHRCxBQUNFLGVBRGEsQ0FDYixFQUFFLENBQUM7RW9Dd0JHLGNBQTBCLEV4QnRCeEIsSUFBSTtFd0JzQk4sV0FBMEIsRXhCdEJ4QixJQUFJO0VaQ1YsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENRakNoQixPQUFPO0VSa0NmLE1BQU0sRUFBRSxDQUFDO0NBQ1Y7O0FrQ21LSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWxDektwQyxBQUNFLGVBRGEsQ0FDYixFQUFFLENBQUM7SW9DK0JLLGNBQTBCLEV4QjVCeEIsSUFBSTtHWkViOzs7QWtDbUtLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFbEN6S3BDLEFBQ0UsZUFEYSxDQUNiLEVBQUUsQ0FBQztJb0MrQkssV0FBMEIsRXhCNUJ4QixJQUFJO0daRWI7OztBa0NtS0ssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VsQy9KakMsQUFBRCw2QkFBUSxDQUFDO0lBRUwsS0FBSyxFQUFFLElBQUk7R0FFZDs7O0FrQzJKSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWxDekpqQyxBQUFELGtDQUFhLENBQUM7SUFFVixLQUFLLEVBQUUsS0FBSztHQUVmOzs7QUFYSCxBQWFFLHNCQWJvQixDQWFwQixpQkFBaUIsQ0FBQztFQUNoQixhQUFhLEVBQUUsbUJBQW1CO0VBQ2xDLFVBQVUsRUFBRSxtQkFBbUI7RUFDL0IsS0FBSyxFQUFFLElBQUk7RUFDWCxhQUFhLEVBQUUsQ0FBQztFQUNoQixjQUFjLEVBQUUsSUFBSTtFQUNwQixXQUFXLEVBQUUsSUFBSTtDQUtsQjs7QWtDd0lLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFbENoS3BDLEFBYUUsc0JBYm9CLENBYXBCLGlCQUFpQixDQUFDO0lBU2QsVUFBVSxFQUFFLEtBQUs7R0FFcEI7OztBQXhCSCxBQTBCRSxzQkExQm9CLENBMEJwQixNQUFNLENBQUM7RUFDTCxLQUFLLEVBQUUsS0FBSztDQUNiOztBa0NvSUssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VsQ2hLcEMsQUE4QkUsc0JBOUJvQixDQThCcEIsZUFBZSxDQUFDO0lBRVosT0FBTyxFQUFFLE1BQU07SUFDZixZQUFZLEVBQUUsS0FBSztHQUV0QiJ9 */