/* ==========================================================================
   Theme Configuration File
   ========================================================================== */
/**
 * Base Colors
 * 
 * Description:
 * Provides a base for the UI.
 * 
 * Usage:
 * General UI Background, Region Headers, Buttons
 */
/**
 * Highlight Colors
 * 
 * Description:
 * Used for providing emphasis or importance to UI components.
 * 
 * Usage:
 * Region Headers, Primary / Hot Buttons
 */
/**
 * Accent and Status Colors
 * 
 * Description:
 * Used for indicating state-based UI components, status, or accents.
 * 
 * Usage:
 * Warnings, Errors, Danger Text, Success, Focus
 */
/**
 * Application Based Colors
 * 
 * Description:
 * Used for applications within APEX development
 */
/* ==========================================================================
   Forms
   ========================================================================== */
.a-Form-fieldContainer {
  border-spacing: 0;
  width: 100%;
  clear: both;
  overflow: hidden; }

.a-Form-labelContainer,
.a-Form-inputContainer {
  padding: 8px; }

.a-Form-itemWrapper {
  display: inline-block;
  vertical-align: top; }

.a-Form-labelContainer {
  width: 30%;
  text-align: right;
  float: left; }

.a-Form-inputContainer {
  overflow: hidden; }

.a-Form-inputContainer input::-webkit-input-placeholder,
input.a-SearchBox-input::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.55); }

