﻿.ids-input .ids-input-field .btn-clear,.ids-input .ids-textarea-field .btn-clear,.ids-textarea .ids-input-field .btn-clear,.ids-textarea .ids-textarea-field .btn-clear{outline:0}.ids-input .ids-input-field .btn-clear.is-empty,.ids-input .ids-textarea-field .btn-clear.is-empty,.ids-textarea .ids-input-field .btn-clear.is-empty,.ids-textarea .ids-textarea-field .btn-clear.is-empty{display:none}.ids-input .ids-input-field .btn-clear [slot=icon],.ids-input .ids-textarea-field .btn-clear [slot=icon],.ids-textarea .ids-input-field .btn-clear [slot=icon],.ids-textarea .ids-textarea-field .btn-clear [slot=icon]{margin-inline-start:0;color:inherit}.ids-input.has-clearable .btn-clear.is-empty,.ids-textarea.has-clearable .btn-clear.is-empty{display:none;pointer-events:none}.ids-trigger-field .ids-input-field.has-clearable{padding-inline-end:55px}.ids-trigger-field .ids-input-field.has-clearable~.btn-clear{margin-top:0;right:-8px}.btn-clear[part=clearable-button] [slot=icon]{padding:2px}.icon-dirty{--ids-icon-height-default: 12px !important;--ids-icon-width-default: 12px !important;position:absolute;color:var(--ids-input-dirty-indicator-color-background-dirty);top:0}.icon-dirty[dir=rtl]{transform:rotate(90deg);top:0}.icon-dirty.tab-dirty-tracker{inset-inline-start:0}.ids-color-picker .icon-dirty{margin-inline-start:35px}.ids-color-picker.compact .icon-dirty{margin-inline-start:27px}.ids-textarea .icon-dirty{top:1px;margin-inline-start:1px}.ids-textarea .icon-dirty[dir=rtl]{top:2px}.icon-field-indicator{position:absolute;top:0;pointer-events:none}.icon-field-indicator[dir=rtl]{transform:rotate(90deg);top:0}.icon-field-indicator-info{display:var(--ids-field-indicator-info-visibility, flex);align-items:center;margin-inline-end:var(--ids-field-indicator-info-margin, var(--ids-space-xs));cursor:pointer;color:var(--ids-field-indicator-icon-color, --ids-color-info-default)}.field-indicator-neutral{--ids-field-indicator-icon-color: var(--ids-color-accent-neutral-weak)}.field-indicator-neutral .icon-field-indicator{color:var(--ids-color-accent-neutral-weak)}.field-indicator-info{--ids-field-indicator-icon-color: var(--ids-color-info-default)}.field-indicator-info .icon-field-indicator{color:var(--ids-color-info-default)}.field-indicator-success{--ids-field-indicator-icon-color: var(--ids-color-success-default)}.field-indicator-success .icon-field-indicator{color:var(--ids-color-success-default)}.field-indicator-caution{--ids-field-indicator-icon-color: var(--ids-color-caution-default)}.field-indicator-caution .icon-field-indicator{color:var(--ids-color-caution-default)}.field-indicator-warning{--ids-field-indicator-icon-color: var(--ids-color-warning-default)}.field-indicator-warning .icon-field-indicator{color:var(--ids-color-warning-default)}.field-indicator-error{--ids-field-indicator-icon-color: var(--ids-color-error-default)}.field-indicator-error .icon-field-indicator{color:var(--ids-color-error-default)}[class*=field-indicator-].has-focus .icon-field-indicator-info{display:none}.label-state-hidden .ids-label-text.empty::before{content:" "}.label-state-collapsed .ids-label-text{display:none}.validation-message{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;font-family:var(--ids-font-family-default),var(--ids-font-family-system-sans);margin-top:var(--ids-space-2xs);max-width:var(--ids-input-width-full)}.validation-message.has-custom-icon{color:var(--ids-icon-color-default)}.validation-message.disabled{color:var(--ids-input-color-text-disabled)}.validation-message .ids-icon{margin-inline-end:var(--ids-space-2xs)}.validation-message.alert{color:var(--ids-color-caution-default)}.validation-message.alert.disabled{color:var(--ids-color-yellow-30)}.validation-message.warning{color:var(--ids-color-warning-default)}.validation-message.warning.disabled{color:var(--ids-color-orange-30)}.validation-message.error{color:var(--ids-color-error-default)}.validation-message.error.disabled{color:var(--ids-color-red-30)}.validation-message.info{color:var(--ids-color-info-default)}.validation-message.info.disabled{color:var(--ids-color-blue-30)}.validation-message.success{color:var(--ids-color-success-default)}.validation-message.success.disabled{color:var(--ids-color-green-30)}.validation-message[hidden]{display:none}:host([suppress-error-message]) .validation-message{display:none}:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea{display:flex;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);padding-inline-end:0;box-sizing:border-box;flex-shrink:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message{width:100%;margin-block-start:var(--ids-space-2xs)}@media(max-width: 927px){:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message{margin-inline-start:0}}@media(width > 320px){:host([label-position=inline-start]) .ids-input .ids-label-text,:host([label-position=inline-start]) .ids-textarea .ids-label-text{margin-inline-end:0}}@container (width > $breakpoint-xs){:host([label-position=inline-start]) .ids-input .ids-label-text,:host([label-position=inline-start]) .ids-textarea .ids-label-text{margin-inline-end:0}}@media(min-width: 320px){:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea{flex-wrap:wrap;gap:8px}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label{flex:0 0 auto;margin-bottom:unset;order:1}:host([label-position=inline-start]) .ids-input .field-container,:host([label-position=inline-start]) .ids-textarea .field-container{order:2}:host([label-position=inline-start]) .ids-input .textarea-field-group,:host([label-position=inline-start]) .ids-textarea .textarea-field-group{order:2;flex:1 1 auto;min-width:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message{flex:1 1 100%;min-width:100%;order:3;margin-block-start:calc(0px - var(--ids-space-2xs))}:host([label-position=inline-start]) .ids-input.wrapped .validation-message,:host([label-position=inline-start]) .ids-textarea.wrapped .validation-message{margin-block-start:calc(0px - var(--ids-space-2xs));margin-inline-start:calc(var(--ids-label-width) + 6px)}}:host([label-position=inline-start]) .ids-checkbox{margin-top:var(--ids-space-00)}@media(min-width: 320px){:host([label-position=inline-start]) .ids-checkbox{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start]) .ids-checkbox label{display:flex;align-items:center;width:100%;padding-block:var(--ids-label-padding-block);box-sizing:border-box;gap:var(--ids-space-xs)}:host([label-position=inline-start]) .ids-checkbox .label-checkbox{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper{position:relative;display:inline-flex}:host([label-position=inline-start]) .ids-checkbox .field-container{flex:1}:host([label-position=inline-start]) .ids-checkbox .validation-message{width:100%;margin-inline-start:calc(var(--ids-label-width) + var(--ids-space-xs));margin-block-start:var(--ids-space-2xs)}}@container (min-width: 320px){:host([label-position=inline-start]) .ids-checkbox{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start]) .ids-checkbox label{display:flex;align-items:center;width:100%;padding-block:var(--ids-label-padding-block);box-sizing:border-box;gap:var(--ids-space-xs)}:host([label-position=inline-start]) .ids-checkbox .label-checkbox{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper{position:relative;display:inline-flex}:host([label-position=inline-start]) .ids-checkbox .field-container{flex:1}:host([label-position=inline-start]) .ids-checkbox .validation-message{width:100%;margin-inline-start:calc(var(--ids-label-width) + var(--ids-space-xs));margin-block-start:var(--ids-space-2xs)}}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox{container-type:normal}@media(width <= 320px){:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox label{display:flex;align-items:center;width:100%;padding-block:var(--ids-label-padding-block);padding-inline-end:var(--ids-label-padding-inline-end);box-sizing:border-box;gap:var(--ids-space-xs)}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .label-checkbox{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .checkbox-wrapper{position:relative;display:inline-flex}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .field-container{flex:1}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .validation-message{width:100%;margin-inline-start:calc(var(--ids-label-width) + var(--ids-space-xs));margin-block-start:var(--ids-space-2xs)}}:host([label-position=inline-start][label-alignment=end]) .ids-input,:host([label-position=inline-start][label-alignment=end]) .ids-textarea{gap:var(--ids-label-alignment-gap)}:host([label-position=inline-start][label-alignment=end]) .ids-input label,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text{display:inline-flex;align-items:center;justify-content:flex-end;text-align:end;position:relative}@media(width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text{justify-content:flex-start;text-align:start;align-self:start}}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text{justify-content:flex-start;text-align:start;align-self:start}}:host([label-position=inline-start][label-alignment=end]) .ids-input label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text.required::after{margin-inline-end:0;position:absolute;margin-top:unset;inset-inline-end:-5px;top:7px}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text.required::after{position:initial;margin-top:unset;inset-inline-end:initial}}@media(width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text.required::after{position:initial;margin-top:unset;inset-inline-end:initial}}:host([label-position=inline-start][label-alignment=end]) .field-container{flex:1}:host([label-position=inline-start][label-alignment=end]) .ids-input.wrapped .validation-message,:host([label-position=inline-start][label-alignment=end]) .ids-textarea.wrapped .validation-message{margin-inline-start:calc(var(--ids-label-width) + 14px)}:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label{text-align:end}@media(width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label{text-align:start}}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label{text-align:start}}:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label.required .label-checkbox span::after{margin-inline-end:0;position:absolute;margin-top:unset;right:-5px;top:-5px}@media(width > 767px){:host([label-position=inline-start][label-alignment=end]) .ids-switch label{display:inline-flex;align-items:center;justify-content:flex-end;text-align:end}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-switch label{justify-content:flex-start}}}@media(width > 767px)and (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-switch label{justify-content:flex-start}}:host([label-position=inline-start][label-alignment=end]) .ids-radio-group ids-text.group-label-text{display:inline-flex;align-items:center;justify-content:flex-end}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-radio-group ids-text.group-label-text{justify-content:flex-start}}:host([label-position=inline-start][label-alignment=end][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input,:host([label-position=inline-start][label-alignment=end][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea{column-gap:var(--ids-label-alignment-gap)}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea{display:flex;flex-wrap:nowrap}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input label,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea label{flex-shrink:0}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input .field-container,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea .field-container{min-width:0;flex:0 1 auto}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input .validation-message,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea .validation-message{width:auto;margin-inline-start:0}:host(.in-flex-item[label-position=inline-start]) .ids-input,:host(.in-flex-item[label-position=inline-start]) .ids-textarea,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea{display:grid;gap:0;grid-template-columns:auto minmax(0, 1fr);column-gap:var(--ids-label-alignment-gap)}:host(.in-flex-item[label-position=inline-start]) .ids-input label,:host(.in-flex-item[label-position=inline-start]) .ids-textarea label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea label{grid-column:1;grid-row:1}:host(.in-flex-item[label-position=inline-start]) .ids-input .field-container,:host(.in-flex-item[label-position=inline-start]) .ids-textarea .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea .field-container{grid-column:2;grid-row:1;min-width:0}:host(.in-flex-item[label-position=inline-start]) .ids-input .validation-message,:host(.in-flex-item[label-position=inline-start]) .ids-textarea .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea .validation-message{grid-column:1/-1;grid-row:2;width:auto;margin-inline-start:0;margin-block-start:var(--ids-space-2xs)}:host(.in-flex-item[label-position=inline-start]) .ids-input.wrapped .validation-message,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.wrapped .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.wrapped .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.wrapped .validation-message{grid-column:2;margin-inline-start:0}:host(.in-flex-item[label-position=inline-start]) .ids-input.sm,:host(.in-flex-item[label-position=inline-start]) .ids-input.mm,:host(.in-flex-item[label-position=inline-start]) .ids-input.md,:host(.in-flex-item[label-position=inline-start]) .ids-input.lg,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.sm,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.mm,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.md,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.lg,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.sm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.mm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.md,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.lg,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.sm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.mm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.md,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.lg{grid-template-columns:auto}:host(.in-flex-item[label-position=inline-start]) .ids-input label{max-height:var(--ids-label-max-height-inline-start)}:host(.in-flex-item[label-position=inline-start]) .ids-checkbox input[type=checkbox]~.checkmark{inset-inline-end:0;margin-inline-end:0}:host(.in-flex-item[label-position=inline-start]) .ids-radio-group ids-text.group-label-text{margin-top:0}@media(width > 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}@container (width > 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}@media(width < 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-input,:host([label-position=inline-start][label-break=shrink-value]) .ids-textarea{display:block}:host([label-position=inline-start][label-break=shrink-value]) .ids-textarea{gap:0}}@container (width < 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-input,:host([label-position=inline-start][label-break=shrink-value]) .ids-textarea,:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group{flex-wrap:wrap}}@media(width <= 320px){:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea{display:block;gap:0}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea label{min-height:auto;margin-bottom:var(--ids-input-margin-bottom)}}@media(width > 320px){:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex:0 1 auto}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}@container (width > 320px){:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex:0 1 auto}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}:host([label-position=inline-start][label-break=break]) .ids-input,:host([label-position=inline-start][label-break=break]) .ids-textarea{display:flex;flex-direction:column;align-items:stretch}:host([label-position=inline-start][label-break=break]) .ids-input label,:host([label-position=inline-start][label-break=break]) .ids-textarea label{width:auto;flex-shrink:0}:host([label-position=inline-start][label-break=break]) .ids-input .field-container,:host([label-position=inline-start][label-break=break]) .ids-textarea .field-container{min-width:0;flex:0 1 auto}:host([label-position=inline-start][label-break=break]) .ids-input .validation-message,:host([label-position=inline-start][label-break=break]) .ids-textarea .validation-message{width:auto;margin-inline-start:0}:host([label-position=inline-start][label-width="0px"]) .ids-label-text,:host([label-position=inline-start][label-width="0"]) .ids-label-text{display:none}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text{margin-inline-end:5px}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text.required,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text.required{padding-inline-end:0}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text.required::after{inset-inline-end:-11px}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input.wrapped .validation-message,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea.wrapped .validation-message{margin-inline-start:calc(var(--ids-label-width) + 11px)}:host([label-position=inline-end][label-break=shrink-value]) .ids-input,:host([label-position=inline-end][label-break=shrink-value]) .ids-textarea{display:flex}:host([label-position=inline-end][label-break=shrink-value]) .ids-input label,:host([label-position=inline-end][label-break=shrink-value]) .ids-textarea label{flex-shrink:0;order:2}:host([label-position=inline-end][label-break=shrink-value]) .ids-input .field-container,:host([label-position=inline-end][label-break=shrink-value]) .ids-textarea .field-container{min-width:0;flex:0 1 auto;order:1}:host([label-position=inline-end][label-break=shrink-value]) .ids-input{gap:var(--ids-space-2, 0.5rem)}@media(width > 320px){:host([label-position=inline-end][label-break=shrink-label]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-end][label-break=shrink-label]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);justify-content:end;flex:0 1 auto;order:2}:host([label-position=inline-end][label-break=shrink-label]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0;order:1}}:host([label-position=inline-end][label-break=break]) .ids-input,:host([label-position=inline-end][label-break=break]) .ids-textarea{display:flex;flex-direction:column;align-items:stretch}:host([label-position=inline-end][label-break=break]) .ids-input label,:host([label-position=inline-end][label-break=break]) .ids-textarea label{width:auto;flex-shrink:0;order:2}:host([label-position=inline-end][label-break=break]) .ids-input .field-container,:host([label-position=inline-end][label-break=break]) .ids-textarea .field-container{min-width:0;flex:0 1 auto;order:1}:host([label-position=inline-end][label-break=break]) .ids-input .validation-message,:host([label-position=inline-end][label-break=break]) .ids-textarea .validation-message{margin-inline-start:0;order:3}:host([label-position=inline-end][label-break=break]) .ids-input{gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-start]){--ids-label-width: var(--ids-label-width-inline-start)}:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-input label,:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-textarea label,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-input label,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-textarea label{align-self:var(--ids-label-align-y, center)}:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text,:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-input .ids-label-text,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-textarea .ids-label-text{overflow:visible}@media(width > 767px){:host([label-position=inline-start]) .ids-textarea{max-width:calc(370px + var(--ids-label-width))}:host([label-position=inline-start]) .ids-textarea .textarea-field{width:calc(370px + var(--ids-label-width))}}@media(width > 767px){:host([label-position=inline-start]) .ids-filter-field{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start]) .ids-filter-field label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);padding-inline-end:var(--ids-label-padding-inline-end);box-sizing:border-box}:host([label-position=inline-start]) .ids-filter-field #operator-button{position:relative;inset-inline-start:var(--ids-label-width)}:host([label-position=inline-start]) .ids-filter-field .validation-message{width:100%;margin-block-start:var(--ids-space-2xs)}}@media(width < 767px){:host([label-position=inline-start][dir=rtl]) .ids-checkbox label{--ids-checkbox-padding-inline-start: inherit}:host([label-position=inline-start][dir=rtl]) .ids-checkbox .validation-message{margin-inline-start:initial}}@media(min-width: 767px){:host([label-position=inline-start][dir=rtl]) .ids-checkbox input[type=checkbox]~.checkmark{right:initial}:host([label-position=inline-start][dir=rtl]) .ids-checkbox .validation-message{margin-block-start:0}}@media(width > 320px){:host([label-position=inline-start]) .ids-radio-group,:host([label-position=inline-end]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, flex-start);gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-start]) .ids-radio-group ids-text.group-label-text,:host([label-position=inline-end]) .ids-radio-group ids-text.group-label-text{min-width:var(--ids-label-width);margin-top:calc(var(--ids-space-xs) - 2px)}:host([label-position=inline-start]) .ids-radio-group slot,:host([label-position=inline-end]) .ids-radio-group slot{display:flex;flex-direction:column}:host([label-position=inline-end]) .ids-radio-group ids-text.group-label-text{justify-content:end;order:2}:host([label-position=inline-end]) .ids-radio-group slot{order:1}}@media(width < 767px){:host([label-position=inline-end]):not([label-break]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline);gap:var(--ids-space-2, 0.5rem);flex-direction:column}:host([label-position=inline-end]):not([label-break]) .ids-radio-group ids-text.group-label-text{min-width:var(--ids-label-width);order:2}:host([label-position=inline-end]):not([label-break]) .ids-radio-group slot{display:flex;flex-direction:column;order:1}}@container (width < 767px){:host([label-position=inline-end]):not([label-break]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline);gap:var(--ids-space-2, 0.5rem);flex-direction:column}:host([label-position=inline-end]):not([label-break]) .ids-radio-group ids-text.group-label-text{min-width:var(--ids-label-width);order:2}:host([label-position=inline-end]):not([label-break]) .ids-radio-group slot{display:flex;flex-direction:column;order:1}}@media(width > 767px){:host([label-position=inline-start]) .ids-switch{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start]) .ids-switch label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);padding-inline-end:var(--ids-label-padding-inline-end);padding-inline-start:0;box-sizing:border-box}:host([label-position=inline-start]) .ids-switch input[type=checkbox]~.slider{left:unset;right:-45px}:host([label-position=inline-start][dir=rtl]) .ids-switch input[type=checkbox]~.slider{left:-45px;right:initial}}@media(width > 767px){:host([label-position=inline-start]) .ids-data-label{display:flex;flex-direction:row;gap:8px;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start]) .ids-data-label .label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);box-sizing:border-box;margin-block-end:0;white-space:nowrap}:host([label-position=inline-start]) .ids-data-label .data,:host([label-position=inline-start]) .ids-data-label .description{display:flex;padding-block:var(--ids-label-padding-block)}}@media(max-width: 320px){:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea,:host([label-position=inline-start]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label,:host([label-position=inline-start]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message,:host([label-position=inline-start]) .ids-filter-field .validation-message{margin-inline-start:0}:host([label-position=inline-end]) .ids-input,:host([label-position=inline-end]) .ids-textarea,:host([label-position=inline-end]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset;gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-end]) .ids-input label,:host([label-position=inline-end]) .ids-textarea label,:host([label-position=inline-end]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-end]) .ids-input .validation-message,:host([label-position=inline-end]) .ids-textarea .validation-message,:host([label-position=inline-end]) .ids-filter-field .validation-message{margin-inline-start:0}}@container (max-width: 320px){:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea,:host([label-position=inline-start]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label,:host([label-position=inline-start]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message,:host([label-position=inline-start]) .ids-filter-field .validation-message{margin-inline-start:0}:host([label-position=inline-end]) .ids-input,:host([label-position=inline-end]) .ids-textarea,:host([label-position=inline-end]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset;gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-end]) .ids-input label,:host([label-position=inline-end]) .ids-textarea label,:host([label-position=inline-end]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-end]) .ids-input .validation-message,:host([label-position=inline-end]) .ids-textarea .validation-message,:host([label-position=inline-end]) .ids-filter-field .validation-message{margin-inline-start:0}}@media(max-width: 320px){:host([label-position=inline-start][label-state=hidden]) .ids-input .ids-label-text{display:none}}@container (max-width: 320px){:host([label-position=inline-start][label-state=hidden]) .ids-input .ids-label-text{display:none}}:host .ids-input label,:host .ids-input .label,:host .ids-textarea label,:host .ids-textarea .label,:host .ids-checkbox label,:host .ids-checkbox .label,:host .ids-radio label,:host .ids-radio .label,:host .ids-switch label,:host .ids-switch .label,:host .ids-data-label label,:host .ids-data-label .label,:host .ids-filter-field label,:host .ids-filter-field .label{width:var(--ids-label-width)}.ids-label-text{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--ids-font-family-default),var(--ids-font-family-system-sans);color:var(--ids-input-label-color-text-default);display:flex;margin-block-end:var(--ids-input-margin-bottom);align-items:baseline;justify-content:inherit}.ids-label-text.empty::before{content:" "}.ids-label-text.required::after{position:relative;font-family:var(--ids-font-family-default),var(--ids-font-family-system-sans);margin-inline-start:var(--ids-space-3xs);margin-inline-end:var(--ids-space-3xs);font-size:var(--ids-font-size-md);color:var(--ids-input-required-indicator-color-text-default);content:"*";margin-top:-10px;top:1px;line-height:0}.ids-label-text.required.no-required-indicator::after,.ids-label-text.required.empty::after{content:""}.ids-label-text ids-text::part(text),.ids-label-text .ids-text{display:inline}.disabled .ids-label-text{color:var(--ids-input-label-color-text-disabled);opacity:var(--ids-input-disabled-opacity)}.disabled .ids-label-text.required::after{color:var(--ids-input-required-indicator-color-text-disabled)}:host{display:block;max-width:var(--ids-input-width-full)}:host .ids-input{display:inline-block;width:var(--ids-box-input-width, auto)}:host([hidden]){display:none}:host([margin-block-end=none]:not([no-margins])) .ids-input,.ids-input.margin-block-end-none:not(.no-margins){margin-block-end:var(--ids-space-none)}:host([margin-block-end="4xs"]:not([no-margins])) .ids-input,.ids-input.margin-block-end-4xs:not(.no-margins){margin-block-end:var(--ids-space-4xs)}:host([margin-block-end="3xs"]:not([no-margins])) .ids-input,.ids-input.margin-block-end-3xs:not(.no-margins){margin-block-end:var(--ids-space-3xs)}:host([margin-block-end="2xs"]:not([no-margins])) .ids-input,.ids-input.margin-block-end-2xs:not(.no-margins){margin-block-end:var(--ids-space-2xs)}:host([margin-block-end=xs]:not([no-margins])) .ids-input,.ids-input.margin-block-end-xs:not(.no-margins){margin-block-end:var(--ids-space-xs)}:host([margin-block-end=sm]:not([no-margins])) .ids-input,.ids-input.margin-block-end-sm:not(.no-margins){margin-block-end:var(--ids-space-sm)}:host([margin-block-end=md]:not([no-margins])) .ids-input,.ids-input.margin-block-end-md:not(.no-margins){margin-block-end:var(--ids-space-md)}:host([margin-block-end=lg]:not([no-margins])) .ids-input,.ids-input.margin-block-end-lg:not(.no-margins){margin-block-end:var(--ids-space-lg)}:host([margin-block-end=xl]:not([no-margins])) .ids-input,.ids-input.margin-block-end-xl:not(.no-margins){margin-block-end:var(--ids-space-xl)}:host([margin-block-end="2xl"]:not([no-margins])) .ids-input,.ids-input.margin-block-end-2xl:not(.no-margins){margin-block-end:var(--ids-space-2xl)}:host([margin-block-end="3xl"]:not([no-margins])) .ids-input,.ids-input.margin-block-end-3xl:not(.no-margins){margin-block-end:var(--ids-space-3xl)}:host([margin-block-end="4xl"]:not([no-margins])) .ids-input,.ids-input.margin-block-end-4xl:not(.no-margins){margin-block-end:var(--ids-space-4xl)}:host([label-position=inline-start]) .field-container{justify-content:var(--ids-box-justify-content, flex-start)}:host([label-position=inline-start]) .ids-input{justify-content:var(--ids-box-justify-content, flex-start)}:host([label-position=inline-start][size=full]) .field-container{flex:1;min-width:0}:host([size=full]){width:100%}:host([label-wrap=wrap]) .ids-label-text{overflow-wrap:anywhere}:host([label-wrap=ellipsis]) .ids-label-text{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([label-wrap=ellipsis]) .ids-label-text ids-text{display:block;width:fit-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex-shrink:1}:host([label-wrap=ellipsis]) .ids-label-text.required{padding-inline-end:var(--ids-space-xs)}:host([label-wrap=ellipsis]) .ids-label-text.required::after{flex-shrink:0;margin-inline-start:var(--ids-space-3xs)}:host([label-wrap=ellipsis-no-stretch]) .ids-label-text{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([label-wrap=ellipsis-no-stretch]) .ids-label-text ids-text{display:block;width:fit-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex-shrink:1}:host([label-wrap=ellipsis-no-stretch]) .ids-label-text.required{padding-inline-end:var(--ids-space-xs)}:host([label-wrap=ellipsis-no-stretch]) .ids-label-text.required::after{flex-shrink:0;margin-inline-start:var(--ids-space-3xs)}:host([label-wrap=ellipsis-no-stretch]) .xs .ids-label-text{max-width:calc((var(--ids-input-width-20)) - 8px)}:host([label-wrap=ellipsis-no-stretch]) .sm .ids-label-text{max-width:calc((var(--ids-input-width-20)) - 8px)}:host([label-wrap=ellipsis-no-stretch]) .mm .ids-label-text{max-width:calc((var(--ids-input-width-30)) - 8px)}:host([label-wrap=ellipsis-no-stretch]) .md .ids-label-text{max-width:calc((var(--ids-input-width-40)) - 8px)}:host([label-wrap=ellipsis-no-stretch]) .lg .ids-label-text{max-width:calc((var(--ids-input-width-50)) - 8px)}:host([label-wrap=ellipsis-no-stretch]) .full .ids-label-text{max-width:calc(100% - 8px)}:host([label-wrap=wrap-no-stretch]) .xs .ids-label-text{max-width:calc((var(--ids-input-width-20)) - 8px)}:host([label-wrap=wrap-no-stretch]) .sm .ids-label-text{max-width:calc((var(--ids-input-width-20)) - 8px)}:host([label-wrap=wrap-no-stretch]) .mm .ids-label-text{max-width:calc((var(--ids-input-width-30)) - 8px)}:host([label-wrap=wrap-no-stretch]) .md .ids-label-text{max-width:calc((var(--ids-input-width-40)) - 8px)}:host([label-wrap=wrap-no-stretch]) .lg .ids-label-text{max-width:calc((var(--ids-input-width-50)) - 8px)}:host([label-wrap=wrap-no-stretch]) .full .ids-label-text{max-width:calc(100% - 8px)}:host([label-wrap=wrap-no-stretch]) .ids-label-text{overflow-wrap:anywhere}.ids-input{position:relative;display:block;margin-block-end:var(--ids-space-sm);max-width:var(--ids-input-width-full)}.ids-input .field-container{border:1px solid;border-collapse:separate;border-radius:var(--ids-border-radius-2xs);box-sizing:border-box;color:inherit;display:flex;align-items:center;margin:var(--ids-space-none);max-width:var(--ids-input-width-full);padding:var(--ids-space-none);position:relative;resize:none;text-align:left}.ids-input .field-container.ff-input-field{border-start-start-radius:0;border-end-start-radius:0}.ids-input .field-container.ff-input-field .ids-input-field{color:var(--ids-filter-field-text-color)}.ids-input .field-container.square{border-radius:var(--ids-border-radius-none)}.ids-input:focus-within .ids-input-field,.ids-input.readonly:focus-within .ids-input-field,.ids-input.is-active .ids-input-field{outline:none;outline-color:var(--ids-color-transparent)}.ids-input:focus-within .field-container,.ids-input.readonly:focus-within .field-container,.ids-input.is-active .field-container{border-color:var(--ids-input-color-border-focus);box-shadow:var(--ids-input-color-border-shadow);background-color:var(--ids-input-color-background-default)}.ids-input .ids-icon.starting-icon{margin-inline-start:var(--ids-space-xs)}.ids-input .ids-icon.ending-icon{margin-inline-end:var(--ids-space-xs)}.ids-input .ids-input-field{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;background-color:var(--ids-color-transparent);border:none;color:inherit;font-family:var(--ids-font-family-default),var(--ids-font-family-system-sans);padding-block-start:var(--ids-space-2xs);padding-block-end:var(--ids-space-2xs);padding-inline-start:var(--ids-space-12);padding-inline-end:var(--ids-input-padding-inline-end);font-size:var(--ids-input-font-size);width:100%}.ids-input .ids-input-field:focus-visible{outline:none}.ids-input .ids-input-field{appearance:none;display:inline-block;height:fit-content;resize:none;text-align:left;text-overflow:ellipsis}.ids-input .ids-input-field.text-ellipsis{text-overflow:ellipsis}.ids-input .ids-input-field.start{text-align:start}.ids-input .ids-input-field::placeholder{color:var(--ids-input-color-text-placeholder)}.ids-input .ids-input-field.center{text-align:center}.ids-input .ids-input-field.end{text-align:end}.ids-input.event-picker .ids-input-field{padding-inline-start:var(--ids-space-xs);padding-inline-end:var(--ids-space-2xs)}.ids-input .validation-message{margin-block-start:var(--ids-space-2xs);margin-bottom:var(--ids-space-none)}.ids-input .validation-message .ids-icon{place-self:self-start;margin-top:1px}.ids-input.no-margins,.ids-input.no-margins.compact{display:block;margin:var(--ids-space-none)}.ids-input.no-margins.field-height-xs,.ids-input.no-margins.compact.field-height-xs{margin-block-end:var(--ids-space-none)}.ids-input.no-margins .field-container,.ids-input.no-margins.compact .field-container{margin-bottom:var(--ids-space-none)}.ids-input.no-margins .ids-input-field,.ids-input.no-margins.compact .ids-input-field{margin:var(--ids-space-none)}.ids-input.no-margins .validation-message,.ids-input.no-margins.compact .validation-message{margin-bottom:var(--ids-space-none);margin-block-start:var(--ids-space-2xs)}.ids-input.no-margins .ids-label-text.empty,.ids-input.no-margins.compact .ids-label-text.empty{margin:var(--ids-space-none);display:none;visibility:hidden;height:0}.ids-input.xs .field-container,.ids-input.xs .validation-message{width:calc(var(--ids-input-width-10))}.ids-input.xs .validation-message{max-width:calc(var(--ids-input-width-10))}.ids-input.sm .field-container{width:calc(var(--ids-input-width-20))}.ids-input.sm .validation-message{max-width:calc(var(--ids-input-width-20))}.ids-input.mm .field-container{width:calc(var(--ids-input-width-30))}.ids-input.mm .validation-message{max-width:calc(var(--ids-input-width-30))}.ids-input.md .field-container{width:calc(var(--ids-input-width-40))}.ids-input.md .validation-message{max-width:calc(var(--ids-input-width-40))}.ids-input.lg .field-container{width:calc(var(--ids-input-width-50))}.ids-input.lg .validation-message{max-width:calc(var(--ids-input-width-50))}.ids-input.full{display:block}.ids-input.full .field-container,.ids-input.full .validation-message{width:var(--ids-input-width-full)}@media(max-width: 767px){.ids-input:not(.full):not(.md):not(.mm):not(.sm):not(.xs):not(.lg) .field-container,.ids-input:not(.full):not(.md):not(.mm):not(.sm):not(.xs):not(.lg) .validation-message{max-width:calc(var(--ids-input-width-30));min-width:auto}.ids-input:not(.full):not(.md):not(.mm):not(.sm):not(.xs):not(.lg) .field-container{flex-shrink:0;flex-basis:calc(var(--ids-input-width-30));box-sizing:border-box}}.ids-input.field-height-xs{margin-block-end:var(--ids-font-size-2xs)}.ids-input.field-height-xs .icon-dirty{top:0}.ids-input.field-height-xs .ids-label-text{font-size:var(--ids-input-label-font-size)}.ids-input.field-height-xs .ids-input-field{padding-inline-start:var(--ids-space-2xs);padding-inline-end:var(--ids-space-2xs);padding-top:0;padding-bottom:0;font-size:var(--ids-input-font-size-sm);height:calc(var(--ids-input-height-10) - 4px)}.ids-input.field-height-xs.no-margin-bottom{margin-bottom:var(--ids-space-none)}.ids-input.field-height-xs.no-margin-bottom .field-container,.ids-input.field-height-xs.no-margin-bottom .ids-input-field{margin-bottom:var(--ids-space-none)}.ids-input.field-height-sm .ids-input-field{height:calc(var(--ids-input-height-20) - 2px)}.ids-input.field-height-md .ids-input-field{height:calc(var(--ids-input-height-30) - 2px)}.ids-input.field-height-lg .ids-input-field{height:calc(var(--ids-input-height-40) - 2px)}.ids-input.compact{margin-block-end:var(--ids-font-size-2xs)}.ids-input.compact .icon-dirty{top:0}.ids-input.compact .ids-label-text{font-size:var(--ids-input-label-font-size)}.ids-input.compact .ids-input-field{padding-inline-start:var(--ids-space-2xs);padding-inline-end:var(--ids-space-2xs);padding-top:0;padding-bottom:0;font-size:var(--ids-input-font-size-sm);height:calc(var(--ids-input-height-10) - 4px)}.ids-input.compact.no-margin-bottom{margin-bottom:var(--ids-space-none)}.ids-input.compact.no-margin-bottom .field-container,.ids-input.compact.no-margin-bottom .ids-input-field{margin-bottom:var(--ids-space-none);height:calc(var(--ids-input-height-10) - 4px)}.ids-input.compact .field-container:not(.ff-input-field){height:calc(var(--ids-input-height-10) - 2px)}.ids-input.color-variant-borderless{--ids-input-color-border-focus: var(--ids-color-transparent);margin:1px;border-radius:var(--ids-border-radius-none)}.ids-input.color-variant-borderless input{font-size:var(--ids-font-size-sm)}.ids-input.color-variant-borderless slot[name=trigger-start],.ids-input.color-variant-borderless slot[name=trigger-end]{display:flex}.ids-input.color-variant-borderless .ids-label-text{display:none}.ids-input.color-variant-borderless .icon-dirty{display:none}.ids-input.color-variant-borderless .validation-message{display:none}.ids-input.color-variant-borderless .field-container{background-color:var(--ids-color-transparent) !important;border-color:rgba(0,0,0,0) !important}.ids-input.color-variant-borderless:focus-within .field-container{box-shadow:none}.ids-input.color-variant-borderless.ids-input.field-height-lg .ids-input-field{padding-inline:calc(var(--ids-space-sm) - 2px)}.ids-input.color-variant-borderless.ids-input.field-height-md .ids-input-field{padding-inline:calc(var(--ids-space-12) - 2px)}.ids-input.color-variant-borderless.ids-input.field-height-sm .ids-input-field{padding-inline:calc(var(--ids-space-xs) - 2px)}.ids-input.color-variant-borderless.ids-input.field-height-xs .ids-input-field{font-size:var(--ids-data-grid-font-size-sm);padding-inline:var(--ids-space-3xs)}.ids-input.color-variant-borderless.ids-input.field-height-xs slot[name=trigger-end]{padding-inline-end:var(--ids-space-none)}.ids-input.color-variant-borderless.ids-input.field-height-xxs .ids-input-field{font-size:var(--ids-data-grid-font-size-sm);padding-inline:var(--ids-space-4xs)}.ids-input.color-variant-borderless.ids-input.field-height-xxs slot[name=trigger-end]{padding-inline-end:var(--ids-space-none)}.ids-input.color-variant-in-cell{margin:1px}.ids-input.color-variant-in-cell input{font-size:var(--ids-font-size-sm)}.ids-input.color-variant-in-cell input[field-height=xxs]{--ids-dropdown-font-size-compact: var(--ids-data-grid-font-size-sm);font-size:var(--ids-data-grid-font-size-sm);padding-inline-start:2px}.ids-input.color-variant-in-cell .validation-message{display:none}.ids-input.color-variant-in-cell.ids-input.field-height-lg .ids-input-field{padding-inline:11px;height:40px}.ids-input.color-variant-in-cell.ids-input.full .field-container{margin-inline:3px;width:initial}.ids-input.color-variant-in-cell.ids-input.field-height-md .ids-input-field{padding-inline:6px;height:30px}.ids-input.color-variant-in-cell.ids-input.field-height-sm .ids-input-field{padding-inline:var(--ids-space-2xs);height:27px}.ids-input.color-variant-in-cell.ids-input.field-height-sm.full .field-container{margin-inline:var(--ids-space-3xs)}.ids-input.color-variant-in-cell.ids-input.field-height-xs .ids-input-field{padding-inline:1px;height:24px}.ids-input.color-variant-in-cell.ids-input.field-height-xs.full .field-container{margin-inline:1px}.ids-input.color-variant-module-nav{margin-block-end:var(--ids-space-none);transform:background-color var(--ids-motion-duration) var(--ids-motion-ease),border-color var(--ids-motion-duration) var(--ids-motion-ease),color var(--ids-motion-duration) var(--ids-motion-ease)}.ids-input.color-variant-module-nav .field-container{border-radius:var(--ids-module-nav-common-border-radius);border:var(--ids-module-nav-input-border-width) solid rgba(0,0,0,0)}.ids-input.color-variant-module-nav input{background-color:var(--ids-color-transparent);color:inherit}.ids-input.color-variant-module-nav input::placeholder{color:var(--ids-module-nav-search-input-placeholder-text-color)}.ids-input.color-variant-module-nav input:active{color:var(--ids-module-nav-search-input-text-color)}.ids-input.color-variant-module-nav:not([class*=field-height-]){height:var(--ids-module-nav-search-wrapper-height)}.ids-input.color-variant-module-nav:not([class*=field-height-]) input{height:var(--ids-module-nav-search-input-height)}.ids-input:not([class*=color-variant-]) .field-container:not(:focus-within){background-color:var(--ids-input-color-background-default);border-color:var(--ids-input-border-default-color);color:var(--ids-input-color-text-default)}.ids-input:not([class*=color-variant-]).readonly .field-container.error,.ids-input:not([class*=color-variant-]).readonly .field-container.error:hover,.ids-input:not([class*=color-variant-]).readonly.hover .field-container.error,.ids-input:not([class*=color-variant-]).readonly.hover .field-container.error:hover,.ids-input:not([class*=color-variant-]).readonly.focus-within .field-container.error,.ids-input:not([class*=color-variant-]).readonly.focus-within .field-container.error:hover{border-color:var(--ids-color-error-default);color:var(--ids-color-error-default)}.ids-input:not([class*=color-variant-]).readonly:not(.readonly-background):not(.bg-transparent) .field-container,.ids-input:not([class*=color-variant-]).readonly:not(.readonly-background):not(.bg-transparent).hover .field-container,.ids-input:not([class*=color-variant-]).readonly:not(.readonly-background):not(.bg-transparent).focus-within .field-container{background-color:var(--ids-input-color-background-readonly)}.ids-input:not([class*=color-variant-]).disabled .field-container,.ids-input:not([class*=color-variant-]).disabled:hover .field-container,.ids-input:not([class*=color-variant-]).disabled:focus-within .field-container{border-color:var(--ids-input-color-border-disabled);color:var(--ids-input-color-text-disabled);opacity:var(--ids-input-disabled-opacity);-webkit-text-fill-color:var(--ids-input-color-text-disabled)}.ids-input:not([class*=color-variant-]).bg-transparent .field-container,.ids-input:not([class*=color-variant-]).bg-transparent.readonly .field-container,.ids-input:not([class*=color-variant-]).bg-transparent.disabled .field-container{background-color:var(--ids-color-transparent)}.ids-input:not([class*=color-variant-]).bg-transparent:focus-within .field-container{background-color:var(--ids-color-transparent)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container{border-color:var(--ids-input-color-border-hover)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert:hover,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning:hover,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .alert,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .alert:hover,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .warning,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .warning:hover{border-color:var(--ids-input-color-border-alert-default);color:var(--ids-input-color-text-alert-default)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert.is-active,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert:hover:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert:hover.is-active,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning.is-active,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning:hover:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning:hover.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .alert:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .alert.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .alert:hover:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .alert:hover.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .warning:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .warning.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .warning:hover:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .warning:hover.is-active{border-color:var(--ids-input-color-border-alert-default);box-shadow:var(--ids-input-shadow-alert-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert[disabled],.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert:hover[disabled],.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning[disabled],.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning:hover[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .alert[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .alert:hover[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .warning[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .warning:hover[disabled]{border-color:var(--ids-input-color-border-alert-disabled);color:var(--ids-input-color-text-alert-disabled)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error:hover,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error:hover{border-color:var(--ids-input-color-border-error-default);color:var(--ids-input-error-color-text-error-default)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error.field-container:not(:focus-within),.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error:hover.field-container:not(:focus-within),.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error.field-container:not(:focus-within),.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error:hover.field-container:not(:focus-within){border-color:var(--ids-input-color-border-error-default);color:var(--ids-input-error-color-text-error-default)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error.is-active,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error:hover:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error:hover.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error:hover:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error:hover.is-active{border-color:var(--ids-input-color-border-error-default);box-shadow:var(--ids-input-color-shadow-error-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error[disabled],.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error:hover[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error:hover[disabled]{border-color:var(--ids-input-color-border-error-disabled);color:var(--ids-input-color-border-error-disabled)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info:hover,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .info,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .info:hover{border-color:var(--ids-input-color-border-info-default);color:var(--ids-input-color-text-info-default)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info.is-active,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info:hover:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info:hover.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .info:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .info.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .info:hover:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .info:hover.is-active{border-color:var(--ids-input-color-border-info-default);box-shadow:var(--ids-input-shadow-info-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info[disabled],.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info:hover[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .info[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .info:hover[disabled]{border-color:var(--ids-input-color-border-info-disabled);color:var(--ids-input-color-text-info-disabled)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success:hover,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .success,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .success:hover{border-color:var(--ids-input-color-border-success-default);color:var(--ids-input-color-text-success-default)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success.is-active,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success:hover:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success:hover.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .success:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .success.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .success:hover:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .success:hover.is-active{border-color:var(--ids-input-color-border-success-default);box-shadow:var(--ids-input-shadow-success-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success[disabled],.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success:hover[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .success[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .success:hover[disabled]{border-color:var(--ids-input-color-border-success-disabled);color:var(--ids-input-color-text-success-disabled)}.ids-input:not([class*=color-variant-]).is-active .field-container,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container{border-color:var(--ids-input-color-border-focus)}.ids-input:not([class*=color-variant-]).is-active .alert,.ids-input:not([class*=color-variant-]).is-active .alert:hover,.ids-input:not([class*=color-variant-]).is-active .warning,.ids-input:not([class*=color-variant-]).is-active .warning:hover,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert:hover,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning:hover{border-color:var(--ids-input-color-border-alert-default);color:var(--ids-input-color-text-alert-default)}.ids-input:not([class*=color-variant-]).is-active .alert:focus-within,.ids-input:not([class*=color-variant-]).is-active .alert.is-active,.ids-input:not([class*=color-variant-]).is-active .alert:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active .alert:hover.is-active,.ids-input:not([class*=color-variant-]).is-active .warning:focus-within,.ids-input:not([class*=color-variant-]).is-active .warning.is-active,.ids-input:not([class*=color-variant-]).is-active .warning:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active .warning:hover.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert:hover.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning:hover.is-active{border-color:var(--ids-input-color-border-alert-default);box-shadow:var(--ids-input-shadow-alert-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]).is-active .alert[disabled],.ids-input:not([class*=color-variant-]).is-active .alert:hover[disabled],.ids-input:not([class*=color-variant-]).is-active .warning[disabled],.ids-input:not([class*=color-variant-]).is-active .warning:hover[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert:hover[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning:hover[disabled]{border-color:var(--ids-input-color-border-alert-disabled);color:var(--ids-input-color-text-alert-disabled)}.ids-input:not([class*=color-variant-]).is-active .field-container.error,.ids-input:not([class*=color-variant-]).is-active .field-container.error:hover,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error:hover{border-color:var(--ids-input-color-border-error-default);color:var(--ids-input-error-color-text-error-default)}.ids-input:not([class*=color-variant-]).is-active .field-container.error.field-container:not(:focus-within),.ids-input:not([class*=color-variant-]).is-active .field-container.error:hover.field-container:not(:focus-within),.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error.field-container:not(:focus-within),.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error:hover.field-container:not(:focus-within){border-color:var(--ids-input-color-border-error-default);color:var(--ids-input-error-color-text-error-default)}.ids-input:not([class*=color-variant-]).is-active .field-container.error:focus-within,.ids-input:not([class*=color-variant-]).is-active .field-container.error.is-active,.ids-input:not([class*=color-variant-]).is-active .field-container.error:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active .field-container.error:hover.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error:hover.is-active{border-color:var(--ids-input-color-border-error-default);box-shadow:var(--ids-input-color-shadow-error-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]).is-active .field-container.error[disabled],.ids-input:not([class*=color-variant-]).is-active .field-container.error:hover[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error:hover[disabled]{border-color:var(--ids-input-color-border-error-disabled);color:var(--ids-input-color-border-error-disabled)}.ids-input:not([class*=color-variant-]).is-active .info,.ids-input:not([class*=color-variant-]).is-active .info:hover,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info:hover{border-color:var(--ids-input-color-border-info-default);color:var(--ids-input-color-text-info-default)}.ids-input:not([class*=color-variant-]).is-active .info:focus-within,.ids-input:not([class*=color-variant-]).is-active .info.is-active,.ids-input:not([class*=color-variant-]).is-active .info:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active .info:hover.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info:hover.is-active{border-color:var(--ids-input-color-border-info-default);box-shadow:var(--ids-input-shadow-info-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]).is-active .info[disabled],.ids-input:not([class*=color-variant-]).is-active .info:hover[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info:hover[disabled]{border-color:var(--ids-input-color-border-info-disabled);color:var(--ids-input-color-text-info-disabled)}.ids-input:not([class*=color-variant-]).is-active .success,.ids-input:not([class*=color-variant-]).is-active .success:hover,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success:hover{border-color:var(--ids-input-color-border-success-default);color:var(--ids-input-color-text-success-default)}.ids-input:not([class*=color-variant-]).is-active .success:focus-within,.ids-input:not([class*=color-variant-]).is-active .success.is-active,.ids-input:not([class*=color-variant-]).is-active .success:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active .success:hover.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success:hover.is-active{border-color:var(--ids-input-color-border-success-default);box-shadow:var(--ids-input-shadow-success-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]).is-active .success[disabled],.ids-input:not([class*=color-variant-]).is-active .success:hover[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success:hover[disabled]{border-color:var(--ids-input-color-border-success-disabled);color:var(--ids-input-color-text-success-disabled)}.ids-input:not([class*=color-variant-]):hover:not(.disabled).readonly.readonly-background.color-variant-alternate-formatter .field-container{border-color:var(--ids-data-grid-filter-input-color-border-hover)}.ids-input:not([class*=color-variant-]) .alert,.ids-input:not([class*=color-variant-]) .alert:hover,.ids-input:not([class*=color-variant-]) .warning,.ids-input:not([class*=color-variant-]) .warning:hover{border-color:var(--ids-input-color-border-alert-default);color:var(--ids-input-color-text-alert-default)}.ids-input:not([class*=color-variant-]) .alert:focus-within,.ids-input:not([class*=color-variant-]) .alert.is-active,.ids-input:not([class*=color-variant-]) .alert:hover:focus-within,.ids-input:not([class*=color-variant-]) .alert:hover.is-active,.ids-input:not([class*=color-variant-]) .warning:focus-within,.ids-input:not([class*=color-variant-]) .warning.is-active,.ids-input:not([class*=color-variant-]) .warning:hover:focus-within,.ids-input:not([class*=color-variant-]) .warning:hover.is-active{border-color:var(--ids-input-color-border-alert-default);box-shadow:var(--ids-input-shadow-alert-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]) .alert[disabled],.ids-input:not([class*=color-variant-]) .alert:hover[disabled],.ids-input:not([class*=color-variant-]) .warning[disabled],.ids-input:not([class*=color-variant-]) .warning:hover[disabled]{border-color:var(--ids-input-color-border-alert-disabled);color:var(--ids-input-color-text-alert-disabled)}.ids-input:not([class*=color-variant-]) .field-container.error,.ids-input:not([class*=color-variant-]) .field-container.error:hover{border-color:var(--ids-input-color-border-error-default);color:var(--ids-input-error-color-text-error-default)}.ids-input:not([class*=color-variant-]) .field-container.error.field-container:not(:focus-within),.ids-input:not([class*=color-variant-]) .field-container.error:hover.field-container:not(:focus-within){border-color:var(--ids-input-color-border-error-default);color:var(--ids-input-error-color-text-error-default)}.ids-input:not([class*=color-variant-]) .field-container.error:focus-within,.ids-input:not([class*=color-variant-]) .field-container.error.is-active,.ids-input:not([class*=color-variant-]) .field-container.error:hover:focus-within,.ids-input:not([class*=color-variant-]) .field-container.error:hover.is-active{border-color:var(--ids-input-color-border-error-default);box-shadow:var(--ids-input-color-shadow-error-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]) .field-container.error[disabled],.ids-input:not([class*=color-variant-]) .field-container.error:hover[disabled]{border-color:var(--ids-input-color-border-error-disabled);color:var(--ids-input-color-border-error-disabled)}.ids-input:not([class*=color-variant-]) .info,.ids-input:not([class*=color-variant-]) .info:hover{border-color:var(--ids-input-color-border-info-default);color:var(--ids-input-color-text-info-default)}.ids-input:not([class*=color-variant-]) .info:focus-within,.ids-input:not([class*=color-variant-]) .info.is-active,.ids-input:not([class*=color-variant-]) .info:hover:focus-within,.ids-input:not([class*=color-variant-]) .info:hover.is-active{border-color:var(--ids-input-color-border-info-default);box-shadow:var(--ids-input-shadow-info-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]) .info[disabled],.ids-input:not([class*=color-variant-]) .info:hover[disabled]{border-color:var(--ids-input-color-border-info-disabled);color:var(--ids-input-color-text-info-disabled)}.ids-input:not([class*=color-variant-]) .success,.ids-input:not([class*=color-variant-]) .success:hover{border-color:var(--ids-input-color-border-success-default);color:var(--ids-input-color-text-success-default)}.ids-input:not([class*=color-variant-]) .success:focus-within,.ids-input:not([class*=color-variant-]) .success.is-active,.ids-input:not([class*=color-variant-]) .success:hover:focus-within,.ids-input:not([class*=color-variant-]) .success:hover.is-active{border-color:var(--ids-input-color-border-success-default);box-shadow:var(--ids-input-shadow-success-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]) .success[disabled],.ids-input:not([class*=color-variant-]) .success:hover[disabled]{border-color:var(--ids-input-color-border-success-disabled);color:var(--ids-input-color-text-success-disabled)}.ids-input.color-variant-alternate .field-container{border-color:var(--ids-input-header-color-border);color:var(--ids-input-header-color-text-default);background-color:var(--ids-input-header-color-background);border-bottom:1px solid var(--ids-input-header-color-border);box-shadow:none}.ids-input.color-variant-alternate:focus-within .field-container{border-color:var(--ids-input-color-border-focus);box-shadow:var(--ids-input-color-border-shadow)}.ids-input.color-variant-alternate .ids-input-field{color:var(--ids-input-header-color-text-default)}.ids-input.color-variant-alternate .ids-input-field::placeholder{color:var(--ids-input-header-color-text-placeholder)}.ids-input.color-variant-alternate.readonly-background .ids-input-field::placeholder{color:var(--ids-input-header-color-text-placeholder)}.ids-input.color-variant-alternate-formatter .field-container{background-color:var(--ids-data-grid-filter-input-color-background);border-color:var(--ids-data-grid-filter-input-color-border-default);color:var(--ids-data-grid-filter-input-color-text-default)}.ids-input.color-variant-alternate-formatter:hover.readonly.readonly-background .field-container,.ids-input.color-variant-alternate-formatter:hover:not(.readonly):not(.disabled) .field-container{border-color:var(--ids-data-grid-filter-input-color-border-hover)}.ids-input.color-variant-alternate-formatter:focus-within .field-container,.ids-input.color-variant-alternate-formatter:focus-within:hover.readonly.readonly-background,.ids-input.color-variant-alternate-formatter:focus-within:hover:not(.readonly):not(.disabled) .field-container{border-color:var(--ids-data-grid-filter-input-color-border-focus)}.ids-input.color-variant-alternate-formatter:focus-within .ids-input-field{box-shadow:var(--ids-input-color-border-shadow)}.ids-input.color-variant-alternate-formatter.disabled .field-container,.ids-input.color-variant-alternate-formatter.disabled:hover .field-container{border-color:var(--ids-data-grid-filter-input-color-border-disabled);color:var(--ids-data-grid-filter-input-color-text-disabled)}.ids-input.color-variant-alternate-formatter.readonly:not(.readonly-background):not(.bg-transparent) .field-container{background-color:var(--ids-data-grid-filter-input-color-background-readonly);border-color:var(--ids-data-grid-filter-input-color-border-readonly);color:var(--ids-data-grid-filter-input-color-text-readonly)}.ids-input.color-variant-alternate-formatter .ids-input-field::placeholder{color:var(--ids-data-grid-filter-input-color-text-placeholder)}.ids-input.color-variant-app-menu .field-container{color:var(--ids-input-color-text-app-menu)}.ids-input.color-variant-list-builder .field-container{background-color:var(--ids-color-transparent);color:var(--ids-list-builder-input-text-color);border:0}.ids-input.color-variant-module-nav{color:var(--ids-module-nav-search-input-text-color)}.ids-input.color-variant-module-nav .field-container{background-color:var(--ids-color-transparent);border-color:var(--ids-color-transparent);color:inherit}.ids-input.color-variant-module-nav .ids-input-field{background-color:var(--ids-color-transparent);color:inherit}.ids-input.color-variant-module-nav .ids-input-field::placeholder{color:var(--ids-module-nav-search-input-placeholder-text-color)}.ids-input.color-variant-module-nav .ids-input-field:active{color:var(--ids-module-nav-search-input-text-color)}.ids-input.color-variant-module-nav.has-clearable .btn-clear{margin-inline-end:5px}.ids-input.color-variant-module-nav:hover .field-container{background-color:var(--ids-module-nav-search-input-hover-bg-color)}.ids-input.color-variant-module-nav:hover .ids-input-field::placeholder{color:var(--ids-module-nav-search-input-placeholder-text-color)}.ids-input.color-variant-module-nav:hover .ids-input-field{color:var(--ids-module-nav-input-text-color)}.ids-input.color-variant-module-nav:focus-within .field-container,.ids-input.color-variant-module-nav.readonly:focus-within .field-container,.ids-input.color-variant-module-nav.is-active .field-container{background-color:var(--ids-module-nav-input-focus-bg-color);border-color:var(--ids-module-nav-item-selected-text-color);box-shadow:none}.ids-input.color-variant-module-nav:focus-within .ids-input-field::placeholder,.ids-input.color-variant-module-nav.readonly:focus-within .ids-input-field::placeholder,.ids-input.color-variant-module-nav.is-active .ids-input-field::placeholder{color:var(--ids-module-nav-search-input-focused-placeholder-text-color)}.ids-input.color-variant-module-nav:focus-within .ids-input-field,.ids-input.color-variant-module-nav.readonly:focus-within .ids-input-field,.ids-input.color-variant-module-nav.is-active .ids-input-field{color:var(--ids-module-nav-input-text-color)}:host(.tab-name-editor) .ids-input{margin-block-end:unset}:host(.tab-name-editor) .ids-label-text{display:none}.caps-lock-indicator{padding-inline-start:var(--ids-space-xs);padding-inline-end:var(--ids-space-xs)}.show-hide-password{padding-inline-end:var(--ids-space-3xs)}.is-uppercase{text-transform:uppercase}.is-lowercase{text-transform:lowercase}.highlight{font-weight:var(--ids-font-weight-bold)}.ids-input-field[type=number]::-webkit-inner-spin-button,.ids-input-field[type=number]::-webkit-outer-spin-button{appearance:none}.ids-input-field::-webkit-caps-lock-indicator{visibility:hidden}:host ids-popup[type=dropdown]{width:100%;max-width:var(--ids-input-width-40)}:host(:not([show-loading-indicator=true])) ::slotted(.slot-loading-indicator){display:none}:host([show-loading-indicator=true]){pointer-events:none}:host([show-loading-indicator=true]) ::slotted(ids-loading-indicator){margin-top:3px;margin-bottom:3px}:host([show-loading-indicator=true]) ::slotted(ids-trigger-button[slot=trigger-end]){display:none}:host([show-loading-indicator=true]) ::slotted(.slot-loading-indicator){margin-inline-end:12px;margin-inline-start:var(--ids-space-xs)}:host([show-loading-indicator=true][field-height=xs]) ::slotted(.slot-loading-indicator){margin-inline-start:var(--ids-space-2xs);margin-inline-end:var(--ids-space-2xs)}:host([show-loading-indicator=true][field-height=sm]) ::slotted(.slot-loading-indicator){margin-inline-end:var(--ids-space-xs);margin-inline-start:var(--ids-space-2xs)}::slotted(.audible){clip:rect(0, 0, 0, 0);height:0;line-height:0;min-height:0;overflow:hidden;padding:0;position:absolute;width:1px}:host([field-indicator][readonly]),:host([field-indicator][disabled]){--ids-field-indicator-info-visibility: none}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2J1aWxkcy9pbmZvci1kZXNpZ24vZW50ZXJwcmlzZS13Yy9zcmMvY29tcG9uZW50cy9pZHMtaW5wdXQiLCJzb3VyY2VzIjpbIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNsZWFyYWJsZS1taXhpbi5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtZGlydHktdHJhY2tlci1taXhpbi5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtZmllbGQtaW5kaWNhdG9yLW1peGluLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1sYWJlbC1zdGF0ZS1taXhpbi5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtdmFsaWRhdGlvbi1taXhpbi5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMuc2NzcyIsIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWxhYmVsLXBvc2l0aW9uLW1peGluLnNjc3MiLCJpZHMtaW5wdXQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQ0FPSSx3S0FDRSxVQUVBLDRNQUNFLGFBR0Ysd05BQ0Usc0JBQ0EsY0FPRiw2RkFDRSxhQUNBLG9CQVFKLGtEQUNFLHdCQUVBLDZEQUNFLGFBQ0EsV0FNUiw4Q0FDRSxZQzVDRixZQUNFLDJDQUNBLDBDQUVBLGtCQUNBLDhEQUNBLE1BRUEscUJBQ0Usd0JBQ0EsTUFHRiw4QkFDRSxxQkFLSiw4QkFDRSx5QkFHRixzQ0FDRSx5QkFHRiwwQkFDRSxRQUNBLHdCQUVBLG1DQUNFLFFDaENKLHNCQUNFLGtCQUNBLE1BQ0Esb0JBRUEsK0JBQ0Usd0JBQ0EsTUFJSiwyQkFDRSx5REFDQSxtQkFDQSw4RUFDQSxlQUNBLHNFQW9CRix5QkFmRSx1RUFTQSwrQ0FDRSwyQ0FTSixzQkFuQkUsZ0VBU0EsNENBQ0Usb0NBYUoseUJBdkJFLG1FQVNBLCtDQUNFLHVDQWlCSix5QkEzQkUsbUVBU0EsK0NBQ0UsdUNBcUJKLHlCQS9CRSxtRUFTQSwrQ0FDRSx1Q0F5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SixxQ0FDRSxvQkFFQSxzRUFDRSxlQUNBLGtCQUdGLHFGQUNFLGFBR0Ysd0VBQ0UsdUJBQ0Esd0NBS0YseUZBQ0UseUNBQ0EsdUNBS0YseUZBQ0Usc0NBQ0EseUNBSUosb0JGOWtDRSxzQkFDQSxTQUNBLGNBQ0EsYUFDQSxnQkFDQSxVQUNBLGtCQUNBLFVFMmtDRixzRUFFRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ3NzIGZvciBjbGVhcmFibGUgbWl4aW5cbiAqL1xuLmlkcy1pbnB1dCxcbi5pZHMtdGV4dGFyZWEge1xuICAuaWRzLWlucHV0LWZpZWxkLFxuICAuaWRzLXRleHRhcmVhLWZpZWxkIHtcbiAgICAuYnRuLWNsZWFyIHtcbiAgICAgIG91dGxpbmU6IDA7XG5cbiAgICAgICYuaXMtZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBbc2xvdD0naWNvbiddIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5oYXMtY2xlYXJhYmxlIHtcbiAgICAuYnRuLWNsZWFyIHtcbiAgICAgICYuaXMtZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmlkcy10cmlnZ2VyLWZpZWxkIHtcbiAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgJi5oYXMtY2xlYXJhYmxlIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogNTVweDtcblxuICAgICAgfiAuYnRuLWNsZWFyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcmlnaHQ6IC04cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5idG4tY2xlYXJbcGFydD0nY2xlYXJhYmxlLWJ1dHRvbiddIFtzbG90PSdpY29uJ10ge1xuICBwYWRkaW5nOiAycHg7XG59XG4iLCIvLyBHZW5lcmFsIERpcnR5LVRyYWNrZXIgaWNvbiBwbGFjZW1lbnRcbi5pY29uLWRpcnR5IHtcbiAgLS1pZHMtaWNvbi1oZWlnaHQtZGVmYXVsdDogMTJweCAhaW1wb3J0YW50O1xuICAtLWlkcy1pY29uLXdpZHRoLWRlZmF1bHQ6IDEycHggIWltcG9ydGFudDtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtZGlydHktaW5kaWNhdG9yLWNvbG9yLWJhY2tncm91bmQtZGlydHkpO1xuICB0b3A6IDA7XG5cbiAgJltkaXI9J3J0bCddIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgJi50YWItZGlydHktdHJhY2tlciB7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICB9XG59XG5cbi8vIENvbG9yIHBpY2tlclxuLmlkcy1jb2xvci1waWNrZXIgLmljb24tZGlydHkge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAzNXB4O1xufVxuXG4uaWRzLWNvbG9yLXBpY2tlci5jb21wYWN0IC5pY29uLWRpcnR5IHtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogMjdweDtcbn1cblxuLmlkcy10ZXh0YXJlYSAuaWNvbi1kaXJ0eSB7XG4gIHRvcDogMXB4O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAxcHg7XG5cbiAgJltkaXI9J3J0bCddIHtcbiAgICB0b3A6IDJweDtcbiAgfVxufVxuIiwiLy8gRmllbGQgSW5kaWNhdG9yIGljb24gcGxhY2VtZW50XG4uaWNvbi1maWVsZC1pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgJltkaXI9J3J0bCddIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdG9wOiAwO1xuICB9XG59XG5cbi5pY29uLWZpZWxkLWluZGljYXRvci1pbmZvIHtcbiAgZGlzcGxheTogdmFyKC0taWRzLWZpZWxkLWluZGljYXRvci1pbmZvLXZpc2liaWxpdHksIGZsZXgpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLWZpZWxkLWluZGljYXRvci1pbmZvLW1hcmdpbiwgdmFyKC0taWRzLXNwYWNlLXhzKSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IHZhcigtLWlkcy1maWVsZC1pbmRpY2F0b3ItaWNvbi1jb2xvciwgLS1pZHMtY29sb3ItaW5mby1kZWZhdWx0KTtcbn1cblxuLy8gTWl4aW4gdG8gYXBwbHkgZmllbGQgaW5kaWNhdG9yIGNvbG9yIHZhcmlhYmxlc1xuQG1peGluIGZpZWxkLWluZGljYXRvci1jb2xvcigkY29sb3IsICRib3JkZXItY29sb3I6IG51bGwpIHtcbiAgLS1pZHMtZmllbGQtaW5kaWNhdG9yLWljb24tY29sb3I6ICN7JGNvbG9yfTtcblxuICBAaWYgJGJvcmRlci1jb2xvciB7XG4gICAgLS1pZHMtaW5wdXQtYm9yZGVyLWRlZmF1bHQtY29sb3I6ICN7JGJvcmRlci1jb2xvcn07XG4gICAgLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLWhvdmVyOiAjeyRib3JkZXItY29sb3J9O1xuICAgIC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1kaXNhYmxlZDogI3skYm9yZGVyLWNvbG9yfTtcbiAgICAtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZm9jdXM6ICN7JGJvcmRlci1jb2xvcn07XG4gIH1cblxuICAuaWNvbi1maWVsZC1pbmRpY2F0b3Ige1xuICAgIGNvbG9yOiAjeyRjb2xvcn07XG4gIH1cbn1cblxuLy8gRmllbGQgaW5kaWNhdG9yIHR5cGUgY2xhc3NlcyDigJQgYXBwbGllZCB0byB0aGUgZmllbGQgY29udGFpbmVyLlxuLmZpZWxkLWluZGljYXRvci1uZXV0cmFsIHtcbiAgQGluY2x1ZGUgZmllbGQtaW5kaWNhdG9yLWNvbG9yKHZhcigtLWlkcy1jb2xvci1hY2NlbnQtbmV1dHJhbC13ZWFrKSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3ItaW5mbyB7XG4gIEBpbmNsdWRlIGZpZWxkLWluZGljYXRvci1jb2xvcih2YXIoLS1pZHMtY29sb3ItaW5mby1kZWZhdWx0KSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3Itc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGZpZWxkLWluZGljYXRvci1jb2xvcih2YXIoLS1pZHMtY29sb3Itc3VjY2Vzcy1kZWZhdWx0KSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3ItY2F1dGlvbiB7XG4gIEBpbmNsdWRlIGZpZWxkLWluZGljYXRvci1jb2xvcih2YXIoLS1pZHMtY29sb3ItY2F1dGlvbi1kZWZhdWx0KSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3Itd2FybmluZyB7XG4gIEBpbmNsdWRlIGZpZWxkLWluZGljYXRvci1jb2xvcih2YXIoLS1pZHMtY29sb3Itd2FybmluZy1kZWZhdWx0KSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3ItZXJyb3Ige1xuICBAaW5jbHVkZSBmaWVsZC1pbmRpY2F0b3ItY29sb3IodmFyKC0taWRzLWNvbG9yLWVycm9yLWRlZmF1bHQpKTtcbn1cblxuW2NsYXNzKj1cImZpZWxkLWluZGljYXRvci1cIl0uaGFzLWZvY3VzIHtcbiAgLmljb24tZmllbGQtaW5kaWNhdG9yLWluZm8ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIFdoZW4gYSBsYWJlbCBpcyBqdXN0IFwiaGlkZGVuXCIgaXQgc3RpbGwgdGFrZXMgdXAgcGh5c2ljYWwgc3BhY2UgdG8gcmVtYWluXG4vLyBpbiBhbGlnbm1lbnQgd2l0aCBvdGhlciBpbnB1dCBmaWVsZHMgaW4gYSBmb3JtIHRoYXQgbWF5IGhhdmUgdmlzaWJsZSBsYWJlbHMuXG4vLyBUaGlzIHNpbXVsYXRlcyBzdGFuZGFyZCBsYWJlbCB0ZXh0IHNpemUgd2hpbGUgZW1wdHkgd2l0aCBhIG5vbi1icmVha2luZyBzcGFjZVxuLmxhYmVsLXN0YXRlLWhpZGRlbiB7XG4gIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgJi5lbXB0eSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFwwMGEwJztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gV2hlbiBhIGxhYmVsIGlzIFwiY29sbGFwc2VkXCIgc2ltcGx5IGRvbid0IGRpc3BsYXkgaXRcbi5sYWJlbC1zdGF0ZS1jb2xsYXBzZWQge1xuICAuaWRzLWxhYmVsLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zJyBhcyBtaXhpbnM7XG5cbi52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICBAaW5jbHVkZSBtaXhpbnMuYW50aWFsaWFzZWQoKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LWZhbWlseTogdmFyKC0taWRzLWZvbnQtZmFtaWx5LWRlZmF1bHQpLCB2YXIoLS1pZHMtZm9udC1mYW1pbHktc3lzdGVtLXNhbnMpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtZnVsbCk7XG5cbiAgJi5oYXMtY3VzdG9tLWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtaWNvbi1jb2xvci1kZWZhdWx0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gIH1cblxuICAuaWRzLWljb24ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgfVxuXG4gICYuYWxlcnQge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3ItY2F1dGlvbi1kZWZhdWx0KTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci15ZWxsb3ctMzApO1xuICAgIH1cbiAgfVxuXG4gICYud2FybmluZyB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci13YXJuaW5nLWRlZmF1bHQpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLW9yYW5nZS0zMCk7XG4gICAgfVxuICB9XG5cbiAgJi5lcnJvciB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1lcnJvci1kZWZhdWx0KTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1yZWQtMzApO1xuICAgIH1cbiAgfVxuXG4gICYuaW5mbyB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1pbmZvLWRlZmF1bHQpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLWJsdWUtMzApO1xuICAgIH1cbiAgfVxuXG4gICYuc3VjY2VzcyB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1zdWNjZXNzLWRlZmF1bHQpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLWdyZWVuLTMwKTtcbiAgICB9XG4gIH1cblxuICAmW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoW3N1cHByZXNzLWVycm9yLW1lc3NhZ2VdKSB7XG4gIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnRzIC0gdGhpcyBjYW50IGJlIHRva2Vuc1xuJGJyZWFrcG9pbnQteHhsOiAyNDYzcHg7XG4kYnJlYWtwb2ludC14bDogMTE4M3B4O1xuJGJyZWFrcG9pbnQtbGc6IDkyOHB4O1xuJGJyZWFrcG9pbnQtbWQ6IDkyN3B4O1xuJGJyZWFrcG9pbnQtc206IDc2N3B4O1xuJGJyZWFrcG9pbnQteHM6IDMyMHB4O1xuXG4vLyBTZXRzIFRleHQgQW50aWFsaWFzaW5nXG5AbWl4aW4gYW50aWFsaWFzZWQge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLy8gdmVuZG9yIHByZWZpeGVkIHRyYW5zaXRpb25zIGZvciByZWd1bGFyIGF0dHJpYnV0ZXMgKG5vbi12ZW5kb3IgcHJlZml4ZWQpXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbnMtbGlzdC4uLikge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgI3skcHJlZml4fXRyYW5zaXRpb246ICR0cmFuc2l0aW9ucy1saXN0O1xuICB9XG59XG5cbi8vIG1ha2UgdGhlIHRleHQgaW52aXNpYmxlIHZpc3VhbGx5IGJ1dCByZWFkYWJsZSBieSBzY3JlZW4gcmVhZGVyc1xuQG1peGluIGF1ZGlibGUoKSB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1uby1kZXByZWNhdGVkICovXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cbiIsIi8vIExhYmVsIHBvc2l0aW9uIHN0eWxlc1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMnIGFzICo7XG5cbi8vIExlZnQgYWxpZ25lZCBhbmQgUmlnaHQgQWxpZ25lZCBMYWJlbHNcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG5cbiAgICAvLyBBZGp1c3QgdGhlIGxhYmVsXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGlvbiBvbiB0aGUgYm90dG9tXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZCkge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBAbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICB9XG5cbiAgICAgIEBjb250YWluZXIgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhzKSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBnYXA6IDhweDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0YXJlYS1maWVsZC1ncm91cCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYygwcHggLSB2YXIoLS1pZHMtc3BhY2UtMnhzKSk7XG4gICAgICB9XG5cbiAgICAgICYud3JhcHBlZCB7XG4gICAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYygwcHggLSB2YXIoLS1pZHMtc3BhY2UtMnhzKSk7XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgNnB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pZHMtY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWlkcy1zcGFjZS0wMCk7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLWNoZWNrYm94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG5cbiAgICAgIC8vIEFkanVzdCB0aGUgbGFiZWxcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICAgICAgfVxuXG4gICAgICAubGFiZWwtY2hlY2tib3gge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIC5jaGVja2JveC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgdmFyKC0taWRzLXNwYWNlLXhzKSk7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGNvbnRhaW5lciAobWluLXdpZHRoOiAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIC5pZHMtY2hlY2tib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgY2VudGVyKTtcblxuICAgICAgLy8gQWRqdXN0IHRoZSBsYWJlbFxuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgICB9XG5cbiAgICAgIC5sYWJlbC1jaGVja2JveCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLmNoZWNrYm94LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyB2YXIoLS1pZHMtc3BhY2UteHMpKTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBhbGlnbmVkOiB1c2Ugdmlld3BvcnQgbWVkaWEgcXVlcnkgaW5zdGVhZCBvZiBjb250YWluZXIgcXVlcnlcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11baG9yaXpvbnRhbC1hbGlnbmVkXSkge1xuICAuaWRzLWNoZWNrYm94IHtcbiAgICBjb250YWluZXItdHlwZTogbm9ybWFsO1xuXG4gICAgQG1lZGlhICh3aWR0aCA8PSAkYnJlYWtwb2ludC14cykge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgY2VudGVyKTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWlubGluZS1lbmQpO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgICB9XG5cbiAgICAgIC5sYWJlbC1jaGVja2JveCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLmNoZWNrYm94LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyB2YXIoLS1pZHMtc3BhY2UteHMpKTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9XCJlbmRcIl0pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZ2FwOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ25tZW50LWdhcCk7XG5cbiAgICBsYWJlbCxcbiAgICAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgQG1lZGlhICh3aWR0aCA8ICRicmVha3BvaW50LXhzKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgfVxuXG4gICAgICBAY29udGFpbmVyICh3aWR0aCA8ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgfVxuXG4gICAgICAmLnJlcXVpcmVkIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAtNXB4O1xuICAgICAgICAgIHRvcDogN3B4O1xuXG4gICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgICAgQGNvbnRhaW5lciAod2lkdGggPCAjeyRicmVha3BvaW50LXhzfSkge1xuICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IGluaXRpYWw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgICAgQG1lZGlhICh3aWR0aCA8ICRicmVha3BvaW50LXhzKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogaW5pdGlhbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmllbGQtY29udGFpbmVyIHtcbiAgICBmbGV4OiAxO1xuICB9XG5cbiAgLmlkcy1pbnB1dC53cmFwcGVkIC52YWxpZGF0aW9uLW1lc3NhZ2UsXG4gIC5pZHMtdGV4dGFyZWEud3JhcHBlZCAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyAxNHB4KTtcbiAgfVxuXG4gIC5pZHMtY2hlY2tib3gge1xuICAgIGxhYmVsIHtcbiAgICAgIHRleHQtYWxpZ246IGVuZDtcblxuICAgICAgQG1lZGlhICh3aWR0aCA8ICRicmVha3BvaW50LXhzKSB7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgfVxuXG4gICAgICBAY29udGFpbmVyICh3aWR0aCA8ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgfVxuXG4gICAgICAmLnJlcXVpcmVkIC5sYWJlbC1jaGVja2JveCBzcGFuIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICByaWdodDogLTVweDtcbiAgICAgICAgICB0b3A6IC01cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTd2l0Y2ggbGFiZWwtYWxpZ25tZW50IGVuZFxuICBAbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQtc20pIHtcbiAgICAuaWRzLXN3aXRjaCB7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG5cbiAgICAgICAgQGNvbnRhaW5lciAod2lkdGggPCAjeyRicmVha3BvaW50LXhzfSkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAod2lkdGggPCAkYnJlYWtwb2ludC14cykge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJhZGlvIGdyb3VwIGxhYmVsLWFsaWdubWVudCBlbmRcbiAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbiAgfVxuXG4gIEBjb250YWluZXIgKHdpZHRoIDwgI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYWxpZ25tZW50PVwiZW5kXCJdW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXVt2YWxpZGF0aW9uLW1lc3NhZ2UtY291bnRdOm5vdChbZXJyb3ItdHJhY2tlcl0pKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGNvbHVtbi1nYXA6IHZhcigtLWlkcy1sYWJlbC1hbGlnbm1lbnQtZ2FwKTtcbiAgfVxufVxuXG4vLyBMYWJlbCBicmVhayBiZWhhdmlvciBmb3IgaW5saW5lLXN0YXJ0IHBvc2l0aW9uXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXTpub3QoW3ZhbGlkYXRpb24tbWVzc2FnZS1jb3VudF0pKSxcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYnJlYWs9J3Nocmluay12YWx1ZSddW3ZhbGlkYXRpb24tbWVzc2FnZS1jb3VudF1bZXJyb3ItdHJhY2tlcl0pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIGxhYmVsIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgfVxuXG4gICAgLy8gS2VlcCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGJlbG93IHRoZSBmaWVsZFxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXaGVuIHZhbGlkYXRpb24gaXMgcHJlc2VudCB3aXRoIHNocmluay12YWx1ZSwgdXNlIGdyaWQgdG8ga2VlcCBmaWVsZCB3aWR0aCBzdGFibGVcbjpob3N0KC5pbi1mbGV4LWl0ZW1bbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSxcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYnJlYWs9J3Nocmluay12YWx1ZSddW3ZhbGlkYXRpb24tbWVzc2FnZS1jb3VudF06bm90KFtlcnJvci10cmFja2VyXSkpIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDA7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpO1xuICAgIGNvbHVtbi1nYXA6IHZhcigtLWlkcy1sYWJlbC1hbGlnbm1lbnQtZ2FwKTtcblxuICAgIGxhYmVsIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgfVxuXG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAmLndyYXBwZWQgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuXG4gICAgJi5zbSwgJi5tbSwgJi5tZCwgJi5sZyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbjpob3N0KC5pbi1mbGV4LWl0ZW1bbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSB7XG4gIC5pZHMtaW5wdXQgbGFiZWwge1xuICAgIG1heC1oZWlnaHQ6IHZhcigtLWlkcy1sYWJlbC1tYXgtaGVpZ2h0LWlubGluZS1zdGFydCk7XG4gIH1cblxuICAuaWRzLWNoZWNrYm94IHtcbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIH4gLmNoZWNrbWFyayB7XG4gICAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgaWRzLXRleHQge1xuICAgICAgJi5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ10pIHtcbiAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIHNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAY29udGFpbmVyICh3aWR0aCA+ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIHNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKHdpZHRoIDwgJGJyZWFrcG9pbnQteHMpIHtcbiAgICAuaWRzLWlucHV0LFxuICAgIC5pZHMtdGV4dGFyZWEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmlkcy10ZXh0YXJlYSB7XG4gICAgICBnYXA6IDA7XG4gICAgfVxuICB9XG5cbiAgQGNvbnRhaW5lciAod2lkdGggPCAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSxcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ106bm90KFt2YWxpZGF0aW9uLW1lc3NhZ2UtY291bnRdKSkge1xuICBAbWVkaWEgKHdpZHRoIDw9ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy10ZXh0YXJlYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGdhcDogMDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1pZHMtaW5wdXQtbWFyZ2luLWJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYnJlYWs9J3Nocmluay1sYWJlbCddKSB7XG4gIEBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC14cykge1xuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgfVxuXG4gICAgICBzbG90IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgIEBjb250YWluZXIgKHdpZHRoID4gI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdicmVhayddKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgIGxhYmVsIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG5cbiAgICAvLyBLZWVwIHZhbGlkYXRpb24gbWVzc2FnZXMgYmVsb3cgdGhlIGZpZWxkXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtd2lkdGg9XCIwcHhcIl0pLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC13aWR0aD1cIjBcIl0pIHtcbiAgLy8gV2hlbiBhIGxhYmVsIGlzIFwiaW5saW5lLXN0YXJ0XCIgYW5kIGBsYWJlbC13aWR0aD1cIjBweFwiYCBzaW1wbHkgZG9uJ3QgZGlzcGxheSBpdFxuICAuaWRzLWxhYmVsLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9XCJlbmRcIl1bbGFiZWwtd3JhcD1cImVsbGlwc2lzLW5vLXN0cmV0Y2hcIl0pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA1cHg7XG5cbiAgICAgICYucmVxdWlyZWQge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IC0xMXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi53cmFwcGVkIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgMTFweCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTGFiZWwgYnJlYWsgYmVoYXZpb3IgZm9yIGlubGluZS1lbmQgcG9zaXRpb25cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgbGFiZWwge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1pbnB1dCB7XG4gICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLWxhYmVsJ10pIHtcbiAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ11bbGFiZWwtYnJlYWs9J2JyZWFrJ10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG9yZGVyOiAyO1xuICAgIH1cblxuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG5cbiAgICAvLyBLZWVwIHZhbGlkYXRpb24gbWVzc2FnZXMgYmVsb3cgdGhlIGZpZWxkXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgb3JkZXI6IDM7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1pbnB1dCB7XG4gICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl0pIHtcbiAgLS1pZHMtbGFiZWwtd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aC1pbmxpbmUtc3RhcnQpO1xufVxuXG4vLyBXaGVuIGxhYmVsLXdyYXAgY29uc3RyYWlucyB0aGUgbGFiZWwgc2l6ZSwgZW5zdXJlIGl0IHN0YXlzIHZlcnRpY2FsbHkgY2VudGVyZWRcbi8vIGluc3RlYWQgb2Ygc3RyZXRjaGluZyB0byBmaWxsIHRoZSBmbGV4IGNvbnRhaW5lciBoZWlnaHRcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1zdGFydFwiXVtsYWJlbC13cmFwPVwiZWxsaXBzaXMtbm8tc3RyZXRjaFwiXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl1bbGFiZWwtd3JhcD1cIndyYXAtbm8tc3RyZXRjaFwiXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBsYWJlbCB7XG4gICAgICBhbGlnbi1zZWxmOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgY2VudGVyKTtcbiAgICB9XG5cbiAgICAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICB9XG59XG5cbi8vIFRleHQgYXJlYVxuQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIHtcbiAgICAuaWRzLXRleHRhcmVhIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygzNzBweCArIHZhcigtLWlkcy1sYWJlbC13aWR0aCkpO1xuXG4gICAgICAudGV4dGFyZWEtZmllbGQge1xuICAgICAgICB3aWR0aDogY2FsYygzNzBweCArIHZhcigtLWlkcy1sYWJlbC13aWR0aCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaWx0ZXIgZmllbGRcbkBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC1zbSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSB7XG4gICAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctaW5saW5lLWVuZCk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbHRlciBmaWVsZCBzcGVjaWZpYyBydWxlc1xuICAgICAgI29wZXJhdG9yLWJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgfVxuXG4gICAgICAvLyBWYWxpZGF0aW9uIG9uIHRoZSBib3R0b21cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ2hlY2tib3hlc1xuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtkaXI9J3J0bCddKSB7XG4gIEBtZWRpYSAod2lkdGggPCAkYnJlYWtwb2ludC1zbSkge1xuICAgIC5pZHMtY2hlY2tib3gge1xuICAgICAgbGFiZWwge1xuICAgICAgICAtLWlkcy1jaGVja2JveC1wYWRkaW5nLWlubGluZS1zdGFydDogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2Rpcj0ncnRsJ10pIC5pZHMtY2hlY2tib3gge1xuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10gfiAuY2hlY2ttYXJrIHtcbiAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJhZGlvIGJ1dHRvbnNcbkBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC14cykge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSxcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ10pIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGZsZXgtc3RhcnQpO1xuICAgICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcblxuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIG1pbi13aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpIC0gMnB4KTtcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ10pIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICBzbG90IHtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKHdpZHRoIDwgJGJyZWFrcG9pbnQtc20pIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ10pOm5vdChbbGFiZWwtYnJlYWtdKSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG4gICAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS0yLCAwLjVyZW0pO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIG1pbi13aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG5cbiAgICAgIHNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ10pOm5vdChbbGFiZWwtYnJlYWtdKSB7XG4gIEBjb250YWluZXIgKHdpZHRoIDwgI3skYnJlYWtwb2ludC1zbX0pIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcbiAgICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLTIsIDAuNXJlbSk7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAgbWluLXdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTd2l0Y2hcbkBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC1zbSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSAuaWRzLXN3aXRjaCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICBsYWJlbCB7XG4gICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctaW5saW5lLWVuZCk7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5zbGlkZXIge1xuICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICByaWdodDogLTQ1cHg7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtkaXI9J3J0bCddKSAuaWRzLXN3aXRjaCB7XG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5zbGlkZXIge1xuICAgICAgbGVmdDogLTQ1cHg7XG4gICAgICByaWdodDogaW5pdGlhbDtcbiAgICB9XG4gIH1cbn1cblxuLy8gRGF0YSBMYWJlbFxuQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIC5pZHMtZGF0YS1sYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogOHB4O1xuICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgLmxhYmVsIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5kYXRhLFxuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIGJlaGF2aW9yXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHMpIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLXN0YXJ0XCJdKSB7XG4gICAgLmlkcy1pbnB1dCxcbiAgICAuaWRzLXRleHRhcmVhLFxuICAgIC5pZHMtZmlsdGVyLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHVuc2V0O1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1lbmRcIl0pIHtcbiAgICAuaWRzLWlucHV0LFxuICAgIC5pZHMtdGV4dGFyZWEsXG4gICAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogdW5zZXQ7XG4gICAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS0yLCAwLjVyZW0pO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AY29udGFpbmVyIChtYXgtd2lkdGg6ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1zdGFydFwiXSkge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSxcbiAgICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiB1bnNldDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA6aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtZW5kXCJdKSB7XG4gICAgLmlkcy1pbnB1dCxcbiAgICAuaWRzLXRleHRhcmVhLFxuICAgIC5pZHMtZmlsdGVyLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHVuc2V0O1xuICAgICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1zdGF0ZT1cImhpZGRlblwiXSkge1xuICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHMpIHtcbiAgICAuaWRzLWlucHV0IC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5AY29udGFpbmVyIChtYXgtd2lkdGg6ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtc3RhdGU9XCJoaWRkZW5cIl0pIHtcbiAgICAuaWRzLWlucHV0IC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBKdXN0IHRoZSBsYWJlbCB3aWR0aFxuOmhvc3Qge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhLFxuICAuaWRzLWNoZWNrYm94LFxuICAuaWRzLXJhZGlvLFxuICAuaWRzLXN3aXRjaCxcbiAgLmlkcy1kYXRhLWxhYmVsLFxuICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgbGFiZWwsXG4gICAgLmxhYmVsIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMnIGFzIG1peGlucztcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNsZWFyYWJsZS1taXhpbicgYXMgKjtcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWRpcnR5LXRyYWNrZXItbWl4aW4nIGFzICo7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1maWVsZC1pbmRpY2F0b3ItbWl4aW4nIGFzICo7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1sYWJlbC1zdGF0ZS1taXhpbicgYXMgKjtcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLXZhbGlkYXRpb24tbWl4aW4nIGFzICo7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1sYWJlbC1wb3NpdGlvbi1taXhpbi5zY3NzJyBhcyBsYWJlbC1wb3NpdGlvbjtcblxuLy8gVGhlc2UgaW5wdXQgZmllbGQgc2l6ZXMgY29tZSBmcm9tIHRoZSBkZXNpZ24gdG9rZW5zIGFuZCBhcmUgYWRqdXN0ZWRcbi8vIGhlcmUgdG8gYWNjb3VudCBmb3IgMXB4IGJvcmRlciBzaXplIG9uIHRvcC9ib3R0b20gb3IgbGVmdC9yaWdodCBpbiBzb21lIGNhbGN1bGF0aW9ucy5cbiRib3JkZXItaW5wdXQtc2l6ZS14czogY2FsYyh2YXIoLS1pZHMtaW5wdXQtd2lkdGgtMTApKTtcbiRib3JkZXItaW5wdXQtc2l6ZS1zbTogY2FsYyh2YXIoLS1pZHMtaW5wdXQtd2lkdGgtMjApKTtcbiRib3JkZXItaW5wdXQtc2l6ZS1tZDogY2FsYyh2YXIoLS1pZHMtaW5wdXQtd2lkdGgtNDApKTtcbiRib3JkZXItaW5wdXQtc2l6ZS1tbTogY2FsYyh2YXIoLS1pZHMtaW5wdXQtd2lkdGgtMzApKTtcbiRib3JkZXItaW5wdXQtc2l6ZS1sZzogY2FsYyh2YXIoLS1pZHMtaW5wdXQtd2lkdGgtNTApKTtcbiRib3JkZXItaW5wdXQtZmllbGQtaGVpZ2h0LXhzOiBjYWxjKHZhcigtLWlkcy1pbnB1dC1oZWlnaHQtMTApIC0gNHB4KTtcbiRib3JkZXItaW5wdXQtZmllbGQtaGVpZ2h0LXNtOiBjYWxjKHZhcigtLWlkcy1pbnB1dC1oZWlnaHQtMjApIC0gMnB4KTtcbiRib3JkZXItaW5wdXQtZmllbGQtaGVpZ2h0LW1kOiBjYWxjKHZhcigtLWlkcy1pbnB1dC1oZWlnaHQtMzApIC0gMnB4KTtcbiRib3JkZXItaW5wdXQtZmllbGQtaGVpZ2h0LWxnOiBjYWxjKHZhcigtLWlkcy1pbnB1dC1oZWlnaHQtNDApIC0gMnB4KTtcbiRpbnB1dC1zaXplLWZ1bGw6IDEwMCU7XG5cbi8vIE1peGluIGZvciBtZXNzYWdlIHN0eWxlczogW2FsZXJ0LCBlcnJvciwgaW5mbywgc3VjY2Vzc11cbkBtaXhpbiBpZHMtaW5wdXQtbWVzc2FnZS1zdHlsZXMge1xuICAuYWxlcnQsXG4gIC5hbGVydDpob3ZlcixcbiAgLndhcm5pbmcsXG4gIC53YXJuaW5nOmhvdmVyICB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLWFsZXJ0LWRlZmF1bHQpO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItdGV4dC1hbGVydC1kZWZhdWx0KTtcblxuICAgICY6Zm9jdXMtd2l0aGluLFxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1hbGVydC1kZWZhdWx0KTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1pbnB1dC1zaGFkb3ctYWxlcnQtZm9jdXMpIDAgMCAzcHggMnB4O1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1hbGVydC1kaXNhYmxlZCk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLXRleHQtYWxlcnQtZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxuXG4gIC5maWVsZC1jb250YWluZXIuZXJyb3IsXG4gIC5maWVsZC1jb250YWluZXIuZXJyb3I6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1lcnJvci1kZWZhdWx0KTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWVycm9yLWNvbG9yLXRleHQtZXJyb3ItZGVmYXVsdCk7XG5cbiAgICAmLmZpZWxkLWNvbnRhaW5lcjpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLWVycm9yLWRlZmF1bHQpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1lcnJvci1jb2xvci10ZXh0LWVycm9yLWRlZmF1bHQpO1xuICAgIH1cblxuICAgICY6Zm9jdXMtd2l0aGluLFxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1lcnJvci1kZWZhdWx0KTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1zaGFkb3ctZXJyb3ItZm9jdXMpIDAgMCAzcHggMnB4O1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1lcnJvci1kaXNhYmxlZCk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1lcnJvci1kaXNhYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgLmluZm8sXG4gIC5pbmZvOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItaW5mby1kZWZhdWx0KTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLXRleHQtaW5mby1kZWZhdWx0KTtcblxuICAgICY6Zm9jdXMtd2l0aGluLFxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1pbmZvLWRlZmF1bHQpO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLWlucHV0LXNoYWRvdy1pbmZvLWZvY3VzKSAgMCAwIDNweCAycHg7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1pbmZvLWRpc2FibGVkKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItdGV4dC1pbmZvLWRpc2FibGVkKTtcbiAgICB9XG4gIH1cblxuICAuc3VjY2VzcyxcbiAgLnN1Y2Nlc3M6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1zdWNjZXNzLWRlZmF1bHQpO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItdGV4dC1zdWNjZXNzLWRlZmF1bHQpO1xuXG4gICAgJjpmb2N1cy13aXRoaW4sXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLXN1Y2Nlc3MtZGVmYXVsdCk7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1pZHMtaW5wdXQtc2hhZG93LXN1Y2Nlc3MtZm9jdXMpIDAgMCAzcHggMnB4O1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1zdWNjZXNzLWRpc2FibGVkKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItdGV4dC1zdWNjZXNzLWRpc2FibGVkKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWl4aW4gZm9yIGxhYmVsIHdyYXAgZWxsaXBzaXNcbkBtaXhpbiBpZHMtaW5wdXQtbGFiZWwtd3JhcC1lbGxpcHNpcyB7XG4gIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBpZHMtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBmbGV4LXNocmluazogMTtcbiAgICB9XG5cbiAgICAmLnJlcXVpcmVkIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLXhzKTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vLyBGdW5jdGlvbiB0byBjYWxjdWxhdGUgd2lkdGggc3VidHJhY3QgcGFkXG5AZnVuY3Rpb24gaWRzLWlucHV0LXNpemUtd2l0aC1wYWQoJHdpZHRoLCAkcGFkOiA4cHgpIHtcbiAgQHJldHVybiBjYWxjKCR3aWR0aCAtICRwYWQpO1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG4vLyBNaXhpbiBmb3IgbGFiZWwgd3JhcCBuby1zdHJldGNoXG5AbWl4aW4gaWRzLWlucHV0LWxhYmVsLXdyYXAtbm8tc3RyZXRjaCB7XG4gIC54cyAuaWRzLWxhYmVsLXRleHQge1xuICAgIG1heC13aWR0aDogaWRzLWlucHV0LXNpemUtd2l0aC1wYWQoJGJvcmRlci1pbnB1dC1zaXplLXNtKTtcbiAgfVxuXG4gIC5zbSAuaWRzLWxhYmVsLXRleHQge1xuICAgIG1heC13aWR0aDogaWRzLWlucHV0LXNpemUtd2l0aC1wYWQoJGJvcmRlci1pbnB1dC1zaXplLXNtKTtcbiAgfVxuXG4gIC5tbSAuaWRzLWxhYmVsLXRleHQge1xuICAgIG1heC13aWR0aDogaWRzLWlucHV0LXNpemUtd2l0aC1wYWQoJGJvcmRlci1pbnB1dC1zaXplLW1tKTtcbiAgfVxuXG4gIC5tZCAuaWRzLWxhYmVsLXRleHQge1xuICAgIG1heC13aWR0aDogaWRzLWlucHV0LXNpemUtd2l0aC1wYWQoJGJvcmRlci1pbnB1dC1zaXplLW1kKTtcbiAgfVxuXG4gIC5sZyAuaWRzLWxhYmVsLXRleHQge1xuICAgIG1heC13aWR0aDogaWRzLWlucHV0LXNpemUtd2l0aC1wYWQoJGJvcmRlci1pbnB1dC1zaXplLWxnKTtcbiAgfVxuXG4gIC5mdWxsIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgbWF4LXdpZHRoOiBpZHMtaW5wdXQtc2l6ZS13aXRoLXBhZCgkaW5wdXQtc2l6ZS1mdWxsKTtcbiAgfVxufVxuXG4vKiBpbiBjYXNlIG9mIGV4dGVybmFsIGxhYmVsIGluIGNvbXBvdW5kIGNvbXBvbmVudCAqL1xuLmlkcy1sYWJlbC10ZXh0IHtcbiAgQGluY2x1ZGUgbWl4aW5zLmFudGlhbGlhc2VkKCk7XG5cbiAgZm9udC1mYW1pbHk6IHZhcigtLWlkcy1mb250LWZhbWlseS1kZWZhdWx0KSwgdmFyKC0taWRzLWZvbnQtZmFtaWx5LXN5c3RlbS1zYW5zKTtcbiAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1sYWJlbC1jb2xvci10ZXh0LWRlZmF1bHQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1pZHMtaW5wdXQtbWFyZ2luLWJvdHRvbSk7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcblxuICAvLyBBYmlsaXR5IHRvIGNlbnRlciBsYWJlbCBmcm9tIHBhcmVudCBlbGVtZW50XG4gIGp1c3RpZnktY29udGVudDogaW5oZXJpdDtcblxuICAvLyBTaW11bGF0ZSBzdGFuZGFyZCBsYWJlbCB0ZXh0IHNpemUgd2hpbGUgZW1wdHkgd2l0aCBhIG5vbi1icmVha2luZyBzcGFjZVxuICAmLmVtcHR5IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMDBhMCc7XG4gICAgfVxuICB9XG5cbiAgJi5yZXF1aXJlZCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWlkcy1mb250LWZhbWlseS1kZWZhdWx0KSwgdmFyKC0taWRzLWZvbnQtZmFtaWx5LXN5c3RlbS1zYW5zKTtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1pZHMtZm9udC1zaXplLW1kKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtcmVxdWlyZWQtaW5kaWNhdG9yLWNvbG9yLXRleHQtZGVmYXVsdCk7XG4gICAgICBjb250ZW50OiAnKic7XG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgIHRvcDogMXB4O1xuXG4gICAgICAvLyBBZGRpbmcgaXQgc28gXCIqXCIgc2lnbiBkb2Vzbid0IGNoYW5nZSBsYWJlbCB0ZXh0IGhlaWdodFxuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJi5uby1yZXF1aXJlZC1pbmRpY2F0b3I6OmFmdGVyLFxuICAgICYuZW1wdHk6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cbiAgfVxuXG4gIGlkcy10ZXh0OjpwYXJ0KHRleHQpLFxuICAuaWRzLXRleHQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxufVxuXG4uZGlzYWJsZWQge1xuICAuaWRzLWxhYmVsLXRleHQge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtbGFiZWwtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgb3BhY2l0eTogdmFyKC0taWRzLWlucHV0LWRpc2FibGVkLW9wYWNpdHkpO1xuXG4gICAgJi5yZXF1aXJlZDo6YWZ0ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1yZXF1aXJlZC1pbmRpY2F0b3ItY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBpbnB1dC1leHRyYS1zbWFsbC1oZWlnaHQoJGg6ICRib3JkZXItaW5wdXQtZmllbGQtaGVpZ2h0LXhzKSB7XG4gIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLWlkcy1mb250LXNpemUtMnhzKTtcblxuICAuaWNvbi1kaXJ0eSB7XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICBmb250LXNpemU6IHZhcigtLWlkcy1pbnB1dC1sYWJlbC1mb250LXNpemUpO1xuICB9XG5cbiAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiB2YXIoLS1pZHMtaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgICBoZWlnaHQ6ICRoO1xuICB9XG59XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogdmFyKC0taWRzLWlucHV0LXdpZHRoLWZ1bGwpO1xuXG4gIC5pZHMtaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogdmFyKC0taWRzLWJveC1pbnB1dC13aWR0aCwgYXV0byk7XG4gIH1cbn1cblxuOmhvc3QoW2hpZGRlbl0pIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gbWFyZ2luLWJsb2NrLWVuZCB0b2tlbiBvdmVycmlkZXMg4oCUIGFwcGxpZWQgdG8gdGhlIGlubmVyIC5pZHMtaW5wdXQgY29udGFpbmVyLlxuLy8gQm90aCB0aGUgaG9zdCBhdHRyaWJ1dGUgc2VsZWN0b3IgKHdlYiBjb21wb25lbnQpIGFuZCBhIENTUyBjbGFzcyAoc3RhbmRhbG9uZSBDU1MpIGFyZVxuLy8gc3VwcG9ydGVkLiBUaGUgOm5vdChbbm8tbWFyZ2luc10pIGd1YXJkIGVuc3VyZXMgbm8tbWFyZ2lucyBhbHdheXMgd2lucy5cbjpob3N0KFttYXJnaW4tYmxvY2stZW5kPSdub25lJ106bm90KFtuby1tYXJnaW5zXSkpIC5pZHMtaW5wdXQsXG4uaWRzLWlucHV0Lm1hcmdpbi1ibG9jay1lbmQtbm9uZTpub3QoLm5vLW1hcmdpbnMpIHsgbWFyZ2luLWJsb2NrLWVuZDogdmFyKC0taWRzLXNwYWNlLW5vbmUpOyB9XG5cbjpob3N0KFttYXJnaW4tYmxvY2stZW5kPSc0eHMnXTpub3QoW25vLW1hcmdpbnNdKSkgLmlkcy1pbnB1dCxcbi5pZHMtaW5wdXQubWFyZ2luLWJsb2NrLWVuZC00eHM6bm90KC5uby1tYXJnaW5zKSAgeyBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1pZHMtc3BhY2UtNHhzKTsgfVxuXG46aG9zdChbbWFyZ2luLWJsb2NrLWVuZD0nM3hzJ106bm90KFtuby1tYXJnaW5zXSkpIC5pZHMtaW5wdXQsXG4uaWRzLWlucHV0Lm1hcmdpbi1ibG9jay1lbmQtM3hzOm5vdCgubm8tbWFyZ2lucykgIHsgbWFyZ2luLWJsb2NrLWVuZDogdmFyKC0taWRzLXNwYWNlLTN4cyk7IH1cblxuOmhvc3QoW21hcmdpbi1ibG9jay1lbmQ9JzJ4cyddOm5vdChbbm8tbWFyZ2luc10pKSAuaWRzLWlucHV0LFxuLmlkcy1pbnB1dC5tYXJnaW4tYmxvY2stZW5kLTJ4czpub3QoLm5vLW1hcmdpbnMpICB7IG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpOyB9XG5cbjpob3N0KFttYXJnaW4tYmxvY2stZW5kPSd4cyddOm5vdChbbm8tbWFyZ2luc10pKSAgLmlkcy1pbnB1dCxcbi5pZHMtaW5wdXQubWFyZ2luLWJsb2NrLWVuZC14czpub3QoLm5vLW1hcmdpbnMpICAgeyBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1pZHMtc3BhY2UteHMpOyB9XG5cbjpob3N0KFttYXJnaW4tYmxvY2stZW5kPSdzbSddOm5vdChbbm8tbWFyZ2luc10pKSAgLmlkcy1pbnB1dCxcbi5pZHMtaW5wdXQubWFyZ2luLWJsb2NrLWVuZC1zbTpub3QoLm5vLW1hcmdpbnMpICAgeyBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1pZHMtc3BhY2Utc20pOyB9XG5cbjpob3N0KFttYXJnaW4tYmxvY2stZW5kPSdtZCddOm5vdChbbm8tbWFyZ2luc10pKSAgLmlkcy1pbnB1dCxcbi5pZHMtaW5wdXQubWFyZ2luLWJsb2NrLWVuZC1tZDpub3QoLm5vLW1hcmdpbnMpICAgeyBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1pZHMtc3BhY2UtbWQpOyB9XG5cbjpob3N0KFttYXJnaW4tYmxvY2stZW5kPSdsZyddOm5vdChbbm8tbWFyZ2luc10pKSAgLmlkcy1pbnB1dCxcbi5pZHMtaW5wdXQubWFyZ2luLWJsb2NrLWVuZC1sZzpub3QoLm5vLW1hcmdpbnMpICAgeyBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1pZHMtc3BhY2UtbGcpOyB9XG5cbjpob3N0KFttYXJnaW4tYmxvY2stZW5kPSd4bCddOm5vdChbbm8tbWFyZ2luc10pKSAgLmlkcy1pbnB1dCxcbi5pZHMtaW5wdXQubWFyZ2luLWJsb2NrLWVuZC14bDpub3QoLm5vLW1hcmdpbnMpICAgeyBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1pZHMtc3BhY2UteGwpOyB9XG5cbjpob3N0KFttYXJnaW4tYmxvY2stZW5kPScyeGwnXTpub3QoW25vLW1hcmdpbnNdKSkgLmlkcy1pbnB1dCxcbi5pZHMtaW5wdXQubWFyZ2luLWJsb2NrLWVuZC0yeGw6bm90KC5uby1tYXJnaW5zKSAgeyBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1pZHMtc3BhY2UtMnhsKTsgfVxuXG46aG9zdChbbWFyZ2luLWJsb2NrLWVuZD0nM3hsJ106bm90KFtuby1tYXJnaW5zXSkpIC5pZHMtaW5wdXQsXG4uaWRzLWlucHV0Lm1hcmdpbi1ibG9jay1lbmQtM3hsOm5vdCgubm8tbWFyZ2lucykgIHsgbWFyZ2luLWJsb2NrLWVuZDogdmFyKC0taWRzLXNwYWNlLTN4bCk7IH1cblxuOmhvc3QoW21hcmdpbi1ibG9jay1lbmQ9JzR4bCddOm5vdChbbm8tbWFyZ2luc10pKSAuaWRzLWlucHV0LFxuLmlkcy1pbnB1dC5tYXJnaW4tYmxvY2stZW5kLTR4bDpub3QoLm5vLW1hcmdpbnMpICB7IG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLWlkcy1zcGFjZS00eGwpOyB9XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1zdGFydFwiXSkge1xuICAuZmllbGQtY29udGFpbmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHZhcigtLWlkcy1ib3gtanVzdGlmeS1jb250ZW50LCBmbGV4LXN0YXJ0KTtcbiAgfVxuXG4gIC5pZHMtaW5wdXQge1xuICAgIGp1c3RpZnktY29udGVudDogdmFyKC0taWRzLWJveC1qdXN0aWZ5LWNvbnRlbnQsIGZsZXgtc3RhcnQpO1xuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1zdGFydFwiXVtzaXplPVwiZnVsbFwiXSkge1xuICAuZmllbGQtY29udGFpbmVyIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG46aG9zdChbc2l6ZT0nZnVsbCddKSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG46aG9zdChbbGFiZWwtd3JhcD0nd3JhcCddKSB7XG4gIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXdyYXA9J2VsbGlwc2lzJ10pIHtcbiAgQGluY2x1ZGUgaWRzLWlucHV0LWxhYmVsLXdyYXAtZWxsaXBzaXMoKTtcbn1cblxuOmhvc3QoW2xhYmVsLXdyYXA9J2VsbGlwc2lzLW5vLXN0cmV0Y2gnXSkge1xuICBAaW5jbHVkZSBpZHMtaW5wdXQtbGFiZWwtd3JhcC1lbGxpcHNpcygpO1xuICBAaW5jbHVkZSBpZHMtaW5wdXQtbGFiZWwtd3JhcC1uby1zdHJldGNoKCk7XG59XG5cbjpob3N0KFtsYWJlbC13cmFwPSd3cmFwLW5vLXN0cmV0Y2gnXSkge1xuICBAaW5jbHVkZSBpZHMtaW5wdXQtbGFiZWwtd3JhcC1uby1zdHJldGNoKCk7XG5cbiAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgfVxufVxuXG4uaWRzLWlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKC0taWRzLXNwYWNlLXNtKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtZnVsbCk7XG5cbiAgLy8gQXBwbGllZCB0byB0aGUgd3JhcHBlciBlbGVtZW50IHRoYXQgd3JhcHMgdGhlIGlucHV0IGFuZCBvdGhlciBpbnRlcmFjdGFibGUgZWxlbWVudHNcbiAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1pZHMtYm9yZGVyLXJhZGl1cy0yeHMpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIG1heC13aWR0aDogdmFyKC0taWRzLWlucHV0LXdpZHRoLWZ1bGwpO1xuICAgIHBhZGRpbmc6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmVzaXplOiBub25lO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAmLmZmLWlucHV0LWZpZWxkIHtcbiAgICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogMDtcblxuICAgICAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICAgICBjb2xvcjogdmFyKC0taWRzLWZpbHRlci1maWVsZC10ZXh0LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmllbGQtY29udGFpbmVyLnNxdWFyZSB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLWJvcmRlci1yYWRpdXMtbm9uZSk7XG4gIH1cblxuICAmOmZvY3VzLXdpdGhpbixcbiAgJi5yZWFkb25seTpmb2N1cy13aXRoaW4sXG4gICYuaXMtYWN0aXZlIHtcbiAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBvdXRsaW5lLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgIH1cblxuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLWZvY3VzKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItc2hhZG93KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtaWNvbi5zdGFydGluZy1pY29uIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICB9XG5cbiAgLmlkcy1pY29uLmVuZGluZy1pY29uIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgfVxuXG4gIC8vIEFwcGxpZWQgdG8gdGhlIHNoYWRvdyByb290J3MgSFRNTElucHV0RWxlbWVudFxuICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICBAaW5jbHVkZSBtaXhpbnMuYW50aWFsaWFzZWQoKTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWlkcy1mb250LWZhbWlseS1kZWZhdWx0KSwgdmFyKC0taWRzLWZvbnQtZmFtaWx5LXN5c3RlbS1zYW5zKTtcbiAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0xMik7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtaW5wdXQtcGFkZGluZy1pbmxpbmUtZW5kKTtcbiAgICBmb250LXNpemU6IHZhcigtLWlkcy1pbnB1dC1mb250LXNpemUpO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICByZXNpemU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuICAgICYudGV4dC1lbGxpcHNpcyB7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG5cbiAgICAvLyBpbnB1dCB0ZXh0LWFsaWduOiBbc3RhcnQsIGNlbnRlciwgZW5kXVxuICAgICYuc3RhcnQge1xuICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgfVxuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci10ZXh0LXBsYWNlaG9sZGVyKTtcbiAgICB9XG5cbiAgICAmLmNlbnRlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi5lbmQge1xuICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgIH1cbiAgfVxuXG4gICYuZXZlbnQtcGlja2VyIHtcbiAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICB9XG4gIH1cblxuICAvLyBWYWxpZGF0aW9uIE1lc3NhZ2VzIGFyZSBhcHBlbmRlZCBiZW5lYXRoIHRoZSBgLmZpZWxkLWNvbnRhaW5lcmBcbiAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG5cbiAgICAuaWRzLWljb24ge1xuICAgICAgcGxhY2Utc2VsZjogc2VsZi1zdGFydDtcbiAgICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICB9XG4gIH1cblxuICAvLyBJZiBgbm8tbWFyZ2luc2AgaXMgdXNlZDpcbiAgLy8gLSBtYXJnaW5zIGFyZSByZW1vdmVkIGZyb20gY29tcG9uZW50IHRvcC9ib3R0b21cbiAgLy8gLSBsYWJlbHMgYXJlIHZpc3VhbGx5IGhpZGRlbiBpbnN0ZWFkIG9mIGRpc3BsYXlpbmcgYmxhbmsgY29udGVudCBmb3Igc3BhY2luZ1xuICAmLm5vLW1hcmdpbnMsXG4gICYubm8tbWFyZ2lucy5jb21wYWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcblxuICAgICYuZmllbGQtaGVpZ2h0LXhzIHtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB9XG5cbiAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIH1cblxuICAgIC8vIFJldmVyc2UgdGhlIG1hcmdpbnMgb24gYGlkcy1pbnB1dFtuby1tYXJnaW5zXWAgZmllbGRzIHRvIGhhdmUgdGhlIGJvdHRvbSBtYXJnaW4gb24gdG9wXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICAmLmVtcHR5IHtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGlucHV0IHNpemVzOiBbeHMsIHNtLCBtbSwgbWQsIGxnLCBmdWxsXVxuICAvLyBTdWJ0cmFjdGluZyAyIHRha2VzIGludG8gYWNjb3VudCB0aGF0IHRoZSB3aWR0aCBpbmNsdWRlcyB0aGUgYC5maWVsZC1jb250YWluZXJgIGJvcmRlciBvbiBib3RoIHNpZGVzLlxuICAmLnhzIHtcbiAgICAuZmllbGQtY29udGFpbmVyLFxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgd2lkdGg6ICRib3JkZXItaW5wdXQtc2l6ZS14cztcbiAgICB9XG5cbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIG1heC13aWR0aDogJGJvcmRlci1pbnB1dC1zaXplLXhzO1xuICAgIH1cbiAgfVxuXG4gICYuc20ge1xuICAgIC5maWVsZC1jb250YWluZXJ7XG4gICAgICB3aWR0aDogJGJvcmRlci1pbnB1dC1zaXplLXNtO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAkYm9yZGVyLWlucHV0LXNpemUtc207XG4gICAgfVxuICB9XG5cbiAgJi5tbSB7XG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogJGJvcmRlci1pbnB1dC1zaXplLW1tO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAkYm9yZGVyLWlucHV0LXNpemUtbW07XG4gICAgfVxuICB9XG5cbiAgJi5tZCB7XG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogJGJvcmRlci1pbnB1dC1zaXplLW1kO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAkYm9yZGVyLWlucHV0LXNpemUtbWQ7XG4gICAgfVxuICB9XG5cbiAgJi5sZyB7XG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogJGJvcmRlci1pbnB1dC1zaXplLWxnO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAkYm9yZGVyLWlucHV0LXNpemUtbGc7XG4gICAgfVxuICB9XG5cbiAgJi5mdWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC5maWVsZC1jb250YWluZXIsXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICB3aWR0aDogdmFyKC0taWRzLWlucHV0LXdpZHRoLWZ1bGwpO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiBtaXhpbnMuJGJyZWFrcG9pbnQtc20pICB7XG4gICAgJjpub3QoLmZ1bGwpOm5vdCgubWQpOm5vdCgubW0pOm5vdCguc20pOm5vdCgueHMpOm5vdCgubGcpIHtcbiAgICAgIC5maWVsZC1jb250YWluZXIsXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkYm9yZGVyLWlucHV0LXNpemUtbW07XG4gICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAkYm9yZGVyLWlucHV0LXNpemUtbW07XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gaW5wdXQgZmllbGQtaGVpZ2h0czogW3hzLCBzbSwgbWQsIGxnXVxuICAvLyBTdWJ0cmFjdGluZyAyIHRha2VzIGludG8gYWNjb3VudCB0aGF0IHRoZSB3aWR0aCBpbmNsdWRlcyB0aGUgYC5maWVsZC1jb250YWluZXJgIGJvcmRlciBvbiBib3RoIHNpZGVzLlxuICAmLmZpZWxkLWhlaWdodC14cyB7XG4gICAgQGluY2x1ZGUgaW5wdXQtZXh0cmEtc21hbGwtaGVpZ2h0KCk7XG5cbiAgICAmLm5vLW1hcmdpbi1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuXG4gICAgICAuZmllbGQtY29udGFpbmVyLFxuICAgICAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmZpZWxkLWhlaWdodC1zbSAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICBoZWlnaHQ6ICRib3JkZXItaW5wdXQtZmllbGQtaGVpZ2h0LXNtO1xuICB9XG5cbiAgJi5maWVsZC1oZWlnaHQtbWQgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgaGVpZ2h0OiAkYm9yZGVyLWlucHV0LWZpZWxkLWhlaWdodC1tZDtcbiAgfVxuXG4gICYuZmllbGQtaGVpZ2h0LWxnIC5pZHMtaW5wdXQtZmllbGQge1xuICAgIGhlaWdodDogJGJvcmRlci1pbnB1dC1maWVsZC1oZWlnaHQtbGc7XG4gIH1cblxuICAvLyBpbnB1dCBjb21wYWN0XG4gICYuY29tcGFjdCB7XG4gICAgQGluY2x1ZGUgaW5wdXQtZXh0cmEtc21hbGwtaGVpZ2h0KCRib3JkZXItaW5wdXQtZmllbGQtaGVpZ2h0LXhzKTtcblxuICAgICYubm8tbWFyZ2luLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG5cbiAgICAgIC5maWVsZC1jb250YWluZXIsXG4gICAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgICAgICBoZWlnaHQ6ICRib3JkZXItaW5wdXQtZmllbGQtaGVpZ2h0LXhzO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZC1jb250YWluZXI6bm90KC5mZi1pbnB1dC1maWVsZCkge1xuICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLWlkcy1pbnB1dC1oZWlnaHQtMTApIC0gMnB4KTtcbiAgICB9XG4gIH1cblxuICAvLyBEYXRhIEdyaWQgVmFyaWFudHNcblxuICAvLyBGbHVzaC9JbnZpc2libGUgVmFyaWFudCAodXNlZCBpbiBJZHNEYXRhR3JpZCBjZWxsIGVkaXRpbmcpXG4gICYuY29sb3ItdmFyaWFudC1ib3JkZXJsZXNzIHtcbiAgICAtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZm9jdXM6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG5cbiAgICBtYXJnaW46IDFweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1pZHMtYm9yZGVyLXJhZGl1cy1ub25lKTtcblxuICAgIGlucHV0IHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLWZvbnQtc2l6ZS1zbSk7XG4gICAgfVxuXG4gICAgc2xvdFtuYW1lPVwidHJpZ2dlci1zdGFydFwiXSxcbiAgICBzbG90W25hbWU9XCJ0cmlnZ2VyLWVuZFwiXSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH07XG5cbiAgICAuaWNvbi1kaXJ0eSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCkgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOmZvY3VzLXdpdGhpbiAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5pZHMtaW5wdXQuZmllbGQtaGVpZ2h0LWxnIHtcbiAgICAgIC5pZHMtaW5wdXQtZmllbGQge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1pZHMtc3BhY2Utc20pIC0gMnB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlkcy1pbnB1dC5maWVsZC1oZWlnaHQtbWQge1xuICAgICAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLWlkcy1zcGFjZS0xMikgLSAycHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaWRzLWlucHV0LmZpZWxkLWhlaWdodC1zbSB7XG4gICAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0taWRzLXNwYWNlLXhzKSAtIDJweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pZHMtaW5wdXQuZmllbGQtaGVpZ2h0LXhzIHtcbiAgICAgIC5pZHMtaW5wdXQtZmllbGQge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWlkcy1kYXRhLWdyaWQtZm9udC1zaXplLXNtKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICAgICAgfVxuXG4gICAgICBzbG90W25hbWU9XCJ0cmlnZ2VyLWVuZFwiXSAge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlkcy1pbnB1dC5maWVsZC1oZWlnaHQteHhzIHtcbiAgICAgIC5pZHMtaW5wdXQtZmllbGQge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWlkcy1kYXRhLWdyaWQtZm9udC1zaXplLXNtKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWlkcy1zcGFjZS00eHMpO1xuICAgICAgfVxuXG4gICAgICBzbG90W25hbWU9XCJ0cmlnZ2VyLWVuZFwiXSAge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBGbHVzaC9JbnZpc2libGUgVmFyaWFudCAodXNlZCBpbiBJZHNEYXRhR3JpZCBpbmxpbmUgY2VsbCBlZGl0aW5nKVxuICAmLmNvbG9yLXZhcmlhbnQtaW4tY2VsbCB7XG4gICAgbWFyZ2luOiAxcHg7XG5cbiAgICBpbnB1dCB7XG4gICAgICBmb250LXNpemU6IHZhcigtLWlkcy1mb250LXNpemUtc20pO1xuXG4gICAgICAmW2ZpZWxkLWhlaWdodD0neHhzJ10ge1xuICAgICAgICAtLWlkcy1kcm9wZG93bi1mb250LXNpemUtY29tcGFjdDogdmFyKC0taWRzLWRhdGEtZ3JpZC1mb250LXNpemUtc20pO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLWRhdGEtZ3JpZC1mb250LXNpemUtc20pO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmlkcy1pbnB1dC5maWVsZC1oZWlnaHQtbGcgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICBwYWRkaW5nLWlubGluZTogMTFweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICAmLmlkcy1pbnB1dC5mdWxsIC5maWVsZC1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWlubGluZTogM3B4O1xuICAgICAgd2lkdGg6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgJi5pZHMtaW5wdXQuZmllbGQtaGVpZ2h0LW1kIC5pZHMtaW5wdXQtZmllbGQge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IDZweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICB9XG5cbiAgICAmLmlkcy1pbnB1dC5maWVsZC1oZWlnaHQtc20gLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgfVxuXG4gICAgJi5pZHMtaW5wdXQuZmllbGQtaGVpZ2h0LXNtLmZ1bGwgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4taW5saW5lOiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAmLmlkcy1pbnB1dC5maWVsZC1oZWlnaHQteHMgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICBwYWRkaW5nLWlubGluZTogMXB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgIH1cblxuICAgICYuaWRzLWlucHV0LmZpZWxkLWhlaWdodC14cy5mdWxsIC5maWVsZC1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWlubGluZTogMXB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIE1vZHVsZSBOYXYgY29sb3IgdmFyaWFudFxuICAvLyAodXNlZCBpbiBJZHNEcm9wZG93bi9JZHNTZWFyY2hGaWVsZCBsb2NhdGVkIGluc2lkZSBJZHNNb2R1bGVOYXYpXG4gICYuY29sb3ItdmFyaWFudC1tb2R1bGUtbmF2IHtcbiAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgdHJhbnNmb3JtOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWlkcy1tb3Rpb24tZHVyYXRpb24pIHZhcigtLWlkcy1tb3Rpb24tZWFzZSksXG4gICAgICBib3JkZXItY29sb3IgdmFyKC0taWRzLW1vdGlvbi1kdXJhdGlvbikgdmFyKC0taWRzLW1vdGlvbi1lYXNlKSxcbiAgICAgIGNvbG9yIHZhcigtLWlkcy1tb3Rpb24tZHVyYXRpb24pIHZhcigtLWlkcy1tb3Rpb24tZWFzZSk7XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1tb2R1bGUtbmF2LWNvbW1vbi1ib3JkZXItcmFkaXVzKTtcbiAgICAgIGJvcmRlcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtaW5wdXQtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci10ZXh0LWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtc2VhcmNoLWlucHV0LXRleHQtY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KFtjbGFzcyo9XCJmaWVsZC1oZWlnaHQtXCJdKSB7XG4gICAgICBoZWlnaHQ6IHZhcigtLWlkcy1tb2R1bGUtbmF2LXNlYXJjaC13cmFwcGVyLWhlaWdodCk7XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1zZWFyY2gtaW5wdXQtaGVpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIENvbG9yIFN0eWxlc1xuXG4gICY6bm90KFtjbGFzcyo9J2NvbG9yLXZhcmlhbnQtJ10pIHtcbiAgICAuZmllbGQtY29udGFpbmVyOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWJvcmRlci1kZWZhdWx0LWNvbG9yKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgICB9XG5cbiAgICAmLnJlYWRvbmx5IHtcbiAgICAgIC5maWVsZC1jb250YWluZXIsXG4gICAgICAmLmhvdmVyIC5maWVsZC1jb250YWluZXIsXG4gICAgICAmLmZvY3VzLXdpdGhpbiAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgJi5lcnJvcixcbiAgICAgICAgJi5lcnJvcjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItZXJyb3ItZGVmYXVsdCk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1lcnJvci1kZWZhdWx0KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOm5vdCgucmVhZG9ubHktYmFja2dyb3VuZCk6bm90KC5iZy10cmFuc3BhcmVudCkge1xuICAgICAgICAuZmllbGQtY29udGFpbmVyLFxuICAgICAgICAmLmhvdmVyIC5maWVsZC1jb250YWluZXIsXG4gICAgICAgICYuZm9jdXMtd2l0aGluIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1iYWNrZ3JvdW5kLXJlYWRvbmx5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgLmZpZWxkLWNvbnRhaW5lcixcbiAgICAgICY6aG92ZXIgLmZpZWxkLWNvbnRhaW5lcixcbiAgICAgICY6Zm9jdXMtd2l0aGluIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICAgICAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgICAgICBvcGFjaXR5OiB2YXIoLS1pZHMtaW5wdXQtZGlzYWJsZWQtb3BhY2l0eSk7XG5cbiAgICAgICAgLy8gU2FmYXJpIGlucHV0IHRleHQgY29sb3JcbiAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci10ZXh0LWRpc2FibGVkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJnLXRyYW5zcGFyZW50IHtcbiAgICAgIC5maWVsZC1jb250YWluZXIsXG4gICAgICAmLnJlYWRvbmx5IC5maWVsZC1jb250YWluZXIsXG4gICAgICAmLmRpc2FibGVkIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuICAgICY6aG92ZXI6bm90KC5yZWFkb25seSk6bm90KC5kaXNhYmxlZCk6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pLFxuICAgICY6aG92ZXIucmVhZG9ubHkucmVhZG9ubHktYmFja2dyb3VuZDpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1ob3Zlcik7XG4gICAgICB9XG5cbiAgICAgIC8vIEluY2x1ZGUgZXJyb3Igc3R5bGVzXG4gICAgICBAaW5jbHVkZSBpZHMtaW5wdXQtbWVzc2FnZS1zdHlsZXMoKTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSxcbiAgICAmLmlzLWFjdGl2ZTpob3Zlci5yZWFkb25seS5yZWFkb25seS1iYWNrZ3JvdW5kIHtcbiAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgICAgfVxuXG4gICAgICAvLyBJbmNsdWRlIGVycm9yIHN0eWxlc1xuICAgICAgQGluY2x1ZGUgaWRzLWlucHV0LW1lc3NhZ2Utc3R5bGVzKCk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjpub3QoLmRpc2FibGVkKS5yZWFkb25seS5yZWFkb25seS1iYWNrZ3JvdW5kLmNvbG9yLXZhcmlhbnQtYWx0ZXJuYXRlLWZvcm1hdHRlciB7XG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZpbHRlci1pbnB1dC1jb2xvci1ib3JkZXItaG92ZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEluY2x1ZGUgZXJyb3Igc3R5bGVzXG4gICAgQGluY2x1ZGUgaWRzLWlucHV0LW1lc3NhZ2Utc3R5bGVzKCk7XG4gIH1cblxuICAvLyBBbHRlcm5hdGUgQ29sb3IgVmFyaWFudCAodXNlZCBpbiBJZHNIZWFkZXIgLSBTZWFyY2gpXG4gICYuY29sb3ItdmFyaWFudC1hbHRlcm5hdGUge1xuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtaGVhZGVyLWNvbG9yLWJvcmRlcik7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWhlYWRlci1jb2xvci10ZXh0LWRlZmF1bHQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWlucHV0LWhlYWRlci1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1pZHMtaW5wdXQtaGVhZGVyLWNvbG9yLWJvcmRlcik7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgICY6Zm9jdXMtd2l0aGluIC5maWVsZC1jb250YWluZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLWZvY3VzKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItc2hhZG93KTtcbiAgICB9XG5cbiAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtaGVhZGVyLWNvbG9yLXRleHQtZGVmYXVsdCk7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1oZWFkZXItY29sb3ItdGV4dC1wbGFjZWhvbGRlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5yZWFkb25seS1iYWNrZ3JvdW5kIHtcbiAgICAgIC5pZHMtaW5wdXQtZmllbGQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1oZWFkZXItY29sb3ItdGV4dC1wbGFjZWhvbGRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQWx0ZXJuYXRlLWZvcm1hdHRlciBDb2xvciBWYXJpYW50ICh1c2VkIGluIElkc0RhdGFHcmlkIGZpbHRlcilcbiAgJi5jb2xvci12YXJpYW50LWFsdGVybmF0ZS1mb3JtYXR0ZXIge1xuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaW5wdXQtY29sb3ItYmFja2dyb3VuZCk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWlucHV0LWNvbG9yLWJvcmRlci1kZWZhdWx0KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZpbHRlci1pbnB1dC1jb2xvci10ZXh0LWRlZmF1bHQpO1xuICAgIH1cblxuICAgICY6aG92ZXIucmVhZG9ubHkucmVhZG9ubHktYmFja2dyb3VuZCxcbiAgICAmOmhvdmVyOm5vdCgucmVhZG9ubHkpOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWlucHV0LWNvbG9yLWJvcmRlci1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgLmZpZWxkLWNvbnRhaW5lcixcbiAgICAgICY6aG92ZXIucmVhZG9ubHkucmVhZG9ubHktYmFja2dyb3VuZCxcbiAgICAgICY6aG92ZXI6bm90KC5yZWFkb25seSk6bm90KC5kaXNhYmxlZCkgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaW5wdXQtY29sb3ItYm9yZGVyLWZvY3VzKTtcbiAgICAgIH1cblxuICAgICAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItc2hhZG93KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRpc2FibGVkLFxuICAgICYuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaW5wdXQtY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWlucHV0LWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYucmVhZG9ubHk6bm90KC5yZWFkb25seS1iYWNrZ3JvdW5kKTpub3QoLmJnLXRyYW5zcGFyZW50KSAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWlucHV0LWNvbG9yLWJhY2tncm91bmQtcmVhZG9ubHkpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZpbHRlci1pbnB1dC1jb2xvci1ib3JkZXItcmVhZG9ubHkpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWlucHV0LWNvbG9yLXRleHQtcmVhZG9ubHkpO1xuICAgIH1cblxuICAgIC5pZHMtaW5wdXQtZmllbGQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZpbHRlci1pbnB1dC1jb2xvci10ZXh0LXBsYWNlaG9sZGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBBcHAgTWVudVxuICAmLmNvbG9yLXZhcmlhbnQtYXBwLW1lbnUge1xuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci10ZXh0LWFwcC1tZW51KTtcbiAgICB9XG4gIH1cblxuICAvLyBMaXN0IEJ1aWxkZXJcbiAgJi5jb2xvci12YXJpYW50LWxpc3QtYnVpbGRlciB7XG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1saXN0LWJ1aWxkZXItaW5wdXQtdGV4dC1jb2xvcik7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gTW9kdWxlIE5hdlxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9ycyAqL1xuICAmLmNvbG9yLXZhcmlhbnQtbW9kdWxlLW5hdiB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LXNlYXJjaC1pbnB1dC10ZXh0LWNvbG9yKTtcblxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzICovXG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci10ZXh0LWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtc2VhcmNoLWlucHV0LXRleHQtY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaGFzLWNsZWFyYWJsZSB7XG4gICAgICAuYnRuLWNsZWFyIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1zZWFyY2gtaW5wdXQtaG92ZXItYmctY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAuaWRzLWlucHV0LWZpZWxkOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItdGV4dC1jb2xvcik7XG4gICAgICB9XG5cbiAgICAgIC5pZHMtaW5wdXQtZmllbGQge1xuICAgICAgICBjb2xvcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtaW5wdXQtdGV4dC1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cy13aXRoaW4sXG4gICAgJi5yZWFkb25seTpmb2N1cy13aXRoaW4sXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LWlucHV0LWZvY3VzLWJnLWNvbG9yKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1pdGVtLXNlbGVjdGVkLXRleHQtY29sb3IpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuaWRzLWlucHV0LWZpZWxkOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1zZWFyY2gtaW5wdXQtZm9jdXNlZC1wbGFjZWhvbGRlci10ZXh0LWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1pbnB1dC10ZXh0LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoLnRhYi1uYW1lLWVkaXRvcikge1xuICAuaWRzLWlucHV0IHtcbiAgICBtYXJnaW4tYmxvY2stZW5kOiB1bnNldDtcbiAgfVxuXG5cbiAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jYXBzLWxvY2staW5kaWNhdG9yIHtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLXhzKTtcbn1cblxuLnNob3ctaGlkZS1wYXNzd29yZCB7XG4gIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG59XG5cbi5pcy11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uaXMtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cblxuLmhpZ2hsaWdodCB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1pZHMtZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5pZHMtaW5wdXQtZmllbGRbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4uaWRzLWlucHV0LWZpZWxkW3R5cGU9J251bWJlciddOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gUmVtb3ZlIFNhZmFyaSBjYXBzIGxvY2sgaWNvblxuLmlkcy1pbnB1dC1maWVsZDo6LXdlYmtpdC1jYXBzLWxvY2staW5kaWNhdG9yIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vLyBBdXRvY29tcGxldGUgZHJvcGRvd24gbWVudSBzaXplc1xuOmhvc3QgaWRzLXBvcHVwW3R5cGU9J2Ryb3Bkb3duJ10ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtNDApO1xufVxuXG4vLyBMb2FkaW5nIEluZGljYXRvclxuOmhvc3QoOm5vdChbc2hvdy1sb2FkaW5nLWluZGljYXRvcj0ndHJ1ZSddKSkge1xuICA6OnNsb3R0ZWQoLnNsb3QtbG9hZGluZy1pbmRpY2F0b3IpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbjpob3N0KFtzaG93LWxvYWRpbmctaW5kaWNhdG9yPSd0cnVlJ10pIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgOjpzbG90dGVkKGlkcy1sb2FkaW5nLWluZGljYXRvcikge1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gIH1cblxuICA6OnNsb3R0ZWQoaWRzLXRyaWdnZXItYnV0dG9uW3Nsb3Q9J3RyaWdnZXItZW5kJ10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgOjpzbG90dGVkKC5zbG90LWxvYWRpbmctaW5kaWNhdG9yKSB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IDEycHg7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgfVxufVxuXG46aG9zdChbc2hvdy1sb2FkaW5nLWluZGljYXRvcj0ndHJ1ZSddW2ZpZWxkLWhlaWdodD0neHMnXSkge1xuICA6OnNsb3R0ZWQoLnNsb3QtbG9hZGluZy1pbmRpY2F0b3IpIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gIH1cbn1cblxuOmhvc3QoW3Nob3ctbG9hZGluZy1pbmRpY2F0b3I9J3RydWUnXVtmaWVsZC1oZWlnaHQ9J3NtJ10pIHtcbiAgOjpzbG90dGVkKC5zbG90LWxvYWRpbmctaW5kaWNhdG9yKSB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gIH1cbn1cblxuOjpzbG90dGVkKC5hdWRpYmxlKSB7XG4gIEBpbmNsdWRlIG1peGlucy5hdWRpYmxlKCk7XG59XG5cbjpob3N0KFtmaWVsZC1pbmRpY2F0b3JdW3JlYWRvbmx5XSksXG46aG9zdChbZmllbGQtaW5kaWNhdG9yXVtkaXNhYmxlZF0pIHtcbiAgLS1pZHMtZmllbGQtaW5kaWNhdG9yLWluZm8tdmlzaWJpbGl0eTogbm9uZTtcbn1cbiJdfQ== */