﻿.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}.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;margin-block-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;margin-block-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));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)}:host([label-position=inline-start]) .ids-checkbox.label-state-collapsed .validation-message{margin-inline-start:unset}}@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:var(--ids-label-align-y, center);justify-content:flex-end;text-align:end}@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}}: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{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-checkbox label{text-align:end;padding-inline-end:0}@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][label-state=collapsed]) .ids-input label,:host([label-position=inline-start][label-alignment][label-state=collapsed]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment][label-state=collapsed]) .ids-textarea label,:host([label-position=inline-start][label-alignment][label-state=collapsed]) .ids-textarea .ids-label-text{display:none}: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 minmax(0, 1fr)}: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,:host(.in-flex-item[label-position=inline-start]) .ids-radio-group.label-inline 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,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-textarea .ids-label-text{overflow:visible}: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,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-input .ids-label-text.required,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .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,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-textarea .ids-label-text.required::after{inset-inline-end:-7px}: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,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-input.wrapped .validation-message,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .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]:not([label-break=shrink-value]):not([size=full])) .ids-textarea{max-width:calc(370px + var(--ids-label-width))}:host([label-position=inline-start]:not([label-break=shrink-value]):not([size=full])) .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}}:host([label-position=inline-start]) .ids-radio-group.label-inline,:host([label-position=inline-end]) .ids-radio-group.label-inline{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.label-inline ids-text.group-label-text,:host([label-position=inline-end]) .ids-radio-group.label-inline 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.label-inline slot,:host([label-position=inline-end]) .ids-radio-group.label-inline slot{display:flex;flex-direction:column}:host([label-position=inline-start]) .ids-radio-group.label-inline.horizontal slot,:host([label-position=inline-end]) .ids-radio-group.label-inline.horizontal slot{flex-direction:row;flex-wrap:wrap}:host([label-position=inline-end]) .ids-radio-group.label-inline ids-text.group-label-text{justify-content:end;order:2}:host([label-position=inline-end]) .ids-radio-group.label-inline slot{order:1}:host([label-position=inline-end]) .ids-radio-group.label-inline-end-stacked{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]) .ids-radio-group.label-inline-end-stacked ids-text.group-label-text{min-width:var(--ids-label-width);order:2}:host([label-position=inline-end]) .ids-radio-group.label-inline-end-stacked 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][label-state=collapsed]) .ids-switch label{padding-inline-end:0;width:0}: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}}:host([label-state=collapsed]){--ids-label-width: 0;width:fit-content}:host(ids-checkbox[label-state=collapsed]){width:fit-content;display:block}@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)}:host([label-position=inline-start][label-state=collapsed]) .ids-radio-group ids-text.group-label-text,:host([label-position=inline-end][label-state=collapsed]) .ids-radio-group ids-text.group-label-text{display:none}:host([label-position=inline-start][label-state=hidden]) .ids-radio-group ids-text.group-label-text,:host([label-position=inline-end][label-state=hidden]) .ids-radio-group ids-text.group-label-text{visibility:hidden}:host{display:block}:host([hidden]){display:none}:host([margin-block-end=none]:not([no-margins])) .ids-textarea,.ids-textarea.margin-block-end-none:not(.no-margins){margin-block-end:var(--ids-space-none)}:host([margin-block-end="4xs"]:not([no-margins])) .ids-textarea,.ids-textarea.margin-block-end-4xs:not(.no-margins){margin-block-end:var(--ids-space-4xs)}:host([margin-block-end="3xs"]:not([no-margins])) .ids-textarea,.ids-textarea.margin-block-end-3xs:not(.no-margins){margin-block-end:var(--ids-space-3xs)}:host([margin-block-end="2xs"]:not([no-margins])) .ids-textarea,.ids-textarea.margin-block-end-2xs:not(.no-margins){margin-block-end:var(--ids-space-2xs)}:host([margin-block-end=xs]:not([no-margins])) .ids-textarea,.ids-textarea.margin-block-end-xs:not(.no-margins){margin-block-end:var(--ids-space-xs)}:host([margin-block-end=sm]:not([no-margins])) .ids-textarea,.ids-textarea.margin-block-end-sm:not(.no-margins){margin-block-end:var(--ids-space-sm)}:host([margin-block-end=md]:not([no-margins])) .ids-textarea,.ids-textarea.margin-block-end-md:not(.no-margins){margin-block-end:var(--ids-space-md)}:host([margin-block-end=lg]:not([no-margins])) .ids-textarea,.ids-textarea.margin-block-end-lg:not(.no-margins){margin-block-end:var(--ids-space-lg)}:host([margin-block-end=xl]:not([no-margins])) .ids-textarea,.ids-textarea.margin-block-end-xl:not(.no-margins){margin-block-end:var(--ids-space-xl)}:host([margin-block-end="2xl"]:not([no-margins])) .ids-textarea,.ids-textarea.margin-block-end-2xl:not(.no-margins){margin-block-end:var(--ids-space-2xl)}:host([margin-block-end="3xl"]:not([no-margins])) .ids-textarea,.ids-textarea.margin-block-end-3xl:not(.no-margins){margin-block-end:var(--ids-space-3xl)}:host([margin-block-end="4xl"]:not([no-margins])) .ids-textarea,.ids-textarea.margin-block-end-4xl:not(.no-margins){margin-block-end:var(--ids-space-4xl)}:host([height]) .ids-textarea{height:100%;display:flex;flex-direction:column}:host([height]) .ids-textarea .field-container{flex:1;display:flex}.ids-textarea{display:block;margin-bottom:var(--ids-space-12);font-size:var(--ids-font-size-sm);font-family:var(--ids-font-family-default),var(--ids-font-family-system-sans);max-width:300px}.ids-textarea .hidden{display:none}.ids-textarea .textarea-print{display:none;white-space:pre-line}.ids-textarea .textarea-character-counter{display:inline-block;min-height:auto;width:300px}.ids-textarea .textarea-character-counter.almost-empty{color:var(--ids-textarea-character-count-color-text-warning)}.ids-textarea .textarea-character-counter.max-reached{color:var(--ids-color-text-error)}.ids-textarea .field-container{margin:var(--ids-space-none);padding:var(--ids-space-none);position:relative;display:flex}.ids-textarea .field-container:has(~.textarea-character-counter) .textarea-field{margin-bottom:var(--ids-space-2xs)}.ids-textarea:not(.resizable):not(.resizable-x) .field-container{max-width:300px}.ids-textarea:not(.resizable):not(.resizable-x) .field-container.sm{max-width:150px}.ids-textarea:not(.resizable):not(.resizable-x) .field-container.sm~.textarea-character-counter{width:150px}.ids-textarea:not(.resizable):not(.resizable-x) .field-container.md{max-width:300px}.ids-textarea:not(.resizable):not(.resizable-x) .field-container.md~.textarea-character-counter{width:auto}.ids-textarea:not(.resizable):not(.resizable-x) .field-container.lg{max-width:400px}.ids-textarea:not(.resizable):not(.resizable-x) .field-container.lg~.textarea-character-counter{width:400px}.ids-textarea:not(.resizable):not(.resizable-x) .field-container.full{max-width:100%}.ids-textarea:not(.resizable):not(.resizable-x) .field-container.full~.textarea-character-counter{width:100%}.ids-textarea.resizable .textarea-field,.ids-textarea.resizable-x .textarea-field{width:300px}.ids-textarea.resizable.sm .textarea-field,.ids-textarea.resizable-x.sm .textarea-field{width:150px}.ids-textarea.resizable.md .textarea-field,.ids-textarea.resizable-x.md .textarea-field{width:300px}.ids-textarea.resizable.lg .textarea-field,.ids-textarea.resizable-x.lg .textarea-field{width:400px}.ids-textarea.resizable.full .textarea-field,.ids-textarea.resizable-x.full .textarea-field{width:100%}.ids-textarea:not(.resizable):not(.resizable-y) .textarea-field{min-height:120px}.ids-textarea.resizable .textarea-field,.ids-textarea.resizable-y .textarea-field{height:120px}.ids-textarea:not([class*=resizable]) .textarea-field{resize:none}.ids-textarea.resizable-x .textarea-field{resize:horizontal}.ids-textarea.resizable-y .textarea-field{resize:vertical}.ids-textarea.resizable .textarea-field{resize:both}.ids-textarea.no-margins{margin:var(--ids-space-none)}.ids-textarea .textarea-field{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--ids-textarea-color-background-default);border:1px solid;border-color:var(--ids-textarea-color-border-default);color:var(--ids-textarea-color-text-default);box-sizing:border-box;padding-block:var(--ids-space-12);padding-inline:var(--ids-space-12) var(--ids-space-20);font-size:var(--ids-font-size-sm);appearance:none;font-family:var(--ids-font-family-default),var(--ids-font-family-system-sans);border-collapse:separate;border-radius:var(--ids-border-radius-2xs);display:inline-block;text-align:left;width:100%}.ids-textarea .textarea-field[readonly]{background-color:var(--ids-textarea-color-background-readonly);border-color:var(--ids-textarea-color-border-readonly);color:var(--ids-textarea-color-text-readonly)}.ids-textarea .textarea-field[disabled]{background-color:var(--ids-textarea-color-background-disabled);border-color:var(--ids-textarea-color-border-disabled);color:var(--ids-textarea-color-text-disabled);opacity:var(--ids-textarea-disabled-opacity)}.ids-textarea .textarea-field:not([disabled]):not([readonly]):not(:focus):hover{border-color:var(--ids-textarea-color-border-hover)}.ids-textarea .textarea-field:focus{border-color:var(--ids-textarea-color-border-focus);box-shadow:var(--ids-textarea-shadow-focus);outline:none;outline-color:var(--ids-color-transparent)}.ids-textarea .textarea-field[readonly]~.textarea-character-counter,.ids-textarea .textarea-field[disabled]~.textarea-character-counter{display:none}.ids-textarea .textarea-field[rows]{height:auto}.ids-textarea .textarea-field.bg-transparent{background-color:var(--ids-color-transparent)}.ids-textarea .textarea-field.bg-transparent:focus{border-color:var(--ids-textarea-color-border-focus)}.ids-textarea .textarea-field.text-ellipsis{text-overflow:ellipsis}.ids-textarea .textarea-field.left{text-align:start}.ids-textarea .textarea-field.center{text-align:center}.ids-textarea .textarea-field.right{text-align:end}.ids-textarea .textarea-field~.btn-clear{margin-top:var(--ids-space-2xs);position:absolute;inset-inline-end:-1px}.ids-textarea .error .textarea-field{border-color:var(--ids-textarea-color-border-error-default);color:var(--ids-textarea-color-text-error)}.ids-textarea .error .textarea-field:focus{border-color:var(--ids-textarea-color-border-error-focus);box-shadow:var(--ids-textarea-shadow-error-focus)}.ids-textarea .error .textarea-field[disabled]{border-color:var(--ids-textarea-color-border-error-disabled);color:var(--ids-textarea-color-text-error-disabled)}.ids-textarea .error .textarea-field:not([disabled]):not([readonly]):not(:focus):hover{border-color:var(--ids-textarea-color-border-error-default)}.ids-textarea.warning .textarea-field{border-color:var(--ids-textarea-warning-color-border-default);color:var(--ids-textarea-warning-color-text-default)}.ids-textarea.warning .textarea-field:focus{border-color:var(--ids-textarea-warning-color-border-focus);box-shadow:var(--ids-textarea-shadow-warning-focus)}.ids-textarea.warning .textarea-field[disabled]{border-color:var(--ids-textarea-warning-color-border-disabled);color:var(--ids-textarea-warning-color-text-disabled)}.ids-textarea.warning .textarea-field:hover{border-color:var(--ids-textarea-warning-color-border-default)}.ids-textarea.info .textarea-field{border-color:var(--ids-textarea-color-border-info-default);color:var(--ids-textarea-color-text-info-default)}.ids-textarea.info .textarea-field:focus{border-color:var(--ids-textarea-color-border-info-focus);box-shadow:rgba(0,102,212,.3) 0 0 3px 2px}.ids-textarea.info .textarea-field[disabled]{border-color:var(--ids-textarea-color-border-info-disabled);color:var(--ids-textarea-color-text-info-disabled)}.ids-textarea.info .textarea-field:hover{border-color:var(--ids-textarea-color-border-info-default)}.ids-textarea.success .textarea-field{border-color:var(--ids-textarea-color-border-success-default);color:var(--ids-textarea-color-text-success-default)}.ids-textarea.success .textarea-field:focus{border-color:var(--ids-textarea-color-border-success-focus);box-shadow:var(--ids-textarea-shadow-success-focus)}.ids-textarea.success .textarea-field[disabled]{border-color:var(--ids-textarea-color-border-success-disabled);color:var(--ids-textarea-color-text-success-disabled)}.ids-textarea.success .textarea-field:hover{border-color:var(--ids-textarea-color-border-success-default)}.ids-textarea .validation-message{margin-top:var(--ids-space-2xs)}.ids-textarea.disabled .label-text{color:var(--ids-textarea-label-color-text-disabled)}.ids-textarea.disabled .label-text.required::after{color:var(--ids-textarea-label-color-text-disabled)}.ids-label-text{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--ids-textarea-label-color-text-default);margin-bottom:var(--ids-space-xs);align-items:baseline;font-family:var(--ids-font-family-default),var(--ids-font-family-system-sans);display:flex}.ids-label-text.empty::before{content:" "}.ids-label-text.required::after{position:relative;padding-inline:var(--ids-space-3xs);font-size:var(--ids-font-size-md);content:"*";color:var(--ids-input-required-indicator-color-text-default);font-family:var(--ids-font-family-default),var(--ids-font-family-system-sans);margin-top:-10px;top:1px}.ids-label-text.required.no-required-indicator::after,.ids-label-text.required.empty::after{content:""}.label-state-collapsed .ids-label-text.empty{margin:var(--ids-space-none);visibility:hidden;height:0}@media print{.ids-textarea .textarea-character-counter,.ids-textarea .textarea-field{display:none}.textarea-print{display:inline-block;height:auto;width:auto}}.ids-textarea .field-container ids-trigger-button.btn-clear::part(button){padding:2px;inset-inline-start:-4px}: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,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-textarea .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text.required::after{top:calc(50% - 5px);inset-inline-end:-9px;transform:translateY(-50%);margin-top:0}@media(width > 320px){:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis][label-align-y]) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis][label-align-y]) .ids-textarea .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch][label-align-y]) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch][label-align-y]) .ids-textarea .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end][label-align-y]:not([label-align-y=center])) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end][label-align-y]:not([label-align-y=center])) .ids-textarea .ids-label-text.required::after{top:auto;transform:none;inset-inline-end:-9px;margin-top:0;align-self:var(--ids-label-align-y, flex-start)}}:host([label-position=inline-start][label-alignment=end][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea label{align-self:start;min-height:120px}:host([label-position=inline-start]) .ids-textarea{align-items:flex-start}:host([label-position=inline-start]) .ids-textarea label{display:flex;flex-direction:row;align-items:var(--ids-label-align-y, center)}@media(width > 320px){:host([label-position=inline-start]) .ids-textarea label{min-height:120px}}@container (min-width: 320px){:host([label-position=inline-start]) .ids-textarea label{min-height:120px}}:host([label-position=inline-start]) .ids-textarea .textarea-field-group{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}:host([label-position=inline-start]) .ids-textarea .textarea-field-group .field-container{order:0}:host([label-position=inline-start]) .ids-textarea .textarea-field-group .textarea-character-counter{order:1;margin-inline-start:0;width:auto}:host([label-position=inline-start]) .ids-textarea .textarea-field-group .validation-message{order:2;width:auto;margin-inline-start:0;margin-block-start:var(--ids-space-2xs)}:host([label-position=inline-start][size=sm]:not([label-break=shrink-value])){width:calc(150px + var(--ids-label-width) + 8px);max-width:calc(150px + var(--ids-label-width) + 8px)}:host([label-position=inline-start][size=sm]:not([label-break=shrink-value])) .ids-textarea{max-width:calc(150px + var(--ids-label-width) + 8px)}:host(:not([size])){width:300px;max-width:300px}:host(:not([size])) .ids-textarea{max-width:300px}:host([label-position=inline-start]:not([size]):not([label-break=shrink-value])){width:calc(300px + var(--ids-label-width) + 8px);max-width:calc(300px + var(--ids-label-width) + 8px)}:host([label-position=inline-start]:not([size]):not([label-break=shrink-value])) .ids-textarea{max-width:calc(300px + var(--ids-label-width) + 8px)}:host([size=sm]){width:150px;max-width:150px}:host([size=sm]) .ids-textarea{max-width:150px}:host([size=md]){width:300px;max-width:300px}:host([size=md]) .ids-textarea{max-width:300px}:host([label-position=inline-start][size=md]:not([label-break=shrink-value])){width:calc(300px + var(--ids-label-width) + 8px);max-width:calc(300px + var(--ids-label-width) + 8px)}:host([label-position=inline-start][size=md]:not([label-break=shrink-value])) .ids-textarea{max-width:calc(300px + var(--ids-label-width) + 8px)}:host([label-position=inline-start][size=sm][label-break=shrink-value]),:host([label-position=inline-start][size=md][label-break=shrink-value]),:host([label-position=inline-start][label-break=shrink-value]:not([size])){width:auto;max-width:none}:host([label-position=inline-start][size=sm][label-break=shrink-value]) .ids-textarea,:host([label-position=inline-start][size=md][label-break=shrink-value]) .ids-textarea,:host([label-position=inline-start][label-break=shrink-value]:not([size])) .ids-textarea{max-width:none}:host([size=lg]){width:400px;max-width:400px}:host([size=lg]) .ids-textarea{max-width:400px}:host([label-position=inline-start][size=lg]:not([label-break=shrink-value])){width:calc(400px + var(--ids-label-width) + 8px);max-width:calc(400px + var(--ids-label-width) + 8px)}:host([label-position=inline-start][size=lg]:not([label-break=shrink-value])) .ids-textarea{max-width:calc(400px + var(--ids-label-width) + 8px)}:host([label-position=inline-start][size=lg][label-break=shrink-value]){width:auto;max-width:none}:host([label-position=inline-start][size=lg][label-break=shrink-value]) .ids-textarea{max-width:none}:host(.in-flex-item[size=sm]){min-width:150px}:host(.in-flex-item[size=sm]) .ids-textarea:not(.resizable):not(.resizable-x) .field-container.sm{min-width:150px}:host(.in-flex-item[size=md]){min-width:300px}:host(.in-flex-item[size=md]) .ids-textarea:not(.resizable):not(.resizable-x) .field-container.md{min-width:300px}:host(.in-flex-item[size=lg]){min-width:400px}:host(.in-flex-item[size=lg]) .ids-textarea:not(.resizable):not(.resizable-x) .field-container.lg{min-width:400px}:host([size=full]){width:100%;max-width:100%}:host([size=full]) .ids-textarea{max-width:100%}:host([size=full][label-position=inline-start]) .ids-textarea .textarea-field-group .field-container .textarea-field{flex:1 1 auto;min-width:0}:host([size=full][label-position=inline-start]) .ids-textarea .textarea-field-group{flex:1 1 auto;min-width:0}:host([size=full][label-position=inline-start]) .ids-textarea .textarea-field-group .field-container{max-width:100%}:host([size=full][label-position=inline-start]) .ids-textarea .field-container{flex:1 1 auto;max-width:100%}:host([label-state=collapsed]) .ids-textarea.label-state-collapsed label{display:none}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2J1aWxkcy9pbmZvci1kZXNpZ24vZW50ZXJwcmlzZS13Yy9zcmMvY29tcG9uZW50cy9pZHMtdGV4dGFyZWEiLCJzb3VyY2VzIjpbIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNsZWFyYWJsZS1taXhpbi5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtZGlydHktdHJhY2tlci1taXhpbi5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtdmFsaWRhdGlvbi1taXhpbi5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMuc2NzcyIsIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWxhYmVsLXBvc2l0aW9uLW1peGluLnNjc3MiLCJpZHMtdGV4dGFyZWEuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQ0FPSSx3S0FDRSxVQUVBLDRNQUNFLGFBR0Ysd05BQ0Usc0JBQ0EsY0FPRiw2RkFDRSxhQUNBLG9CQVFKLGtEQUNFLHdCQUVBLDZEQUNFLGFBQ0EsV0FNUiw4Q0FDRSxZQzVDRixZQUNFLDJDQUNBLDBDQUVBLGtCQUNBLDhEQUNBLE1BRUEscUJBQ0Usd0JBQ0EsTUFHRiw4QkFDRSxxQkFLSiw4QkFDRSx5QkFHRixzQ0FDRSx5QkFHRiwwQkFDRSxRQUNBLHdCQUVBLG1DQUNFLFFDL0JKLG9CQ1FFLG1DQUNBLGtDRE5BLGFBQ0EsOEVBQ0EsZ0NBQ0Esc0NBRUEsb0NBQ0Usb0NBR0YsNkJBQ0UsMkNBR0YsOEJBQ0UsdUNBR0YsMEJBQ0UsdUNBRUEsbUNBQ0UsaUNBSUosNEJBQ0UsdUNBRUEscUNBQ0UsaUNBSUosMEJBQ0UscUNBRUEsbUNBQ0UsOEJBSUoseUJBQ0Usb0NBRUEsa0NBQ0UsK0JBSUosNEJBQ0UsdUNBRUEscUNBQ0UsZ0NBSUosNEJBQ0UsYUFLRixvREFDRSxhRWhFRixtR0FFRSxhQUNBLDZDQUdBLCtHQUNFLDZCQUNBLDZDQUNBLHFCQUNBLHNCQUNBLGNBSUYsMklBQ0UsV0FDQSx3Q0FFQSx5QkFKRiwy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QSxZQUdGLHFHQUNFLGVBR0YsK0VBQ0UsY0FDQSxlQU1BLHlFQUNFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDc3MgZm9yIGNsZWFyYWJsZSBtaXhpblxuICovXG4uaWRzLWlucHV0LFxuLmlkcy10ZXh0YXJlYSB7XG4gIC5pZHMtaW5wdXQtZmllbGQsXG4gIC5pZHMtdGV4dGFyZWEtZmllbGQge1xuICAgIC5idG4tY2xlYXIge1xuICAgICAgb3V0bGluZTogMDtcblxuICAgICAgJi5pcy1lbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIFtzbG90PSdpY29uJ10ge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmhhcy1jbGVhcmFibGUge1xuICAgIC5idG4tY2xlYXIge1xuICAgICAgJi5pcy1lbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaWRzLXRyaWdnZXItZmllbGQge1xuICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAmLmhhcy1jbGVhcmFibGUge1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiA1NXB4O1xuXG4gICAgICB+IC5idG4tY2xlYXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICByaWdodDogLThweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJ0bi1jbGVhcltwYXJ0PSdjbGVhcmFibGUtYnV0dG9uJ10gW3Nsb3Q9J2ljb24nXSB7XG4gIHBhZGRpbmc6IDJweDtcbn1cbiIsIi8vIEdlbmVyYWwgRGlydHktVHJhY2tlciBpY29uIHBsYWNlbWVudFxuLmljb24tZGlydHkge1xuICAtLWlkcy1pY29uLWhlaWdodC1kZWZhdWx0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gIC0taWRzLWljb24td2lkdGgtZGVmYXVsdDogMTJweCAhaW1wb3J0YW50O1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1kaXJ0eS1pbmRpY2F0b3ItY29sb3ItYmFja2dyb3VuZC1kaXJ0eSk7XG4gIHRvcDogMDtcblxuICAmW2Rpcj0ncnRsJ10ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0b3A6IDA7XG4gIH1cblxuICAmLnRhYi1kaXJ0eS10cmFja2VyIHtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gIH1cbn1cblxuLy8gQ29sb3IgcGlja2VyXG4uaWRzLWNvbG9yLXBpY2tlciAuaWNvbi1kaXJ0eSB7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDM1cHg7XG59XG5cbi5pZHMtY29sb3ItcGlja2VyLmNvbXBhY3QgLmljb24tZGlydHkge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAyN3B4O1xufVxuXG4uaWRzLXRleHRhcmVhIC5pY29uLWRpcnR5IHtcbiAgdG9wOiAxcHg7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDFweDtcblxuICAmW2Rpcj0ncnRsJ10ge1xuICAgIHRvcDogMnB4O1xuICB9XG59XG4iLCJAdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jb3JlLW1peGlucycgYXMgbWl4aW5zO1xuXG4udmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgQGluY2x1ZGUgbWl4aW5zLmFudGlhbGlhc2VkKCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWlkcy1mb250LWZhbWlseS1kZWZhdWx0KSwgdmFyKC0taWRzLWZvbnQtZmFtaWx5LXN5c3RlbS1zYW5zKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gIG1heC13aWR0aDogdmFyKC0taWRzLWlucHV0LXdpZHRoLWZ1bGwpO1xuXG4gICYuaGFzLWN1c3RvbS1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWljb24tY29sb3ItZGVmYXVsdCk7XG4gIH1cblxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICB9XG5cbiAgLmlkcy1pY29uIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gIH1cblxuICAmLmFsZXJ0IHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLWNhdXRpb24tZGVmYXVsdCk7XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3IteWVsbG93LTMwKTtcbiAgICB9XG4gIH1cblxuICAmLndhcm5pbmcge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3Itd2FybmluZy1kZWZhdWx0KTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1vcmFuZ2UtMzApO1xuICAgIH1cbiAgfVxuXG4gICYuZXJyb3Ige1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3ItZXJyb3ItZGVmYXVsdCk7XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3ItcmVkLTMwKTtcbiAgICB9XG4gIH1cblxuICAmLmluZm8ge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3ItaW5mby1kZWZhdWx0KTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1ibHVlLTMwKTtcbiAgICB9XG4gIH1cblxuICAmLnN1Y2Nlc3Mge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3Itc3VjY2Vzcy1kZWZhdWx0KTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1ncmVlbi0zMCk7XG4gICAgfVxuICB9XG5cbiAgJltoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbjpob3N0KFtzdXBwcmVzcy1lcnJvci1tZXNzYWdlXSkge1xuICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBCcmVha3BvaW50cyAtIHRoaXMgY2FudCBiZSB0b2tlbnNcbiRicmVha3BvaW50LXh4bDogMjQ2M3B4O1xuJGJyZWFrcG9pbnQteGw6IDExODNweDtcbiRicmVha3BvaW50LWxnOiA5MjhweDtcbiRicmVha3BvaW50LW1kOiA5MjdweDtcbiRicmVha3BvaW50LXNtOiA3NjdweDtcbiRicmVha3BvaW50LXhzOiAzMjBweDtcblxuLy8gU2V0cyBUZXh0IEFudGlhbGlhc2luZ1xuQG1peGluIGFudGlhbGlhc2VkIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8vIHZlbmRvciBwcmVmaXhlZCB0cmFuc2l0aW9ucyBmb3IgcmVndWxhciBhdHRyaWJ1dGVzIChub24tdmVuZG9yIHByZWZpeGVkKVxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb25zLWxpc3QuLi4pIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgICN7JHByZWZpeH10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbnMtbGlzdDtcbiAgfVxufVxuXG4vLyBtYWtlIHRoZSB0ZXh0IGludmlzaWJsZSB2aXN1YWxseSBidXQgcmVhZGFibGUgYnkgc2NyZWVuIHJlYWRlcnNcbkBtaXhpbiBhdWRpYmxlKCkge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktbm8tZGVwcmVjYXRlZCAqL1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBtaW4taGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG4iLCIvLyBMYWJlbCBwb3NpdGlvbiBzdHlsZXNcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zJyBhcyAqO1xuXG4vLyBMZWZ0IGFsaWduZWQgYW5kIFJpZ2h0IEFsaWduZWQgTGFiZWxzXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBjZW50ZXIpO1xuXG4gICAgLy8gQWRqdXN0IHRoZSBsYWJlbFxuICAgIGxhYmVsIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC8vIFZhbGlkYXRpb24gb24gdGhlIGJvdHRvbVxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbWQpIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXhzKSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICAgICAgfVxuXG4gICAgICBAY29udGFpbmVyICh3aWR0aCA+ICRicmVha3BvaW50LXhzKSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14cykge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZ2FwOiA4cHg7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHVuc2V0O1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgfVxuXG4gICAgICAudGV4dGFyZWEtZmllbGQtZ3JvdXAge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGMoMHB4IC0gdmFyKC0taWRzLXNwYWNlLTJ4cykpO1xuXG4gICAgICAgIC8vIExhYmVsIGFuZCBmaWVsZCBzaXQgc2lkZS1ieS1zaWRlIGF0IHRoaXMgYnJlYWtwb2ludCwgc28gdGhlIHdyYXBwZWRcbiAgICAgICAgLy8gbWVzc2FnZSBiZWxvdyBtdXN0IGluZGVudCB0byB0aGUgZmllbGQgc3RhcnQuIEFwcGxpZWQgdW5jb25kaXRpb25hbGx5XG4gICAgICAgIC8vIChub3Qgb25seSB2aWEgdGhlIEpTIGAud3JhcHBlZGAgY2xhc3MpIHNvIGFsaWdubWVudCBpcyBkZXRlcm1pbmlzdGljXG4gICAgICAgIC8vIGFuZCBub3Qgc3ViamVjdCB0byBSZXNpemVPYnNlcnZlciB0aW1pbmcuXG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0taWRzLWxhYmVsLXdpZHRoKSArIDZweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlkcy1jaGVja2JveCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0taWRzLXNwYWNlLTAwKTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIC5pZHMtY2hlY2tib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgY2VudGVyKTtcblxuICAgICAgLy8gQWRqdXN0IHRoZSBsYWJlbFxuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgICB9XG5cbiAgICAgIC5sYWJlbC1jaGVja2JveCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLmNoZWNrYm94LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyB2YXIoLS1pZHMtc3BhY2UteHMpKTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIH1cblxuICAgICAgJi5sYWJlbC1zdGF0ZS1jb2xsYXBzZWQge1xuICAgICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB1bnNldDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBjb250YWluZXIgKG1pbi13aWR0aDogI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLWNoZWNrYm94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG5cbiAgICAgIC8vIEFkanVzdCB0aGUgbGFiZWxcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICAgICAgfVxuXG4gICAgICAubGFiZWwtY2hlY2tib3gge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIC5jaGVja2JveC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgdmFyKC0taWRzLXNwYWNlLXhzKSk7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEhvcml6b250YWwgYWxpZ25lZDogdXNlIHZpZXdwb3J0IG1lZGlhIHF1ZXJ5IGluc3RlYWQgb2YgY29udGFpbmVyIHF1ZXJ5XG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2hvcml6b250YWwtYWxpZ25lZF0pIHtcbiAgLmlkcy1jaGVja2JveCB7XG4gICAgY29udGFpbmVyLXR5cGU6IG5vcm1hbDtcblxuICAgIEBtZWRpYSAod2lkdGggPD0gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1pbmxpbmUtZW5kKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICAgICAgfVxuXG4gICAgICAubGFiZWwtY2hlY2tib3gge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIC5jaGVja2JveC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgdmFyKC0taWRzLXNwYWNlLXhzKSk7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYWxpZ25tZW50PVwiZW5kXCJdKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGdhcDogdmFyKC0taWRzLWxhYmVsLWFsaWdubWVudC1nYXApO1xuXG4gICAgbGFiZWwsXG4gICAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBjZW50ZXIpO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHRleHQtYWxpZ246IGVuZDtcblxuICAgICAgQGNvbnRhaW5lciAod2lkdGggPD0gI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC8vIEF0L3VuZGVyIHRoZSB4cyBicmVha3BvaW50IHRoZSBsYWJlbCBzdGFja3Mgb24gdG9wIG9mIHRoZSBmaWVsZCwgc28gdGhlXG4gICAgICAvLyBlbmQgYWxpZ25tZW50IChyaWdodC1hbGlnbmVkLCBmdWxsIGxhYmVsIHdpZHRoKSBtdXN0IHJlc2V0IHRvIHN0YXJ0LlxuICAgICAgLy8gS2VwdCBpbiBzeW5jIHdpdGggdGhlIHN0YWNraW5nIHJ1bGUgYmVsb3cgKGBtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzYClcbiAgICAgIC8vIHNvIHRoZSBib3VuZGFyeSBhdCBleGFjdGx5ICRicmVha3BvaW50LXhzIGRvZXNuJ3QgbGVhdmUgdGhlIGxhYmVsXG4gICAgICAvLyByaWdodC1hbGlnbmVkIGFuZCBvdmVyZmxvd2luZyB0aGUgZmllbGQuXG4gICAgICBAbWVkaWEgKHdpZHRoIDw9ICRicmVha3BvaW50LXhzKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgfVxuXG4gICAgICBAY29udGFpbmVyICh3aWR0aCA8PSAjeyRicmVha3BvaW50LXhzfSkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgIH1cblxuICAgICAgJi5yZXF1aXJlZCB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogLTVweDtcbiAgICAgICAgICB0b3A6IDdweDtcblxuICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgICAgICAgIEBjb250YWluZXIgKHdpZHRoIDw9ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogaW5pdGlhbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgICAgICBAbWVkaWEgKHdpZHRoIDw9ICRicmVha3BvaW50LXhzKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogaW5pdGlhbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmllbGQtY29udGFpbmVyIHtcbiAgICBmbGV4OiAxO1xuICB9XG5cbiAgLmlkcy1jaGVja2JveCB7XG4gICAgbGFiZWwge1xuICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuXG4gICAgICBAbWVkaWEgKHdpZHRoIDw9ICRicmVha3BvaW50LXhzKSB7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgfVxuXG4gICAgICBAY29udGFpbmVyICh3aWR0aCA8PSAjeyRicmVha3BvaW50LXhzfSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgIH1cblxuICAgICAgJi5yZXF1aXJlZCAubGFiZWwtY2hlY2tib3ggc3BhbiB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgcmlnaHQ6IC01cHg7XG4gICAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3dpdGNoIGxhYmVsLWFsaWdubWVudCBlbmRcbiAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXNtKSB7XG4gICAgLmlkcy1zd2l0Y2gge1xuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuXG4gICAgICAgIEBjb250YWluZXIgKHdpZHRoIDwgI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKHdpZHRoIDwgJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSYWRpbyBncm91cCBsYWJlbC1hbGlnbm1lbnQgZW5kXG4gIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG4gIH1cblxuICBAY29udGFpbmVyICh3aWR0aCA8ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBXaGVuIHRoZSBsYWJlbCBpcyBjb2xsYXBzZWQsIHJlbW92ZSBpdCBmcm9tIHRoZSBpbnB1dC90ZXh0YXJlYSBsYXlvdXQgc28gdGhlXG4vLyBlbmQtYWxpZ25lZCBsYWJlbCBkb2VzIG5vdCByZXNlcnZlIHNwYWNlLlxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnRdW2xhYmVsLXN0YXRlPSdjb2xsYXBzZWQnXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBsYWJlbCxcbiAgICAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9XCJlbmRcIl1bbGFiZWwtYnJlYWs9J3Nocmluay12YWx1ZSddW3ZhbGlkYXRpb24tbWVzc2FnZS1jb3VudF06bm90KFtlcnJvci10cmFja2VyXSkpIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgY29sdW1uLWdhcDogdmFyKC0taWRzLWxhYmVsLWFsaWdubWVudC1nYXApO1xuICB9XG59XG5cbi8vIExhYmVsIGJyZWFrIGJlaGF2aW9yIGZvciBpbmxpbmUtc3RhcnQgcG9zaXRpb25cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYnJlYWs9J3Nocmluay12YWx1ZSddOm5vdChbdmFsaWRhdGlvbi1tZXNzYWdlLWNvdW50XSkpLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ11bdmFsaWRhdGlvbi1tZXNzYWdlLWNvdW50XVtlcnJvci10cmFja2VyXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgbGFiZWwge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG5cbiAgICAvLyBLZWVwIHZhbGlkYXRpb24gbWVzc2FnZXMgYmVsb3cgdGhlIGZpZWxkXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFdoZW4gdmFsaWRhdGlvbiBpcyBwcmVzZW50IHdpdGggc2hyaW5rLXZhbHVlLCB1c2UgZ3JpZCB0byBrZWVwIGZpZWxkIHdpZHRoIHN0YWJsZVxuOmhvc3QoLmluLWZsZXgtaXRlbVtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ11bdmFsaWRhdGlvbi1tZXNzYWdlLWNvdW50XTpub3QoW2Vycm9yLXRyYWNrZXJdKSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcik7XG4gICAgY29sdW1uLWdhcDogdmFyKC0taWRzLWxhYmVsLWFsaWdubWVudC1nYXApO1xuXG4gICAgbGFiZWwge1xuICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgICYud3JhcHBlZCAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICB9XG5cbiAgICAmLnNtLCAmLm1tLCAmLm1kLCAmLmxnIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoLmluLWZsZXgtaXRlbVtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIHtcbiAgLmlkcy1pbnB1dCBsYWJlbCB7XG4gICAgbWF4LWhlaWdodDogdmFyKC0taWRzLWxhYmVsLW1heC1oZWlnaHQtaW5saW5lLXN0YXJ0KTtcbiAgfVxuXG4gIC5pZHMtY2hlY2tib3gge1xuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10gfiAuY2hlY2ttYXJrIHtcbiAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICB9XG4gIH1cblxuICAuaWRzLXJhZGlvLWdyb3VwLFxuICAuaWRzLXJhZGlvLWdyb3VwLmxhYmVsLWlubGluZSB7XG4gICAgaWRzLXRleHQge1xuICAgICAgJi5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ10pIHtcbiAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIHNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAY29udGFpbmVyICh3aWR0aCA+ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIHNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKHdpZHRoIDwgJGJyZWFrcG9pbnQteHMpIHtcbiAgICAuaWRzLWlucHV0LFxuICAgIC5pZHMtdGV4dGFyZWEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmlkcy10ZXh0YXJlYSB7XG4gICAgICBnYXA6IDA7XG4gICAgfVxuICB9XG5cbiAgQGNvbnRhaW5lciAod2lkdGggPCAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSxcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ106bm90KFt2YWxpZGF0aW9uLW1lc3NhZ2UtY291bnRdKSkge1xuICBAbWVkaWEgKHdpZHRoIDw9ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy10ZXh0YXJlYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGdhcDogMDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1pZHMtaW5wdXQtbWFyZ2luLWJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYnJlYWs9J3Nocmluay1sYWJlbCddKSB7XG4gIEBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC14cykge1xuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgfVxuXG4gICAgICBzbG90IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgIEBjb250YWluZXIgKHdpZHRoID4gI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdicmVhayddKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgIGxhYmVsIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG5cbiAgICAvLyBLZWVwIHZhbGlkYXRpb24gbWVzc2FnZXMgYmVsb3cgdGhlIGZpZWxkXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtd2lkdGg9XCIwcHhcIl0pLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC13aWR0aD1cIjBcIl0pIHtcbiAgLy8gV2hlbiBhIGxhYmVsIGlzIFwiaW5saW5lLXN0YXJ0XCIgYW5kIGBsYWJlbC13aWR0aD1cIjBweFwiYCBzaW1wbHkgZG9uJ3QgZGlzcGxheSBpdFxuICAuaWRzLWxhYmVsLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9XCJlbmRcIl1bbGFiZWwtd3JhcD1cImVsbGlwc2lzLW5vLXN0cmV0Y2hcIl0pLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9XCJlbmRcIl1bbGFiZWwtd3JhcD1cImVsbGlwc2lzXCJdKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgJi5yZXF1aXJlZCB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogLTdweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYud3JhcHBlZCAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0taWRzLWxhYmVsLXdpZHRoKSArIDExcHgpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIExhYmVsIGJyZWFrIGJlaGF2aW9yIGZvciBpbmxpbmUtZW5kIHBvc2l0aW9uXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIGxhYmVsIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtaW5wdXQge1xuICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLTIsIDAuNXJlbSk7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ11bbGFiZWwtYnJlYWs9J3Nocmluay1sYWJlbCddKSB7XG4gIEBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC14cykge1xuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG5cbiAgICAgIHNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddW2xhYmVsLWJyZWFrPSdicmVhayddKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgIGxhYmVsIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuXG4gICAgLy8gS2VlcCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGJlbG93IHRoZSBmaWVsZFxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIG9yZGVyOiAzO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtaW5wdXQge1xuICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLTIsIDAuNXJlbSk7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLXN0YXJ0XCJdKSB7XG4gIC0taWRzLWxhYmVsLXdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgtaW5saW5lLXN0YXJ0KTtcbn1cblxuLy8gV2hlbiBsYWJlbC13cmFwIGNvbnN0cmFpbnMgdGhlIGxhYmVsIHNpemUsIGVuc3VyZSBpdCBzdGF5cyB2ZXJ0aWNhbGx5IGNlbnRlcmVkXG4vLyBpbnN0ZWFkIG9mIHN0cmV0Y2hpbmcgdG8gZmlsbCB0aGUgZmxleCBjb250YWluZXIgaGVpZ2h0XG46aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl1bbGFiZWwtd3JhcD1cImVsbGlwc2lzLW5vLXN0cmV0Y2hcIl0pLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLXN0YXJ0XCJdW2xhYmVsLXdyYXA9XCJ3cmFwLW5vLXN0cmV0Y2hcIl0pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgbGFiZWwge1xuICAgICAgYWxpZ24tc2VsZjogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG4gICAgfVxuXG4gICAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUZXh0IGFyZWFcbkBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC1zbSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddOm5vdChbbGFiZWwtYnJlYWs9J3Nocmluay12YWx1ZSddKTpub3QoW3NpemU9J2Z1bGwnXSkpIHtcbiAgICAuaWRzLXRleHRhcmVhIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygzNzBweCArIHZhcigtLWlkcy1sYWJlbC13aWR0aCkpO1xuXG4gICAgICAudGV4dGFyZWEtZmllbGQge1xuICAgICAgICB3aWR0aDogY2FsYygzNzBweCArIHZhcigtLWlkcy1sYWJlbC13aWR0aCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaWx0ZXIgZmllbGRcbkBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC1zbSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSB7XG4gICAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctaW5saW5lLWVuZCk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbHRlciBmaWVsZCBzcGVjaWZpYyBydWxlc1xuICAgICAgI29wZXJhdG9yLWJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgfVxuXG4gICAgICAvLyBWYWxpZGF0aW9uIG9uIHRoZSBib3R0b21cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ2hlY2tib3hlc1xuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtkaXI9J3J0bCddKSB7XG4gIEBtZWRpYSAod2lkdGggPCAkYnJlYWtwb2ludC1zbSkge1xuICAgIC5pZHMtY2hlY2tib3gge1xuICAgICAgbGFiZWwge1xuICAgICAgICAtLWlkcy1jaGVja2JveC1wYWRkaW5nLWlubGluZS1zdGFydDogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2Rpcj0ncnRsJ10pIC5pZHMtY2hlY2tib3gge1xuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10gfiAuY2hlY2ttYXJrIHtcbiAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJhZGlvIGJ1dHRvbnNcbi8vIFRoZSBpbmxpbmUgKHNpZGUpIGxhYmVsIGxheW91dCBpcyB0b2dnbGVkIGJ5IGBvbkxhYmVsUG9zaXRpb25DaGFuZ2VgIGluXG4vLyBpZHMtcmFkaW8tZ3JvdXAgdmlhIHRoZSBgbGFiZWwtaW5saW5lYCAvIGBsYWJlbC1pbmxpbmUtZW5kLXN0YWNrZWRgIGNsYXNzZXMsXG4vLyB3aGljaCBhcmUgZHJpdmVuIGJ5IHRoZSBncm91cCdzIG93biB3aWR0aC4gVGhpcyBsZXRzIHRoZSBsYXlvdXQgcmVzcG9uZCB0b1xuLy8gaXRzIGNvbnRhaW5lciByYXRoZXIgdGhhbiB0aGUgdmlld3BvcnQuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSAuaWRzLXJhZGlvLWdyb3VwLmxhYmVsLWlubGluZSxcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddKSAuaWRzLXJhZGlvLWdyb3VwLmxhYmVsLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgZmxleC1zdGFydCk7XG4gIGdhcDogdmFyKC0taWRzLXNwYWNlLTIsIDAuNXJlbSk7XG5cbiAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgbWluLXdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0taWRzLXNwYWNlLXhzKSAtIDJweCk7XG4gIH1cblxuICBzbG90IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cblxuLy8gV2hlbiBgaG9yaXpvbnRhbGAgaXMgc2V0LCB0aGUgb3B0aW9ucyBmbG93IGluIGEgcm93IHJlZ2FyZGxlc3Mgb2YgdGhlIGlubGluZVxuLy8gbGFiZWwgcG9zaXRpb24sIHNvIHRoZSBzbG90IG11c3Qgbm90IGZvcmNlIGEgdmVydGljYWwgc3RhY2suXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSAuaWRzLXJhZGlvLWdyb3VwLmxhYmVsLWlubGluZS5ob3Jpem9udGFsLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ10pIC5pZHMtcmFkaW8tZ3JvdXAubGFiZWwtaW5saW5lLmhvcml6b250YWwge1xuICBzbG90IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXSkgLmlkcy1yYWRpby1ncm91cC5sYWJlbC1pbmxpbmUge1xuICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICBvcmRlcjogMjtcbiAgfVxuXG4gIHNsb3Qge1xuICAgIG9yZGVyOiAxO1xuICB9XG59XG5cbi8vIE5hcnJvdyBgaW5saW5lLWVuZGA6IHN0YWNrIHdpdGggdGhlIGxhYmVsIGJlbmVhdGggdGhlIG9wdGlvbnNcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddKSAuaWRzLXJhZGlvLWdyb3VwLmxhYmVsLWlubGluZS1lbmQtc3RhY2tlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuICBnYXA6IHZhcigtLWlkcy1zcGFjZS0yLCAwLjVyZW0pO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgIG1pbi13aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICBvcmRlcjogMjtcbiAgfVxuXG4gIHNsb3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvcmRlcjogMTtcbiAgfVxufVxuXG4vLyBTd2l0Y2hcbkBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC1zbSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSAuaWRzLXN3aXRjaCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICBsYWJlbCB7XG4gICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctaW5saW5lLWVuZCk7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5zbGlkZXIge1xuICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICByaWdodDogLTQ1cHg7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLXN0YXJ0XCJdW2xhYmVsLXN0YXRlPVwiY29sbGFwc2VkXCJdKSAuaWRzLXN3aXRjaCBsYWJlbCB7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtkaXI9J3J0bCddKSAuaWRzLXN3aXRjaCB7XG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5zbGlkZXIge1xuICAgICAgbGVmdDogLTQ1cHg7XG4gICAgICByaWdodDogaW5pdGlhbDtcbiAgICB9XG4gIH1cbn1cblxuLy8gRGF0YSBMYWJlbFxuQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIC5pZHMtZGF0YS1sYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogOHB4O1xuICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgLmxhYmVsIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5kYXRhLFxuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIGJlaGF2aW9yXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHMpIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLXN0YXJ0XCJdKSB7XG4gICAgLmlkcy1pbnB1dCxcbiAgICAuaWRzLXRleHRhcmVhLFxuICAgIC5pZHMtZmlsdGVyLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHVuc2V0O1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1lbmRcIl0pIHtcbiAgICAuaWRzLWlucHV0LFxuICAgIC5pZHMtdGV4dGFyZWEsXG4gICAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogdW5zZXQ7XG4gICAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS0yLCAwLjVyZW0pO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtc3RhdGU9XCJjb2xsYXBzZWRcIl0pIHtcbiAgLS1pZHMtbGFiZWwtd2lkdGg6IDA7XG5cbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG46aG9zdChpZHMtY2hlY2tib3hbbGFiZWwtc3RhdGU9XCJjb2xsYXBzZWRcIl0pIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQGNvbnRhaW5lciAobWF4LXdpZHRoOiAjeyRicmVha3BvaW50LXhzfSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl0pIHtcbiAgICAuaWRzLWlucHV0LFxuICAgIC5pZHMtdGV4dGFyZWEsXG4gICAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogdW5zZXQ7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLWVuZFwiXSkge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSxcbiAgICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiB1bnNldDtcbiAgICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLTIsIDAuNXJlbSk7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtc3RhdGU9XCJoaWRkZW5cIl0pIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy1pbnB1dCAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQGNvbnRhaW5lciAobWF4LXdpZHRoOiAjeyRicmVha3BvaW50LXhzfSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLXN0YXRlPVwiaGlkZGVuXCJdKSB7XG4gICAgLmlkcy1pbnB1dCAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gSnVzdCB0aGUgbGFiZWwgd2lkdGhcbjpob3N0IHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSxcbiAgLmlkcy1jaGVja2JveCxcbiAgLmlkcy1yYWRpbyxcbiAgLmlkcy1zd2l0Y2gsXG4gIC5pZHMtZGF0YS1sYWJlbCxcbiAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgIGxhYmVsLFxuICAgIC5sYWJlbCB7XG4gICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRGVjbGFyZWQgbGFzdCBzbyBsYWJlbC1zdGF0ZSB3aW5zIG92ZXIgbGFiZWwtYWxpZ25tZW50L2xhYmVsLWJyZWFrL2xhYmVsLXdyYXAsXG4vLyBrZWVwaW5nIHRoZSByYWRpbyBncm91cCBsYWJlbCBoaWRkZW4gcmVnYXJkbGVzcyBvZiB0aGUgb3RoZXIgbGF5b3V0IGF0dHJpYnV0ZXMuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLXN0YXRlPSdjb2xsYXBzZWQnXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXVtsYWJlbC1zdGF0ZT0nY29sbGFwc2VkJ10pIHtcbiAgLmlkcy1yYWRpby1ncm91cCBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtc3RhdGU9J2hpZGRlbiddKSxcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddW2xhYmVsLXN0YXRlPSdoaWRkZW4nXSkge1xuICAuaWRzLXJhZGlvLWdyb3VwIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuIiwiQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMuc2NzcycgYXMgbWl4aW5zO1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY2xlYXJhYmxlLW1peGluJyBhcyAqO1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtZGlydHktdHJhY2tlci1taXhpbicgYXMgKjtcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLXZhbGlkYXRpb24tbWl4aW4nIGFzICo7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1sYWJlbC1wb3NpdGlvbi1taXhpbi5zY3NzJyBhcyBsYWJlbC1wb3NpdGlvbjtcblxuLy8gRmllbGQgU2l6ZXNcbiR0ZXh0YXJlYS1zaXplLXNtOiAxNTBweDtcbiR0ZXh0YXJlYS1zaXplLW1kOiAzMDBweDtcbiR0ZXh0YXJlYS1zaXplLWxnOiA0MDBweDtcbiR0ZXh0YXJlYS1zaXplLWZ1bGw6IDEwMCU7XG5cbi8vIFNldCBkZWZhdWx0IHNpemVcbiR0ZXh0YXJlYS1zaXplLWRlZmF1bHQ6ICR0ZXh0YXJlYS1zaXplLW1kO1xuJHRleHRhcmVhLXNpemUtZGVmYXVsdC1oZWlnaHQ6IDEyMHB4O1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG46aG9zdChbaGlkZGVuXSkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBtYXJnaW4tYmxvY2stZW5kIHRva2VuIG92ZXJyaWRlcyDigJQgYXBwbGllZCB0byB0aGUgaW5uZXIgLmlkcy10ZXh0YXJlYSBjb250YWluZXIuXG4vLyBCb3RoIHRoZSBob3N0IGF0dHJpYnV0ZSBzZWxlY3RvciAod2ViIGNvbXBvbmVudCkgYW5kIGEgQ1NTIGNsYXNzIChzdGFuZGFsb25lIENTUykgYXJlXG4vLyBzdXBwb3J0ZWQuIFRoZSA6bm90KFtuby1tYXJnaW5zXSkgZ3VhcmQgZW5zdXJlcyBuby1tYXJnaW5zIGFsd2F5cyB3aW5zLlxuJG1hcmdpbi1ibG9jay1lbmQtdG9rZW5zOiAnbm9uZScsICc0eHMnLCAnM3hzJywgJzJ4cycsICd4cycsICdzbScsICdtZCcsICdsZycsICd4bCcsICcyeGwnLCAnM3hsJywgJzR4bCc7XG5cbkBlYWNoICR0b2tlbiBpbiAkbWFyZ2luLWJsb2NrLWVuZC10b2tlbnMge1xuICA6aG9zdChbbWFyZ2luLWJsb2NrLWVuZD0nI3skdG9rZW59J106bm90KFtuby1tYXJnaW5zXSkpIC5pZHMtdGV4dGFyZWEsXG4gIC5pZHMtdGV4dGFyZWEubWFyZ2luLWJsb2NrLWVuZC0jeyR0b2tlbn06bm90KC5uby1tYXJnaW5zKSB7XG4gICAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKC0taWRzLXNwYWNlLSN7JHRva2VufSk7XG4gIH1cbn1cblxuOmhvc3QoW2hlaWdodF0pIHtcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgZmxleDogMTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG59XG5cbi5pZHMtdGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0taWRzLXNwYWNlLTEyKTtcbiAgZm9udC1zaXplOiB2YXIoLS1pZHMtZm9udC1zaXplLXNtKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWlkcy1mb250LWZhbWlseS1kZWZhdWx0KSwgdmFyKC0taWRzLWZvbnQtZmFtaWx5LXN5c3RlbS1zYW5zKTtcbiAgbWF4LXdpZHRoOiAkdGV4dGFyZWEtc2l6ZS1kZWZhdWx0O1xuXG4gIC5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAudGV4dGFyZWEtcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xuICB9XG5cbiAgLnRleHRhcmVhLWNoYXJhY3Rlci1jb3VudGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgICB3aWR0aDogJHRleHRhcmVhLXNpemUtZGVmYXVsdDtcblxuICAgICYuYWxtb3N0LWVtcHR5IHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtdGV4dGFyZWEtY2hhcmFjdGVyLWNvdW50LWNvbG9yLXRleHQtd2FybmluZyk7XG4gICAgfVxuXG4gICAgJi5tYXgtcmVhY2hlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLXRleHQtZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIC5maWVsZC1jb250YWluZXIge1xuICAgIG1hcmdpbjogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIHBhZGRpbmc6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICY6aGFzKH4gLnRleHRhcmVhLWNoYXJhY3Rlci1jb3VudGVyKSAudGV4dGFyZWEtZmllbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IG1heCB3aWR0aHMgb24gdGV4dGFyZWFzIHRoYXQgYXJlIG5vdCByZXNpemFibGUgb24gdGhlIFgtcGxhbmVcbiAgJjpub3QoLnJlc2l6YWJsZSk6bm90KC5yZXNpemFibGUteCkge1xuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAkdGV4dGFyZWEtc2l6ZS1kZWZhdWx0O1xuXG4gICAgICAvLyB0ZXh0YXJlYSBzaXplczogW3NtLCBtZCwgbGcsIGZ1bGxdXG4gICAgICAmLnNtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkdGV4dGFyZWEtc2l6ZS1zbTtcblxuICAgICAgICB+IC50ZXh0YXJlYS1jaGFyYWN0ZXItY291bnRlciB7XG4gICAgICAgICAgd2lkdGg6ICR0ZXh0YXJlYS1zaXplLXNtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYubWQge1xuICAgICAgICBtYXgtd2lkdGg6ICR0ZXh0YXJlYS1zaXplLW1kO1xuXG4gICAgICAgIH4gLnRleHRhcmVhLWNoYXJhY3Rlci1jb3VudGVyIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmxnIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkdGV4dGFyZWEtc2l6ZS1sZztcblxuICAgICAgICB+IC50ZXh0YXJlYS1jaGFyYWN0ZXItY291bnRlciB7XG4gICAgICAgICAgd2lkdGg6ICR0ZXh0YXJlYS1zaXplLWxnO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuZnVsbCB7XG4gICAgICAgIG1heC13aWR0aDogJHRleHRhcmVhLXNpemUtZnVsbDtcblxuICAgICAgICB+IC50ZXh0YXJlYS1jaGFyYWN0ZXItY291bnRlciB7XG4gICAgICAgICAgd2lkdGg6ICR0ZXh0YXJlYS1zaXplLWZ1bGw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnJlc2l6YWJsZSxcbiAgJi5yZXNpemFibGUteCB7XG4gICAgLnRleHRhcmVhLWZpZWxkIHtcbiAgICAgIHdpZHRoOiAkdGV4dGFyZWEtc2l6ZS1kZWZhdWx0O1xuICAgIH1cblxuICAgICYuc20gLnRleHRhcmVhLWZpZWxkIHtcbiAgICAgIHdpZHRoOiAkdGV4dGFyZWEtc2l6ZS1zbTtcbiAgICB9XG5cbiAgICAmLm1kIC50ZXh0YXJlYS1maWVsZCB7XG4gICAgICB3aWR0aDogJHRleHRhcmVhLXNpemUtbWQ7XG4gICAgfVxuXG4gICAgJi5sZyAudGV4dGFyZWEtZmllbGQge1xuICAgICAgd2lkdGg6ICR0ZXh0YXJlYS1zaXplLWxnO1xuICAgIH1cblxuICAgICYuZnVsbCAudGV4dGFyZWEtZmllbGQge1xuICAgICAgd2lkdGg6ICR0ZXh0YXJlYS1zaXplLWZ1bGw7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoLnJlc2l6YWJsZSk6bm90KC5yZXNpemFibGUteSkge1xuICAgIC50ZXh0YXJlYS1maWVsZCB7XG4gICAgICBtaW4taGVpZ2h0OiAkdGV4dGFyZWEtc2l6ZS1kZWZhdWx0LWhlaWdodDtcbiAgICB9XG4gIH1cblxuICAmLnJlc2l6YWJsZSxcbiAgJi5yZXNpemFibGUteSB7XG4gICAgLnRleHRhcmVhLWZpZWxkIHtcbiAgICAgIGhlaWdodDogJHRleHRhcmVhLXNpemUtZGVmYXVsdC1oZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoW2NsYXNzKj0ncmVzaXphYmxlJ10pIHtcbiAgICAudGV4dGFyZWEtZmllbGQge1xuICAgICAgcmVzaXplOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYucmVzaXphYmxlLXgge1xuICAgIC50ZXh0YXJlYS1maWVsZCB7XG4gICAgICByZXNpemU6IGhvcml6b250YWw7XG4gICAgfVxuICB9XG5cbiAgJi5yZXNpemFibGUteSB7XG4gICAgLnRleHRhcmVhLWZpZWxkIHtcbiAgICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgfVxuICB9XG5cbiAgJi5yZXNpemFibGUge1xuICAgIC50ZXh0YXJlYS1maWVsZCB7XG4gICAgICByZXNpemU6IGJvdGg7XG4gICAgfVxuICB9XG5cbiAgJi5uby1tYXJnaW5zIHtcbiAgICBtYXJnaW46IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgfVxuXG4gIC50ZXh0YXJlYS1maWVsZCB7XG4gICAgQGluY2x1ZGUgbWl4aW5zLmFudGlhbGlhc2VkKCk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtdGV4dGFyZWEtY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy10ZXh0YXJlYS1jb2xvci1ib3JkZXItZGVmYXVsdCk7XG4gICAgY29sb3I6IHZhcigtLWlkcy10ZXh0YXJlYS1jb2xvci10ZXh0LWRlZmF1bHQpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLXNwYWNlLTEyKTtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLXNwYWNlLTEyKSB2YXIoLS1pZHMtc3BhY2UtMjApO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLWZvbnQtc2l6ZS1zbSk7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBmb250LWZhbWlseTogdmFyKC0taWRzLWZvbnQtZmFtaWx5LWRlZmF1bHQpLCB2YXIoLS1pZHMtZm9udC1mYW1pbHktc3lzdGVtLXNhbnMpO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLWJvcmRlci1yYWRpdXMtMnhzKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy10ZXh0YXJlYS1jb2xvci1iYWNrZ3JvdW5kLXJlYWRvbmx5KTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLXRleHRhcmVhLWNvbG9yLWJvcmRlci1yZWFkb25seSk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLXRleHRhcmVhLWNvbG9yLXRleHQtcmVhZG9ubHkpO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy10ZXh0YXJlYS1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGVkKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLXRleHRhcmVhLWNvbG9yLWJvcmRlci1kaXNhYmxlZCk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLXRleHRhcmVhLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgICAgb3BhY2l0eTogdmFyKC0taWRzLXRleHRhcmVhLWRpc2FibGVkLW9wYWNpdHkpO1xuICAgIH1cblxuICAgICY6bm90KFtkaXNhYmxlZF0pOm5vdChbcmVhZG9ubHldKTpub3QoOmZvY3VzKTpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy10ZXh0YXJlYS1jb2xvci1ib3JkZXItaG92ZXIpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtdGV4dGFyZWEtY29sb3ItYm9yZGVyLWZvY3VzKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy10ZXh0YXJlYS1zaGFkb3ctZm9jdXMpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIG91dGxpbmUtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgfVxuXG4gICAgJltyZWFkb25seV0sXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgfiAudGV4dGFyZWEtY2hhcmFjdGVyLWNvdW50ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYmctdHJhbnNwYXJlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLXRleHRhcmVhLWNvbG9yLWJvcmRlci1mb2N1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi50ZXh0LWVsbGlwc2lzIHtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cblxuXG4gICAgLy8gdGV4dGFyZWEgdGV4dC1hbGlnbjogW2xlZnQsIGNlbnRlciwgcmlnaHRdXG4gICAgJi5sZWZ0IHtcbiAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIH1cblxuICAgICYuY2VudGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLnJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICB9XG5cbiAgICB+IC5idG4tY2xlYXIge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldC1pbmxpbmUtZW5kOiAtMXB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIEVycm9yIFN0eWxlc1xuICAuZXJyb3Ige1xuICAgIC50ZXh0YXJlYS1maWVsZCB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy10ZXh0YXJlYS1jb2xvci1ib3JkZXItZXJyb3ItZGVmYXVsdCk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLXRleHRhcmVhLWNvbG9yLXRleHQtZXJyb3IpO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtdGV4dGFyZWEtY29sb3ItYm9yZGVyLWVycm9yLWZvY3VzKTtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLXRleHRhcmVhLXNoYWRvdy1lcnJvci1mb2N1cyk7XG4gICAgICB9XG5cbiAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtdGV4dGFyZWEtY29sb3ItYm9yZGVyLWVycm9yLWRpc2FibGVkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy10ZXh0YXJlYS1jb2xvci10ZXh0LWVycm9yLWRpc2FibGVkKTtcbiAgICAgIH1cblxuICAgICAgJjpub3QoW2Rpc2FibGVkXSk6bm90KFtyZWFkb25seV0pOm5vdCg6Zm9jdXMpOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtdGV4dGFyZWEtY29sb3ItYm9yZGVyLWVycm9yLWRlZmF1bHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHdhcm5pbmcsIGVycm9yLCBpbmZvLCBzdWNjZXNzIFN0eWxlc1xuICAmLndhcm5pbmcge1xuICAgIC50ZXh0YXJlYS1maWVsZCB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy10ZXh0YXJlYS13YXJuaW5nLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtdGV4dGFyZWEtd2FybmluZy1jb2xvci10ZXh0LWRlZmF1bHQpO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtdGV4dGFyZWEtd2FybmluZy1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1pZHMtdGV4dGFyZWEtc2hhZG93LXdhcm5pbmctZm9jdXMpO1xuICAgICAgfVxuXG4gICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLXRleHRhcmVhLXdhcm5pbmctY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy10ZXh0YXJlYS13YXJuaW5nLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtdGV4dGFyZWEtd2FybmluZy1jb2xvci1ib3JkZXItZGVmYXVsdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pbmZvIHtcbiAgICAudGV4dGFyZWEtZmllbGQge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtdGV4dGFyZWEtY29sb3ItYm9yZGVyLWluZm8tZGVmYXVsdCk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLXRleHRhcmVhLWNvbG9yLXRleHQtaW5mby1kZWZhdWx0KTtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLXRleHRhcmVhLWNvbG9yLWJvcmRlci1pbmZvLWZvY3VzKTtcbiAgICAgICAgYm94LXNoYWRvdzogcmdiKDAgMTAyIDIxMiAvIDAuMykgMCAwIDNweCAycHg7XG4gICAgICB9XG5cbiAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtdGV4dGFyZWEtY29sb3ItYm9yZGVyLWluZm8tZGlzYWJsZWQpO1xuICAgICAgICBjb2xvcjogdmFyKC0taWRzLXRleHRhcmVhLWNvbG9yLXRleHQtaW5mby1kaXNhYmxlZCk7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy10ZXh0YXJlYS1jb2xvci1ib3JkZXItaW5mby1kZWZhdWx0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnN1Y2Nlc3Mge1xuICAgIC50ZXh0YXJlYS1maWVsZCB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy10ZXh0YXJlYS1jb2xvci1ib3JkZXItc3VjY2Vzcy1kZWZhdWx0KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtdGV4dGFyZWEtY29sb3ItdGV4dC1zdWNjZXNzLWRlZmF1bHQpO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtdGV4dGFyZWEtY29sb3ItYm9yZGVyLXN1Y2Nlc3MtZm9jdXMpO1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1pZHMtdGV4dGFyZWEtc2hhZG93LXN1Y2Nlc3MtZm9jdXMpO1xuICAgICAgfVxuXG4gICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLXRleHRhcmVhLWNvbG9yLWJvcmRlci1zdWNjZXNzLWRpc2FibGVkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy10ZXh0YXJlYS1jb2xvci10ZXh0LXN1Y2Nlc3MtZGlzYWJsZWQpO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtdGV4dGFyZWEtY29sb3ItYm9yZGVyLXN1Y2Nlc3MtZGVmYXVsdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gIH1cblxuICAmLmRpc2FibGVkIHtcbiAgICAubGFiZWwtdGV4dCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLXRleHRhcmVhLWxhYmVsLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuXG4gICAgICAmLnJlcXVpcmVkOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtdGV4dGFyZWEtbGFiZWwtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5pZHMtbGFiZWwtdGV4dCB7XG4gIEBpbmNsdWRlIG1peGlucy5hbnRpYWxpYXNlZCgpO1xuXG4gIGNvbG9yOiB2YXIoLS1pZHMtdGV4dGFyZWEtbGFiZWwtY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBmb250LWZhbWlseTogdmFyKC0taWRzLWZvbnQtZmFtaWx5LWRlZmF1bHQpLCB2YXIoLS1pZHMtZm9udC1mYW1pbHktc3lzdGVtLXNhbnMpO1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8vIFNpbXVsYXRlIHN0YW5kYXJkIGxhYmVsIHRleHQgc2l6ZSB3aGlsZSBlbXB0eSB3aXRoIGEgbm9uLWJyZWFraW5nIHNwYWNlXG4gICYuZW1wdHkge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwwMGEwJztcbiAgICB9XG4gIH1cblxuICAmLnJlcXVpcmVkIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG4gICAgICBmb250LXNpemU6IHZhcigtLWlkcy1mb250LXNpemUtbWQpO1xuICAgICAgY29udGVudDogJyonO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1yZXF1aXJlZC1pbmRpY2F0b3ItY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1pZHMtZm9udC1mYW1pbHktZGVmYXVsdCksIHZhcigtLWlkcy1mb250LWZhbWlseS1zeXN0ZW0tc2Fucyk7XG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgIHRvcDogMXB4O1xuICAgIH1cblxuICAgICYubm8tcmVxdWlyZWQtaW5kaWNhdG9yOjphZnRlcixcbiAgICAmLmVtcHR5OjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG4gIH1cbn1cblxuLmxhYmVsLXN0YXRlLWNvbGxhcHNlZCB7XG4gIC5pZHMtbGFiZWwtdGV4dC5lbXB0eSB7XG4gICAgbWFyZ2luOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGhlaWdodDogMDtcbiAgfVxufVxuXG4vLyBQcmludCBTdHlsZSBTaGVldFxuQG1lZGlhIHByaW50IHtcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgLnRleHRhcmVhLWNoYXJhY3Rlci1jb3VudGVyLFxuICAgIC50ZXh0YXJlYS1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC50ZXh0YXJlYS1wcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uaWRzLXRleHRhcmVhIC5maWVsZC1jb250YWluZXIgaWRzLXRyaWdnZXItYnV0dG9uLmJ0bi1jbGVhcjo6cGFydChidXR0b24pIHtcbiAgcGFkZGluZzogMnB4O1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IC00cHg7XG59XG5cbi8vIENlbnRlciB0aGUgcmVxdWlyZWQgaW5kaWNhdG9yIHZlcnRpY2FsbHkgbmV4dCB0byB0aGUgbGFiZWwgdGV4dFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9J2VuZCddKSxcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYWxpZ25tZW50PSdlbmQnXVtsYWJlbC13cmFwPSdlbGxpcHNpcyddKSxcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYWxpZ25tZW50PSdlbmQnXVtsYWJlbC13cmFwPSdlbGxpcHNpcy1uby1zdHJldGNoJ10pIHtcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgbGFiZWwucmVxdWlyZWQ6OmFmdGVyLFxuICAgIC5pZHMtbGFiZWwtdGV4dC5yZXF1aXJlZDo6YWZ0ZXIge1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDVweCk7XG4gICAgICBpbnNldC1pbmxpbmUtZW5kOiAtOXB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9J2VuZCddW2xhYmVsLXdyYXA9J2VsbGlwc2lzJ11bbGFiZWwtYWxpZ24teV0pLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9J2VuZCddW2xhYmVsLXdyYXA9J2VsbGlwc2lzLW5vLXN0cmV0Y2gnXVtsYWJlbC1hbGlnbi15XSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudD0nZW5kJ11bbGFiZWwtYWxpZ24teV06bm90KFtsYWJlbC1hbGlnbi15PVwiY2VudGVyXCJdKSkge1xuICAuaWRzLXRleHRhcmVhIHtcbiAgICBsYWJlbC5yZXF1aXJlZDo6YWZ0ZXIsXG4gICAgLmlkcy1sYWJlbC10ZXh0LnJlcXVpcmVkOjphZnRlciB7XG4gICAgICBAbWVkaWEgKHdpZHRoID4gI3ttaXhpbnMuJGJyZWFrcG9pbnQteHN9KSB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAtOXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBhbGlnbi1zZWxmOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgZmxleC1zdGFydCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdoZW4gdmFsaWRhdGlvbiBpcyBwcmVzZW50LCB0aGUgc2hyaW5rLXZhbHVlIGxheW91dCBzd2l0Y2hlcyB0byBhIGdyaWQgYW5kIHRoZVxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9J2VuZCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXVt2YWxpZGF0aW9uLW1lc3NhZ2UtY291bnRdOm5vdChbZXJyb3ItdHJhY2tlcl0pKSB7XG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGxhYmVsIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgbWluLWhlaWdodDogJHRleHRhcmVhLXNpemUtZGVmYXVsdC1oZWlnaHQ7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIHtcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgY2VudGVyKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKHdpZHRoID4gI3ttaXhpbnMuJGJyZWFrcG9pbnQteHN9KSB7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICR0ZXh0YXJlYS1zaXplLWRlZmF1bHQtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBjb250YWluZXIgKG1pbi13aWR0aDogI3ttaXhpbnMuJGJyZWFrcG9pbnQteHN9KSB7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICR0ZXh0YXJlYS1zaXplLWRlZmF1bHQtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0YXJlYS1maWVsZC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAwO1xuXG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgb3JkZXI6IDA7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0YXJlYS1jaGFyYWN0ZXItY291bnRlciB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtzaXplPSdzbSddOm5vdChbbGFiZWwtYnJlYWs9J3Nocmluay12YWx1ZSddKSkge1xuICB3aWR0aDogY2FsYygjeyR0ZXh0YXJlYS1zaXplLXNtfSArIHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyA4cHgpO1xuICBtYXgtd2lkdGg6IGNhbGMoI3skdGV4dGFyZWEtc2l6ZS1zbX0gKyB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgOHB4KTtcblxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoI3skdGV4dGFyZWEtc2l6ZS1zbX0gKyB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgOHB4KTtcbiAgfVxufVxuXG4vLyBEZWZhdWx0IHNpemUgaXMgbWRcbjpob3N0KDpub3QoW3NpemVdKSkge1xuICB3aWR0aDogJHRleHRhcmVhLXNpemUtbWQ7XG4gIG1heC13aWR0aDogJHRleHRhcmVhLXNpemUtbWQ7XG5cbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAkdGV4dGFyZWEtc2l6ZS1tZDtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddOm5vdChbc2l6ZV0pOm5vdChbbGFiZWwtYnJlYWs9J3Nocmluay12YWx1ZSddKSkge1xuICB3aWR0aDogY2FsYygjeyR0ZXh0YXJlYS1zaXplLW1kfSArIHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyA4cHgpO1xuICBtYXgtd2lkdGg6IGNhbGMoI3skdGV4dGFyZWEtc2l6ZS1tZH0gKyB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgOHB4KTtcblxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoI3skdGV4dGFyZWEtc2l6ZS1tZH0gKyB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgOHB4KTtcbiAgfVxufVxuXG46aG9zdChbc2l6ZT0nc20nXSkge1xuICB3aWR0aDogJHRleHRhcmVhLXNpemUtc207XG4gIG1heC13aWR0aDogJHRleHRhcmVhLXNpemUtc207XG5cbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAkdGV4dGFyZWEtc2l6ZS1zbTtcbiAgfVxufVxuXG46aG9zdChbc2l6ZT0nbWQnXSkge1xuICB3aWR0aDogJHRleHRhcmVhLXNpemUtbWQ7XG4gIG1heC13aWR0aDogJHRleHRhcmVhLXNpemUtbWQ7XG5cbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAkdGV4dGFyZWEtc2l6ZS1tZDtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW3NpemU9J21kJ106bm90KFtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ10pKSB7XG4gIHdpZHRoOiBjYWxjKCN7JHRleHRhcmVhLXNpemUtbWR9ICsgdmFyKC0taWRzLWxhYmVsLXdpZHRoKSArIDhweCk7XG4gIG1heC13aWR0aDogY2FsYygjeyR0ZXh0YXJlYS1zaXplLW1kfSArIHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyA4cHgpO1xuXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogY2FsYygjeyR0ZXh0YXJlYS1zaXplLW1kfSArIHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyA4cHgpO1xuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bc2l6ZT0nc20nXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ10pLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtzaXplPSdtZCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXTpub3QoW3NpemVdKSkge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiBub25lO1xuXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuXG46aG9zdChbc2l6ZT0nbGcnXSkge1xuICB3aWR0aDogJHRleHRhcmVhLXNpemUtbGc7XG4gIG1heC13aWR0aDogJHRleHRhcmVhLXNpemUtbGc7XG5cbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAkdGV4dGFyZWEtc2l6ZS1sZztcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW3NpemU9J2xnJ106bm90KFtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ10pKSB7XG4gIHdpZHRoOiBjYWxjKCN7JHRleHRhcmVhLXNpemUtbGd9ICsgdmFyKC0taWRzLWxhYmVsLXdpZHRoKSArIDhweCk7XG4gIG1heC13aWR0aDogY2FsYygjeyR0ZXh0YXJlYS1zaXplLWxnfSArIHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyA4cHgpO1xuXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogY2FsYygjeyR0ZXh0YXJlYS1zaXplLWxnfSArIHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyA4cHgpO1xuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bc2l6ZT0nbGcnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ10pIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogbm9uZTtcblxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuLy8gV2hlbiBwbGFjZWQgaW5zaWRlIGFuIGlkcy1sYXlvdXQtZmxleC1pdGVtLCByZXN0b3JlIGEgd2lkdGggZmxvb3IgcGVyIHNpemUgc28gdGhlXG4vLyBmaWVsZCBkb2VzIG5vdCBjb2xsYXBzZSBiZWxvdyBpdHMgaW50ZW5kZWQgd2lkdGguIFRoaXMgbWlycm9ycyBpZHMtaW5wdXQnc1xuLy8gYC5pbi1mbGV4LWl0ZW1gIHNpemluZyBhbmQga2VlcHMgYSB0ZXh0YXJlYSBhbGlnbmVkIHdpdGggYW4gaW5wdXQgb2YgdGhlIHNhbWVcbi8vIHNpemUgd2l0aG91dCByZXF1aXJpbmcgYGdyb3c9XCIxXCJgIG9uIHRoZSBmbGV4IGl0ZW0uIFRoZSBmbG9vciBpcyBhcHBsaWVkIHRvIHRoZVxuLy8gYC5maWVsZC1jb250YWluZXJgIChub3QganVzdCB0aGUgaG9zdCkgc28gdGhlIGFjdHVhbCBmaWVsZCBrZWVwcyBpdHMgc2l6ZSBldmVuXG4vLyB3aGVuIGFuIGlubGluZS1zdGFydCBsYWJlbCBzaXRzIGJlc2lkZSBpdCBhbmQgYGxhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnYCBzZXRzXG4vLyB0aGUgaG9zdCB0byBgd2lkdGg6IGF1dG9gLiBXaWR0aHMgbWF0Y2ggdGhlIGVxdWl2YWxlbnQgaW5wdXQgdG9rZW5zOlxuLy8gc20gPSAtLWlkcy1pbnB1dC13aWR0aC0yMCAoMTUwcHgpLCBtZCA9IC0taWRzLWlucHV0LXdpZHRoLTQwICgzMDBweCksXG4vLyBsZyA9IC0taWRzLWlucHV0LXdpZHRoLTUwICg0MDBweCkuXG46aG9zdCguaW4tZmxleC1pdGVtW3NpemU9J3NtJ10pIHtcbiAgbWluLXdpZHRoOiAkdGV4dGFyZWEtc2l6ZS1zbTtcblxuICAuaWRzLXRleHRhcmVhOm5vdCgucmVzaXphYmxlKTpub3QoLnJlc2l6YWJsZS14KSAuZmllbGQtY29udGFpbmVyLnNtIHtcbiAgICBtaW4td2lkdGg6ICR0ZXh0YXJlYS1zaXplLXNtO1xuICB9XG59XG5cbjpob3N0KC5pbi1mbGV4LWl0ZW1bc2l6ZT0nbWQnXSkge1xuICBtaW4td2lkdGg6ICR0ZXh0YXJlYS1zaXplLW1kO1xuXG4gIC5pZHMtdGV4dGFyZWE6bm90KC5yZXNpemFibGUpOm5vdCgucmVzaXphYmxlLXgpIC5maWVsZC1jb250YWluZXIubWQge1xuICAgIG1pbi13aWR0aDogJHRleHRhcmVhLXNpemUtbWQ7XG4gIH1cbn1cblxuOmhvc3QoLmluLWZsZXgtaXRlbVtzaXplPSdsZyddKSB7XG4gIG1pbi13aWR0aDogJHRleHRhcmVhLXNpemUtbGc7XG5cbiAgLmlkcy10ZXh0YXJlYTpub3QoLnJlc2l6YWJsZSk6bm90KC5yZXNpemFibGUteCkgLmZpZWxkLWNvbnRhaW5lci5sZyB7XG4gICAgbWluLXdpZHRoOiAkdGV4dGFyZWEtc2l6ZS1sZztcbiAgfVxufVxuXG46aG9zdChbc2l6ZT0nZnVsbCddKSB7XG4gIHdpZHRoOiAkdGV4dGFyZWEtc2l6ZS1mdWxsO1xuICBtYXgtd2lkdGg6ICR0ZXh0YXJlYS1zaXplLWZ1bGw7XG5cbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAkdGV4dGFyZWEtc2l6ZS1mdWxsO1xuICB9XG59XG5cbi8vIFdoZW4gc2l6ZT1cImZ1bGxcIiB3aXRoIGlubGluZS1zdGFydCBsYWJlbCwgZW5zdXJlIHRleHRhcmVhIGZpbGxzIHRoZSBmaWVsZC1jb250YWluZXJcbjpob3N0KFtzaXplPSdmdWxsJ11bbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSB7XG4gIC5pZHMtdGV4dGFyZWEgLnRleHRhcmVhLWZpZWxkLWdyb3VwIC5maWVsZC1jb250YWluZXIgLnRleHRhcmVhLWZpZWxkIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAuaWRzLXRleHRhcmVhIC50ZXh0YXJlYS1maWVsZC1ncm91cCB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLmlkcy10ZXh0YXJlYSAudGV4dGFyZWEtZmllbGQtZ3JvdXAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmlkcy10ZXh0YXJlYSAuZmllbGQtY29udGFpbmVyIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXN0YXRlPSdjb2xsYXBzZWQnXSkge1xuICAuaWRzLXRleHRhcmVhLmxhYmVsLXN0YXRlLWNvbGxhcHNlZCB7XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== */