.a-Form-inputContainer input::-moz-placeholder,
input.a-SearchBox-input::-moz-placeholder {
  opacity: .55;
  color: #000; }

.a-Form-inputContainer input:-ms-input-placeholder,
input.a-SearchBox-input:-ms-input-placeholder {
  opacity: .55;
  color: #000; }

.a-CodeEditor-searchBar-label,
.a-Form-label {
  color: #404040;
  padding: 4px 0;
  line-height: 16px;
  display: inline-block;
  vertical-align: top;
  font-size: 12px; }

.a-CodeEditor-searchBar-textInput,
.a-Form-field,
.a-Form-select,
.a-Report-report input[type="text"],
.a-Form-inputContainer input[type="text"],
.a-Form-inputContainer select[size="1"].selectlist,
.a-Form-inputContainer select.yes_no,
.a-Form-inputContainer input.text_field,
.a-Form-inputContainer input.password,
.a-Form-inputContainer input.datepicker,
.a-Form-inputContainer span.display_only,
.a-Form-inputContainer input.popup_lov {
  height: 24px; }

.a-Form-inputContainer span.display_only {
  height: auto;
  min-height: 24px; }

.a-CodeEditor-searchBar-textInput,
.a-Report-report input[type="text"],
.a-Form-field,
.a-Form-select,
.a-Form-inputContainer input[type="text"],
.a-Form-inputContainer select.selectlist,
.a-Form-inputContainer select.yes_no,
.a-Form-inputContainer input.text_field,
.a-Form-inputContainer input.password,
.a-Form-inputContainer textarea.textarea,
.a-Form-inputContainer input.datepicker,
.a-Form-inputContainer span.display_only,
.a-Form-inputContainer input.popup_lov,
.a-Form-inputContainer select[multiple],
.a-Form-textarea {
  display: inline-block;
  font-size: 12px;
  vertical-align: top;
  line-height: 16px;
  padding: 3px;
  border: 1px solid #E0E0E0;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) inset;
  border-radius: 2px;
  color: #404040;
  background-color: #FAFAFA;
  max-width: 100%; }
  .a-CodeEditor-searchBar-textInput:focus,
  .a-Report-report input[type="text"]:focus,
  .a-Form-field:focus,
  .a-Form-select:focus,
  .a-Form-inputContainer input[type="text"]:focus,
  .a-Form-inputContainer select.selectlist:focus,
  .a-Form-inputContainer select.yes_no:focus,
  .a-Form-inputContainer input.text_field:focus,
  .a-Form-inputContainer input.password:focus,
  .a-Form-inputContainer textarea.textarea:focus,
  .a-Form-inputContainer input.datepicker:focus,
  .a-Form-inputContainer span.display_only:focus,
  .a-Form-inputContainer input.popup_lov:focus,
  .a-Form-inputContainer select[multiple]:focus,
  .a-Form-textarea:focus {
    outline: none;
    border-color: #399BEA;
    background-color: #fff !important;
    color: black !important; }
    .a-CodeEditor-searchBar-textInput:focus::-ms-value,
    .a-Report-report input[type="text"]:focus::-ms-value,
    .a-Form-field:focus::-ms-value,
    .a-Form-select:focus::-ms-value,
    .a-Form-inputContainer input[type="text"]:focus::-ms-value,
    .a-Form-inputContainer select.selectlist:focus::-ms-value,
    .a-Form-inputContainer select.yes_no:focus::-ms-value,
    .a-Form-inputContainer input.text_field:focus::-ms-value,
    .a-Form-inputContainer input.password:focus::-ms-value,
    .a-Form-inputContainer textarea.textarea:focus::-ms-value,
    .a-Form-inputContainer input.datepicker:focus::-ms-value,
    .a-Form-inputContainer span.display_only:focus::-ms-value,
    .a-Form-inputContainer input.popup_lov:focus::-ms-value,
    .a-Form-inputContainer select[multiple]:focus::-ms-value,
    .a-Form-textarea:focus::-ms-value {
      color: black;
      /* the -ms-value defaults in a select list focus defaults to white, so we need to override the value for the text to be visible */ }
  .a-CodeEditor-searchBar-textInput:hover,
  .a-Report-report input[type="text"]:hover,
  .a-Form-field:hover,
  .a-Form-select:hover,
  .a-Form-inputContainer input[type="text"]:hover,
  .a-Form-inputContainer select.selectlist:hover,
  .a-Form-inputContainer select.yes_no:hover,
  .a-Form-inputContainer input.text_field:hover,
  .a-Form-inputContainer input.password:hover,
  .a-Form-inputContainer textarea.textarea:hover,
  .a-Form-inputContainer input.datepicker:hover,
  .a-Form-inputContainer span.display_only:hover,
  .a-Form-inputContainer input.popup_lov:hover,
  .a-Form-inputContainer select[multiple]:hover,
  .a-Form-textarea:hover {
    background-color: #fff; }

.a-Form input.file {
  display: inline-block;
  font-size: 14px;
  vertical-align: middle;
  line-height: 16px;
  color: #404040; }

.a-Form-select,
.a-Form-inputContainer select.yes_no,
.a-Form-inputContainer select[multiple],
.a-Form-inputContainer select.selectlist {
  padding-top: 0px;
  padding-bottom: 0px; }

.a-Form-inputContainer textarea.textarea {
  min-height: 64px;
  font-family: 'Consolas', 'Menlo', monospace; }

.a-Form-searchField {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNMTQuNyAxNC43Yy0uNC40LTEgLjQtMS40IDBsLTMuNi0zLjZjLS45LjYtMiAuOS0zLjEuOS0zLjEgMC01LjYtMi41LTUuNi01LjVzMi41LTUuNSA1LjUtNS41IDUuNSAyLjUgNS41IDUuNWMwIDEuMi0uMyAyLjItLjkgMy4xbDMuNiAzLjZjLjQuNS40IDEuMSAwIDEuNXptLTguMi0xMS43Yy0xLjkgMC0zLjUgMS42LTMuNSAzLjVzMS42IDMuNSAzLjUgMy41IDMuNS0xLjYgMy41LTMuNS0xLjYtMy41LTMuNS0zLjV6IiBvcGFjaXR5PSIuNSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiMyMzFGMjAiLz48L3N2Zz4=);
  background-position: .3rem .3rem;
  background-repeat: no-repeat;
  padding-left: 2.4rem;
  background-size: 1.6rem; }

input[type=text].a-Form-searchField {
  padding-left: 2.4rem; }

.a-Form-inputContainer span.display_only {
  border-color: transparent;
  background-color: transparent;
  box-shadow: none;
  font-weight: bold; }

.a-Form-select,
.a-Report-report select[size="1"],
.a-Form-inputContainer select[size="1"].selectlist,
.a-Form-inputContainer select.yes_no {
  -webkit-appearance: none;
  -moz-appearance: none;
  text-indent: 0.01px;
  background-repeat: no-repeat;
  background-position: 100% 50%;
  background-size: 32px 16px;
  color: #404040;
  padding-right: 26px;
  text-overflow: ' ';
  overflow: hidden; }

body:not(:-moz-handler-blocked) .a-Form-select {
  padding: 2px 24px 2px 2px; }

.a-Form-select,
.a-Report-report select[size="1"],
.a-Form-inputContainer select[size="1"].selectlist,
.a-Form-inputContainer select.yes_no,
.a-Property-field--select {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MDAiIGhlaWdodD0iMjAwIiB2aWV3Qm94PSItOTkuNSAwLjUgNDAwIDIwMCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAtOTkuNSAwLjUgNDAwIDIwMCI+PHBhdGggZmlsbD0iIzQ0NCIgZD0iTTE1Ni4yNSA3My43YzAgMS42LS42MTIgMy4yLTEuODI1IDQuNDI1bC01NC40MjUgNTQuNDI1LTU0LjQyNS01NC40MjVjLTIuNDM4LTIuNDM4LTIuNDM4LTYuNCAwLTguODM3czYuNC0yLjQzOCA4LjgzNyAwbDQ1LjU4OCA0NS41NzQgNDUuNTc1LTQ1LjU3NWMyLjQzOC0yLjQzOCA2LjM5OS0yLjQzOCA4LjgzNyAwIDEuMjI2IDEuMjI2IDEuODM4IDIuODI1IDEuODM4IDQuNDEzeiIvPjwvc3ZnPg==);
  background-position: right; }
  .ie9 .a-Form-select, .lt-ie9 .a-Form-select, .lt-ie10 .a-Form-select, .ie9
  .a-Report-report select[size="1"], .lt-ie9
  .a-Report-report select[size="1"], .lt-ie10
  .a-Report-report select[size="1"], .ie9
  .a-Form-inputContainer select[size="1"].selectlist, .lt-ie9
  .a-Form-inputContainer select[size="1"].selectlist, .lt-ie10
  .a-Form-inputContainer select[size="1"].selectlist, .ie9
  .a-Form-inputContainer select.yes_no, .lt-ie9
  .a-Form-inputContainer select.yes_no, .lt-ie10
  .a-Form-inputContainer select.yes_no, .ie9
  .a-Property-field--select, .lt-ie9
  .a-Property-field--select, .lt-ie10
  .a-Property-field--select {
    background-image: none;
    padding-right: 0px; }

.a-Form-inputContainer .a-Button.a-Button--helpButton,
.a-Form-inputContainer .a-Button.a-Button--calendar,
.a-Form-labelContainer .a-Button.a-Button--helpButton,
.a-Form-labelContainer .a-Button.a-Button--calendar {
  padding: 4px 8px; }

.u-HCM .a-Form-inputContainer .a-Button.a-Button--helpButton,
.u-HCM .a-Form-inputContainer .a-Button.a-Button--calendar,
.u-HCM .a-Form-labelContainer .a-Button.a-Button--helpButton,
.u-HCM .a-Form-labelContainer .a-Button.a-Button--calendar {
  border-width: 0 !important; }

.a-Form-inputContainer select + .a-Button--helpButton,
.a-Form-inputContainer input + .a-Button--helpButton,
.a-Form-inputContainer fieldset + .a-Button--helpButton {
  vertical-align: top; }

.RegionQuickLinks {
  float: left;
  display: inline-block; }

.a-Form-field--readOnly {
  border: none;
  box-shadow: none;
  background-color: transparent;
  font-weight: bold; }

.hasDatepicker {
  margin: 0; }

/* ==========================================================================
   Select List Width
   ========================================================================== */
.a-Form-inputContainer fieldset.radio_group,
.a-Form-inputContainer fieldset.checkbox_group {
  line-height: 24px; }
  .a-Form-inputContainer fieldset.radio_group br,
  .a-Form-inputContainer fieldset.checkbox_group br {
    line-height: 20px; }
  .a-Form-inputContainer fieldset.radio_group:focus,
  .a-Form-inputContainer fieldset.checkbox_group:focus {
    outline: none; }
  .a-Form-inputContainer fieldset.radio_group table td,
  .a-Form-inputContainer fieldset.checkbox_group table td {
    padding-right: 16px; }

.a-Form-inputContainer fieldset table {
  border-spacing: 0; }

.a-Form-radioLabel,
.a-Form-inputContainer .radio_group label,
.a-Form-checkboxLabel,
.a-Form-inputContainer .checkbox_group label {
  font-size: 12px;
  line-height: 16px;
  padding-left: 8px;
  color: #404040; }

.a-Form-radio + .a-Form-error,
.a-Form-inputContainer fieldset.radio_group + .a-Form-error,
.a-Form-checkbox + .a-Form-error,
.a-Form-inputContainer fieldset.checkbox-group + .a-Form-error {
  margin-top: 8px; }

.a-Form-inputContainer .radio_group input[type=radio]:checked + label,
.a-Form-inputContainer .checkbox_group input[type=checkbox]:checked + label,
.a-Form-checkbox:checked + label {
  font-weight: bold; }

.a-Form-fieldContainer--boxLabels input[type=radio] {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.a-Form-fieldContainer--boxLabels fieldset label {
  display: inline-block;
  width: 31%;
  min-height: 76px;
  vertical-align: top;
  padding: 12px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.075) inset;
  background-color: #FAFAFA;
  border-radius: 2px;
  margin: 0 1%; }
  .a-Form-fieldContainer--boxLabels fieldset label:hover {
    background-color: #FFF;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.075) inset, 0 2px 4px rgba(0, 0, 0, 0.05); }

.a-Form-fieldContainer--boxLabels fieldset br {
  display: none; }

.a-Form-fieldContainer--boxLabels .a-Form-inputContainer input:checked + label,
.a-Form-fieldContainer--boxLabels .a-Form-inputContainer input:checked + .fielddata label {
  background-color: #FAFAFA;
  box-shadow: 0 0 0 1px #399BEA inset;
  font-weight: normal;
  font-weight: bold; }
  .a-Form-fieldContainer--boxLabels .a-Form-inputContainer input:checked + label .a-Form-radioLabel-desc,
  .a-Form-fieldContainer--boxLabels .a-Form-inputContainer input:checked + .fielddata label .a-Form-radioLabel-desc {
    font-weight: bold; }

.a-Form-fieldContainer--boxLabels .a-Form-inputContainer input:focus + label,
.a-Form-fieldContainer--boxLabels .a-Form-inputContainer input:focus + .fielddata label {
  box-shadow: 0 0 0 1px #399BEA inset, 0 0 0 1px #399BEA, 0 0 2px 2px rgba(57, 155, 234, 0.5) !important; }

.a-Form-radioLabel-title {
  display: block;
  font-size: 14px;
  line-height: 20px; }

.a-Form-radioLabel-desc {
  display: block;
  font-size: 12px;
  line-height: 16px;
  font-weight: normal;
  color: #707070; }

.a-Form-postText,
.a-Form-inputContainer input + span.fielddata {
  margin-left: 8px;
  color: #707070;
  font-size: 1.2rem; }

.a-Form-quickPicks {
  display: inline-block;
  font-size: 1.1rem;
  line-height: 2.4rem;
  padding: 0 .8rem;
  vertical-align: top; }
  .a-Form-quickPicks.display_only {
    font-weight: normal !important; }
  .a-Form-quickPicks a {
    margin-right: 8px; }

/* ==========================================================================
   Image Preview (4000:601)
   ========================================================================== */
.a-Form-iconPreview {
  padding: 0;
  margin: 0; }

/* ==========================================================================
   Select List Width
   ========================================================================== */
.a-Form-inputContainer select[size="1"].selectlist {
  min-width: 180px;
  max-width: 100%; }
  .a-Form-inputContainer select[size="1"].selectlist.is-small {
    min-width: 80px; }

.a-Side .a-Form-inputContainer select[size="1"].selectlist {
  min-width: 0; }

.a-Form-select--multi {
  width: 350px;
  min-height: 120px;
  color: #606060; }

.a-Form-select--conditions {
  max-width: 480px; }
  .a-Form-select--conditions + .a-Form-quickPicks {
    display: block; }

/* ==========================================================================
   Validations
   ========================================================================== */
.a-Form-error {
  font-size: 11px;
  line-height: 16px;
  color: #e91D1D;
  display: block; }

/* ==========================================================================
   Help Button
   ========================================================================== */
/* ==========================================================================
   Large Form
   ========================================================================== */
.a-Form--large .a-Form-label {
  padding: 6px 0;
  line-height: 16px;
  font-size: 14px; }

.a-Form--large .a-Form-field,
.a-Form--large .a-Form-select,
.a-Form--large select[size="1"].selectlist,
.a-Form--large select.yes_no,
.a-Form--large input.text_field,
.a-Form--large input.password,
.a-Form--large input.datepicker,
.a-Form--large span.display_only,
.a-Form--large input.popup_lov {
  font-size: 14px;
  padding: 7px;
  height: 32px; }

.a-Form--large span.display_only {
  height: auto;
  min-height: 32px; }

.a-Form--large .a-Button.a-Button--helpButton,
.a-Form--large .a-Button.a-Button--calendar {
  padding: 8px 12px; }

.a-Form--large .a-Form-radioLabel,
.a-Form--large .radio_group label,
.a-Form--large .a-Form-checkboxLabel,
.a-Form--large .checkbox_group label,
.a-Form--large select[multiple] {
  font-size: 14px;
  line-height: 20px; }

.a-Form--large .a-Form-searchField {
  background-size: 1.6rem;
  background-position: .8rem; }

.a-Form--large input[type=text].a-Form-searchField {
  padding-left: 3.0rem; }

/* ==========================================================================
   Slim Padding
   ========================================================================== */
.a-Form--slimPadding .a-Form-inputContainer,
.a-Form--slimPadding .a-Form-labelContainer {
  padding: 0; }

/* ==========================================================================
   Table Based
   ========================================================================== */
.a-Form--tableBased .a-Form-labelContainer {
  width: auto;
  margin-right: 8px; }

.a-Form--tableBased .a-Form-select,
.a-Form--tableBased select.selectlist {
  max-width: 100%; }

/* ==========================================================================
   Table Based
   ========================================================================== */
.a-Form--schemaSelect {
  float: right;
  white-space: nowrap; }
  .a-Form--schemaSelect .a-Form-labelContainer {
    width: auto; }
  .a-Form--schemaSelect .a-Form-labelContainer,
  .a-Form--schemaSelect .a-Form-inputContainer {
    padding: 4px 8px; }
  .a-Form--schemaSelect .a-Form-select,
  .a-Form--schemaSelect select.selectlist {
    width: 180px; }
  .a-Form--schemaSelect .a-Form-inputContainer {
    float: left; }
  .a-Form--schemaSelect .a-Form-select,
  .a-Form--schemaSelect .a-Button--helpButton {
    display: block;
    float: left; }

/* ==========================================================================
   Wizard
   ========================================================================== */
.a-Form--wizard .a-Form-field,
.a-Form--wizard .a-Form-select,
.a-Form--wizard select.selectlist,
.a-Form--wizard input.text_field {
  min-width: 320px;
  max-width: 520px; }

/* ==========================================================================
   Labels Above
   ========================================================================== */
.a-Form--labelsAbove .a-Form-fieldContainer .a-Button--helpButton,
.a-Form-fieldContainer--stacked .a-Button--helpButton {
  vertical-align: top; }

.a-Form--labelsAbove .a-Form-fieldContainer .a-Form-labelContainer,
.a-Form--labelsAbove .a-Form-fieldContainer .a-Form-inputContainer,
.a-Form-fieldContainer--stacked .a-Form-labelContainer,
.a-Form-fieldContainer--stacked .a-Form-inputContainer {
  display: block; }

.a-Form--labelsAbove .a-Form-fieldContainer .a-Form-labelContainer,
.a-Form-fieldContainer--stacked .a-Form-labelContainer {
  width: auto;
  text-align: left;
  float: none;
  padding-bottom: 0; }

.a-Form--labelsAbove .a-Form-fieldContainer .a-Form-inputContainer,
.a-Form-fieldContainer--stacked .a-Form-inputContainer {
  padding-top: 0; }

.a-Form--labelsAbove .a-Form-fieldContainer .a-Form-select,
.a-Form--labelsAbove .a-Form-fieldContainer select.selectlist,
.a-Form-fieldContainer--stacked .a-Form-select,
.a-Form-fieldContainer--stacked select.selectlist {
  max-width: 100%; }

.a-Form--labelsAbove .a-Form-fieldContainer .a-Form-radio,
.a-Form--labelsAbove .a-Form-fieldContainer .a-Form fieldset.radio_group,
.a-Form-fieldContainer--stacked .a-Form-radio,
.a-Form-fieldContainer--stacked .a-Form fieldset.radio_group {
  display: block;
  margin-left: 24px; }

.a-Form--labelsAbove .a-Form-fieldContainer .a-Form-labelContainer--visuallyhidden,
.a-Form-fieldContainer--stacked .a-Form-labelContainer--visuallyhidden {
  padding: 0;
  min-width: 0; }

/* ==========================================================================
   Field Modifiers
   ========================================================================== */
/* ==========================================================================
   Modifier: Stretch Input Field
   ---
   Stretches input to 100%
   ========================================================================== */
.a-Form--stretchInputs .a-Form-fieldContainer .a-Form-inputContainer input[type="text"],
.a-Form--stretchInputs .a-Form-fieldContainer .a-Form-inputContainer input[type="password"],
.a-Form--stretchInputs .a-Form-fieldContainer .a-Form-inputContainer select,
.a-Form--stretchInputs .a-Form-fieldContainer .a-Form-inputContainer textarea,
.a-Form-fieldContainer--stretch .a-Form-inputContainer input[type="text"],
.a-Form-fieldContainer--stretch .a-Form-inputContainer input[type="password"],
.a-Form-fieldContainer--stretch .a-Form-inputContainer select,
.a-Form-fieldContainer--stretch .a-Form-inputContainer textarea {
  width: 100% !important;
  min-width: 0 !important; }

.a-Form--stretchInputs .a-Form-fieldContainer fieldset.shuttle,
.a-Form--stretchInputs .a-Form-fieldContainer table.shuttle,
.a-Form-fieldContainer--stretch fieldset.shuttle,
.a-Form-fieldContainer--stretch table.shuttle {
  width: 100%; }

.a-Form--stretchInputs .a-Form-fieldContainer fieldset.shuttle td.shuttleSelect1,
.a-Form--stretchInputs .a-Form-fieldContainer fieldset.shuttle td.shuttleSelect2,
.a-Form-fieldContainer--stretch fieldset.shuttle td.shuttleSelect1,
.a-Form-fieldContainer--stretch fieldset.shuttle td.shuttleSelect2 {
  width: 50%; }

.a-Form--stretchInputs .a-Form-fieldContainer fieldset.shuttle select.shuttle_left,
.a-Form--stretchInputs .a-Form-fieldContainer fieldset.shuttle select.shuttle_right,
.a-Form-fieldContainer--stretch fieldset.shuttle select.shuttle_left,
.a-Form-fieldContainer--stretch fieldset.shuttle select.shuttle_right {
  max-width: 100%; }

/* ==========================================================================
   Modifier: Make Fieldset Stretch
   ---
   Makes Fieldset (for textareas, and others) use display b lock
   ========================================================================== */
.a-Form-fieldContainer--fieldsetBlock fieldset.textarea {
  display: block; }

/* ==========================================================================
   Modifier: Post Item Text
   ---

   ========================================================================== */
.a-Form-fieldContainer--postItemText .a-Form-labelContainer, .a-Form-fieldContainer--postItemText .a-Form-inputContainer {
  padding-top: 0;
  left: 0;
  min-height: 0; }

.a-Form-fieldContainer--postItemText .a-Form-inputContainer span.display_only {
  font-weight: normal;
  color: #707070;
  padding: 0;
  min-height: 0;
  border-width: 0; }

/* ==========================================================================
   Modifier: Auto Width Label
   ---
   Sets label width to be auto (default is 30%)
   ========================================================================== */
.a-Form-fieldContainer--autoLabelWidth .a-Form-labelContainer {
  width: auto !important; }

.a-Form-fieldContainer--autoLabelWidth .a-Form-labelContainer--visuallyhidden {
  padding: 0;
  min-width: 0; }

/* ==========================================================================
   Modifier: Hide Label
   ---
   Hides labelContainer for the given field
   ========================================================================== */
.a-Form--floatColsLeft .a-Form-fieldContainer.a-Form-fieldContainer--valueAsLabel {
  width: 256px; }

.a-Form-fieldContainer--valueAsLabel .a-Form-labelContainer {
  display: none !important; }

.a-Form-fieldContainer--valueAsLabel .a-Form-inputContainer {
  text-align: right; }

.a-Form-fieldContainer--valueAsLabel .a-Form-inputContainer span.display_only {
  font-weight: normal;
  padding: 4px 0;
  line-height: 16px;
  vertical-align: top; }

/* ==========================================================================
   Modifier: Hide Label
   ---
   Hides labelContainer for the given field
   ========================================================================== */
.a-Form-fieldContainer--hideLabel .a-Form-labelContainer {
  display: none !important; }

/* ==========================================================================
   Modifier: Hide Field
   ---
   Hides inputContainer for the given field
   ========================================================================== */
.a-Form-fieldContainer--hideField .a-Form-inputContainer {
  display: none !important; }

/* ==========================================================================
   Modifier: Column-based label
   ---
   Used when you have a column of labels only
   ========================================================================== */
.a-Form-fieldContainer--colLabel .a-Form-labelContainer {
  padding: 0 8px;
  text-align: right !important; }

.a-Form-fieldContainer--colLabel .a-Form-inputContainer {
  display: none !important; }

/* ==========================================================================
   Modifier: Hidden Label Checkbox
   ---
   Reduces padding for checkboxes that have no labels
   ========================================================================== */
.a-Form-fieldContainer--noLabelCheckbox .a-Form-inputContainer {
  padding-top: 0;
  padding-bottom: 0; }

/* ==========================================================================
   Modifier: Hidden Label Checkbox
   ---
   Reduces padding for checkboxes that have no labels
   ========================================================================== */
.a-Form-fieldContainer--largeDisplayOnlyText .a-Form-inputContainer span.display_only {
  font-weight: normal; }

/* ==========================================================================
   List Manager
   ========================================================================== */
fieldset.listmanager table {
  border-collapse: collapse; }

fieldset.listmanager td {
  padding: 0 !important; }

fieldset.listmanager select.listmanager {
  margin-top: 8px; }

/* ==========================================================================
   Shuttles
   ========================================================================== */
fieldset.shuttle {
  max-width: 100%; }
  fieldset.shuttle table.shuttle {
    max-width: 100%;
    border-collapse: collapse; }
  fieldset.shuttle td {
    vertical-align: top; }
  fieldset.shuttle select.shuttle_left,
  fieldset.shuttle select.shuttle_right {
    min-width: 160px;
    max-width: 240px;
    min-height: 140px;
    margin: 4px 0; }

/* ==========================================================================
   Textarea
   ========================================================================== */
.a-Form-fieldContainer--stacked fieldset.textarea {
  display: block; }

fieldset.textarea {
  max-width: 100%; }

.a-Form-textarea--code {
  font-family: 'Consolas', 'Menlo', monospace;
  font-size: 12px;
  line-height: 16px;
  color: #404040;
  padding: 8px; }

/* ==========================================================================
   Popup LOV
   ========================================================================== */
fieldset.lov {
  display: inline; }

/* ==========================================================================
   Popup LOV
   ========================================================================== */
fieldset.color_picker {
  display: inline-block; }

/* ==========================================================================
   Fieldsets
   ========================================================================== */
.a-Form-inputContainer fieldset:focus {
  outline: none; }

/* ==========================================================================
   Left Aligned Field Container
   ========================================================================== */
.a-Form-fieldContainer--floatLeft {
  width: auto;
  float: left;
  clear: none; }

/* ==========================================================================
   Form Alignment
   ========================================================================== */
.a-Form-col--2 .a-Form-labelContainer {
  width: 15%; }

.a-Form-col--3 .a-Form-labelContainer {
  width: 10%; }

.a-Form--alignLeft .a-Form-fieldContainer {
  width: auto;
  display: inline-block;
  vertical-align: top; }

.a-Form--floatFieldsLeft {
  overflow: hidden; }
  .a-Form--floatFieldsLeft .a-Form-fieldContainer {
    width: auto;
    float: left;
    clear: none; }

.a-Form--floatColsLeft {
  overflow: hidden; }
  .a-Form--floatColsLeft .apex-col {
    width: auto; }
  .a-Form--floatColsLeft .a-Form-fieldContainer {
    width: auto;
    float: left;
    clear: none; }

.a-Form--leftLabels .a-Form-labelContainer {
  text-align: left; }

.a-Form--autoWidthLabels .a-Form-labelContainer {
  width: auto; }

.a-Form--fixedLabelsSmall .a-Form-labelContainer {
  width: 120px; }

.a-Form--fixedLabels .a-Form-labelContainer {
  width: 160px; }

.a-Form--fixedLabelsMedium .a-Form-labelContainer {
  width: 200px; }

.a-Form--fixedLabelsLarge .a-Form-labelContainer {
  width: 300px; }

/* ==========================================================================
   Form using table.formlayout
   ========================================================================== */
.a-Form table.formlayout {
  table-layout: auto;
  border-collapse: collapse;
  border-spacing: 0; }
  .a-Form table.formlayout .a-Form-labelContainer {
    float: none;
    padding: 0; }
  .a-Form table.formlayout .a-Form-inputContainer {
    padding: 0;
    float: left; }
    .a-Form table.formlayout .a-Form-inputContainer + button {
      float: left; }
  .a-Form table.formlayout tbody > tr > td {
    padding: 8px; }
  .a-Form table.formlayout .a-Form-labelContainer + br {
    display: none; }

table.formlayout .a-Form-labelContainer {
  float: none;
  width: auto;
  min-width: 120px; }

/* Button Group
   ========================================================================== */
/* Radio Button Pills
   ========================================================================== */
.apex-button-group label {
  min-width: 48px; }

.apex-button-group table.radio_group td + td {
  margin-left: -1px; }

.apex-button-group table.radio_group tr td {
  padding: 0; }

.apex-button-group table.radio_group input + label {
  padding: 4px 12px;
  width: 100%;
  text-align: center; }
  .apex-button-group table.radio_group input + label:before, .apex-button-group table.radio_group input + label:after {
    display: none; }

.apex-button-group table.radio_group td label {
  border-radius: 2px;
  margin: 0;
  display: block; }

.apex-button-group table.radio_group td:first-child label {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.apex-button-group table.radio_group td:last-child label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.apex-button-group table.radio_group td:not(:last-child):not(:first-child) label {
  border-radius: 0; }

.apex-button-group input + label .t-Icon {
  vertical-align: top; }

/* Page Specific Overrides
   ========================================================================== */
/* Create / Edit Text Message -- 4000:4009 */
#F4000_P4009_FLOW_ID_CONTAINER .a-Form-labelContainer,
#F4000_P4009_NAME_CONTAINER .a-Form-labelContainer,
#F4000_P4009_MESSAGE_LANGUAGE_CONTAINER .a-Form-labelContainer,
#P4009_IS_JS_MESSAGE_CONTAINER .a-Form-labelContainer,
#F4000_P4009_MESSAGE_TEXT_CONTAINER .a-Form-labelContainer {
  width: 15%; }

#F4000_P4009_MESSAGE_TEXT_fieldset {
  width: 100%; }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .a-Form-select,
  .a-Report-report select[size="1"],
  .a-Form-inputContainer select[size="1"].selectlist,
  .a-Form-inputContainer select.yes_no,
  .a-Property-field--select {
    -moz-appearance: menulist; }
  .a-Form-select::-ms-expand,
    .a-Report-report select[size="1"]::-ms-expand,
    .a-Form-inputContainer select[size="1"].selectlist::-ms-expand,
    .a-Form-inputContainer select.yes_no::-ms-expand,
    .a-Property-field--select::-ms-expand {
    display: none !important; }
  .u-HCM .a-Form-select::-ms-expand, .u-HCM
      .a-Report-report select[size="1"]::-ms-expand, .u-HCM
      .a-Form-inputContainer select[size="1"].selectlist::-ms-expand, .u-HCM
      .a-Form-inputContainer select.yes_no::-ms-expand, .u-HCM
      .a-Property-field--select::-ms-expand {
    display: inline-block !important; }
  .a-Form-select:focus::-ms-value,
    .a-Report-report select[size="1"]:focus::-ms-value,
    .a-Form-inputContainer select[size="1"].selectlist:focus::-ms-value,
    .a-Form-inputContainer select.yes_no:focus::-ms-value,
    .a-Property-field--select:focus::-ms-value {
    background: transparent !important;
    color: black !important; }
  .u-HCM .a-Form-select:focus::-ms-value, .u-HCM
      .a-Report-report select[size="1"]:focus::-ms-value, .u-HCM
      .a-Form-inputContainer select[size="1"].selectlist:focus::-ms-value, .u-HCM
      .a-Form-inputContainer select.yes_no:focus::-ms-value, .u-HCM
      .a-Property-field--select:focus::-ms-value {
    color: white !important; }
  .a-Form-select,
    .a-Report-report select[size="1"],
    .a-Form-inputContainer select[size="1"].selectlist,
    .a-Form-inputContainer select.yes_no,
    .a-Property-field--select {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAHlBMVEXf39++vr7p6emAgIDh4eHPz89vb2/Z2dlmZmby8vLFd+SnAAAAm0lEQVR42u3WsQ6AIAxFUSuC8v8/bDQmd2CgzUtwKfs9E7Rs57l15SSQQAI+wEwD7LpMAJ4eIQLQI4QA+lIQAgD9viMEAPreESIAPUIEoEeIAfQIfoB+IgBMegQn8PWD4Aba2w9CcwNHpUeoR460BDjCRZKvsvyY5OesDhR1pKlDVR3r6mKRV5u+XNevdwT75YuDYDnSEkhgDXAD/8yIgY19CJcAAAAASUVORK5CYII=);
    background-size: contain; }
  .u-HCM .a-Form-select, .u-HCM
    .a-Report-report select[size="1"], .u-HCM
    .a-Form-inputContainer select[size="1"].selectlist, .u-HCM
    .a-Form-inputContainer select.yes_no, .u-HCM
    .a-Property-field--select {
    background-image: none;
    padding-right: 0px; } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3RoZW1lL3N0YW5kYXJkL190aGVtZUNvbmZpZy5zY3NzIiwiRm9ybS5zY3NzIiwiLi4vbW9kdWxlcy9fY29tbW9uLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O2dGQUVnRjtBQUVoRjs7Ozs7Ozs7R0FRRztBQXFCSDs7Ozs7Ozs7R0FRRztBQWFIOzs7Ozs7OztHQVFHO0FBcUNIOzs7OztHQUtHO0FDbEdIOztnRkFFZ0Y7QUFPaEY7RUFFRSxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLFlBQVk7RUFDWixpQkFBaUIsRUFDbEI7O0FBQ0Q7O0VBSUUsYUFBYSxFQUNkOztBQUNEO0VBRUUsc0JBQXNCO0VBQ3RCLG9CQUFvQixFQUNyQjs7QUFDRDtFQUNFLFdBQVc7RUFFWCxrQkFBa0I7RUFDbEIsWUFBWSxFQUNiOztBQUNEO0VBQ0UsaUJBQWlCLEVBR2xCOztBQUNEOztFQUdJLDJCQUFXLEVBQ1o7O0FBSkg7O0VBTUksYUFBYTtFQUNiLFlBQVksRUFDYjs7QUFSSDs7RUFVSSxhQUFhO0VBQ2IsWUFBWSxFQUNiOztBQUdIOztFQUVFLGVBQWU7RUFDZixlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLHNCQUFzQjtFQUN0QixvQkFBb0I7RUFTcEIsZ0JBQWdCLEVBQ2pCOztBQUNEOzs7Ozs7Ozs7Ozs7RUFZRSxhQUFhLEVBQ2Q7O0FBQ0Q7RUFDRSxhQUFhO0VBQ2IsaUJBQWlCLEVBQ2xCOztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7RUFlRSxzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLDBCQUEwQjtFQUMxQixnREFBMkM7RUFDM0MsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZiwwQkFBMEI7RUFDMUIsZ0JBQWdCLEVBZWpCO0VBeENEOzs7Ozs7Ozs7Ozs7Ozs7SUE0QkksY0FBYztJQUNkLHNCRHpDK0I7SUMwQy9CLGtDQUFrQztJQUNsQyx3QkFBd0IsRUFLekI7SUFwQ0g7Ozs7Ozs7Ozs7Ozs7OztNQWtDTSxhQUFhO01BQUUsa0lBQWtJLEVBQ2xKO0VBbkNMOzs7Ozs7Ozs7Ozs7Ozs7SUFzQ0ksdUJBQXVCLEVBQ3hCOztBQUVIO0VBQ0Usc0JBQXNCO0VBQ3RCLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsa0JBQWtCO0VBQ2xCLGVBQWUsRUFDaEI7O0FBRUQ7Ozs7RUFJRSxpQkFBaUI7RUFDakIsb0JBQW9CLEVBQ3JCOztBQU1EO0VBQ0UsaUJBQWlCO0VBQ2pCLDRDQUE0QyxFQUM3Qzs7QUFLRDtFQUNFLDhrQkFBNmtCO0VBQzdrQixpQ0FBaUM7RUFDakMsNkJBQTZCO0VBQzdCLHFCQUFxQjtFQUVyQix3QkFBd0IsRUFDekI7O0FBQ0Q7RUFDRSxxQkFBcUIsRUFDdEI7O0FBS0Q7RUFDRSwwQkFBMEI7RUFDMUIsOEJBQThCO0VBQzlCLGlCQUFpQjtFQUNqQixrQkFBa0IsRUFDbkI7O0FBS0Q7Ozs7RUFJRSx5QkFBeUI7RUFDekIsc0JBQXNCO0VBQ3RCLG9CQUFvQjtFQUVwQiw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLDJCQUEyQjtFQUMzQixlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixpQkFBaUIsRUFHbEI7O0FBQ0Q7RUFDRSwwQkFBMEIsRUFDM0I7O0FBRUQ7Ozs7O0VBTUUsOGlCQUE2aUI7RUFDN2lCLDJCQUEyQixFQU01QjtFQUxDOzs7Ozs7Ozs7Ozs7O0lBQ0UsdUJBQXVCO0lBQ3ZCLG1CQUFtQixFQUNwQjs7QUFzQ0g7Ozs7RUFJSSxpQkFBaUIsRUFDbEI7O0FBR0g7Ozs7RUFLTSwyQkFBMkIsRUFDNUI7O0FBSUw7OztFQUlJLG9CQUFvQixFQUNyQjs7QUFNSDtFQUNFLFlBQVc7RUFDWCxzQkFBc0IsRUFDdkI7O0FBR0Q7RUFDRSxhQUFhO0VBQ2IsaUJBQWlCO0VBQ2pCLDhCQUE4QjtFQUM5QixrQkFBa0IsRUFDbkI7O0FBTUQ7RUFDRSxVQUFVLEVBQ1g7O0FBRUQ7O2dGQUVnRjtBQUNoRjs7RUFJSSxrQkFBa0IsRUFVbkI7RUFkSDs7SUFNTSxrQkFBa0IsRUFDbkI7RUFQTDs7SUFTTSxjQUFjLEVBQ2Y7RUFWTDs7SUFZTSxvQkFBb0IsRUFDckI7O0FBYkw7RUFnQkksa0JBQWtCLEVBQ25COztBQUVIOzs7O0VBSUUsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsZUFBZSxFQUNoQjs7QUFFRDs7OztFQVFJLGdCQUFnQixFQUNqQjs7QUFFSDs7O0VBR0Usa0JBQWtCLEVBQ25COztBQUVEO0VDcFRFLFVBQVU7RUFDVixvQkFBVTtFQUNWLFlBQVk7RUFDWixhQUFhO0VBQ2IsaUJBQWlCO0VBQ2pCLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsV0FBVyxFRGdUVjs7QUFISDtFQUtJLHNCQUFzQjtFQUN0QixXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQixjQUFjO0VBQ2QsaURBQTRDO0VBQzVDLDBCQUEwQjtFQUMxQixtQkFBbUI7RUFDbkIsYUFBYSxFQUtkO0VBbEJIO0lBZU0sdUJBQXVCO0lBQ3ZCLGdGQUE0RCxFQUM3RDs7QUFqQkw7RUFvQkksY0FBYyxFQUNmOztBQXJCSDs7RUF3QkksMEJBQTBCO0VBQzFCLG9DQUFvQztFQUNwQyxvQkFBb0I7RUFDcEIsa0JBQWtCLEVBSW5CO0VBL0JIOztJQTZCTSxrQkFBa0IsRUFDbkI7O0FBOUJMOztFQWtDSSx1R0FBaUcsRUFDbEc7O0FBRUg7RUFDRSxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGtCQUFrQixFQUNuQjs7QUFDRDtFQUNFLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQixlQUFlLEVBQ2hCOztBQUtEOztFQUVFLGlCQUFpQjtFQUNqQixlQUFlO0VBQ2Ysa0JBQWtCLEVBQ25COztBQUVEO0VBSUUsc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixvQkFBb0I7RUFDcEIsaUJBQWlCO0VBQ2pCLG9CQUFvQixFQUlyQjtFQVpEO0lBRUksK0JBQStCLEVBQ2hDO0VBSEg7SUFVSSxrQkFBa0IsRUFDbkI7O0FBSUg7O2dGQUVnRjtBQUNoRjtFQUNFLFdBQVc7RUFDWCxVQUFVLEVBRVg7O0FBRUQ7O2dGQUVnRjtBQUNoRjtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0IsRUFJakI7RUFORDtJQUlJLGdCQUFnQixFQUNqQjs7QUFFSDtFQUNFLGFBQWEsRUFDZDs7QUFFRDtFQUNFLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsZUFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFpQixFQUlsQjtFQUxEO0lBR0ksZUFBZSxFQUNoQjs7QUFHSDs7Z0ZBRWdGO0FBRWhGO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsZUFBZSxFQUNoQjs7QUFNRDs7Z0ZBRWdGO0FBVWhGOztnRkFFZ0Y7QUFDaEY7RUFFSSxlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLGdCQUFnQixFQUNqQjs7QUFMSDs7Ozs7Ozs7O0VBZUksZ0JBQWdCO0VBQ2hCLGFBQWE7RUFDYixhQUFhLEVBQ2Q7O0FBbEJIO0VBb0JJLGFBQWE7RUFDYixpQkFBaUIsRUFDbEI7O0FBdEJIOztFQWlDSSxrQkFBa0IsRUFDbkI7O0FBbENIOzs7OztFQXdDSSxnQkFBZ0I7RUFDaEIsa0JBQWtCLEVBQ25COztBQTFDSDtFQTRDSSx3QkFBd0I7RUFDeEIsMkJBQTJCLEVBQzVCOztBQTlDSDtFQWdESSxxQkFBcUIsRUFDdEI7O0FBR0g7O2dGQUVnRjtBQUNoRjs7RUFHSSxXQUFXLEVBQ1o7O0FBR0g7O2dGQUVnRjtBQUNoRjtFQUVJLFlBQVk7RUFDWixrQkFBa0IsRUFDbkI7O0FBSkg7O0VBT0ksZ0JBQWdCLEVBRWpCOztBQUdIOztnRkFFZ0Y7QUFDaEY7RUFDRSxhQUFhO0VBQ2Isb0JBQW9CLEVBc0JyQjtFQXhCRDtJQUlJLFlBQVksRUFDYjtFQUxIOztJQVFJLGlCQUFpQixFQUNsQjtFQVRIOztJQVlJLGFBQWEsRUFHZDtFQWZIO0lBaUJJLFlBQVksRUFDYjtFQWxCSDs7SUFxQkksZUFBZTtJQUNmLFlBQVksRUFDYjs7QUFHSDs7Z0ZBRWdGO0FBQ2hGOzs7O0VBS0ksaUJBQWlCO0VBQ2pCLGlCQUFpQixFQUNsQjs7QUFHSDs7Z0ZBRWdGO0FBQ2hGOztFQUdJLG9CQUFvQixFQUNyQjs7QUFKSDs7OztFQU9JLGVBQWUsRUFDaEI7O0FBUkg7O0VBVUksWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixZQUFZO0VBQ1osa0JBQWtCLEVBQ25COztBQWRIOztFQWdCSSxlQUFlLEVBQ2hCOztBQWpCSDs7OztFQW9CSSxnQkFBZ0IsRUFDakI7O0FBckJIOzs7O0VBd0JJLGVBQWU7RUFDZixrQkFBa0IsRUFDbkI7O0FBMUJIOztFQTRCSSxXQUFXO0VBQ1gsYUFBYSxFQUNkOztBQUdIOztnRkFFZ0Y7QUFFaEY7Ozs7Z0ZBSWdGO0FBRWhGOzs7Ozs7OztFQU9NLHVCQUF1QjtFQUN2Qix3QkFBd0IsRUFDekI7O0FBVEw7Ozs7RUFhSSxZQUFZLEVBQ2I7O0FBZEg7Ozs7RUFpQk0sV0FBVyxFQUNkOztBQWxCSDs7OztFQXFCSSxnQkFBZ0IsRUFDakI7O0FBR0g7Ozs7Z0ZBSWdGO0FBRWhGO0VBRUksZUFBZSxFQUNoQjs7QUFHSDs7OztnRkFJZ0Y7QUFDaEY7RUFFSSxlQUFlO0VBQ2YsUUFBUTtFQUNSLGNBQWMsRUFDZjs7QUFMSDtFQU9JLG9CQUFvQjtFQUNwQixlQUFlO0VBQ2YsV0FBVztFQUNYLGNBQWM7RUFDZCxnQkFBZ0IsRUFDakI7O0FBR0g7Ozs7Z0ZBSWdGO0FBRWhGO0VBRUksdUJBQXVCLEVBQ3hCOztBQUhIO0VBS0ksV0FBVztFQUNYLGFBQWEsRUFDZDs7QUFHSDs7OztnRkFJZ0Y7QUFFaEY7RUFDRSxhQUFhLEVBQ2Q7O0FBQ0Q7RUFFSSx5QkFBeUIsRUFDMUI7O0FBSEg7RUFLSSxrQkFBa0IsRUFDbkI7O0FBTkg7RUFRSSxvQkFBb0I7RUFDcEIsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixvQkFBb0IsRUFDckI7O0FBSUg7Ozs7Z0ZBSWdGO0FBRWhGO0VBRUkseUJBQXlCLEVBQzFCOztBQUlIOzs7O2dGQUlnRjtBQUVoRjtFQUVJLHlCQUF5QixFQUMxQjs7QUFHSDs7OztnRkFJZ0Y7QUFFaEY7RUFFSSxlQUFlO0VBQ2YsNkJBQTZCLEVBQzlCOztBQUpIO0VBTUkseUJBQXlCLEVBQzFCOztBQUdIOzs7O2dGQUlnRjtBQUVoRjtFQUVJLGVBQWU7RUFDZixrQkFBa0IsRUFDbkI7O0FBR0g7Ozs7Z0ZBSWdGO0FBRWhGO0VBRUksb0JBQW9CLEVBQ3JCOztBQUlIOztnRkFFZ0Y7QUFDaEY7RUFFSSwwQkFBMEIsRUFDM0I7O0FBSEg7RUFLSSxzQkFBc0IsRUFDdkI7O0FBTkg7RUFRSSxnQkFBZ0IsRUFDakI7O0FBR0g7O2dGQUVnRjtBQUNoRjtFQUNFLGdCQUFnQixFQWVqQjtFQWhCRDtJQUdJLGdCQUFnQjtJQUNoQiwwQkFBMEIsRUFDM0I7RUFMSDtJQU9JLG9CQUFvQixFQUNyQjtFQVJIOztJQVdJLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGNBQWMsRUFDZjs7QUFJSDs7Z0ZBRWdGO0FBQ2hGO0VBQ0UsZUFBZSxFQUNoQjs7QUFDRDtFQUVFLGdCQUFnQixFQUNqQjs7QUFFRDtFQUNFLDRDQUE0QztFQUM1QyxnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZixhQUFhLEVBQ2Q7O0FBRUQ7O2dGQUVnRjtBQUNoRjtFQUNFLGdCQUFnQixFQUNqQjs7QUFFRDs7Z0ZBRWdGO0FBQ2hGO0VBQ0Usc0JBQXNCLEVBQ3ZCOztBQUlEOztnRkFFZ0Y7QUFDaEY7RUFFSSxjQUFjLEVBQ2Y7O0FBR0g7O2dGQUVnRjtBQUNoRjtFQUNFLFlBQVk7RUFDWixZQUFZO0VBQ1osWUFBWSxFQUNiOztBQUdEOztnRkFFZ0Y7QUFFaEY7RUFFSSxXQUFXLEVBQ1o7O0FBRUg7RUFFSSxXQUFXLEVBQ1o7O0FBR0g7RUFFSSxZQUFZO0VBQ1osc0JBQXNCO0VBQ3RCLG9CQUFvQixFQUNyQjs7QUFHSDtFQUNFLGlCQUFpQixFQU1sQjtFQVBEO0lBR0ksWUFBWTtJQUNaLFlBQVk7SUFDWixZQUFZLEVBQ2I7O0FBR0g7RUFDRSxpQkFBaUIsRUFTbEI7RUFWRDtJQUdJLFlBQVksRUFDYjtFQUpIO0lBTUksWUFBWTtJQUNaLFlBQVk7SUFDWixZQUFZLEVBQ2I7O0FBR0g7RUFFSSxpQkFBaUIsRUFDbEI7O0FBR0g7RUFFSSxZQUFZLEVBQ2I7O0FBR0g7RUFFSSxhQUFhLEVBQ2Q7O0FBR0g7RUFFSSxhQUFhLEVBQ2Q7O0FBR0g7RUFFSSxhQUFhLEVBQ2Q7O0FBR0g7RUFFSSxhQUFhLEVBQ2Q7O0FBSUg7O2dGQUVnRjtBQUNoRjtFQUNFLG1CQUFtQjtFQUNuQiwwQkFBMEI7RUFDMUIsa0JBQWtCLEVBa0JuQjtFQXJCRDtJQUtJLFlBQVk7SUFDWixXQUFXLEVBQ1o7RUFQSDtJQVNJLFdBQVc7SUFDWCxZQUFZLEVBSWI7SUFkSDtNQVlNLFlBQVksRUFDYjtFQWJMO0lBZ0JJLGFBQWEsRUFDZDtFQWpCSDtJQW1CSSxjQUFjLEVBQ2Y7O0FBR0g7RUFDRSxZQUFZO0VBQ1osWUFBWTtFQUNaLGlCQUFpQixFQUNsQjs7QUFHRDtnRkFDZ0Y7QUFDaEY7Z0ZBQ2dGO0FBQ2hGO0VBRUksZ0JBQWdCLEVBQ2pCOztBQUhIO0VBTU0sa0JBQWtCLEVBQ25COztBQVBMO0VBUVksV0FBVyxFQUFJOztBQVIzQjtFQVVNLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osbUJBQW1CLEVBS3BCO0VBakJMO0lBZVEsY0FBYyxFQUNmOztBQWhCUDtFQW9CSSxtQkFBbUI7RUFDbkIsVUFBVTtFQUNWLGVBQWUsRUFDaEI7O0FBdkJIO0VBeUJJLDJCQUEyQjtFQUMzQiw4QkFBOEIsRUFDL0I7O0FBM0JIO0VBNkJJLDBCQUEwQjtFQUMxQiw2QkFBNkIsRUFDOUI7O0FBL0JIO0VBaUNJLGlCQUFpQixFQUNsQjs7QUFsQ0g7RUFvQ0ksb0JBQW9CLEVBQ3JCOztBQUdIO2dGQUNnRjtBQUVoRiw2Q0FBNkM7QUFDN0M7Ozs7O0VBTUksV0FBVyxFQUNaOztBQUVIO0VBQ0UsWUFBWSxFQUNiOztBQW4yQkQ7RUFDRTs7Ozs7SUFLRSwwQkFBMEIsRUF1QjNCO0VBNUJEOzs7OztJQVFJLHlCQUF5QixFQUkxQjtFQUhDOzs7OztJQUNFLGlDQUFpQyxFQUNsQztFQVhMOzs7OztJQWNJLG1DQUFtQztJQUNuQyx3QkFBd0IsRUFJekI7RUFIQzs7Ozs7SUFDRSx3QkFBd0IsRUFDekI7RUFsQkw7Ozs7O0lBcUJNLGtZQUFpWTtJQUNqWSx5QkFBeUIsRUFDM0I7RUFDRjs7Ozs7SUFDRyx1QkFBdUI7SUFDdkIsbUJBQW1CLEVBQ3JCLEVBQUEiLCJmaWxlIjoiRm9ybS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGhlbWUgQ29uZmlndXJhdGlvbiBGaWxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEJhc2UgQ29sb3JzXG4gKiBcbiAqIERlc2NyaXB0aW9uOlxuICogUHJvdmlkZXMgYSBiYXNlIGZvciB0aGUgVUkuXG4gKiBcbiAqIFVzYWdlOlxuICogR2VuZXJhbCBVSSBCYWNrZ3JvdW5kLCBSZWdpb24gSGVhZGVycywgQnV0dG9uc1xuICovXG5cbiRfYmFzZS1iZzogICAgICAgICAgICAgICAgICAjRkZGRkZGO1xuJF9iYXNlLWJvcmRlcjogICAgICAgICAgICAgICNGMEYwRjA7XG4kX2Jhc2UtdGV4dDogICAgICAgICAgICAgICAgIzQ0NDQ0NDtcblxuJF9iYXNlLWRhcmstYmc6ICAgICAgICAgICAgICNFNEU0RTQ7XG4kX2Jhc2VfZGFya19icmlnaHRfYmc6ICAgICAgI0VDRUNFQztcbiRfYmFzZV9kYXJrX2RhcmtfYmc6ICAgICAgICAjRDBEMEQwO1xuJF9iYXNlLWRhcmstYm9yZGVyOiAgICAgICAgICNCQkJCQkI7XG4kX2Jhc2UtZGFyay10ZXh0OiAgICAgICAgICAgIzIyMjIyMjtcblxuJF9iYXNlX2xpZ2h0X2JnOiAgICAgICAgICAgICNGNEY0RjQ7XG4kX2Jhc2VfbGlnaHRfYnJpZ2h0X2JnOiAgICAgI0Y4RjhGODtcbiRfYmFzZV9saWdodF9icmlnaHRlcl9iZzogICAjRkFGQUZBO1xuJF9iYXNlX2xpZ2h0X2RhcmtfYmc6ICAgICAgICNGMkYyRjI7XG4kX2Jhc2VfbGlnaHRlc3RfYm9yZGVyOiAgICAgI0YwRjBGMDtcbiRfYmFzZV9saWdodGVyX2JvcmRlcjogICAgICAjRTBFMEUwO1xuJF9iYXNlX2xpZ2h0X2JvcmRlcjogICAgICAgICNDM0MzQzM7XG4kX2Jhc2UtbGlnaHQtdGV4dDogICAgICAgICAgIzZGNkY2RjtcblxuLyoqXG4gKiBIaWdobGlnaHQgQ29sb3JzXG4gKiBcbiAqIERlc2NyaXB0aW9uOlxuICogVXNlZCBmb3IgcHJvdmlkaW5nIGVtcGhhc2lzIG9yIGltcG9ydGFuY2UgdG8gVUkgY29tcG9uZW50cy5cbiAqIFxuICogVXNhZ2U6XG4gKiBSZWdpb24gSGVhZGVycywgUHJpbWFyeSAvIEhvdCBCdXR0b25zXG4gKi9cbiRfaGlnaGxpZ2h0LWJnOiAgICAgICAgICAgICAgICAgI0NGRTZGQTsgLy8jRDZFNkY3OyAvLyNERkVCRkI7XG4kX2hpZ2hsaWdodC1icmlnaHQtYmc6ICAgICAgICAgICNERUVGRkI7IC8vI0RCRURGQTsgLy8jRTVFRUZCO1xuJF9oaWdobGlnaHQtZGFyay1iZzogICAgICAgICAgICAjN0ZCRUYyOyAvLyNBNkQyRjQ7IC8vI0M4RDJFMDtcbiRfaGlnaGxpZ2h0LWJvcmRlcjogICAgICAgICAgICAgI0FGQkVDODsgLy8jOUVBOUI3O1xuJF9oaWdobGlnaHQtdGV4dDogICAgICAgICAgICAgICAjNDA0MDQwO1xuXG4kX2RhcmstaGlnaGxpZ2h0LWJnOiAgICAgICAgICAgICMyRDdCQkI7IC8vIzMxODJEODsgLy8jMkU2RkIwXG4kX2RhcmstaGlnaGxpZ2h0LWJyaWdodC1iZzogICAgICMzOThGREY7IC8vIzU4OEJCRlxuJF9kYXJrLWhpZ2hsaWdodC1kYXJrLWJnOiAgICAgICAjMjg3NUQxOyAvLyMyNTU5OENcbiRfZGFyay1oaWdobGlnaHQtYm9yZGVyOiAgICAgICAgIzIyNkFDQjsgLy8jMjI1Mzg0O1xuJF9kYXJrLWhpZ2hsaWdodC10ZXh0OiAgICAgICAgICAjRkZGRkZGO1xuXG4vKipcbiAqIEFjY2VudCBhbmQgU3RhdHVzIENvbG9yc1xuICogXG4gKiBEZXNjcmlwdGlvbjpcbiAqIFVzZWQgZm9yIGluZGljYXRpbmcgc3RhdGUtYmFzZWQgVUkgY29tcG9uZW50cywgc3RhdHVzLCBvciBhY2NlbnRzLlxuICogXG4gKiBVc2FnZTpcbiAqIFdhcm5pbmdzLCBFcnJvcnMsIERhbmdlciBUZXh0LCBTdWNjZXNzLCBGb2N1c1xuICovXG5cbiRfZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAjRkEwMDAwO1xuJF9kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICNDQTAwMDA7XG4kX2Rhbmdlci10ZXh0OiAgICAgICAgICAgICAgI0ZGRkZGRjtcblxuJF9lcnJvci1iZzogICAgICAgICAgICAgICAgICNGRkVGRUY7XG4kX2Vycm9yLXRleHQ6ICAgICAgICAgICAgICAgIzRDNDI0MjtcbiRfZXJyb3ItaWNvbjogICAgICAgICAgICAgICAjRkMxODFCOyBcbiRfZXJyb3ItYm9yZGVyOiAgICAgICAgICAgICAjRkMxODFCO1xuJF9lcnJvci1kaW0tYm9yZGVyOiAgICAgICAgICNGQUIxQjY7XG4kX2Vycm9yLXNoYWRvdzogICAgICAgICAgICAgI0ZFREZERjtcblxuJF93YXJuaW5nLWJnOiAgICAgICAgICAgICAgICNGRkY4REY7XG4kX3dhcm5pbmctZGltLWJnOiAgICAgICAgICAgI0ZGRURBQjtcbiRfd2FybmluZy10ZXh0OiAgICAgICAgICAgICAjNDYzNDAzO1xuJF93YXJuaW5nLWljb246ICAgICAgICAgICAgICNGREIzMDk7XG4kX3dhcm5pbmctYm9yZGVyOiAgICAgICAgICAgI0ZEQjMwOTtcbiRfd2FybmluZy1kaW0tYm9yZGVyOiAgICAgICAjRDJCODdEO1xuJF93YXJuaW5nLXNoYWRvdzogICAgICAgICAgICNGRUVEQjk7XG5cbiRfZm9jdXMtc2hhZG93OiAgICAgICAgICAgICAjMzk5QkVBOyAvLyM0Njk2RkM7XG4kX2ZvY3VzLWRhbmdlci1zaGFkb3c6ICAgICAgI0ZDMTgxQjtcbiRfZm9jdXMtd2FybmluZy1zaGFkb3c6ICAgICAjRkRCMzA5O1xuXG4kX2FjdGl2ZS1iZzogICAgICAgICAgICAgICAgIzJEN0JCQjsgLy8jMzE4MkQ4O1xuJF9hY3RpdmUtZGFyay1iZzogICAgICAgICAgICMxNDZGQjg7XG5cbiRfYnV0dG9uLWFjdGl2ZS1iZzogICAgICAgICAjRThFOEU4O1xuJF9idXR0b24tcHJlc3NlZC1iZzogICAgICAgICNFMEUwRTA7XG5cbiRfbGluay10ZXh0OiAgICAgICAgICAgICAgICAjMTQ2RkI4OyAvLyMxRTZFQzI7IC8vIzI1NmZmYlxuJF9saW5rLWJnOiAgICAgICAgICAgICAgICAgICMyRDdCQkI7IC8vIzIwNzVDRjtcblxuXG4kX2dyZWVuLWJnOiAgICAgICAgICAgICAgICAgIzI0Q0I3RjtcblxuLyoqXG4gKiBBcHBsaWNhdGlvbiBCYXNlZCBDb2xvcnNcbiAqIFxuICogRGVzY3JpcHRpb246XG4gKiBVc2VkIGZvciBhcHBsaWNhdGlvbnMgd2l0aGluIEFQRVggZGV2ZWxvcG1lbnRcbiAqL1xuXG4kX2FwZXgtYXBwLWJ1aWxkZXI6ICAgICAgICAgICAgICMzOTlCRUE7XG4kX2FwZXgtYXBwLWJ1aWxkZXItZGFyazogICAgICAgICM3Qzg3OTE7XG5cbiRfYXBleC1zcWwtd29ya3Nob3A6ICAgICAgICAgICAgIzI0Q0I3RjtcbiRfYXBleC1zcWwtd29ya3Nob3AtZGFyazogICAgICAgIzdDODc5MTtcblxuJF9hcGV4LXRlYW0tZGV2OiAgICAgICAgICAgICAgICAjRkZCRTJBO1xuJF9hcGV4LXRlYW0tZGV2LWRhcms6ICAgICAgICAgICAjN0M4NzkxO1xuXG4kX2FwZXgtcGtnLWFwcHM6ICAgICAgICAgICAgICAgICNGNTRCMjE7IC8vI0Y5NDIyQTsgLy8jRjk0NDQzO1xuJF9hcGV4LXBrZy1hcHBzLWRhcms6ICAgICAgICAgICAjN0M4NzkxO1xuXG4kX2FwZXgtaW5zdGFuY2UtYWRtaW46ICAgICAgICAgICNCREMzQzc7XG4kX2FwZXgtaW5zdGFuY2UtYWRtaW4tZGFyazogICAgICM3Qzg3OTE7XG5cbiRfYXBleC13b3Jrc3BhY2UtYWRtaW46ICAgICAgICAgI0JEQzNDNztcbiRfYXBleC13b3Jrc3BhY2UtYWRtaW4tZGFyazogICAgIzdDODc5MTtcblxuXG4vLyAjMkQ3QkJCXG5cblxuLy8gJF9jb2xvcnM6ICNGMUM0MkMsICMxREJDOUMsICMyRUNDNzEsICMzNDk4REIsICM5QjU5QjYsICMzNDQ4NUUsICNFNjdFMjEsICNFNzRDM0MsICM5NUE1QTYsICNFQ0YwRjEsXG4vLyAgICAgICAgICAgbWl4KCNGRkYsICNGMUM0MkMsIDIwJSksIG1peCgjRkZGLCAjMURCQzlDLCAyMCUpLCBtaXgoI0ZGRiwgIzJFQ0M3MSwgMjAlKSwgbWl4KCNGRkYsICMzNDk4REIsIDIwJSksIG1peCgjRkZGLCAjOUI1OUI2LCAyMCUpLCBtaXgoI0ZGRiwgIzM0NDg1RSwgMjAlKSwgbWl4KCNGRkYsICNFNjdFMjEsIDIwJSksIG1peCgjRkZGLCAjRTc0QzNDLCAyMCUpLCBtaXgoI0ZGRiwgIzk1QTVBNiwgMjAlKSwgbWl4KCNGRkYsICNFQ0YwRjEsIDIwJSksXG4vLyAgICAgICAgICAgbWl4KCMwMDAsICNGMUM0MkMsIDIwJSksIG1peCgjMDAwLCAjMURCQzlDLCAyMCUpLCBtaXgoIzAwMCwgIzJFQ0M3MSwgMjAlKSwgbWl4KCMwMDAsICMzNDk4REIsIDIwJSksIG1peCgjMDAwLCAjOUI1OUI2LCAyMCUpLCBtaXgoIzAwMCwgIzM0NDg1RSwgMjAlKSwgbWl4KCMwMDAsICNFNjdFMjEsIDIwJSksIG1peCgjMDAwLCAjRTc0QzNDLCAyMCUpLCBtaXgoIzAwMCwgIzk1QTVBNiwgMjAlKSwgbWl4KCMwMDAsICNFQ0YwRjEsIDEwJSk7XG5cbi8vIGlvcy1pbnNwaXJlZCA3IGNvbG9yc1xuJF9jb2xvcnM6ICM1ODU2RDYsICMwMDdhZmYsICMzNGFhZGMsICM1YWM4ZmEsICM0Y2Q5NjQsICNmZjJkNTUsICNmZjNiMzAsICNmZjk1MDAsICNmZmNjMDAsICM4ZThlOTMsXG4gICAgICAgICAgbWl4KCNGRkYsICM1ODU2RDYsIDIwJSksIG1peCgjRkZGLCAjMDA3YWZmLCAyMCUpLCBtaXgoI0ZGRiwgIzM0YWFkYywgMjAlKSwgbWl4KCNGRkYsICM1YWM4ZmEsIDIwJSksIG1peCgjRkZGLCAjNGNkOTY0LCAyMCUpLCBtaXgoI0ZGRiwgI2ZmMmQ1NSwgMjAlKSwgbWl4KCNGRkYsICNmZjNiMzAsIDIwJSksIG1peCgjRkZGLCAjZmY5NTAwLCAyMCUpLCBtaXgoI0ZGRiwgI2ZmY2MwMCwgMjAlKSwgbWl4KCNGRkYsICM4ZThlOTMsIDIwJSksXG4gICAgICAgICAgbWl4KCMwMDAsICM1ODU2RDYsIDEwJSksIG1peCgjMDAwLCAjMDA3YWZmLCAxMCUpLCBtaXgoIzAwMCwgIzM0YWFkYywgMTAlKSwgbWl4KCMwMDAsICM1YWM4ZmEsIDEwJSksIG1peCgjMDAwLCAjNGNkOTY0LCAxMCUpLCBtaXgoIzAwMCwgI2ZmMmQ1NSwgMTAlKSwgbWl4KCMwMDAsICNmZjNiMzAsIDEwJSksIG1peCgjMDAwLCAjZmY5NTAwLCAxMCUpLCBtaXgoIzAwMCwgI2ZmY2MwMCwgMTAlKSwgbWl4KCMwMDAsICM4ZThlOTMsIDEwJSk7XG4iLCIvLyAtLS1cbi8vIEltcG9ydCBDb21wYXNzXG4vLyAtLS1cbkBpbXBvcnQgXCIuLi9tb2R1bGVzL2NvbW1vblwiO1xuQGltcG9ydCBcIi4uL3RoZW1lL3N0YW5kYXJkL3RoZW1lQ29uZmlnXCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmEtRm9ybSB7fVxuXG4vL1xuLy8gRmllbGQgQ29udGFpbmVyXG4vL1xuLmEtRm9ybS1maWVsZENvbnRhaW5lciB7XG4gIC8vIGRpc3BsYXk6IHRhYmxlO1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGNsZWFyOiBib3RoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmEtRm9ybS1sYWJlbENvbnRhaW5lcixcbi5hLUZvcm0taW5wdXRDb250YWluZXIge1xuICAvLyBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAvLyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwYWRkaW5nOiA4cHg7XG59XG4uYS1Gb3JtLWl0ZW1XcmFwcGVyIHtcbiAgLy8gVXNlZCBmb3IgcGx1Z2luIGl0ZW1zIC8gc2V0dGluZ3MgcmVnaW9uXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5hLUZvcm0tbGFiZWxDb250YWluZXIge1xuICB3aWR0aDogMzAlO1xuICAvLyBtYXgtd2lkdGg6IDMwMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uYS1Gb3JtLWlucHV0Q29udGFpbmVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gZGlzcGxheTogZmxleDtcbiAgLy8gYWxpZ24taXRlbXM6IHN0YXJ0O1xufVxuLmEtRm9ybS1pbnB1dENvbnRhaW5lciBpbnB1dCxcbmlucHV0LmEtU2VhcmNoQm94LWlucHV0IHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcntcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwuNTUpO1xuICB9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXJ7XG4gICAgb3BhY2l0eTogLjU1O1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVye1xuICAgIG9wYWNpdHk6IC41NTtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxufVxuXG4uYS1Db2RlRWRpdG9yLXNlYXJjaEJhci1sYWJlbCxcbi5hLUZvcm0tbGFiZWwge1xuICBjb2xvcjogIzQwNDA0MDtcbiAgcGFkZGluZzogNHB4IDA7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4vLyAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbi8vICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuLy8gLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuLy8gICAgLW1vei1oeXBoZW5zOiBhdXRvO1xuLy8gICAgIC1tcy1oeXBoZW5zOiBhdXRvO1xuLy8gICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICAvLyB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjREREO1xuICBmb250LXNpemU6IDEycHg7XG59XG4uYS1Db2RlRWRpdG9yLXNlYXJjaEJhci10ZXh0SW5wdXQsXG4uYS1Gb3JtLWZpZWxkLFxuLmEtRm9ybS1zZWxlY3QsXG4uYS1SZXBvcnQtcmVwb3J0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLmEtRm9ybS1pbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5hLUZvcm0taW5wdXRDb250YWluZXIgc2VsZWN0W3NpemU9XCIxXCJdLnNlbGVjdGxpc3QsXG4uYS1Gb3JtLWlucHV0Q29udGFpbmVyIHNlbGVjdC55ZXNfbm8sXG4uYS1Gb3JtLWlucHV0Q29udGFpbmVyIGlucHV0LnRleHRfZmllbGQsXG4uYS1Gb3JtLWlucHV0Q29udGFpbmVyIGlucHV0LnBhc3N3b3JkLFxuLmEtRm9ybS1pbnB1dENvbnRhaW5lciBpbnB1dC5kYXRlcGlja2VyLFxuLmEtRm9ybS1pbnB1dENvbnRhaW5lciBzcGFuLmRpc3BsYXlfb25seSxcbi5hLUZvcm0taW5wdXRDb250YWluZXIgaW5wdXQucG9wdXBfbG92ICB7XG4gIGhlaWdodDogMjRweDtcbn1cbi5hLUZvcm0taW5wdXRDb250YWluZXIgc3Bhbi5kaXNwbGF5X29ubHkge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDI0cHg7XG59XG5cbi5hLUNvZGVFZGl0b3Itc2VhcmNoQmFyLXRleHRJbnB1dCxcbi5hLVJlcG9ydC1yZXBvcnQgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4uYS1Gb3JtLWZpZWxkLFxuLmEtRm9ybS1zZWxlY3QsXG4uYS1Gb3JtLWlucHV0Q29udGFpbmVyIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLmEtRm9ybS1pbnB1dENvbnRhaW5lciBzZWxlY3Quc2VsZWN0bGlzdCxcbi5hLUZvcm0taW5wdXRDb250YWluZXIgc2VsZWN0Lnllc19ubyxcbi5hLUZvcm0taW5wdXRDb250YWluZXIgaW5wdXQudGV4dF9maWVsZCxcbi5hLUZvcm0taW5wdXRDb250YWluZXIgaW5wdXQucGFzc3dvcmQsXG4uYS1Gb3JtLWlucHV0Q29udGFpbmVyIHRleHRhcmVhLnRleHRhcmVhLFxuLmEtRm9ybS1pbnB1dENvbnRhaW5lciBpbnB1dC5kYXRlcGlja2VyLFxuLmEtRm9ybS1pbnB1dENvbnRhaW5lciBzcGFuLmRpc3BsYXlfb25seSxcbi5hLUZvcm0taW5wdXRDb250YWluZXIgaW5wdXQucG9wdXBfbG92LFxuLmEtRm9ybS1pbnB1dENvbnRhaW5lciBzZWxlY3RbbXVsdGlwbGVdLFxuLmEtRm9ybS10ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgcGFkZGluZzogM3B4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjRTBFMEUwO1xuICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLDAsMCwuMDUpIGluc2V0O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGNvbG9yOiAjNDA0MDQwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGQUZBO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAkX2ZvY3VzLXNoYWRvdztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgLy8gYm94LXNoYWRvdzogMCAwIDAgMXB4ICRfZm9jdXMtc2hhZG93O1xuICAgICY6Oi1tcy12YWx1ZSB7XG4gICAgICBjb2xvcjogYmxhY2s7IC8qIHRoZSAtbXMtdmFsdWUgZGVmYXVsdHMgaW4gYSBzZWxlY3QgbGlzdCBmb2N1cyBkZWZhdWx0cyB0byB3aGl0ZSwgc28gd2UgbmVlZCB0byBvdmVycmlkZSB0aGUgdmFsdWUgZm9yIHRoZSB0ZXh0IHRvIGJlIHZpc2libGUgKi9cbiAgICB9XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgfVxufVxuLmEtRm9ybSBpbnB1dC5maWxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBjb2xvcjogIzQwNDA0MDtcbn1cblxuLmEtRm9ybS1zZWxlY3QsXG4uYS1Gb3JtLWlucHV0Q29udGFpbmVyIHNlbGVjdC55ZXNfbm8sXG4uYS1Gb3JtLWlucHV0Q29udGFpbmVyIHNlbGVjdFttdWx0aXBsZV0sXG4uYS1Gb3JtLWlucHV0Q29udGFpbmVyIHNlbGVjdC5zZWxlY3RsaXN0LCB7XG4gIHBhZGRpbmctdG9wOiAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAwcHg7XG59XG5cblxuLy9cbi8vIFRleHQgQXJlYVxuLy9cbi5hLUZvcm0taW5wdXRDb250YWluZXIgdGV4dGFyZWEudGV4dGFyZWEge1xuICBtaW4taGVpZ2h0OiA2NHB4O1xuICBmb250LWZhbWlseTogJ0NvbnNvbGFzJywgJ01lbmxvJywgbW9ub3NwYWNlO1xufVxuXG4vL1xuLy8gU2VhcmNoIEZpZWxkXG4vL1xuLmEtRm9ybS1zZWFyY2hGaWVsZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXhOaUlnYUdWcFoyaDBQU0l4TmlJZ2RtbGxkMEp2ZUQwaU1DQXdJREUySURFMklqNDhjR0YwYUNCa1BTSk5NVFF1TnlBeE5DNDNZeTB1TkM0MExURWdMalF0TVM0MElEQnNMVE11TmkwekxqWmpMUzQ1TGpZdE1pQXVPUzB6TGpFdU9TMHpMakVnTUMwMUxqWXRNaTQxTFRVdU5pMDFMalZ6TWk0MUxUVXVOU0ExTGpVdE5TNDFJRFV1TlNBeUxqVWdOUzQxSURVdU5XTXdJREV1TWkwdU15QXlMakl0TGprZ015NHhiRE11TmlBekxqWmpMalF1TlM0MElERXVNU0F3SURFdU5YcHRMVGd1TWkweE1TNDNZeTB4TGprZ01DMHpMalVnTVM0MkxUTXVOU0F6TGpWek1TNDJJRE11TlNBekxqVWdNeTQxSURNdU5TMHhMallnTXk0MUxUTXVOUzB4TGpZdE15NDFMVE11TlMwekxqVjZJaUJ2Y0dGamFYUjVQU0l1TlNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmpiR2x3TFhKMWJHVTlJbVYyWlc1dlpHUWlJR1pwYkd3OUlpTXlNekZHTWpBaUx6NDhMM04yWno0PSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC4zcmVtIC4zcmVtO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBwYWRkaW5nLWxlZnQ6IDIuNHJlbTtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDEuNnJlbTtcbiAgYmFja2dyb3VuZC1zaXplOiAxLjZyZW07XG59XG5pbnB1dFt0eXBlPXRleHRdLmEtRm9ybS1zZWFyY2hGaWVsZCB7XG4gIHBhZGRpbmctbGVmdDogMi40cmVtO1xufVxuXG4vL1xuLy8gRGlzcGxheSBPbmx5XG4vL1xuLmEtRm9ybS1pbnB1dENvbnRhaW5lciBzcGFuLmRpc3BsYXlfb25seSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmEtRm9ybS1zZWxlY3Qge1xufVxuXG4uYS1Gb3JtLXNlbGVjdCxcbi5hLVJlcG9ydC1yZXBvcnQgc2VsZWN0W3NpemU9XCIxXCJdLFxuLmEtRm9ybS1pbnB1dENvbnRhaW5lciBzZWxlY3Rbc2l6ZT1cIjFcIl0uc2VsZWN0bGlzdCxcbi5hLUZvcm0taW5wdXRDb250YWluZXIgc2VsZWN0Lnllc19ubyB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICB0ZXh0LWluZGVudDogMC4wMXB4O1xuICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejROQ2p3aExTMGdSMlZ1WlhKaGRHOXlPaUJCWkc5aVpTQkpiR3gxYzNSeVlYUnZjaUF4Tmk0d0xqUXNJRk5XUnlCRmVIQnZjblFnVUd4MVp5MUpiaUF1SUZOV1J5QldaWEp6YVc5dU9pQTJMakF3SUVKMWFXeGtJREFwSUNBdExUNE5DandoUkU5RFZGbFFSU0J6ZG1jZ1VGVkNURWxESUNJdEx5OVhNME12TDBSVVJDQlRWa2NnTVM0eEx5OUZUaUlnSW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTDBkeVlYQm9hV056TDFOV1J5OHhMakV2UkZSRUwzTjJaekV4TG1SMFpDSStEUW84YzNabklIWmxjbk5wYjI0OUlqRXVNU0lnYVdROUlreGhlV1Z5WHpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lnZVQwaU1IQjRJZzBLQ1NCM2FXUjBhRDBpTXpad2VDSWdhR1ZwWjJoMFBTSXpObkI0SWlCMmFXVjNRbTk0UFNJd0lEQWdNellnTXpZaUlHVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a1BTSnVaWGNnTUNBd0lETTJJRE0ySWlCNGJXdzZjM0JoWTJVOUluQnlaWE5sY25abElqNE5Danh5WldOMElHOXdZV05wZEhrOUlqVXVNREF3TURBd1pTMHdNaUlnWm1sc2JEMGlJekl6TVVZeU1DSWdkMmxrZEdnOUlqTTJJaUJvWldsbmFIUTlJak0ySWk4K0RRbzhjR0YwYUNCdmNHRmphWFI1UFNJd0xqVWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWlCbWFXeHNQU0lqTWpNeFJqSXdJaUJrUFNKTk1UZ3NNVEV1T1d3MExqVXNOUzR4YUMwNVRERTRMREV4TGpsNklFMHhPQ3d5TkM0eFRERXpMalVzTVRsb09RMEtDVXd4T0N3eU5DNHhlaUl2UGcwS1BISmxZM1FnYjNCaFkybDBlVDBpT1M0NU9UazVPVGxsTFRBeUlpQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlJR05zYVhBdGNuVnNaVDBpWlhabGJtOWtaQ0lnWm1sc2JEMGlJekl6TVVZeU1DSWdkMmxrZEdnOUlqRWlJR2hsYVdkb2REMGlNellpTHo0TkNqeG5QZzBLUEM5blBnMEtQR2MrRFFvOEwyYytEUW84Wno0TkNqd3ZaejROQ2p4blBnMEtQQzluUGcwS1BHYytEUW84TDJjK0RRbzhaejROQ2p3dlp6NE5Dand2YzNablBnMEspO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAzMnB4IDE2cHg7XG4gIGNvbG9yOiAjNDA0MDQwO1xuICBwYWRkaW5nLXJpZ2h0OiAyNnB4O1xuICB0ZXh0LW92ZXJmbG93OiAnICc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIHJlbW92aW5nIG1heC13aWR0aCA2MCUgbGluZVxuICAvLyBtYXgtd2lkdGg6IDYwJTtcbn1cbmJvZHk6bm90KDotbW96LWhhbmRsZXItYmxvY2tlZCkgLmEtRm9ybS1zZWxlY3Qge1xuICBwYWRkaW5nOiAycHggMjRweCAycHggMnB4O1xufVxuXG4uYS1Gb3JtLXNlbGVjdCxcbi5hLVJlcG9ydC1yZXBvcnQgc2VsZWN0W3NpemU9XCIxXCJdLFxuLmEtRm9ybS1pbnB1dENvbnRhaW5lciBzZWxlY3Rbc2l6ZT1cIjFcIl0uc2VsZWN0bGlzdCxcbi5hLUZvcm0taW5wdXRDb250YWluZXIgc2VsZWN0Lnllc19ubyxcbi5hLVByb3BlcnR5LWZpZWxkLS1zZWxlY3Qge1xuICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJZ1pXNWhZbXhsTFdKaFkydG5jbTkxYm1ROUltNWxkeUF3SURBZ01qUWdNalFpUGp4d1lYUm9JR1pwYkd3OUlpTkdNa1l5UmpJaUlHUTlJazB3SURCb01qUjJNalJvTFRJMGVpSXZQanh3WVhSb0lHWnBiR3c5SWlORU9VUTVSRGtpSUdROUlrMHdJREJvTVhZeU5HZ3RNWG9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpOalkySWlCa1BTSk5NVFl1TlNBeE5DNHlPVE5qTUNBdU1USTRMUzR3TkRrdU1qVTJMUzR4TkRZdU16VTBiQzAwTGpNMU5DQTBMak0xTXkwMExqTTFOQzAwTGpNMU5HTXRMakU1TlMwdU1UazFMUzR4T1RVdExqVXhNaUF3TFM0M01EZHpMalV4TWkwdU1UazFMamN3TnlBd2JETXVOalEzSURNdU5qUTNJRE11TmpRMkxUTXVOalEyWXk0eE9UVXRMakU1TlM0MU1USXRMakU1TlM0M01EY2dNQ0F1TURrNExqQTVOeTR4TkRjdU1qSTFMakUwTnk0ek5UTjZUVGN1TlNBNUxqY3dOMk13TFM0eE1qZ3VNRFE1TFM0eU5UWXVNVFEyTFM0ek5UUnNOQzR6TlRRdE5DNHpOVE1nTkM0ek5UUWdOQzR6TlRSakxqRTVOUzR4T1RVdU1UazFMalV4TWlBd0lDNDNNRGR6TFM0MU1USXVNVGsxTFM0M01EY2dNR3d0TXk0Mk5EY3RNeTQyTkRjdE15NDJORFlnTXk0Mk5EWmpMUzR4T1RVdU1UazFMUzQxTVRJdU1UazFMUzQzTURjZ01DMHVNRGs0TFM0d09UY3RMakUwTnkwdU1qSTFMUzR4TkRjdExqTTFNM29pTHo0OEwzTjJaejQ9KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJME1EQWlJR2hsYVdkb2REMGlNakF3SWlCMmFXVjNRbTk0UFNJdE9Ua3VOU0F3TGpVZ05EQXdJREl3TUNJZ1pXNWhZbXhsTFdKaFkydG5jbTkxYm1ROUltNWxkeUF0T1RrdU5TQXdMalVnTkRBd0lESXdNQ0krUEhCaGRHZ2dabWxzYkQwaUl6UTBOQ0lnWkQwaVRURTFOaTR5TlNBM015NDNZekFnTVM0MkxTNDJNVElnTXk0eUxURXVPREkxSURRdU5ESTFiQzAxTkM0ME1qVWdOVFF1TkRJMUxUVTBMalF5TlMwMU5DNDBNalZqTFRJdU5ETTRMVEl1TkRNNExUSXVORE00TFRZdU5DQXdMVGd1T0RNM2N6WXVOQzB5TGpRek9DQTRMamd6TnlBd2JEUTFMalU0T0NBME5TNDFOelFnTkRVdU5UYzFMVFExTGpVM05XTXlMalF6T0MweUxqUXpPQ0EyTGpNNU9TMHlMalF6T0NBNExqZ3pOeUF3SURFdU1qSTJJREV1TWpJMklERXVPRE00SURJdU9ESTFJREV1T0RNNElEUXVOREV6ZWlJdlBqd3ZjM1puUGc9PSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xuICAuaWU5ICYsIC5sdC1pZTkgJiwgLmx0LWllMTAgJiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gIH1cblxufVxuXG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5hLUZvcm0tc2VsZWN0LFxuICAuYS1SZXBvcnQtcmVwb3J0IHNlbGVjdFtzaXplPVwiMVwiXSxcbiAgLmEtRm9ybS1pbnB1dENvbnRhaW5lciBzZWxlY3Rbc2l6ZT1cIjFcIl0uc2VsZWN0bGlzdCxcbiAgLmEtRm9ybS1pbnB1dENvbnRhaW5lciBzZWxlY3QueWVzX25vLFxuICAuYS1Qcm9wZXJ0eS1maWVsZC0tc2VsZWN0IHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG1lbnVsaXN0O1xuXG4gICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAudS1IQ00gJiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAmOmZvY3VzOjotbXMtdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgICAgLnUtSENNICYge1xuICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFQUFBQUJBQ0FNQUFBQ2R0NEhzQUFBQUhsQk1WRVhmMzkrK3ZyN3A2ZW1BZ0lEaDRlSFB6ODl2YjIvWjJkbG1abWJ5OHZMRmQrU25BQUFBbTBsRVFWUjQydTNXc1E2QUlBeEZVU3VDOHY4L2JEUW1kMkNnelV0d0tmczlFN1JzNTdsMTVTU1FRQUkrd0V3RDdMcE1BSjRlSVFMUUk0UUErbElRQWdEOXZpTUVBUHJlRVNJQVBVSUVvRWVJQWZRSWZvQitJZ0JNZWdRbjhQV0Q0QWJhMnc5Q2N3TkhwVWVvUjQ2MEJEakNSWkt2c3Z5WTVPZXNEaFIxcEtsRFZSM3I2bUtSVjV1K1hOZXZkd1Q3NVl1RFlEblNFa2hnRFhBRC84eUlnWTE5Q0pjQUFBQUFTVVZPUks1Q1lJST0pO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgIH1cbiAgICAudS1IQ00gJiB7XG4gICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgfVxuICB9XG5cbn1cblxuLmEtRm9ybS1pbnB1dENvbnRhaW5lcixcbi5hLUZvcm0tbGFiZWxDb250YWluZXIge1xuICAuYS1CdXR0b24uYS1CdXR0b24tLWhlbHBCdXR0b24sXG4gIC5hLUJ1dHRvbi5hLUJ1dHRvbi0tY2FsZW5kYXIge1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gIH1cbn1cblxuLnUtSENNIHtcbiAgLmEtRm9ybS1pbnB1dENvbnRhaW5lcixcbiAgLmEtRm9ybS1sYWJlbENvbnRhaW5lciB7XG4gICAgLmEtQnV0dG9uLmEtQnV0dG9uLS1oZWxwQnV0dG9uLFxuICAgIC5hLUJ1dHRvbi5hLUJ1dHRvbi0tY2FsZW5kYXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5hLUZvcm0taW5wdXRDb250YWluZXIge1xuICBzZWxlY3QgKyAuYS1CdXR0b24tLWhlbHBCdXR0b24sXG4gIGlucHV0ICsgLmEtQnV0dG9uLS1oZWxwQnV0dG9uLFxuICBmaWVsZHNldCArIC5hLUJ1dHRvbi0taGVscEJ1dHRvbiB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxufVxuXG4vL1xuLy8gUmVnaW9uIFF1aWNrIExpbmtzXG4vL1xuLlJlZ2lvblF1aWNrTGlua3Mge1xuICBmbG9hdDpsZWZ0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8vIFJlYWQgT25seVxuLmEtRm9ybS1maWVsZC0tcmVhZE9ubHkge1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuXG4vL1xuLy8gRGF0ZSBQaWNrZXJcbi8vXG4uaGFzRGF0ZXBpY2tlciB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNlbGVjdCBMaXN0IFdpZHRoXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmEtRm9ybS1pbnB1dENvbnRhaW5lciB7XG4gIGZpZWxkc2V0LnJhZGlvX2dyb3VwLFxuICBmaWVsZHNldC5jaGVja2JveF9ncm91cCB7XG4gICAgLy8gTGluZSB1cCBpdGVtcyAoY2hlY2tib3hlcyAvIHJhZGlvcykgaW4gYnV0dG9uIGJhciByZWdpb25zXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgYnIge1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gICAgdGFibGUgdGQge1xuICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICB9XG4gIH1cbiAgZmllbGRzZXQgdGFibGUge1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICB9XG59XG4uYS1Gb3JtLXJhZGlvTGFiZWwsXG4uYS1Gb3JtLWlucHV0Q29udGFpbmVyIC5yYWRpb19ncm91cCBsYWJlbCxcbi5hLUZvcm0tY2hlY2tib3hMYWJlbCxcbi5hLUZvcm0taW5wdXRDb250YWluZXIgLmNoZWNrYm94X2dyb3VwIGxhYmVsIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIGNvbG9yOiAjNDA0MDQwO1xufVxuXG4uYS1Gb3JtLXJhZGlvLFxuLmEtRm9ybS1pbnB1dENvbnRhaW5lciBmaWVsZHNldC5yYWRpb19ncm91cCxcbi5hLUZvcm0tY2hlY2tib3gsXG4uYS1Gb3JtLWlucHV0Q29udGFpbmVyIGZpZWxkc2V0LmNoZWNrYm94LWdyb3VwIHtcbiAgLy8gZGlzcGxheTogYmxvY2s7XG4gIC8vIG1hcmdpbi1sZWZ0OiAyNHB4O1xuICAmICsgLmEtRm9ybS1lcnJvciB7XG4gICAgLy8gbWFyZ2luLWxlZnQ6IDI0cHg7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICB9XG59XG4uYS1Gb3JtLWlucHV0Q29udGFpbmVyIC5yYWRpb19ncm91cCBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWwsXG4uYS1Gb3JtLWlucHV0Q29udGFpbmVyIC5jaGVja2JveF9ncm91cCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWwsXG4uYS1Gb3JtLWNoZWNrYm94OmNoZWNrZWQgKyBsYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYS1Gb3JtLWZpZWxkQ29udGFpbmVyLS1ib3hMYWJlbHMge1xuICBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgQGluY2x1ZGUgdmlzdWFsbHlIaWRkZW47XG4gIH1cbiAgZmllbGRzZXQgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMzElO1xuICAgIG1pbi1oZWlnaHQ6IDc2cHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsMCwwLC4wNzUpIGluc2V0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIG1hcmdpbjogMCAxJTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLDAsMCwuMDc1KSBpbnNldCwgMCAycHggNHB4IHJnYmEoMCwwLDAsMC4wNSk7XG4gICAgfVxuICB9XG4gIGZpZWxkc2V0IGJyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5hLUZvcm0taW5wdXRDb250YWluZXIgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsLFxuICAuYS1Gb3JtLWlucHV0Q29udGFpbmVyIGlucHV0OmNoZWNrZWQgKyAuZmllbGRkYXRhIGxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGQUZBO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMzk5QkVBIGluc2V0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgLmEtRm9ybS1yYWRpb0xhYmVsLWRlc2Mge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG4gIC5hLUZvcm0taW5wdXRDb250YWluZXIgaW5wdXQ6Zm9jdXMgKyBsYWJlbCxcbiAgLmEtRm9ybS1pbnB1dENvbnRhaW5lciBpbnB1dDpmb2N1cyArIC5maWVsZGRhdGEgbGFiZWwge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMzk5QkVBIGluc2V0LCAwIDAgMCAxcHggIzM5OUJFQSwgMCAwIDJweCAycHggcmdiYSgjMzk5QkVBLCAwLjUpICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5hLUZvcm0tcmFkaW9MYWJlbC10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuLmEtRm9ybS1yYWRpb0xhYmVsLWRlc2Mge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICM3MDcwNzA7XG59XG5cbi8vXG4vLyBQb3N0IFRleHRcbi8vXG4uYS1Gb3JtLXBvc3RUZXh0LFxuLmEtRm9ybS1pbnB1dENvbnRhaW5lciBpbnB1dCArIHNwYW4uZmllbGRkYXRhIHtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgY29sb3I6ICM3MDcwNzA7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuXG4uYS1Gb3JtLXF1aWNrUGlja3Mge1xuICAmLmRpc3BsYXlfb25seSB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB9XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gIHBhZGRpbmc6IDAgLjhyZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGEge1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEltYWdlIFByZXZpZXcgKDQwMDA6NjAxKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5hLUZvcm0taWNvblByZXZpZXcge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG5cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNlbGVjdCBMaXN0IFdpZHRoXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmEtRm9ybS1pbnB1dENvbnRhaW5lciBzZWxlY3Rbc2l6ZT1cIjFcIl0uc2VsZWN0bGlzdCB7XG4gIG1pbi13aWR0aDogMTgwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgJi5pcy1zbWFsbCB7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xuICB9XG59XG4uYS1TaWRlIC5hLUZvcm0taW5wdXRDb250YWluZXIgc2VsZWN0W3NpemU9XCIxXCJdLnNlbGVjdGxpc3Qge1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5hLUZvcm0tc2VsZWN0LS1tdWx0aSB7XG4gIHdpZHRoOiAzNTBweDtcbiAgbWluLWhlaWdodDogMTIwcHg7XG4gIGNvbG9yOiAjNjA2MDYwO1xufVxuXG4uYS1Gb3JtLXNlbGVjdC0tY29uZGl0aW9ucyB7XG4gIG1heC13aWR0aDogNDgwcHg7XG4gICYgKyAuYS1Gb3JtLXF1aWNrUGlja3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBWYWxpZGF0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmEtRm9ybS1lcnJvciB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGNvbG9yOiAjZTkxRDFEO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gLmEtRm9ybSBpbnB1dDppbnZhbGlkOm5vdCg6Zm9jdXMpIHtcbi8vICAgYm9yZGVyLWNvbG9yOiByZWQ7XG4vLyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWxwIEJ1dHRvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gLmEtQnV0dG9uLS1oZWxwQnV0dG9uIHtcbi8vICAgcGFkZGluZzogNHB4IDhweDtcbi8vIH1cblxuLy8gLmEtRm9ybSBpbnB1dDppbnZhbGlkOm5vdCg6Zm9jdXMpIHtcbi8vICAgYm9yZGVyLWNvbG9yOiByZWQ7XG4vLyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMYXJnZSBGb3JtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmEtRm9ybS0tbGFyZ2Uge1xuICAuYS1Gb3JtLWxhYmVsIHtcbiAgICBwYWRkaW5nOiA2cHggMDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbiAgLmEtRm9ybS1maWVsZCxcbiAgLmEtRm9ybS1zZWxlY3QsXG4gIHNlbGVjdFtzaXplPVwiMVwiXS5zZWxlY3RsaXN0LFxuICBzZWxlY3QueWVzX25vLFxuICBpbnB1dC50ZXh0X2ZpZWxkLFxuICBpbnB1dC5wYXNzd29yZCxcbiAgaW5wdXQuZGF0ZXBpY2tlcixcbiAgc3Bhbi5kaXNwbGF5X29ubHksXG4gIGlucHV0LnBvcHVwX2xvdiB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDdweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gIH1cbiAgc3Bhbi5kaXNwbGF5X29ubHkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAzMnB4O1xuICB9XG4gIC5hLUZvcm0tc2VsZWN0LFxuICAuYS1Gb3JtLWlucHV0Q29udGFpbmVyIHNlbGVjdFtzaXplPVwiMVwiXS5zZWxlY3RsaXN0LFxuICBzZWxlY3QueWVzX25vIHtcbiAgICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpVlZSR0xUZ2lJSE4wWVc1a1lXeHZibVU5SW01dklqOCtDanh6ZG1jZ2QybGtkR2c5SWpJMGNIZ2lJR2hsYVdkb2REMGlNalJ3ZUNJZ2RtbGxkMEp2ZUQwaU1DQXdJREkwSURJMElpQjJaWEp6YVc5dVBTSXhMakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGh0Ykc1ek9uTnJaWFJqYUQwaWFIUjBjRG92TDNkM2R5NWliMmhsYldsaGJtTnZaR2x1Wnk1amIyMHZjMnRsZEdOb0wyNXpJajRLSUNBZ0lEeDBhWFJzWlQ1eWFXZG9kRHd2ZEdsMGJHVStDaUFnSUNBOFpHVnpZM0pwY0hScGIyNCtRM0psWVhSbFpDQjNhWFJvSUZOclpYUmphQ0FvYUhSMGNEb3ZMM2QzZHk1aWIyaGxiV2xoYm1OdlpHbHVaeTVqYjIwdmMydGxkR05vS1R3dlpHVnpZM0pwY0hScGIyNCtDaUFnSUNBOFpHVm1jejQ4TDJSbFpuTStDaUFnSUNBOFp5QnBaRDBpVUdGblpTMHhJaUJ6ZEhKdmEyVTlJbTV2Ym1VaUlITjBjbTlyWlMxM2FXUjBhRDBpTVNJZ1ptbHNiRDBpYm05dVpTSWdabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJaUJ6YTJWMFkyZzZkSGx3WlQwaVRWTlFZV2RsSWo0S0lDQWdJQ0FnSUNBOFp5QnBaRDBpY21sbmFIUWlJSE5yWlhSamFEcDBlWEJsUFNKTlUwRnlkR0p2WVhKa1IzSnZkWEFpUGdvZ0lDQWdJQ0FnSUNBZ0lDQThaeUJwWkQwaVNXMXdiM0owWldRdFRHRjVaWEp6SWlCemEyVjBZMmc2ZEhsd1pUMGlUVk5NWVhsbGNrZHliM1Z3SWo0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4d1lYUm9JR1E5SWsweE1pd3hPQ0JNT0N3eE15Qk1NVFlzTVRNZ1RERXlMREU0SUUwNExqQXpOaXd4TVNCTU1USXNOaUJNTVRVdU9UWTBMREV4SUV3NExqQXpOaXd4TVNCTk1qUXNNQ0JNTUN3d0lFd3hMREFnVERFc01qUWdUREkwTERJMElFd3lOQ3d3SWlCcFpEMGlSbWxzYkMweElpQm1hV3hzUFNJalJqUkdORVkwSWlCemEyVjBZMmc2ZEhsd1pUMGlUVk5UYUdGd1pVZHliM1Z3SWo0OEwzQmhkR2crQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Y0dGMGFDQmtQU0pOTVRZc01UTWdURGdzTVRNZ1RERXlMREU0SUV3eE5pd3hNeUJOTVRJc05pQk1PQzR3TXpZc01URWdUREUxTGprMk5Dd3hNU0JNTVRJc05pSWdhV1E5SWtacGJHd3RNaUlnWm1sc2JEMGlJell4TlVVMVJpSWdjMnRsZEdOb09uUjVjR1U5SWsxVFUyaGhjR1ZIY205MWNDSStQQzl3WVhSb1Bnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BIQmhkR2dnWkQwaVRUQXNNQ0JNTVN3d0lFd3hMREl6TGprMElFd3dMREl6TGprMElFd3dMREl6TGprMElFd3dMREFnVERBc01DQmFJRTB3TERBaUlHbGtQU0pHYVd4c0xUTWlJR1pwYkd3OUlpTkVSa1JGUkVZaUlITnJaWFJqYURwMGVYQmxQU0pOVTFOb1lYQmxSM0p2ZFhBaVBqd3ZjR0YwYUQ0S0lDQWdJQ0FnSUNBZ0lDQWdQQzluUGdvZ0lDQWdJQ0FnSUR3dlp6NEtJQ0FnSUR3dlp6NEtQQzl6ZG1jKyk7XG4gICAgLy8gLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgLy8gYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIC8vIHBhZGRpbmctcmlnaHQ6IDQ0cHg7XG4gIH1cbiAgLmEtQnV0dG9uLmEtQnV0dG9uLS1oZWxwQnV0dG9uLFxuICAuYS1CdXR0b24uYS1CdXR0b24tLWNhbGVuZGFyIHtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgfVxuICAuYS1Gb3JtLXJhZGlvTGFiZWwsXG4gIC5yYWRpb19ncm91cCBsYWJlbCxcbiAgLmEtRm9ybS1jaGVja2JveExhYmVsLFxuICAuY2hlY2tib3hfZ3JvdXAgbGFiZWwsXG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgfVxuICAuYS1Gb3JtLXNlYXJjaEZpZWxkIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEuNnJlbTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAuOHJlbTtcbiAgfVxuICBpbnB1dFt0eXBlPXRleHRdLmEtRm9ybS1zZWFyY2hGaWVsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzLjByZW07XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNsaW0gUGFkZGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5hLUZvcm0tLXNsaW1QYWRkaW5nIHtcbiAgLmEtRm9ybS1pbnB1dENvbnRhaW5lcixcbiAgLmEtRm9ybS1sYWJlbENvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFibGUgQmFzZWRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYS1Gb3JtLS10YWJsZUJhc2VkIHtcbiAgLmEtRm9ybS1sYWJlbENvbnRhaW5lciB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIH1cbiAgLmEtRm9ybS1zZWxlY3QsXG4gIHNlbGVjdC5zZWxlY3RsaXN0IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLy8gcGFkZGluZy1yaWdodDogMjZweDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFibGUgQmFzZWRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYS1Gb3JtLS1zY2hlbWFTZWxlY3Qge1xuICBmbG9hdDogcmlnaHQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC5hLUZvcm0tbGFiZWxDb250YWluZXIge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5hLUZvcm0tbGFiZWxDb250YWluZXIsXG4gIC5hLUZvcm0taW5wdXRDb250YWluZXIge1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gIH1cbiAgLmEtRm9ybS1zZWxlY3QsXG4gIHNlbGVjdC5zZWxlY3RsaXN0IHtcbiAgICB3aWR0aDogMTgwcHg7XG4gICAgLy8gbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8vIHBhZGRpbmctcmlnaHQ6IDI2cHg7XG4gIH1cbiAgLmEtRm9ybS1pbnB1dENvbnRhaW5lciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmEtRm9ybS1zZWxlY3QsXG4gIC5hLUJ1dHRvbi0taGVscEJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFdpemFyZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5hLUZvcm0tLXdpemFyZCB7XG4gIC5hLUZvcm0tZmllbGQsXG4gIC5hLUZvcm0tc2VsZWN0LFxuICBzZWxlY3Quc2VsZWN0bGlzdCxcbiAgaW5wdXQudGV4dF9maWVsZCB7XG4gICAgbWluLXdpZHRoOiAzMjBweDtcbiAgICBtYXgtd2lkdGg6IDUyMHB4O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMYWJlbHMgQWJvdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYS1Gb3JtLS1sYWJlbHNBYm92ZSAuYS1Gb3JtLWZpZWxkQ29udGFpbmVyLFxuLmEtRm9ybS1maWVsZENvbnRhaW5lci0tc3RhY2tlZCB7XG4gIC5hLUJ1dHRvbi0taGVscEJ1dHRvbiB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuICAuYS1Gb3JtLWxhYmVsQ29udGFpbmVyLFxuICAuYS1Gb3JtLWlucHV0Q29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuYS1Gb3JtLWxhYmVsQ29udGFpbmVyIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIC5hLUZvcm0taW5wdXRDb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG4gIC5hLUZvcm0tc2VsZWN0LFxuICBzZWxlY3Quc2VsZWN0bGlzdCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5hLUZvcm0tcmFkaW8sXG4gIC5hLUZvcm0gZmllbGRzZXQucmFkaW9fZ3JvdXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xuICB9XG4gIC5hLUZvcm0tbGFiZWxDb250YWluZXItLXZpc3VhbGx5aGlkZGVuIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmllbGQgTW9kaWZpZXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kaWZpZXI6IFN0cmV0Y2ggSW5wdXQgRmllbGRcbiAgIC0tLVxuICAgU3RyZXRjaGVzIGlucHV0IHRvIDEwMCVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hLUZvcm0tLXN0cmV0Y2hJbnB1dHMgLmEtRm9ybS1maWVsZENvbnRhaW5lcixcbi5hLUZvcm0tZmllbGRDb250YWluZXItLXN0cmV0Y2gge1xuICAuYS1Gb3JtLWlucHV0Q29udGFpbmVyIHtcbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgZmllbGRzZXQuc2h1dHRsZSxcbiAgdGFibGUuc2h1dHRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgZmllbGRzZXQuc2h1dHRsZSB0ZC5zaHV0dGxlU2VsZWN0MSxcbiAgZmllbGRzZXQuc2h1dHRsZSB0ZC5zaHV0dGxlU2VsZWN0MiB7XG4gICAgICB3aWR0aDogNTAlO1xuICB9XG4gIGZpZWxkc2V0LnNodXR0bGUgc2VsZWN0LnNodXR0bGVfbGVmdCxcbiAgZmllbGRzZXQuc2h1dHRsZSBzZWxlY3Quc2h1dHRsZV9yaWdodCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2RpZmllcjogTWFrZSBGaWVsZHNldCBTdHJldGNoXG4gICAtLS1cbiAgIE1ha2VzIEZpZWxkc2V0IChmb3IgdGV4dGFyZWFzLCBhbmQgb3RoZXJzKSB1c2UgZGlzcGxheSBiIGxvY2tcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hLUZvcm0tZmllbGRDb250YWluZXItLWZpZWxkc2V0QmxvY2sge1xuICBmaWVsZHNldC50ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vZGlmaWVyOiBQb3N0IEl0ZW0gVGV4dFxuICAgLS0tXG5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYS1Gb3JtLWZpZWxkQ29udGFpbmVyLS1wb3N0SXRlbVRleHQge1xuICAuYS1Gb3JtLWxhYmVsQ29udGFpbmVyLCAuYS1Gb3JtLWlucHV0Q29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cbiAgLmEtRm9ybS1pbnB1dENvbnRhaW5lciBzcGFuLmRpc3BsYXlfb25seSB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogIzcwNzA3MDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2RpZmllcjogQXV0byBXaWR0aCBMYWJlbFxuICAgLS0tXG4gICBTZXRzIGxhYmVsIHdpZHRoIHRvIGJlIGF1dG8gKGRlZmF1bHQgaXMgMzAlKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmEtRm9ybS1maWVsZENvbnRhaW5lci0tYXV0b0xhYmVsV2lkdGgge1xuICAuYS1Gb3JtLWxhYmVsQ29udGFpbmVyIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5hLUZvcm0tbGFiZWxDb250YWluZXItLXZpc3VhbGx5aGlkZGVuIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kaWZpZXI6IEhpZGUgTGFiZWxcbiAgIC0tLVxuICAgSGlkZXMgbGFiZWxDb250YWluZXIgZm9yIHRoZSBnaXZlbiBmaWVsZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmEtRm9ybS0tZmxvYXRDb2xzTGVmdCAuYS1Gb3JtLWZpZWxkQ29udGFpbmVyLmEtRm9ybS1maWVsZENvbnRhaW5lci0tdmFsdWVBc0xhYmVsIHtcbiAgd2lkdGg6IDI1NnB4O1xufVxuLmEtRm9ybS1maWVsZENvbnRhaW5lci0tdmFsdWVBc0xhYmVsIHtcbiAgLmEtRm9ybS1sYWJlbENvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5hLUZvcm0taW5wdXRDb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5hLUZvcm0taW5wdXRDb250YWluZXIgc3Bhbi5kaXNwbGF5X29ubHkge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgcGFkZGluZzogNHB4IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2RpZmllcjogSGlkZSBMYWJlbFxuICAgLS0tXG4gICBIaWRlcyBsYWJlbENvbnRhaW5lciBmb3IgdGhlIGdpdmVuIGZpZWxkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYS1Gb3JtLWZpZWxkQ29udGFpbmVyLS1oaWRlTGFiZWwge1xuICAuYS1Gb3JtLWxhYmVsQ29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kaWZpZXI6IEhpZGUgRmllbGRcbiAgIC0tLVxuICAgSGlkZXMgaW5wdXRDb250YWluZXIgZm9yIHRoZSBnaXZlbiBmaWVsZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmEtRm9ybS1maWVsZENvbnRhaW5lci0taGlkZUZpZWxkIHtcbiAgLmEtRm9ybS1pbnB1dENvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2RpZmllcjogQ29sdW1uLWJhc2VkIGxhYmVsXG4gICAtLS1cbiAgIFVzZWQgd2hlbiB5b3UgaGF2ZSBhIGNvbHVtbiBvZiBsYWJlbHMgb25seVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmEtRm9ybS1maWVsZENvbnRhaW5lci0tY29sTGFiZWwge1xuICAuYS1Gb3JtLWxhYmVsQ29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC5hLUZvcm0taW5wdXRDb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kaWZpZXI6IEhpZGRlbiBMYWJlbCBDaGVja2JveFxuICAgLS0tXG4gICBSZWR1Y2VzIHBhZGRpbmcgZm9yIGNoZWNrYm94ZXMgdGhhdCBoYXZlIG5vIGxhYmVsc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmEtRm9ybS1maWVsZENvbnRhaW5lci0tbm9MYWJlbENoZWNrYm94IHtcbiAgLmEtRm9ybS1pbnB1dENvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vZGlmaWVyOiBIaWRkZW4gTGFiZWwgQ2hlY2tib3hcbiAgIC0tLVxuICAgUmVkdWNlcyBwYWRkaW5nIGZvciBjaGVja2JveGVzIHRoYXQgaGF2ZSBubyBsYWJlbHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hLUZvcm0tZmllbGRDb250YWluZXItLWxhcmdlRGlzcGxheU9ubHlUZXh0IHtcbiAgLmEtRm9ybS1pbnB1dENvbnRhaW5lciBzcGFuLmRpc3BsYXlfb25seSB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaXN0IE1hbmFnZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5maWVsZHNldC5saXN0bWFuYWdlciB7XG4gIHRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB9XG4gIHRkIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgc2VsZWN0Lmxpc3RtYW5hZ2VyIHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNodXR0bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuZmllbGRzZXQuc2h1dHRsZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdGFibGUuc2h1dHRsZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIH1cbiAgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cbiAgc2VsZWN0LnNodXR0bGVfbGVmdCxcbiAgc2VsZWN0LnNodXR0bGVfcmlnaHQge1xuICAgIG1pbi13aWR0aDogMTYwcHg7XG4gICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICBtaW4taGVpZ2h0OiAxNDBweDtcbiAgICBtYXJnaW46IDRweCAwO1xuICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRleHRhcmVhXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmEtRm9ybS1maWVsZENvbnRhaW5lci0tc3RhY2tlZCBmaWVsZHNldC50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuZmllbGRzZXQudGV4dGFyZWEge1xuICAvLyBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uYS1Gb3JtLXRleHRhcmVhLS1jb2RlIHtcbiAgZm9udC1mYW1pbHk6ICdDb25zb2xhcycsICdNZW5sbycsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgY29sb3I6ICM0MDQwNDA7XG4gIHBhZGRpbmc6IDhweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBvcHVwIExPVlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmZpZWxkc2V0LmxvdiB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBvcHVwIExPVlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmZpZWxkc2V0LmNvbG9yX3BpY2tlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGaWVsZHNldHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYS1Gb3JtLWlucHV0Q29udGFpbmVyIGZpZWxkc2V0IHtcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGVmdCBBbGlnbmVkIEZpZWxkIENvbnRhaW5lclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5hLUZvcm0tZmllbGRDb250YWluZXItLWZsb2F0TGVmdCB7XG4gIHdpZHRoOiBhdXRvO1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm0gQWxpZ25tZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYS1Gb3JtLWNvbC0tMiB7XG4gIC5hLUZvcm0tbGFiZWxDb250YWluZXIge1xuICAgIHdpZHRoOiAxNSU7XG4gIH1cbn1cbi5hLUZvcm0tY29sLS0zIHtcbiAgLmEtRm9ybS1sYWJlbENvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwJTtcbiAgfVxufVxuXG4uYS1Gb3JtLS1hbGlnbkxlZnQge1xuICAuYS1Gb3JtLWZpZWxkQ29udGFpbmVyIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxufVxuXG4uYS1Gb3JtLS1mbG9hdEZpZWxkc0xlZnQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAuYS1Gb3JtLWZpZWxkQ29udGFpbmVyIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxufVxuXG4uYS1Gb3JtLS1mbG9hdENvbHNMZWZ0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLmFwZXgtY29sIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuYS1Gb3JtLWZpZWxkQ29udGFpbmVyIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxufVxuXG4uYS1Gb3JtLS1sZWZ0TGFiZWxzIHtcbiAgLmEtRm9ybS1sYWJlbENvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4uYS1Gb3JtLS1hdXRvV2lkdGhMYWJlbHMge1xuICAuYS1Gb3JtLWxhYmVsQ29udGFpbmVyIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYS1Gb3JtLS1maXhlZExhYmVsc1NtYWxsIHtcbiAgLmEtRm9ybS1sYWJlbENvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICB9XG59XG5cbi5hLUZvcm0tLWZpeGVkTGFiZWxzIHtcbiAgLmEtRm9ybS1sYWJlbENvbnRhaW5lciB7XG4gICAgd2lkdGg6IDE2MHB4O1xuICB9XG59XG5cbi5hLUZvcm0tLWZpeGVkTGFiZWxzTWVkaXVtIHtcbiAgLmEtRm9ybS1sYWJlbENvbnRhaW5lciB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICB9XG59XG5cbi5hLUZvcm0tLWZpeGVkTGFiZWxzTGFyZ2Uge1xuICAuYS1Gb3JtLWxhYmVsQ29udGFpbmVyIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybSB1c2luZyB0YWJsZS5mb3JtbGF5b3V0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmEtRm9ybSB0YWJsZS5mb3JtbGF5b3V0IHtcbiAgdGFibGUtbGF5b3V0OiBhdXRvO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgLmEtRm9ybS1sYWJlbENvbnRhaW5lciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAuYS1Gb3JtLWlucHV0Q29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgICYgKyBidXR0b24ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG4gIHRib2R5PnRyPnRkIHtcbiAgICBwYWRkaW5nOiA4cHg7XG4gIH1cbiAgLmEtRm9ybS1sYWJlbENvbnRhaW5lciArIGJyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbnRhYmxlLmZvcm1sYXlvdXQgLmEtRm9ybS1sYWJlbENvbnRhaW5lciB7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgbWluLXdpZHRoOiAxMjBweDtcbn1cblxuXG4vKiBCdXR0b24gR3JvdXBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBSYWRpbyBCdXR0b24gUGlsbHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYXBleC1idXR0b24tZ3JvdXAge1xuICBsYWJlbCB7XG4gICAgbWluLXdpZHRoOiA0OHB4O1xuICB9XG4gIHRhYmxlLnJhZGlvX2dyb3VwIHtcbiAgICB0ZCArIHRkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgICB0ciB0ZCB7IHBhZGRpbmc6IDA7IH1cbiAgICBpbnB1dCArIGxhYmVsIHtcbiAgICAgIHBhZGRpbmc6IDRweCAxMnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAmOmJlZm9yZSxcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICB0YWJsZS5yYWRpb19ncm91cCB0ZCBsYWJlbCB7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICB0YWJsZS5yYWRpb19ncm91cCB0ZDpmaXJzdC1jaGlsZCBsYWJlbCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgdGFibGUucmFkaW9fZ3JvdXAgdGQ6bGFzdC1jaGlsZCBsYWJlbHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgdGFibGUucmFkaW9fZ3JvdXAgdGQ6bm90KDpsYXN0LWNoaWxkKTpub3QoOmZpcnN0LWNoaWxkKSBsYWJlbHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIGlucHV0ICsgbGFiZWwgLnQtSWNvbiB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxufVxuXG4vKiBQYWdlIFNwZWNpZmljIE92ZXJyaWRlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogQ3JlYXRlIC8gRWRpdCBUZXh0IE1lc3NhZ2UgLS0gNDAwMDo0MDA5ICovXG4jRjQwMDBfUDQwMDlfRkxPV19JRF9DT05UQUlORVIsIFxuI0Y0MDAwX1A0MDA5X05BTUVfQ09OVEFJTkVSLCBcbiNGNDAwMF9QNDAwOV9NRVNTQUdFX0xBTkdVQUdFX0NPTlRBSU5FUiwgXG4jUDQwMDlfSVNfSlNfTUVTU0FHRV9DT05UQUlORVIsIFxuI0Y0MDAwX1A0MDA5X01FU1NBR0VfVEVYVF9DT05UQUlORVIge1xuICAuYS1Gb3JtLWxhYmVsQ29udGFpbmVyIHtcbiAgICB3aWR0aDogMTUlO1xuICB9XG59XG4jRjQwMDBfUDQwMDlfTUVTU0FHRV9URVhUX2ZpZWxkc2V0IHtcbiAgd2lkdGg6IDEwMCU7XG59IiwiQG1peGluIHRyYW5zcGFyZW50RGl2aWRlcnMge1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoI0ZGRiwuNzUpO1xuICAgICAgdG9wOiAwO1xuICAgfVxuICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDAwLC4xNSk7XG4gICAgICBib3R0b206IDA7XG4gICB9XG4gICAmOmJlZm9yZSxcbiAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICB9XG59XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICAmOmJlZm9yZSxcbiAgICY6YWZ0ZXIge1xuICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgfVxuICAgJjphZnRlciB7XG4gICAgICAgY2xlYXI6IGJvdGg7XG4gICB9XG4gICAqem9vbTogMTtcbn1cblxuQG1peGluIGFwZXg1aWNvbiB7XG4gIGZvbnQtZmFtaWx5OiBcImFwZXgtNS1pY29uLWZvbnRcIiAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG59XG5cbkBtaXhpbiB2aXN1YWxseUhpZGRlbiB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuXG5AbWl4aW4gbm9XcmFwVGV4dCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBAbWl4aW4gY2xlYXJmaXgyIHtcbi8vICAgICB6b29tOjE7XG4vLyAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuLy8gICAgICAgICBjb250ZW50OiBcIlxcMDAyMFwiOyBcbi8vICAgICAgICAgZGlzcGxheTogYmxvY2s7IFxuLy8gICAgICAgICBoZWlnaHQ6IDA7IFxuLy8gICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyBcbi8vICAgICB9XG4vLyAgICAgJjphZnRlciB7XG4vLyAgICAgICAgIGNsZWFyOiBib3RoO1xuLy8gICAgIH1cbi8vIH1cblxuLy8gLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gU3ByaXRlIE1peGluXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AbWl4aW4gcGRTcHJpdGUoJHNpemUsICR4LCAkeSwgJHdpZHRoOiAwLCAkaGVpZ2h0OiAwLCAkaW1wOiAnJykge1xuICAkb2Zmc2V0OiAwO1xuICBAaWYgJHNpemUgPT0gMTYge1xuICAgICRvZmZzZXQ6IDIwO1xuICB9IEBlbHNlIGlmICRzaXplID09IDIwIHtcbiAgICAkb2Zmc2V0OiAxNTA7XG4gIH0gQGVsc2UgaWYgJHNpemUgPT0gMjQge1xuICAgICRvZmZzZXQ6IDI3MDtcbiAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAzMiB7XG4gICAgJG9mZnNldDogMzcwO1xuICB9IEBlbHNlIGlmICRzaXplID09IDM2IHtcbiAgICAkb2Zmc2V0OiA1NjA7XG4gIH0gQGVsc2UgaWYgJHNpemUgPT0gNjQge1xuICAgICRvZmZzZXQ6IC0xOyAvLzc0MFxuICB9IEBlbHNlIHtcbiAgICAkb2Zmc2V0OiAwO1xuICB9XG4gIFxuICBAaWYgJHdpZHRoICE9IDAge1xuICAgIHdpZHRoOiAjeyR3aWR0aH1weDtcbiAgfVxuICBAaWYgJGhlaWdodCAhPSAwIHtcbiAgICBoZWlnaHQ6ICN7JGhlaWdodH1weDtcbiAgfVxuICBAaWYgJG9mZnNldCA+IDAge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0jeyR4KiRzaXplfXB4IC0jeygkeSokc2l6ZSkrJG9mZnNldH1weCAjeyRpbXB9O1xuICB9IEBlbHNlIGlmICRvZmZzZXQgPT0gLTEge1xuICAgIC8vIFdpemFyZCBYLVBvc2l0aW9uIGlzIDUwJVxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAtI3soJHkqJHNpemUpKzc0MH1weCAjeyRpbXB9O1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtI3skeH1weCAtI3soJHkpfXB4ICN7JGltcH07XG4gIH1cbn1cblxuLy8gLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gRXh0ZW5kaWJsZSBTcHJpdGUgQ2xhc3Ncbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiVwZFNwcml0ZSB7XG4gIC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvYXBleF81X3VpLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vLyAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBNZWRpYSBRdWVyaWVzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4kZGlzcGxheS14eHhzOiA2NDBweDtcbiRkaXNwbGF5LXh4czogODAwcHg7XG4kZGlzcGxheS14czogMTAyNHB4O1xuJGRpc3BsYXktc21hbGw6IDEyODBweDtcbiRkaXNwbGF5LW1lZGl1bTogMTY4MHB4O1xuJGRpc3BsYXktbGFyZ2U6IDE5MjBweDtcblxuQG1peGluIHJlc3BvbmQtdG8oJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0geHh4cy1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LXh4eHMpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IHh4cy1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LXh4cykgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gc21hbGxlc3Qtc2NyZWVucyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS14cykgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gc21hbGwtc2NyZWVucy1pbiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS1zbWFsbCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbWVkaXVtLXNjcmVlbnMtaW4ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRpc3BsYXktbWVkaXVtKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsYXJnZS1zY3JlZW5zLWluIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LWxhcmdlKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBzbWFsbC1zY3JlZW5zLW91dCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS1zbWFsbCArIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IG1lZGl1bS1zY3JlZW5zLW91dCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS1tZWRpdW0gKyAxKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsYXJnZS1zY3JlZW5zLW91dCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS1sYXJnZSArIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc21hbGwtc2NyZWVucyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS14cyArIDEpIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS1zbWFsbCAtIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWVkaXVtLXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRpc3BsYXktc21hbGwgKyAxKSBhbmQgKG1heC13aWR0aDogJGRpc3BsYXktbWVkaXVtIC0gMSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBsYXJnZS1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LW1lZGl1bSArIDEpIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS1sYXJnZSAtIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbGFyZ2VzdC1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LWxhcmdlKSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuXG4vLyAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBFeHRlbmRpYmxlIEljb24gQ2xhc3Ncbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiVhLUljb24ge1xuICBmb250LWZhbWlseTogXCJhcGV4LTUtaWNvbi1mb250XCIgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuQG1peGluIHNoYWRvd1Njcm9sbCgkc2l6ZTogNCwgJGJnOiAjRkZGRkZGKSB7XG4gICRzaGFkb3dTbWFsbDogJHNpemUgKyBcInB4XCI7XG4gICRzaGFkb3dCaWc6ICAgJHNpemUgKiAyICsgXCJweFwiO1xuICAkYm9keUJHOiAgICAgICRiZztcbiAgYmFja2dyb3VuZDpcbiAgICBsaW5lYXItZ3JhZGllbnQoJGJvZHlCRyAzMCUsIHJnYmEoJGJvZHlCRywwKSksXG4gICAgbGluZWFyLWdyYWRpZW50KHJnYmEoJGJvZHlCRywwKSwgJGJvZHlCRyA3MCUpIDAgMTAwJSxcbiAgICBcbiAgICBsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuMDI1KSwgcmdiYSgwLDAsMCwwKSksXG4gICAgbGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsMCksIHJnYmEoMCwwLDAsLjAyNSkpIDAgMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHlCRztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlICRzaGFkb3dCaWcsIDEwMCUgJHNoYWRvd0JpZywgMTAwJSAkc2hhZG93U21hbGwsIDEwMCUgJHNoYWRvd1NtYWxsO1xuICBcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBsb2NhbCwgbG9jYWwsIHNjcm9sbCwgc2Nyb2xsO1xufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
