﻿@keyframes check{0%{height:0;left:0;top:8px;width:0}50%{height:0;left:0;top:8px;width:4px}100%{height:10px;left:4px;top:0;width:4px}}@keyframes checkindeterminate{0%{width:0}100%{width:10px}}.validation-message{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;font-family:var(--ids-font-family-default),var(--ids-font-family-system-sans);margin-top:var(--ids-space-2xs);max-width:var(--ids-input-width-full)}.validation-message.has-custom-icon{color:var(--ids-icon-color-default)}.validation-message.disabled{color:var(--ids-input-color-text-disabled)}.validation-message .ids-icon{margin-inline-end:var(--ids-space-2xs)}.validation-message.alert{color:var(--ids-color-caution-default)}.validation-message.alert.disabled{color:var(--ids-color-yellow-30)}.validation-message.warning{color:var(--ids-color-warning-default)}.validation-message.warning.disabled{color:var(--ids-color-orange-30)}.validation-message.error{color:var(--ids-color-error-default)}.validation-message.error.disabled{color:var(--ids-color-red-30)}.validation-message.info{color:var(--ids-color-info-default)}.validation-message.info.disabled{color:var(--ids-color-blue-30)}.validation-message.success{color:var(--ids-color-success-default)}.validation-message.success.disabled{color:var(--ids-color-green-30)}.validation-message[hidden]{display:none}:host([suppress-error-message]) .validation-message{display:none}:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea{display:flex;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);padding-inline-end:0;box-sizing:border-box;flex-shrink:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message{width:100%;margin-block-start:var(--ids-space-2xs)}@media(max-width: 927px){:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message{margin-inline-start:0}}@media(width > 320px){:host([label-position=inline-start]) .ids-input .ids-label-text,:host([label-position=inline-start]) .ids-textarea .ids-label-text{margin-inline-end:0}}@container (width > $breakpoint-xs){:host([label-position=inline-start]) .ids-input .ids-label-text,:host([label-position=inline-start]) .ids-textarea .ids-label-text{margin-inline-end:0}}@media(min-width: 320px){:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea{flex-wrap:wrap;gap:8px}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label{flex:0 0 auto;margin-bottom:unset;order:1}:host([label-position=inline-start]) .ids-input .field-container,:host([label-position=inline-start]) .ids-textarea .field-container{order:2}:host([label-position=inline-start]) .ids-input .textarea-field-group,:host([label-position=inline-start]) .ids-textarea .textarea-field-group{order:2;flex:1 1 auto;min-width:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message{flex:1 1 100%;min-width:100%;order:3;margin-block-start:calc(0px - var(--ids-space-2xs))}:host([label-position=inline-start]) .ids-input.wrapped .validation-message,:host([label-position=inline-start]) .ids-textarea.wrapped .validation-message{margin-block-start:calc(0px - var(--ids-space-2xs));margin-inline-start:calc(var(--ids-label-width) + 6px)}}:host([label-position=inline-start]) .ids-checkbox{margin-top:var(--ids-space-00)}@media(min-width: 320px){:host([label-position=inline-start]) .ids-checkbox{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start]) .ids-checkbox label{display:flex;align-items:center;width:100%;padding-block:var(--ids-label-padding-block);box-sizing:border-box;gap:var(--ids-space-xs)}:host([label-position=inline-start]) .ids-checkbox .label-checkbox{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper{position:relative;display:inline-flex}:host([label-position=inline-start]) .ids-checkbox .field-container{flex:1}:host([label-position=inline-start]) .ids-checkbox .validation-message{width:100%;margin-inline-start:calc(var(--ids-label-width) + var(--ids-space-xs));margin-block-start:var(--ids-space-2xs)}}@container (min-width: 320px){:host([label-position=inline-start]) .ids-checkbox{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start]) .ids-checkbox label{display:flex;align-items:center;width:100%;padding-block:var(--ids-label-padding-block);box-sizing:border-box;gap:var(--ids-space-xs)}:host([label-position=inline-start]) .ids-checkbox .label-checkbox{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper{position:relative;display:inline-flex}:host([label-position=inline-start]) .ids-checkbox .field-container{flex:1}:host([label-position=inline-start]) .ids-checkbox .validation-message{width:100%;margin-inline-start:calc(var(--ids-label-width) + var(--ids-space-xs));margin-block-start:var(--ids-space-2xs)}}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox{container-type:normal}@media(width <= 320px){:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox label{display:flex;align-items:center;width:100%;padding-block:var(--ids-label-padding-block);padding-inline-end:var(--ids-label-padding-inline-end);box-sizing:border-box;gap:var(--ids-space-xs)}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .label-checkbox{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .checkbox-wrapper{position:relative;display:inline-flex}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .field-container{flex:1}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .validation-message{width:100%;margin-inline-start:calc(var(--ids-label-width) + var(--ids-space-xs));margin-block-start:var(--ids-space-2xs)}}:host([label-position=inline-start][label-alignment=end]) .ids-input,:host([label-position=inline-start][label-alignment=end]) .ids-textarea{gap:var(--ids-label-alignment-gap)}:host([label-position=inline-start][label-alignment=end]) .ids-input label,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text{display:inline-flex;align-items:center;justify-content:flex-end;text-align:end;position:relative}@media(width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text{justify-content:flex-start;text-align:start;align-self:start}}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text{justify-content:flex-start;text-align:start;align-self:start}}:host([label-position=inline-start][label-alignment=end]) .ids-input label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text.required::after{margin-inline-end:0;position:absolute;margin-top:unset;inset-inline-end:-5px;top:7px}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text.required::after{position:initial;margin-top:unset;inset-inline-end:initial}}@media(width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text.required::after{position:initial;margin-top:unset;inset-inline-end:initial}}:host([label-position=inline-start][label-alignment=end]) .field-container{flex:1}:host([label-position=inline-start][label-alignment=end]) .ids-input.wrapped .validation-message,:host([label-position=inline-start][label-alignment=end]) .ids-textarea.wrapped .validation-message{margin-inline-start:calc(var(--ids-label-width) + 14px)}:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label{text-align:end}@media(width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label{text-align:start}}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label{text-align:start}}:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label.required .label-checkbox span::after{margin-inline-end:0;position:absolute;margin-top:unset;right:-5px;top:-5px}@media(width > 767px){:host([label-position=inline-start][label-alignment=end]) .ids-switch label{display:inline-flex;align-items:center;justify-content:flex-end;text-align:end}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-switch label{justify-content:flex-start}}}@media(width > 767px)and (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-switch label{justify-content:flex-start}}:host([label-position=inline-start][label-alignment=end]) .ids-radio-group ids-text.group-label-text{display:inline-flex;align-items:center;justify-content:flex-end}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-radio-group ids-text.group-label-text{justify-content:flex-start}}:host([label-position=inline-start][label-alignment=end][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input,:host([label-position=inline-start][label-alignment=end][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea{column-gap:var(--ids-label-alignment-gap)}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea{display:flex;flex-wrap:nowrap}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input label,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea label{flex-shrink:0}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input .field-container,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea .field-container{min-width:0;flex:0 1 auto}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input .validation-message,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea .validation-message{width:auto;margin-inline-start:0}:host(.in-flex-item[label-position=inline-start]) .ids-input,:host(.in-flex-item[label-position=inline-start]) .ids-textarea,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea{display:grid;gap:0;grid-template-columns:auto minmax(0, 1fr);column-gap:var(--ids-label-alignment-gap)}:host(.in-flex-item[label-position=inline-start]) .ids-input label,:host(.in-flex-item[label-position=inline-start]) .ids-textarea label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea label{grid-column:1;grid-row:1}:host(.in-flex-item[label-position=inline-start]) .ids-input .field-container,:host(.in-flex-item[label-position=inline-start]) .ids-textarea .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea .field-container{grid-column:2;grid-row:1;min-width:0}:host(.in-flex-item[label-position=inline-start]) .ids-input .validation-message,:host(.in-flex-item[label-position=inline-start]) .ids-textarea .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea .validation-message{grid-column:1/-1;grid-row:2;width:auto;margin-inline-start:0;margin-block-start:var(--ids-space-2xs)}:host(.in-flex-item[label-position=inline-start]) .ids-input.wrapped .validation-message,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.wrapped .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.wrapped .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.wrapped .validation-message{grid-column:2;margin-inline-start:0}:host(.in-flex-item[label-position=inline-start]) .ids-input.sm,:host(.in-flex-item[label-position=inline-start]) .ids-input.mm,:host(.in-flex-item[label-position=inline-start]) .ids-input.md,:host(.in-flex-item[label-position=inline-start]) .ids-input.lg,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.sm,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.mm,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.md,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.lg,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.sm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.mm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.md,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.lg,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.sm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.mm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.md,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.lg{grid-template-columns:auto}:host(.in-flex-item[label-position=inline-start]) .ids-input label{max-height:var(--ids-label-max-height-inline-start)}:host(.in-flex-item[label-position=inline-start]) .ids-checkbox input[type=checkbox]~.checkmark{inset-inline-end:0;margin-inline-end:0}:host(.in-flex-item[label-position=inline-start]) .ids-radio-group ids-text.group-label-text{margin-top:0}@media(width > 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}@container (width > 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}@media(width < 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-input,:host([label-position=inline-start][label-break=shrink-value]) .ids-textarea{display:block}:host([label-position=inline-start][label-break=shrink-value]) .ids-textarea{gap:0}}@container (width < 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-input,:host([label-position=inline-start][label-break=shrink-value]) .ids-textarea,:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group{flex-wrap:wrap}}@media(width <= 320px){:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea{display:block;gap:0}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea label{min-height:auto;margin-bottom:var(--ids-input-margin-bottom)}}@media(width > 320px){:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex:0 1 auto}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}@container (width > 320px){:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex:0 1 auto}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}:host([label-position=inline-start][label-break=break]) .ids-input,:host([label-position=inline-start][label-break=break]) .ids-textarea{display:flex;flex-direction:column;align-items:stretch}:host([label-position=inline-start][label-break=break]) .ids-input label,:host([label-position=inline-start][label-break=break]) .ids-textarea label{width:auto;flex-shrink:0}:host([label-position=inline-start][label-break=break]) .ids-input .field-container,:host([label-position=inline-start][label-break=break]) .ids-textarea .field-container{min-width:0;flex:0 1 auto}:host([label-position=inline-start][label-break=break]) .ids-input .validation-message,:host([label-position=inline-start][label-break=break]) .ids-textarea .validation-message{width:auto;margin-inline-start:0}:host([label-position=inline-start][label-width="0px"]) .ids-label-text,:host([label-position=inline-start][label-width="0"]) .ids-label-text{display:none}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text{margin-inline-end:5px}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text.required,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text.required{padding-inline-end:0}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text.required::after{inset-inline-end:-11px}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input.wrapped .validation-message,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea.wrapped .validation-message{margin-inline-start:calc(var(--ids-label-width) + 11px)}:host([label-position=inline-end][label-break=shrink-value]) .ids-input,:host([label-position=inline-end][label-break=shrink-value]) .ids-textarea{display:flex}:host([label-position=inline-end][label-break=shrink-value]) .ids-input label,:host([label-position=inline-end][label-break=shrink-value]) .ids-textarea label{flex-shrink:0;order:2}:host([label-position=inline-end][label-break=shrink-value]) .ids-input .field-container,:host([label-position=inline-end][label-break=shrink-value]) .ids-textarea .field-container{min-width:0;flex:0 1 auto;order:1}:host([label-position=inline-end][label-break=shrink-value]) .ids-input{gap:var(--ids-space-2, 0.5rem)}@media(width > 320px){:host([label-position=inline-end][label-break=shrink-label]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-end][label-break=shrink-label]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);justify-content:end;flex:0 1 auto;order:2}:host([label-position=inline-end][label-break=shrink-label]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0;order:1}}:host([label-position=inline-end][label-break=break]) .ids-input,:host([label-position=inline-end][label-break=break]) .ids-textarea{display:flex;flex-direction:column;align-items:stretch}:host([label-position=inline-end][label-break=break]) .ids-input label,:host([label-position=inline-end][label-break=break]) .ids-textarea label{width:auto;flex-shrink:0;order:2}:host([label-position=inline-end][label-break=break]) .ids-input .field-container,:host([label-position=inline-end][label-break=break]) .ids-textarea .field-container{min-width:0;flex:0 1 auto;order:1}:host([label-position=inline-end][label-break=break]) .ids-input .validation-message,:host([label-position=inline-end][label-break=break]) .ids-textarea .validation-message{margin-inline-start:0;order:3}:host([label-position=inline-end][label-break=break]) .ids-input{gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-start]){--ids-label-width: var(--ids-label-width-inline-start)}:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-input label,:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-textarea label,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-input label,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-textarea label{align-self:var(--ids-label-align-y, center)}:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text,:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-input .ids-label-text,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-textarea .ids-label-text{overflow:visible}@media(width > 767px){:host([label-position=inline-start]) .ids-textarea{max-width:calc(370px + var(--ids-label-width))}:host([label-position=inline-start]) .ids-textarea .textarea-field{width:calc(370px + var(--ids-label-width))}}@media(width > 767px){:host([label-position=inline-start]) .ids-filter-field{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start]) .ids-filter-field label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);padding-inline-end:var(--ids-label-padding-inline-end);box-sizing:border-box}:host([label-position=inline-start]) .ids-filter-field #operator-button{position:relative;inset-inline-start:var(--ids-label-width)}:host([label-position=inline-start]) .ids-filter-field .validation-message{width:100%;margin-block-start:var(--ids-space-2xs)}}@media(width < 767px){:host([label-position=inline-start][dir=rtl]) .ids-checkbox label{--ids-checkbox-padding-inline-start: inherit}:host([label-position=inline-start][dir=rtl]) .ids-checkbox .validation-message{margin-inline-start:initial}}@media(min-width: 767px){:host([label-position=inline-start][dir=rtl]) .ids-checkbox input[type=checkbox]~.checkmark{right:initial}:host([label-position=inline-start][dir=rtl]) .ids-checkbox .validation-message{margin-block-start:0}}@media(width > 320px){:host([label-position=inline-start]) .ids-radio-group,:host([label-position=inline-end]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, flex-start);gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-start]) .ids-radio-group ids-text.group-label-text,:host([label-position=inline-end]) .ids-radio-group ids-text.group-label-text{min-width:var(--ids-label-width);margin-top:calc(var(--ids-space-xs) - 2px)}:host([label-position=inline-start]) .ids-radio-group slot,:host([label-position=inline-end]) .ids-radio-group slot{display:flex;flex-direction:column}:host([label-position=inline-end]) .ids-radio-group ids-text.group-label-text{justify-content:end;order:2}:host([label-position=inline-end]) .ids-radio-group slot{order:1}}@media(width < 767px){:host([label-position=inline-end]):not([label-break]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline);gap:var(--ids-space-2, 0.5rem);flex-direction:column}:host([label-position=inline-end]):not([label-break]) .ids-radio-group ids-text.group-label-text{min-width:var(--ids-label-width);order:2}:host([label-position=inline-end]):not([label-break]) .ids-radio-group slot{display:flex;flex-direction:column;order:1}}@container (width < 767px){:host([label-position=inline-end]):not([label-break]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline);gap:var(--ids-space-2, 0.5rem);flex-direction:column}:host([label-position=inline-end]):not([label-break]) .ids-radio-group ids-text.group-label-text{min-width:var(--ids-label-width);order:2}:host([label-position=inline-end]):not([label-break]) .ids-radio-group slot{display:flex;flex-direction:column;order:1}}@media(width > 767px){:host([label-position=inline-start]) .ids-switch{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start]) .ids-switch label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);padding-inline-end:var(--ids-label-padding-inline-end);padding-inline-start:0;box-sizing:border-box}:host([label-position=inline-start]) .ids-switch input[type=checkbox]~.slider{left:unset;right:-45px}:host([label-position=inline-start][dir=rtl]) .ids-switch input[type=checkbox]~.slider{left:-45px;right:initial}}@media(width > 767px){:host([label-position=inline-start]) .ids-data-label{display:flex;flex-direction:row;gap:8px;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start]) .ids-data-label .label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);box-sizing:border-box;margin-block-end:0;white-space:nowrap}:host([label-position=inline-start]) .ids-data-label .data,:host([label-position=inline-start]) .ids-data-label .description{display:flex;padding-block:var(--ids-label-padding-block)}}@media(max-width: 320px){:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea,:host([label-position=inline-start]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label,:host([label-position=inline-start]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message,:host([label-position=inline-start]) .ids-filter-field .validation-message{margin-inline-start:0}:host([label-position=inline-end]) .ids-input,:host([label-position=inline-end]) .ids-textarea,:host([label-position=inline-end]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset;gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-end]) .ids-input label,:host([label-position=inline-end]) .ids-textarea label,:host([label-position=inline-end]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-end]) .ids-input .validation-message,:host([label-position=inline-end]) .ids-textarea .validation-message,:host([label-position=inline-end]) .ids-filter-field .validation-message{margin-inline-start:0}}@container (max-width: 320px){:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea,:host([label-position=inline-start]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label,:host([label-position=inline-start]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message,:host([label-position=inline-start]) .ids-filter-field .validation-message{margin-inline-start:0}:host([label-position=inline-end]) .ids-input,:host([label-position=inline-end]) .ids-textarea,:host([label-position=inline-end]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset;gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-end]) .ids-input label,:host([label-position=inline-end]) .ids-textarea label,:host([label-position=inline-end]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-end]) .ids-input .validation-message,:host([label-position=inline-end]) .ids-textarea .validation-message,:host([label-position=inline-end]) .ids-filter-field .validation-message{margin-inline-start:0}}@media(max-width: 320px){:host([label-position=inline-start][label-state=hidden]) .ids-input .ids-label-text{display:none}}@container (max-width: 320px){:host([label-position=inline-start][label-state=hidden]) .ids-input .ids-label-text{display:none}}:host .ids-input label,:host .ids-input .label,:host .ids-textarea label,:host .ids-textarea .label,:host .ids-checkbox label,:host .ids-checkbox .label,:host .ids-radio label,:host .ids-radio .label,:host .ids-switch label,:host .ids-switch .label,:host .ids-data-label label,:host .ids-data-label .label,:host .ids-filter-field label,:host .ids-filter-field .label{width:var(--ids-label-width)}:host([hidden]){display:none}:host(.justify-center) .ids-checkbox .checkmark,:host(.justify-center) .ids-checkbox:not([color]) input[type=checkbox]~.checkmark{top:calc(50% - 8px)}:host([no-margins]) .ids-checkbox,:host([no-margin]) .ids-checkbox{margin:var(--ids-space-none)}:host([no-margins]) .ids-checkbox label.empty,:host([no-margin]) .ids-checkbox label.empty{position:relative;top:4px}:host(.event-type-checkbox) .ids-checkbox .ids-label-text{max-width:150px}.ids-checkbox{margin-bottom:var(--ids-space-xs)}.ids-checkbox label{cursor:var(--ids-cursor-pointer);user-select:none;padding-inline-start:var(--ids-checkbox-padding-inline-start);margin-inline-end:var(--ids-checkbox-margin-inline-end);position:relative;inset-inline-start:0;display:block}.ids-checkbox label.empty::before{content:" "}.ids-checkbox label.required .label-checkbox span::after{position:relative;font-family:var(--ids-font-family-default),var(--ids-font-family-system-sans);font-size:var(--ids-font-size-md);color:var(--ids-input-required-indicator-color-text-default);content:"*";margin-inline-start:1px;top:-4px;vertical-align:text-top}.ids-checkbox label.no-required-indicator .label-checkbox span::after,.ids-checkbox label.empty .label-checkbox span::after{content:""}.ids-checkbox .label-checkbox{position:relative;top:var(--ids-checkbox-label-top, 1px)}.ids-checkbox .label-checkbox span{white-space:normal}.ids-checkbox.label-align-start{text-align:start}.ids-checkbox.label-align-end{text-align:end}.ids-checkbox.label-align-center{text-align:center}.ids-checkbox.label-align-justify{text-align:justify}.ids-checkbox.disabled label{cursor:var(--ids-cursor-default);opacity:var(--ids-checkbox-opacity-disabled)}.ids-checkbox.disabled label.required .label-checkbox span::after{color:var(--ids-input-required-indicator-color-text-disabled)}.ids-checkbox.hitbox{padding-top:var(--ids-space-12);padding-bottom:var(--ids-space-12)}.ids-checkbox.hitbox label{padding-inline-start:42px}.ids-checkbox.hitbox label span.checkmark{margin-inline-start:14px}.ids-checkbox.hitbox .validation-message{margin-inline-start:14px}.ids-checkbox.horizontal{margin-inline-end:var(--ids-space-12);display:inline-block}.ids-checkbox input[type=checkbox]{position:absolute;cursor:var(--ids-cursor-pointer);opacity:0;height:0;width:0}.ids-checkbox input[type=checkbox]~.checkmark{position:absolute;border:var(--ids-checkbox-border);border-radius:var(--ids-checkbox-border-radius);height:14px;width:14px;left:0;top:3px}.ids-checkbox input[type=checkbox].error~.checkmark{border-color:var(--ids-checkbox-color-border-error)}.ids-checkbox input[type=checkbox]:checked~.checkmark{background-color:var(--ids-checkbox-color-background-selected);border-color:var(--ids-checkbox-color-border-selected)}.ids-checkbox input[type=checkbox]:checked~.checkmark::after{position:absolute;display:block;border:var(--ids-font-size-2xs) solid var(--ids-checkbox-color-border-selected-after);border-width:var(--ids-checkbox-border-width-selected-after);animation:check .15s ease-out;transform:rotate(45deg);content:"";height:10px;left:4px;top:0;width:4px}.ids-checkbox input[type=checkbox].indeterminate~.checkmark{background-color:var(--ids-checkbox-color-background-indeterminate);border-color:var(--ids-checkbox-color-border-indeterminate)}.ids-checkbox input[type=checkbox].indeterminate~.checkmark::after{position:absolute;animation:checkindeterminate .15s ease-out;display:block;border:1px solid var(--ids-checkbox-color-border-indeterminate-after);border-width:var(--ids-checkbox-border-width-indeterminate);content:"";height:6px;left:2px;top:0;transform:none;width:10px}.ids-checkbox input[type=checkbox]:focus~.checkmark{border-color:var(--ids-checkbox-color-border-focus);box-shadow:var(--ids-checkbox-shadow-focus)}.ids-checkbox input[type=checkbox]:focus.error~.checkmark{border-color:var(--ids-checkbox-color-border-focus-error);box-shadow:var(--ids-checkbox-shadow-focus-error)}.ids-checkbox input[type=checkbox]:disabled~.checkmark{background-color:var(--ids-checkbox-color-background-disabled);border-color:var(--ids-checkbox-color-border-disabled);cursor:var(--ids-cursor-default)}.ids-checkbox input[type=checkbox]:disabled~.label-checkbox{cursor:var(--ids-cursor-default);color:var(--ids-checkbox-color-text-disabled)}.ids-checkbox input[type=checkbox]:disabled.error~.checkmark{border-color:var(--ids-checkbox-color-border-focus-error)}.ids-checkbox input[type=checkbox]:disabled:checked~.checkmark{background-color:var(--ids-checkbox-color-background-selected-disabled);border-color:var(--ids-checkbox-color-border-selected-disabled)}.ids-checkbox.no-animation input[type=checkbox]:checked~.checkmark::after{animation:none}.ids-checkbox[color=green] input[type=checkbox]~.checkmark{background-color:var(--ids-color-green-70);border-color:var(--ids-color-green-70)}.ids-checkbox[color=green] input[type=checkbox]:disabled~.checkmark{background-color:var(--ids-checkbox-color-background-disabled);border-color:var(--ids-checkbox-color-border-disabled);cursor:var(--ids-cursor-default)}.ids-checkbox[color=green] input[type=checkbox]:disabled:checked~.checkmark{background-color:var(--ids-checkbox-color-background-selected-disabled);border-color:var(--ids-checkbox-color-border-selected-disabled)}.ids-checkbox[color=green] input[type=checkbox]:focus~.checkmark{border-color:var(--ids-color-green-70)}.ids-checkbox[color=purple] input[type=checkbox]~.checkmark{background-color:var(--ids-color-purple-70);border-color:var(--ids-color-purple-70)}.ids-checkbox[color=purple] input[type=checkbox]:disabled~.checkmark{background-color:var(--ids-checkbox-color-background-disabled);border-color:var(--ids-checkbox-color-border-disabled);cursor:var(--ids-cursor-default)}.ids-checkbox[color=purple] input[type=checkbox]:disabled:checked~.checkmark{background-color:var(--ids-checkbox-color-background-selected-disabled);border-color:var(--ids-checkbox-color-border-selected-disabled)}.ids-checkbox[color=purple] input[type=checkbox]:focus~.checkmark{border-color:var(--ids-color-purple-70)}.ids-checkbox[color=blue] input[type=checkbox]~.checkmark{background-color:var(--ids-color-blue-70);border-color:var(--ids-color-blue-70)}.ids-checkbox[color=blue] input[type=checkbox]:disabled~.checkmark{background-color:var(--ids-checkbox-color-background-disabled);border-color:var(--ids-checkbox-color-border-disabled);cursor:var(--ids-cursor-default)}.ids-checkbox[color=blue] input[type=checkbox]:disabled:checked~.checkmark{background-color:var(--ids-checkbox-color-background-selected-disabled);border-color:var(--ids-checkbox-color-border-selected-disabled)}.ids-checkbox[color=blue] input[type=checkbox]:focus~.checkmark{border-color:var(--ids-color-blue-70)}.ids-checkbox[color=orange] input[type=checkbox]~.checkmark{background-color:var(--ids-color-orange-70);border-color:var(--ids-color-orange-70)}.ids-checkbox[color=orange] input[type=checkbox]:disabled~.checkmark{background-color:var(--ids-checkbox-color-background-disabled);border-color:var(--ids-checkbox-color-border-disabled);cursor:var(--ids-cursor-default)}.ids-checkbox[color=orange] input[type=checkbox]:disabled:checked~.checkmark{background-color:var(--ids-checkbox-color-background-selected-disabled);border-color:var(--ids-checkbox-color-border-selected-disabled)}.ids-checkbox[color=orange] input[type=checkbox]:focus~.checkmark{border-color:var(--ids-color-orange-70)}.ids-checkbox[color=red] input[type=checkbox]~.checkmark{background-color:var(--ids-color-red-70);border-color:var(--ids-color-red-70)}.ids-checkbox[color=red] input[type=checkbox]:disabled~.checkmark{background-color:var(--ids-checkbox-color-background-disabled);border-color:var(--ids-checkbox-color-border-disabled);cursor:var(--ids-cursor-default)}.ids-checkbox[color=red] input[type=checkbox]:disabled:checked~.checkmark{background-color:var(--ids-checkbox-color-background-selected-disabled);border-color:var(--ids-checkbox-color-border-selected-disabled)}.ids-checkbox[color=red] input[type=checkbox]:focus~.checkmark{border-color:var(--ids-color-red-70)}.ids-checkbox .validation-message{margin-top:var(--ids-space-2xs);margin-inline-start:-1px}.ids-checkbox.has-focus input[type=checkbox]~.checkmark{border-color:var(--ids-checkbox-focus-border-color);box-shadow:var(--ids-checkbox-focus-box-shadow)}:host(.in-flex-item) .ids-checkbox{display:flex;align-items:center;min-height:var(--ids-checkbox-inline-min-height, auto);margin-bottom:0}@media(width < 320px){:host(.in-flex-item) .ids-checkbox{margin-top:auto}}@media(width < 320px){:host([label-position=inline-start]) .ids-checkbox label{display:block;padding-inline-start:var(--ids-checkbox-padding-inline-start)}:host([label-position=inline-start]) .ids-checkbox .label-checkbox{width:auto;display:inline;order:2}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper{display:contents;order:1}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper .checkmark{position:absolute;inset-inline-start:0;top:3px}}@container (width < 320px){:host([label-position=inline-start]) .ids-checkbox label{display:block;padding-inline-start:var(--ids-checkbox-padding-inline-start)}:host([label-position=inline-start]) .ids-checkbox .label-checkbox{width:auto;display:inline;order:2}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper{display:contents;order:1}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper .checkmark{position:absolute;inset-inline-start:0;top:3px}}:host([label-position=inline-start]) .ids-checkbox label{display:flex;align-items:center;gap:var(--ids-space-xs);padding-inline-start:0}:host([label-position=inline-start]) .ids-checkbox .label-checkbox{width:var(--ids-label-width, auto);flex-shrink:0;display:flex;align-items:center}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper .checkmark{position:absolute;border:var(--ids-checkbox-border);border-radius:var(--ids-checkbox-border-radius);height:14px;width:14px;left:0;top:3px;position:relative;top:0;inset-inline-start:0;inset-inline-end:unset}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper input[type=checkbox]:checked~.checkmark{background-color:var(--ids-checkbox-color-background-selected);border-color:var(--ids-checkbox-color-border-selected)}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper input[type=checkbox]:checked~.checkmark::after{position:absolute;display:block;border:var(--ids-font-size-2xs) solid var(--ids-checkbox-color-border-selected-after);border-width:var(--ids-checkbox-border-width-selected-after);animation:check .15s ease-out;transform:rotate(45deg);content:"";height:10px;left:4px;top:0;width:4px}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper input[type=checkbox].indeterminate~.checkmark{background-color:var(--ids-checkbox-color-background-indeterminate);border-color:var(--ids-checkbox-color-border-indeterminate)}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper input[type=checkbox].indeterminate~.checkmark::after{position:absolute;animation:checkindeterminate .15s ease-out;display:block;border:1px solid var(--ids-checkbox-color-border-indeterminate-after);border-width:var(--ids-checkbox-border-width-indeterminate);content:"";height:6px;left:2px;top:0;transform:none;width:10px}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper input[type=checkbox]:focus~.checkmark{border-color:var(--ids-checkbox-color-border-focus);box-shadow:var(--ids-checkbox-shadow-focus)}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper input[type=checkbox]:focus.error~.checkmark{border-color:var(--ids-checkbox-color-border-focus-error);box-shadow:var(--ids-checkbox-shadow-focus-error)}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper input[type=checkbox]:disabled~.checkmark{background-color:var(--ids-checkbox-color-background-disabled);border-color:var(--ids-checkbox-color-border-disabled);cursor:var(--ids-cursor-default)}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper input[type=checkbox]:disabled:checked~.checkmark{background-color:var(--ids-checkbox-color-background-selected-disabled);border-color:var(--ids-checkbox-color-border-selected-disabled)}:host([label-position=inline-start][label-alignment=end]) .ids-checkbox .label-checkbox{justify-content:flex-end;text-align:end;top:unset}@media(width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-checkbox .label-checkbox{justify-content:flex-start;text-align:start}}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-checkbox .label-checkbox{justify-content:flex-start;text-align:start}}:host([dir=rtl]) input[type=checkbox]~.checkmark{left:initial;right:0}:host(.multiselect-checkbox.ellipsis) .ids-checkbox label{padding-inline-start:var(--ids-space-sm);overflow:hidden;text-overflow:ellipsis;vertical-align:top;display:flex}:host(.multiselect-checkbox.ellipsis) .ids-checkbox label .label-checkbox span{white-space:unset}:host(.multiselect-checkbox.ellipsis) .ids-checkbox label ids-text::part(text),:host(.multiselect-checkbox.ellipsis) .ids-checkbox label .ids-text{display:unset;position:relative;top:-1px}:host(.multiselect-checkbox.ellipsis[size=full]) .ids-checkbox label{display:flex;max-width:100%}:host(.multiselect-checkbox.ellipsis[size=full]) .ids-checkbox label .label-checkbox span{white-space:nowrap}:host(.multiselect-loaded) .ids-checkbox{text-indent:0;position:relative;top:-5px}:host(.multiselect-loaded) .ids-checkbox label{margin-inline-end:0;padding-inline-start:var(--ids-space-sm)}:host(.multiselect-checkbox) input[type=checkbox]:not(:checked):not(:disabled)~.checkmark{background-color:var(--ids-checkbox-color-background-multiselect);top:2px}:host(.multiselect-checkbox){margin-top:auto;margin-bottom:auto}:host(.multiselect-checkbox) .ids-checkbox ids-text{top:2px}:host(.multiselect-checkbox) .ids-checkbox ids-text:not(.empty){inset-inline-start:4px}:host([label-wrap=ellipsis]) .ids-checkbox .label-checkbox{display:block;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([label-wrap=ellipsis]) .ids-checkbox .label-checkbox span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([label-wrap=ellipsis-no-stretch]) .ids-checkbox .label-checkbox{display:block;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([label-wrap=ellipsis-no-stretch]) .ids-checkbox .label-checkbox span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([label-wrap=ellipsis-no-stretch]) .ids-checkbox .label-checkbox{max-width:75%}:host([label-wrap=ellipsis-no-stretch]) .ids-checkbox.label-align-end .label-checkbox{margin-inline-start:auto}:host([label-wrap=ellipsis-no-stretch]) .ids-checkbox.label-align-center .label-checkbox{margin-inline:auto}:host([label-wrap=wrap-no-stretch]) .ids-checkbox .label-checkbox{max-width:75%}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2J1aWxkcy9pbmZvci1kZXNpZ24vZW50ZXJwcmlzZS13Yy9zcmMvY29tcG9uZW50cy9pZHMtY2hlY2tib3giLCJzb3VyY2VzIjpbIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNoZWNrYm94LW1peGluLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy12YWxpZGF0aW9uLW1peGluLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jb3JlLW1peGlucy5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtbGFiZWwtcG9zaXRpb24tbWl4aW4uc2NzcyIsImlkcy1jaGVja2JveC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJDQXFJQSxpQkFDRSxHQUNFLFNBQ0EsT0FDQSxRQUNBLFFBR0YsSUFDRSxTQUNBLE9BQ0EsUUFDQSxVQUdGLEtBQ0UsWUFDQSxTQUNBLE1BQ0EsV0FJSiw4QkFDRSxHQUNFLFFBR0YsS0FDRSxZQ2hLSixvQkNRRSxtQ0FDQSxrQ0ROQSxhQUNBLDhFQUNBLGdDQUNBLHNDQUVBLG9DQUNFLG9DQUdGLDZCQUNFLDJDQUdGLDhCQUNFLHVDQUdGLDBCQUNFLHVDQUVBLG1DQUNFLGlDQUlKLDRCQUNFLHVDQUVBLHFDQUNFLGlDQUlKLDBCQUNFLHFDQUVBLG1DQUNFLDhCQUlKLHlCQUNFLG9DQUVBLGtDQUNFLCtCQUlKLDRCQUNFLHVDQUVBLHFDQUNFLGdDQUlKLDRCQUNFLGFBS0Ysb0RBQ0UsYUVoRUYsbUdBRUUsYUFDQSw2Q0FHQSwrR0FDRSw2QkFDQSw2Q0FDQSxxQkFDQSxzQkFDQSxjQUlGLDJJQUNFLFdBQ0Esd0NBRUEseUJBSkYsMklBS0ksdUJBS0Ysc0JBREYsbUlBRUkscUJBR0Ysb0NBTEYsbUlBTUkscUJBSUoseUJBbENGLG1HQW1DSSxlQUNBLFFBRUEsK0dBQ0UsY0FDQSxvQkFDQSxRQUdGLHFJQUNFLFFBR0YsK0lBQ0UsUUFDQSxjQUNBLFlBR0YsMklBQ0UsY0FDQSxlQUNBLFFBQ0Esb0RBSUEsMkpBQ0Usb0RBQ0Esd0RBTVIsbURBQ0UsK0JBR0YseUJBQ0UsbURBQ0UsYUFDQSxlQUNBLDZDQUdBLHlEQUNFLGFBQ0EsbUJBQ0EsV0FDQSw2Q0FDQSxzQkFDQSx3QkFHRixtRUFDRSw2QkFDQSxjQUdGLHFFQUNFLGtCQUNBLG9CQUdGLG9FQUNFLE9BR0YsdUVBQ0UsV0FDQSx1RUFDQSx5Q0FLTiw4QkFDRSxtREFDRSxhQUNBLGVBQ0EsNkNBR0EseURBQ0UsYUFDQSxtQkFDQSxXQUNBLDZDQUNBLHNCQUNBLHdCQUdGLG1FQUNFLDZCQUNBLGNBR0YscUVBQ0Usa0JBQ0Esb0JBR0Ysb0VBQ0UsT0FHRix1RUFDRSxXQUNBLHVFQUNBLHlDQVFOLHVFQUNFLHNCQUVBLHVCQUhGLHVFQUlJLGFBQ0EsZUFDQSw2Q0FFQSw2RUFDRSxhQUNBLG1CQUNBLFdBQ0EsNkNBQ0EsdURBQ0Esc0JBQ0Esd0JBR0YsdUZBQ0UsNkJBQ0EsY0FHRix5RkFDRSxrQkFDQSxvQkFHRix3RkFDRSxPQUdGLDJGQUNFLFdBQ0EsdUVBQ0EseUNBT04sNklBRUUsbUNBRUEsc1VBRUUsb0JBQ0EsbUJBQ0EseUJBQ0EsZUFDQSxrQkFFQSxzQkFSRixzVUFTSSwyQkFDQSxpQkFDQSxrQkFHRiwyQkFkRixzVUFlSSwyQkFDQSxpQkFDQSxrQkFJQSxzWUFDRSxvQkFDQSxrQkFDQSxpQkFDQSxzQkFDQSxRQUdBLDJCQVJGLHNZQVNJLGlCQUNBLGlCQUNBLDBCQUlGLHNCQWZGLHNZQWdCSSxpQkFDQSxpQkFDQSwwQkFPViwyRUFDRSxPQUdGLHFNQUVFLHdEQUlBLDhFQUNFLGVBRUEsc0JBSEYsOEVBSUksa0JBR0YsMkJBUEYsOEVBUUksa0JBSUEsbUhBQ0Usb0JBQ0Esa0JBQ0EsaUJBQ0EsV0FDQSxTQU9SLHNCQUVJLDRFQUNFLG9CQUNBLG1CQUNBLHlCQUNBLGVBRUEsMkJBTkYsNEVBT0ksNkJBR0YseUNBVkYsNEVBV0ksNEJBUU4scUdBQ0Usb0JBQ0EsbUJBQ0EseUJBSUosMkJBRUkscUdBQ0UsNEJBT04sK1JBRUUsMENBT0YsZ2NBRUUsYUFDQSxpQkFFQSx3ZEFDRSxjQUdGLG9nQkFDRSxZQUNBLGNBSUYsZ2hCQUNFLFdBQ0Esc0JBUUosa1hBRUUsYUFDQSxNQUNBLDBDQUNBLDBDQUVBLDBZQUNFLGNBQ0EsV0FHRixzYkFDRSxjQUNBLFdBQ0EsWUFHRixrY0FDRSxpQkFDQSxXQUNBLFdBQ0Esc0JBQ0Esd0NBR0Ysa2VBQ0UsY0FDQSxzQkFHRix3L0NBQ0UsMkJBTUosbUVBQ0Usb0RBSUEsZ0dBQ0UsbUJBQ0Esb0JBTUEsNkZBQ0UsYUFPTixzQkFDRSxnRkFDRSxhQUNBLCtDQUVBLDBHQUNFLDZCQUNBLGNBR0YscUZBQ0UsYUFDQSxzQkFDQSxlQUtOLDJCQUNFLGdGQUNFLGFBQ0EsK0NBRUEsMEdBQ0UsNkJBQ0EsY0FHRixxRkFDRSxhQUNBLHNCQUNBLGVBS04sc0JBQ0UsdUpBRUUsY0FHRiw2RUFDRSxPQUlKLDJCQUNFLHVPQUdFLGdCQU1KLHVCQUNFLDZHQUNFLGNBQ0EsTUFFQSxtSEFDRSxnQkFDQSw4Q0FPTixzQkFDRSxnRkFDRSxhQUNBLCtDQUVBLDBHQUNFLDZCQUNBLGNBR0YscUZBQ0UsYUFDQSxzQkFDQSxlQUtMLDJCQUNDLGdGQUNFLGFBQ0EsK0NBRUEsMEdBQ0UsNkJBQ0EsY0FHRixxRkFDRSxhQUNBLHNCQUNBLGVBT04seUlBRUUsYUFDQSxzQkFDQSxvQkFFQSxxSkFDRSxXQUNBLGNBR0YsMktBQ0UsWUFDQSxjQUlGLGlMQUNFLFdBQ0Esc0JBUUosOElBQ0UsYUFPQSw2T0FDRSxzQkFFQSwrUEFDRSxxQkFFQSw2UUFDRSx1QkFLTixxUUFDRSx3REFRSixtSkFFRSxhQUVBLCtKQUNFLGNBQ0EsUUFHRixxTEFDRSxZQUNBLGNBQ0EsUUFJSix3RUFDRSwrQkFLRixzQkFDRSw4RUFDRSxhQUNBLCtDQUVBLHdHQUNFLDZCQUNBLG9CQUNBLGNBQ0EsUUFHRixtRkFDRSxhQUNBLHNCQUNBLGNBQ0EsU0FPTixxSUFFRSxhQUNBLHNCQUNBLG9CQUVBLGlKQUNFLFdBQ0EsY0FDQSxRQUdGLHVLQUNFLFlBQ0EsY0FDQSxRQUlGLDZLQUNFLHNCQUNBLFFBSUosaUVBQ0UsK0JBSUoscUNBQ0UsdURBU0Usc1ZBQ0UsNENBR0YsOFhBQ0UsaUJBTU4sc0JBRUksbURBQ0UsK0NBRUEsbUVBQ0UsNENBT1Isc0JBRUksdURBQ0UsYUFDQSxlQUNBLCtDQUVBLDZEQUNFLDZCQUNBLDZDQUNBLHVEQUNBLHNCQUlGLHdFQUNFLGtCQUNBLDBDQUlGLDJFQUNFLFdBQ0EseUNBUU4sc0JBRUksa0VBQ0UsNkNBR0YsZ0ZBQ0UsNkJBTVIseUJBRUksNEZBQ0UsY0FHRixnRkFDRSxzQkFPTixzQkFHSSwwR0FDRSxhQUNBLGlEQUNBLCtCQUVBLDhKQUNFLGlDQUNBLDJDQUdGLG9IQUNFLGFBQ0Esc0JBTUosOEVBQ0Usb0JBQ0EsUUFHRix5REFDRSxTQUtOLHNCQUVJLHVFQUNFLGFBQ0EsK0NBQ0EsK0JBQ0Esc0JBRUEsaUdBQ0UsaUNBQ0EsUUFHRiw0RUFDRSxhQUNBLHNCQUNBLFNBT04sMkJBQ0UsdUVBQ0UsYUFDQSwrQ0FDQSwrQkFDQSxzQkFFQSxpR0FDRSxpQ0FDQSxRQUdGLDRFQUNFLGFBQ0Esc0JBQ0EsU0FPUixzQkFDRSxpREFDRSxhQUNBLGVBQ0EsK0NBRUEsdURBQ0UsNkJBQ0EsNkNBQ0EsdURBQ0EsdUJBQ0Esc0JBR0YsOEVBQ0UsV0FDQSxZQUtGLHVGQUNFLFdBQ0EsZUFNTixzQkFDRSxxREFDRSxhQUNBLG1CQUNBLFFBQ0EsK0NBRUEsNERBQ0UsNkJBQ0EsNkNBQ0Esc0JBQ0EsbUJBQ0EsbUJBR0YsNkhBRUUsYUFDQSw4Q0FNTix5QkFFSSwwSkFHRSxhQUNBLHNCQUNBLGtCQUVBLDRLQUNFLFdBQ0EsaUJBQ0EsaUJBR0Ysc05BQ0Usc0JBTUosb0pBR0UsYUFDQSxzQkFDQSxrQkFDQSwrQkFFQSxzS0FDRSxXQUNBLGlCQUNBLGlCQUdGLGdOQUNFLHVCQU1SLDhCQUVJLDBKQUdFLGFBQ0Esc0JBQ0Esa0JBRUEsNEtBQ0UsV0FDQSxpQkFDQSxpQkFHRixzTkFDRSxzQkFNSixvSkFHRSxhQUNBLHNCQUNBLGtCQUNBLCtCQUVBLHNLQUNFLFdBQ0EsaUJBQ0EsaUJBR0YsZ05BQ0UsdUJBT04seUJBQ0Usb0ZBQ0UsY0FLTiw4QkFFSSxvRkFDRSxjQWNGLCtXQUVFLDZCQzU3Qk4sZ0JBQ0UsYUFHRixrSUFFRSxvQkFHRixtRUFFRSw2QkFFQSwyRkFDRSxrQkFDQSxRQUtGLDBEQUNFLGdCQUlKLGNBQ0Usa0NBRUEsb0JBQ0UsaUNBQ0EsaUJBQ0EsOERBQ0Esd0RBQ0Esa0JBQ0EscUJBQ0EsY0FFQSxrQ0FDRSxZQUdGLHlEQUNFLGtCQUNBLDhFQUNBLGtDQUNBLDZEQUNBLFlBQ0Esd0JBQ0EsU0FDQSx3QkFLQSw0SEFDRSxXQUtOLDhCQUNFLGtCQUNBLHVDQUVBLG1DQUNFLG1CQU1GLGdDQUNFLGlCQUdGLDhCQUNFLGVBR0YsaUNBQ0Usa0JBR0Ysa0NBQ0UsbUJBSUosNkJBQ0UsaUNBQ0EsNkNBRUEsa0VBQ0MsOERBSUgscUJBQ0UsZ0NBQ0EsbUNBRUEsMkJBQ0UsMEJBRUEsMENBQ0UseUJBSUoseUNBQ0UseUJBSUoseUJBQ0Usc0NBQ0EscUJBR0YsbUNBQ0Usa0JBQ0EsaUNBQ0EsVUFDQSxTQUNBLFFBRUEsOENKeEpGLGtCQUNBLGtDQUNBLGdEQUNBLFlBQ0EsV0FDQSxPQUNBLFFJc0pFLG9ESmxKRixvRElzSkUsc0RKakpGLCtEQUNBLHVESW1KSSw2REovSUosa0JBQ0EsY0FDQSxzRkFDQSw2REFDQSw4QkFDQSx3QkFDQSxXQUNBLFlBQ0EsU0FDQSxNQUNBLFVJMElFLDRESnJJRixvRUFDQSw0REl1SUksbUVKbklKLGtCQUNBLDJDQUNBLGNBQ0Esc0VBQ0EsNERBQ0EsV0FDQSxXQUNBLFNBQ0EsTUFDQSxlQUNBLFdJOEhFLG9ESnBHRixvREFDQSw0Q0l1R0UsMERKbkdGLDBEQUNBLGtESXVHSSx1REpsSUosK0RBQ0EsdURBQ0EsaUNJb0lJLDRESnZISixpQ0FDQSw4Q0kwSEksNkRKcElKLDBESXdJSSwrREpwSUosd0VBQ0EsZ0VJMElFLDBFQUNFLGVKOUdBLDJEQW9CSixpQkF2QlUsMEJBd0JWLGFBeEJVLDBCQU9OLG9FQTVDSiwrREFDQSx1REFDQSxpQ0E4Q0ksNEVBdENKLHdFQUNBLGdFQXlDSSxpRUFhSixhQTVCVSwwQkFHTiw0REFvQkosaUJBdkJVLDJCQXdCVixhQXhCVSwyQkFPTixxRUE1Q0osK0RBQ0EsdURBQ0EsaUNBOENJLDZFQXRDSix3RUFDQSxnRUF5Q0ksa0VBYUosYUE1QlUsMkJBR04sMERBb0JKLGlCQXZCVSx5QkF3QlYsYUF4QlUseUJBT04sbUVBNUNKLCtEQUNBLHVEQUNBLGlDQThDSSwyRUF0Q0osd0VBQ0EsZ0VBeUNJLGdFQWFKLGFBNUJVLHlCQUdOLDREQW9CSixpQkF2QlUsMkJBd0JWLGFBeEJVLDJCQU9OLHFFQTVDSiwrREFDQSx1REFDQSxpQ0E4Q0ksNkVBdENKLHdFQUNBLGdFQXlDSSxrRUFhSixhQTVCVSwyQkFHTix5REFvQkosaUJBdkJVLHdCQXdCVixhQXhCVSx3QkFPTixrRUE1Q0osK0RBQ0EsdURBQ0EsaUNBOENJLDBFQXRDSix3RUFDQSxnRUF5Q0ksK0RBYUosYUE1QlUsd0JJd0hWLGtDQUNFLGdDQUNBLHlCQUlBLHdEQUNFLG9EQUNBLGdEQU1KLG1DQUNFLGFBQ0EsbUJBQ0EsdURBQ0EsZ0JBRUEsc0JBTkYsbUNBT0ksaUJBT0osc0JBQ0UseURBQ0UsY0FDQSw4REFHRixtRUFDRSxXQUNBLGVBQ0EsUUFJRixxRUFDRSxpQkFDQSxRQUVBLGdGQUNFLGtCQUNBLHFCQUNBLFNBS04sMkJBQ0UseURBQ0UsY0FDQSw4REFHRixtRUFDRSxXQUNBLGVBQ0EsUUFJRixxRUFDRSxpQkFDQSxRQUVBLGdGQUNFLGtCQUNBLHFCQUNBLFNBTU4seURBQ0UsYUFDQSxtQkFDQSx3QkFDQSx1QkFHRixtRUFDRSxtQ0FDQSxjQUNBLGFBQ0EsbUJBR0YscUVBQ0Usa0JBQ0Esb0JBQ0EsbUJBQ0EsdUJBQ0EsY0FFQSwwRkFDRSxrQkFDQSxVQUNBLFFBQ0EsU0FHRixnRkovVEYsa0JBQ0Esa0NBQ0EsZ0RBQ0EsWUFDQSxXQUNBLE9BQ0EsUUk0VEksa0JBQ0EsTUFDQSxxQkFDQSx1QkFHRiw2R0p6VEYsK0RBQ0EsdURJMlRJLG9ISnZUSixrQkFDQSxjQUNBLHNGQUNBLDZEQUNBLDhCQUNBLHdCQUNBLFdBQ0EsWUFDQSxTQUNBLE1BQ0EsVUlrVEUsbUhKN1NGLG9FQUNBLDRESStTSSwwSEozU0osa0JBQ0EsMkNBQ0EsY0FDQSxzRUFDQSw0REFDQSxXQUNBLFdBQ0EsU0FDQSxNQUNBLGVBQ0EsV0lzU0UsMkdKNVFGLG9EQUNBLDRDSStRRSxpSEozUUYsMERBQ0Esa0RJK1FJLDhHSjFTSiwrREFDQSx1REFDQSxpQ0k0U0ksc0hKcFNKLHdFQUNBLGdFSTRTQSx3RkFDRSx5QkFDQSxlQUNBLFVBR0Ysc0JBQ0Usd0ZBQ0UsMkJBQ0Esa0JBSUosMkJBQ0Usd0ZBQ0UsMkJBQ0Esa0JBT0osaURBQ0UsYUFDQSxRQU1GLDBEQUNFLHlDQUNBLGdCQUNBLHVCQUNBLG1CQUNBLGFBRUEsK0VBQ0Usa0JBR0YsbUpBRUUsY0FDQSxrQkFDQSxTQU1KLHFFQUNFLGFBQ0EsZUFFQSwwRkFDRSxtQkFNSix5Q0FDRSxjQUNBLGtCQUNBLFNBRUEsK0NBQ0Usb0JBQ0EseUNBT0osMEZBQ0Usa0VBQ0EsUUFISiw2QkFNRSxnQkFDQSxtQkFFQSxvREFDRSxRQUVBLGdFQUNFLHVCQXZjRiwyREFDRSxjQUNBLFdBQ0EsZUFDQSxnQkFDQSx1QkFDQSxtQkFFQSxnRUFDRSxnQkFDQSx1QkFDQSxtQkFYSixzRUFDRSxjQUNBLFdBQ0EsZUFDQSxnQkFDQSx1QkFDQSxtQkFFQSwyRUFDRSxnQkFDQSx1QkFDQSxtQkFTSixzRUFDRSxjQStiSixzRkFDRSx5QkFHRix5RkFDRSxtQkFyY0Esa0VBQ0UiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENoZWNrYm94IE1peGlucy5cbiAqL1xuQHVzZSAnc2FzczpsaXN0JztcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zJyBhcyBtaXhpbnM7XG5cbi8vIFVuY2hlY2tlZFxuQG1peGluIGNoZWNrYm94LXVuY2hlY2tlZCgpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IHZhcigtLWlkcy1jaGVja2JveC1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1pZHMtY2hlY2tib3gtYm9yZGVyLXJhZGl1cyk7XG4gIGhlaWdodDogMTRweDtcbiAgd2lkdGg6IDE0cHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogM3B4O1xufVxuXG5AbWl4aW4gY2hlY2tib3gtdW5jaGVja2VkLWVycm9yIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLWVycm9yKTtcbn1cblxuLy8gQ2hlY2tlZFxuQG1peGluIGNoZWNrYm94LWNoZWNrZWQoKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1iYWNrZ3JvdW5kLXNlbGVjdGVkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLXNlbGVjdGVkKTtcbn1cblxuQG1peGluIGNoZWNrYm94LWNoZWNrZWQtYWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IHZhcigtLWlkcy1mb250LXNpemUtMnhzKSBzb2xpZCB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLXNlbGVjdGVkLWFmdGVyKTtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1pZHMtY2hlY2tib3gtYm9yZGVyLXdpZHRoLXNlbGVjdGVkLWFmdGVyKTtcbiAgYW5pbWF0aW9uOiBjaGVjayAwLjE1cyBlYXNlLW91dDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiAxMHB4O1xuICBsZWZ0OiA0cHg7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDRweDtcbn1cblxuLy8gSW5kZXRlcm1pbmF0ZVxuQG1peGluIGNoZWNrYm94LWluZGV0ZXJtaW5hdGUoKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1iYWNrZ3JvdW5kLWluZGV0ZXJtaW5hdGUpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItaW5kZXRlcm1pbmF0ZSk7XG59XG5cbkBtaXhpbiBjaGVja2JveC1pbmRldGVybWluYXRlLWFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBhbmltYXRpb246IGNoZWNraW5kZXRlcm1pbmF0ZSAwLjE1cyBlYXNlLW91dDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItaW5kZXRlcm1pbmF0ZS1hZnRlcik7XG4gIGJvcmRlci13aWR0aDogdmFyKC0taWRzLWNoZWNrYm94LWJvcmRlci13aWR0aC1pbmRldGVybWluYXRlKTtcbiAgY29udGVudDogJyc7XG4gIGhlaWdodDogNnB4O1xuICBsZWZ0OiAycHg7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB3aWR0aDogMTBweDtcbn1cblxuLy8gRGlzYWJsZWRcbkBtaXhpbiBjaGVja2JveC1kaXNhYmxlZC11bmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1kaXNhYmxlZCk7XG4gIGN1cnNvcjogdmFyKC0taWRzLWN1cnNvci1kZWZhdWx0KTtcbn1cblxuQG1peGluIGNoZWNrYm94LWRpc2FibGVkLXVuY2hlY2tlZC1lcnJvciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1mb2N1cy1lcnJvcik7XG59XG5cbkBtaXhpbiBjaGVja2JveC1kaXNhYmxlZC1jaGVja2VkKCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYmFja2dyb3VuZC1zZWxlY3RlZC1kaXNhYmxlZCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1zZWxlY3RlZC1kaXNhYmxlZCk7XG59XG5cbkBtaXhpbiBjaGVja2JveC1kaXNhYmxlZC10ZXh0IHtcbiAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLWRlZmF1bHQpO1xuICBjb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLXRleHQtZGlzYWJsZWQpO1xufVxuXG4vLyBGb2N1c1xuQG1peGluIGNoZWNrYm94LWZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLWZvY3VzKTtcbiAgYm94LXNoYWRvdzogdmFyKC0taWRzLWNoZWNrYm94LXNoYWRvdy1mb2N1cyk7XG59XG5cbkBtaXhpbiBjaGVja2JveC1mb2N1cy1lcnJvciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1mb2N1cy1lcnJvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLWlkcy1jaGVja2JveC1zaGFkb3ctZm9jdXMtZXJyb3IpO1xufVxuXG4vLyBDb2xvcmVkXG4kY29sb3ItbmFtZXM6ICdncmVlbicgJ3B1cnBsZScgJ2JsdWUnICdvcmFuZ2UnICdyZWQnO1xuJGNvbG9yLXZhcnM6IC0taWRzLWNvbG9yLWdyZWVuLTcwIC0taWRzLWNvbG9yLXB1cnBsZS03MCAtLWlkcy1jb2xvci1ibHVlLTcwIC0taWRzLWNvbG9yLW9yYW5nZS03MCAtLWlkcy1jb2xvci1yZWQtNzA7XG5cbkBtaXhpbiBjaGVja2JveC1jb2xvcmVkKCkge1xuICBAZWFjaCAkbmFtZSBpbiAkY29sb3ItbmFtZXMge1xuICAgICRpOiBsaXN0LmluZGV4KCRjb2xvci1uYW1lcywgJG5hbWUpO1xuICAgICRjb2xvcjogdmFyKCN7bGlzdC5udGgoJGNvbG9yLXZhcnMsICRpKX0pO1xuXG4gICAgJltjb2xvcj0nI3skbmFtZX0nXSBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICAgIH4gLmNoZWNrbWFyayB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWNvbG9yZWQtYm94KCRjb2xvcik7XG4gICAgICB9XG5cbiAgICAgICY6ZGlzYWJsZWQgfiAuY2hlY2ttYXJrIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3gtZGlzYWJsZWQtdW5jaGVja2VkKCk7XG4gICAgICB9XG5cbiAgICAgICY6ZGlzYWJsZWQ6Y2hlY2tlZCB+IC5jaGVja21hcmsge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC1kaXNhYmxlZC1jaGVja2VkKCk7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMgfiAuY2hlY2ttYXJrIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3gtY29sb3JlZC1ib3gtZm9jdXMoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNoZWNrYm94LWNvbG9yZWQtYm94KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gY2hlY2tib3gtY29sb3JlZC1ib3gtZm9jdXMoJGNvbG9yKSB7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xufVxuXG5cbi8vIEFuaW1hdGlvbnNcbkBrZXlmcmFtZXMgY2hlY2sge1xuICAwJSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA4cHg7XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICA1MCUge1xuICAgIGhlaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogOHB4O1xuICAgIHdpZHRoOiA0cHg7XG4gIH1cblxuICAxMDAlIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbGVmdDogNHB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNHB4O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2hlY2tpbmRldGVybWluYXRlIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDEwcHg7XG4gIH1cbn1cbiIsIkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zJyBhcyBtaXhpbnM7XG5cbi52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICBAaW5jbHVkZSBtaXhpbnMuYW50aWFsaWFzZWQoKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LWZhbWlseTogdmFyKC0taWRzLWZvbnQtZmFtaWx5LWRlZmF1bHQpLCB2YXIoLS1pZHMtZm9udC1mYW1pbHktc3lzdGVtLXNhbnMpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtZnVsbCk7XG5cbiAgJi5oYXMtY3VzdG9tLWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtaWNvbi1jb2xvci1kZWZhdWx0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gIH1cblxuICAuaWRzLWljb24ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgfVxuXG4gICYuYWxlcnQge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3ItY2F1dGlvbi1kZWZhdWx0KTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci15ZWxsb3ctMzApO1xuICAgIH1cbiAgfVxuXG4gICYud2FybmluZyB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci13YXJuaW5nLWRlZmF1bHQpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLW9yYW5nZS0zMCk7XG4gICAgfVxuICB9XG5cbiAgJi5lcnJvciB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1lcnJvci1kZWZhdWx0KTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1yZWQtMzApO1xuICAgIH1cbiAgfVxuXG4gICYuaW5mbyB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1pbmZvLWRlZmF1bHQpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLWJsdWUtMzApO1xuICAgIH1cbiAgfVxuXG4gICYuc3VjY2VzcyB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1zdWNjZXNzLWRlZmF1bHQpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLWdyZWVuLTMwKTtcbiAgICB9XG4gIH1cblxuICAmW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoW3N1cHByZXNzLWVycm9yLW1lc3NhZ2VdKSB7XG4gIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnRzIC0gdGhpcyBjYW50IGJlIHRva2Vuc1xuJGJyZWFrcG9pbnQteHhsOiAyNDYzcHg7XG4kYnJlYWtwb2ludC14bDogMTE4M3B4O1xuJGJyZWFrcG9pbnQtbGc6IDkyOHB4O1xuJGJyZWFrcG9pbnQtbWQ6IDkyN3B4O1xuJGJyZWFrcG9pbnQtc206IDc2N3B4O1xuJGJyZWFrcG9pbnQteHM6IDMyMHB4O1xuXG4vLyBTZXRzIFRleHQgQW50aWFsaWFzaW5nXG5AbWl4aW4gYW50aWFsaWFzZWQge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLy8gdmVuZG9yIHByZWZpeGVkIHRyYW5zaXRpb25zIGZvciByZWd1bGFyIGF0dHJpYnV0ZXMgKG5vbi12ZW5kb3IgcHJlZml4ZWQpXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbnMtbGlzdC4uLikge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgI3skcHJlZml4fXRyYW5zaXRpb246ICR0cmFuc2l0aW9ucy1saXN0O1xuICB9XG59XG5cbi8vIG1ha2UgdGhlIHRleHQgaW52aXNpYmxlIHZpc3VhbGx5IGJ1dCByZWFkYWJsZSBieSBzY3JlZW4gcmVhZGVyc1xuQG1peGluIGF1ZGlibGUoKSB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1uby1kZXByZWNhdGVkICovXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cbiIsIi8vIExhYmVsIHBvc2l0aW9uIHN0eWxlc1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMnIGFzICo7XG5cbi8vIExlZnQgYWxpZ25lZCBhbmQgUmlnaHQgQWxpZ25lZCBMYWJlbHNcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG5cbiAgICAvLyBBZGp1c3QgdGhlIGxhYmVsXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGlvbiBvbiB0aGUgYm90dG9tXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZCkge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBAbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICB9XG5cbiAgICAgIEBjb250YWluZXIgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhzKSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBnYXA6IDhweDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0YXJlYS1maWVsZC1ncm91cCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYygwcHggLSB2YXIoLS1pZHMtc3BhY2UtMnhzKSk7XG4gICAgICB9XG5cbiAgICAgICYud3JhcHBlZCB7XG4gICAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYygwcHggLSB2YXIoLS1pZHMtc3BhY2UtMnhzKSk7XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgNnB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pZHMtY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWlkcy1zcGFjZS0wMCk7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLWNoZWNrYm94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG5cbiAgICAgIC8vIEFkanVzdCB0aGUgbGFiZWxcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICAgICAgfVxuXG4gICAgICAubGFiZWwtY2hlY2tib3gge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIC5jaGVja2JveC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgdmFyKC0taWRzLXNwYWNlLXhzKSk7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGNvbnRhaW5lciAobWluLXdpZHRoOiAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIC5pZHMtY2hlY2tib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgY2VudGVyKTtcblxuICAgICAgLy8gQWRqdXN0IHRoZSBsYWJlbFxuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgICB9XG5cbiAgICAgIC5sYWJlbC1jaGVja2JveCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLmNoZWNrYm94LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyB2YXIoLS1pZHMtc3BhY2UteHMpKTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBhbGlnbmVkOiB1c2Ugdmlld3BvcnQgbWVkaWEgcXVlcnkgaW5zdGVhZCBvZiBjb250YWluZXIgcXVlcnlcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11baG9yaXpvbnRhbC1hbGlnbmVkXSkge1xuICAuaWRzLWNoZWNrYm94IHtcbiAgICBjb250YWluZXItdHlwZTogbm9ybWFsO1xuXG4gICAgQG1lZGlhICh3aWR0aCA8PSAkYnJlYWtwb2ludC14cykge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgY2VudGVyKTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWlubGluZS1lbmQpO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgICB9XG5cbiAgICAgIC5sYWJlbC1jaGVja2JveCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLmNoZWNrYm94LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyB2YXIoLS1pZHMtc3BhY2UteHMpKTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9XCJlbmRcIl0pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZ2FwOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ25tZW50LWdhcCk7XG5cbiAgICBsYWJlbCxcbiAgICAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgQG1lZGlhICh3aWR0aCA8ICRicmVha3BvaW50LXhzKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgfVxuXG4gICAgICBAY29udGFpbmVyICh3aWR0aCA8ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgfVxuXG4gICAgICAmLnJlcXVpcmVkIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAtNXB4O1xuICAgICAgICAgIHRvcDogN3B4O1xuXG4gICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgICAgQGNvbnRhaW5lciAod2lkdGggPCAjeyRicmVha3BvaW50LXhzfSkge1xuICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IGluaXRpYWw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgICAgQG1lZGlhICh3aWR0aCA8ICRicmVha3BvaW50LXhzKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogaW5pdGlhbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmllbGQtY29udGFpbmVyIHtcbiAgICBmbGV4OiAxO1xuICB9XG5cbiAgLmlkcy1pbnB1dC53cmFwcGVkIC52YWxpZGF0aW9uLW1lc3NhZ2UsXG4gIC5pZHMtdGV4dGFyZWEud3JhcHBlZCAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyAxNHB4KTtcbiAgfVxuXG4gIC5pZHMtY2hlY2tib3gge1xuICAgIGxhYmVsIHtcbiAgICAgIHRleHQtYWxpZ246IGVuZDtcblxuICAgICAgQG1lZGlhICh3aWR0aCA8ICRicmVha3BvaW50LXhzKSB7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgfVxuXG4gICAgICBAY29udGFpbmVyICh3aWR0aCA8ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgfVxuXG4gICAgICAmLnJlcXVpcmVkIC5sYWJlbC1jaGVja2JveCBzcGFuIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICByaWdodDogLTVweDtcbiAgICAgICAgICB0b3A6IC01cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTd2l0Y2ggbGFiZWwtYWxpZ25tZW50IGVuZFxuICBAbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQtc20pIHtcbiAgICAuaWRzLXN3aXRjaCB7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG5cbiAgICAgICAgQGNvbnRhaW5lciAod2lkdGggPCAjeyRicmVha3BvaW50LXhzfSkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAod2lkdGggPCAkYnJlYWtwb2ludC14cykge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJhZGlvIGdyb3VwIGxhYmVsLWFsaWdubWVudCBlbmRcbiAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbiAgfVxuXG4gIEBjb250YWluZXIgKHdpZHRoIDwgI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYWxpZ25tZW50PVwiZW5kXCJdW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXVt2YWxpZGF0aW9uLW1lc3NhZ2UtY291bnRdOm5vdChbZXJyb3ItdHJhY2tlcl0pKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGNvbHVtbi1nYXA6IHZhcigtLWlkcy1sYWJlbC1hbGlnbm1lbnQtZ2FwKTtcbiAgfVxufVxuXG4vLyBMYWJlbCBicmVhayBiZWhhdmlvciBmb3IgaW5saW5lLXN0YXJ0IHBvc2l0aW9uXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXTpub3QoW3ZhbGlkYXRpb24tbWVzc2FnZS1jb3VudF0pKSxcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYnJlYWs9J3Nocmluay12YWx1ZSddW3ZhbGlkYXRpb24tbWVzc2FnZS1jb3VudF1bZXJyb3ItdHJhY2tlcl0pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIGxhYmVsIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgfVxuXG4gICAgLy8gS2VlcCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGJlbG93IHRoZSBmaWVsZFxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXaGVuIHZhbGlkYXRpb24gaXMgcHJlc2VudCB3aXRoIHNocmluay12YWx1ZSwgdXNlIGdyaWQgdG8ga2VlcCBmaWVsZCB3aWR0aCBzdGFibGVcbjpob3N0KC5pbi1mbGV4LWl0ZW1bbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSxcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYnJlYWs9J3Nocmluay12YWx1ZSddW3ZhbGlkYXRpb24tbWVzc2FnZS1jb3VudF06bm90KFtlcnJvci10cmFja2VyXSkpIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDA7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpO1xuICAgIGNvbHVtbi1nYXA6IHZhcigtLWlkcy1sYWJlbC1hbGlnbm1lbnQtZ2FwKTtcblxuICAgIGxhYmVsIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgfVxuXG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAmLndyYXBwZWQgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuXG4gICAgJi5zbSwgJi5tbSwgJi5tZCwgJi5sZyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbjpob3N0KC5pbi1mbGV4LWl0ZW1bbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSB7XG4gIC5pZHMtaW5wdXQgbGFiZWwge1xuICAgIG1heC1oZWlnaHQ6IHZhcigtLWlkcy1sYWJlbC1tYXgtaGVpZ2h0LWlubGluZS1zdGFydCk7XG4gIH1cblxuICAuaWRzLWNoZWNrYm94IHtcbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIH4gLmNoZWNrbWFyayB7XG4gICAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgaWRzLXRleHQge1xuICAgICAgJi5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ10pIHtcbiAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIHNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAY29udGFpbmVyICh3aWR0aCA+ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIHNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKHdpZHRoIDwgJGJyZWFrcG9pbnQteHMpIHtcbiAgICAuaWRzLWlucHV0LFxuICAgIC5pZHMtdGV4dGFyZWEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmlkcy10ZXh0YXJlYSB7XG4gICAgICBnYXA6IDA7XG4gICAgfVxuICB9XG5cbiAgQGNvbnRhaW5lciAod2lkdGggPCAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSxcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ106bm90KFt2YWxpZGF0aW9uLW1lc3NhZ2UtY291bnRdKSkge1xuICBAbWVkaWEgKHdpZHRoIDw9ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy10ZXh0YXJlYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGdhcDogMDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1pZHMtaW5wdXQtbWFyZ2luLWJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYnJlYWs9J3Nocmluay1sYWJlbCddKSB7XG4gIEBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC14cykge1xuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgfVxuXG4gICAgICBzbG90IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgIEBjb250YWluZXIgKHdpZHRoID4gI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdicmVhayddKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgIGxhYmVsIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG5cbiAgICAvLyBLZWVwIHZhbGlkYXRpb24gbWVzc2FnZXMgYmVsb3cgdGhlIGZpZWxkXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtd2lkdGg9XCIwcHhcIl0pLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC13aWR0aD1cIjBcIl0pIHtcbiAgLy8gV2hlbiBhIGxhYmVsIGlzIFwiaW5saW5lLXN0YXJ0XCIgYW5kIGBsYWJlbC13aWR0aD1cIjBweFwiYCBzaW1wbHkgZG9uJ3QgZGlzcGxheSBpdFxuICAuaWRzLWxhYmVsLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9XCJlbmRcIl1bbGFiZWwtd3JhcD1cImVsbGlwc2lzLW5vLXN0cmV0Y2hcIl0pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA1cHg7XG5cbiAgICAgICYucmVxdWlyZWQge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IC0xMXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi53cmFwcGVkIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgMTFweCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTGFiZWwgYnJlYWsgYmVoYXZpb3IgZm9yIGlubGluZS1lbmQgcG9zaXRpb25cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgbGFiZWwge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1pbnB1dCB7XG4gICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLWxhYmVsJ10pIHtcbiAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ11bbGFiZWwtYnJlYWs9J2JyZWFrJ10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG9yZGVyOiAyO1xuICAgIH1cblxuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG5cbiAgICAvLyBLZWVwIHZhbGlkYXRpb24gbWVzc2FnZXMgYmVsb3cgdGhlIGZpZWxkXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgb3JkZXI6IDM7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1pbnB1dCB7XG4gICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl0pIHtcbiAgLS1pZHMtbGFiZWwtd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aC1pbmxpbmUtc3RhcnQpO1xufVxuXG4vLyBXaGVuIGxhYmVsLXdyYXAgY29uc3RyYWlucyB0aGUgbGFiZWwgc2l6ZSwgZW5zdXJlIGl0IHN0YXlzIHZlcnRpY2FsbHkgY2VudGVyZWRcbi8vIGluc3RlYWQgb2Ygc3RyZXRjaGluZyB0byBmaWxsIHRoZSBmbGV4IGNvbnRhaW5lciBoZWlnaHRcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1zdGFydFwiXVtsYWJlbC13cmFwPVwiZWxsaXBzaXMtbm8tc3RyZXRjaFwiXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl1bbGFiZWwtd3JhcD1cIndyYXAtbm8tc3RyZXRjaFwiXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBsYWJlbCB7XG4gICAgICBhbGlnbi1zZWxmOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgY2VudGVyKTtcbiAgICB9XG5cbiAgICAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICB9XG59XG5cbi8vIFRleHQgYXJlYVxuQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIHtcbiAgICAuaWRzLXRleHRhcmVhIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygzNzBweCArIHZhcigtLWlkcy1sYWJlbC13aWR0aCkpO1xuXG4gICAgICAudGV4dGFyZWEtZmllbGQge1xuICAgICAgICB3aWR0aDogY2FsYygzNzBweCArIHZhcigtLWlkcy1sYWJlbC13aWR0aCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaWx0ZXIgZmllbGRcbkBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC1zbSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSB7XG4gICAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctaW5saW5lLWVuZCk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbHRlciBmaWVsZCBzcGVjaWZpYyBydWxlc1xuICAgICAgI29wZXJhdG9yLWJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgfVxuXG4gICAgICAvLyBWYWxpZGF0aW9uIG9uIHRoZSBib3R0b21cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ2hlY2tib3hlc1xuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtkaXI9J3J0bCddKSB7XG4gIEBtZWRpYSAod2lkdGggPCAkYnJlYWtwb2ludC1zbSkge1xuICAgIC5pZHMtY2hlY2tib3gge1xuICAgICAgbGFiZWwge1xuICAgICAgICAtLWlkcy1jaGVja2JveC1wYWRkaW5nLWlubGluZS1zdGFydDogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2Rpcj0ncnRsJ10pIC5pZHMtY2hlY2tib3gge1xuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10gfiAuY2hlY2ttYXJrIHtcbiAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJhZGlvIGJ1dHRvbnNcbkBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC14cykge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSxcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ10pIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGZsZXgtc3RhcnQpO1xuICAgICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcblxuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIG1pbi13aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpIC0gMnB4KTtcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ10pIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICBzbG90IHtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKHdpZHRoIDwgJGJyZWFrcG9pbnQtc20pIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ10pOm5vdChbbGFiZWwtYnJlYWtdKSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG4gICAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS0yLCAwLjVyZW0pO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIG1pbi13aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG5cbiAgICAgIHNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ10pOm5vdChbbGFiZWwtYnJlYWtdKSB7XG4gIEBjb250YWluZXIgKHdpZHRoIDwgI3skYnJlYWtwb2ludC1zbX0pIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcbiAgICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLTIsIDAuNXJlbSk7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAgbWluLXdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTd2l0Y2hcbkBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC1zbSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSAuaWRzLXN3aXRjaCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICBsYWJlbCB7XG4gICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctaW5saW5lLWVuZCk7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5zbGlkZXIge1xuICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICByaWdodDogLTQ1cHg7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtkaXI9J3J0bCddKSAuaWRzLXN3aXRjaCB7XG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5zbGlkZXIge1xuICAgICAgbGVmdDogLTQ1cHg7XG4gICAgICByaWdodDogaW5pdGlhbDtcbiAgICB9XG4gIH1cbn1cblxuLy8gRGF0YSBMYWJlbFxuQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIC5pZHMtZGF0YS1sYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogOHB4O1xuICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgLmxhYmVsIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5kYXRhLFxuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIGJlaGF2aW9yXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHMpIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLXN0YXJ0XCJdKSB7XG4gICAgLmlkcy1pbnB1dCxcbiAgICAuaWRzLXRleHRhcmVhLFxuICAgIC5pZHMtZmlsdGVyLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHVuc2V0O1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1lbmRcIl0pIHtcbiAgICAuaWRzLWlucHV0LFxuICAgIC5pZHMtdGV4dGFyZWEsXG4gICAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogdW5zZXQ7XG4gICAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS0yLCAwLjVyZW0pO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AY29udGFpbmVyIChtYXgtd2lkdGg6ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1zdGFydFwiXSkge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSxcbiAgICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiB1bnNldDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA6aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtZW5kXCJdKSB7XG4gICAgLmlkcy1pbnB1dCxcbiAgICAuaWRzLXRleHRhcmVhLFxuICAgIC5pZHMtZmlsdGVyLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHVuc2V0O1xuICAgICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1zdGF0ZT1cImhpZGRlblwiXSkge1xuICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHMpIHtcbiAgICAuaWRzLWlucHV0IC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5AY29udGFpbmVyIChtYXgtd2lkdGg6ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtc3RhdGU9XCJoaWRkZW5cIl0pIHtcbiAgICAuaWRzLWlucHV0IC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBKdXN0IHRoZSBsYWJlbCB3aWR0aFxuOmhvc3Qge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhLFxuICAuaWRzLWNoZWNrYm94LFxuICAuaWRzLXJhZGlvLFxuICAuaWRzLXN3aXRjaCxcbiAgLmlkcy1kYXRhLWxhYmVsLFxuICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgbGFiZWwsXG4gICAgLmxhYmVsIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY2hlY2tib3gtbWl4aW4nIGFzIGNoZWNrYm94O1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtdmFsaWRhdGlvbi1taXhpbicgYXMgdmFsaWQ7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1sYWJlbC1wb3NpdGlvbi1taXhpbi5zY3NzJyBhcyBsYWJlbC1wb3NpdGlvbjtcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zJyBhcyAqO1xuXG4vLyBNaXhpbiBmb3IgY2hlY2tib3ggbGFiZWwgd3JhcCBlbGxpcHNpc1xuQG1peGluIGlkcy1jaGVja2JveC1sYWJlbC13cmFwLWVsbGlwc2lzIHtcbiAgLmlkcy1jaGVja2JveCB7XG4gICAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1peGluIGZvciBjaGVja2JveCBsYWJlbCB3cmFwIG5vLXN0cmV0Y2hcbkBtaXhpbiBpZHMtY2hlY2tib3gtbGFiZWwtd3JhcC1uby1zdHJldGNoIHtcbiAgLmlkcy1jaGVja2JveCB7XG4gICAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICAgIG1heC13aWR0aDogNzUlO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdChbaGlkZGVuXSkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG46aG9zdCguanVzdGlmeS1jZW50ZXIpIC5pZHMtY2hlY2tib3ggLmNoZWNrbWFyayxcbjpob3N0KC5qdXN0aWZ5LWNlbnRlcikgLmlkcy1jaGVja2JveDpub3QoW2NvbG9yXSkgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5jaGVja21hcmsge1xuICB0b3A6IGNhbGMoNTAlIC0gOHB4KTtcbn1cblxuOmhvc3QoW25vLW1hcmdpbnNdKSAuaWRzLWNoZWNrYm94LFxuOmhvc3QoW25vLW1hcmdpbl0pIC5pZHMtY2hlY2tib3gge1xuICBtYXJnaW46IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcblxuICBsYWJlbC5lbXB0eSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogNHB4O1xuICB9XG59XG5cbjpob3N0KC5ldmVudC10eXBlLWNoZWNrYm94KSAuaWRzLWNoZWNrYm94IHtcbiAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICB9XG59XG5cbi5pZHMtY2hlY2tib3gge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuXG4gIGxhYmVsIHtcbiAgICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItcG9pbnRlcik7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1jaGVja2JveC1wYWRkaW5nLWlubGluZS1zdGFydCk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1jaGVja2JveC1tYXJnaW4taW5saW5lLWVuZCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICYuZW1wdHk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwwMGEwJztcbiAgICB9XG5cbiAgICAmLnJlcXVpcmVkIC5sYWJlbC1jaGVja2JveCBzcGFuOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0taWRzLWZvbnQtZmFtaWx5LWRlZmF1bHQpLCB2YXIoLS1pZHMtZm9udC1mYW1pbHktc3lzdGVtLXNhbnMpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1pZHMtZm9udC1zaXplLW1kKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtcmVxdWlyZWQtaW5kaWNhdG9yLWNvbG9yLXRleHQtZGVmYXVsdCk7XG4gICAgICBjb250ZW50OiAnKic7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAxcHg7XG4gICAgICB0b3A6IC00cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gICAgfVxuXG4gICAgJi5uby1yZXF1aXJlZC1pbmRpY2F0b3IsXG4gICAgJi5lbXB0eSB7XG4gICAgICAubGFiZWwtY2hlY2tib3ggc3Bhbjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubGFiZWwtY2hlY2tib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IHZhcigtLWlkcy1jaGVja2JveC1sYWJlbC10b3AsIDFweCk7XG5cbiAgICBzcGFuIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFiZWwgdGV4dCBhbGlnbm1lbnRcbiAgJi5sYWJlbC1hbGlnbiB7XG4gICAgJi1zdGFydCB7XG4gICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG5cbiAgICAmLWVuZCB7XG4gICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgfVxuXG4gICAgJi1jZW50ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICYtanVzdGlmeSB7XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgIH1cbiAgfVxuXG4gICYuZGlzYWJsZWQgbGFiZWwge1xuICAgIGN1cnNvcjogdmFyKC0taWRzLWN1cnNvci1kZWZhdWx0KTtcbiAgICBvcGFjaXR5OiB2YXIoLS1pZHMtY2hlY2tib3gtb3BhY2l0eS1kaXNhYmxlZCk7XG5cbiAgICAmLnJlcXVpcmVkIC5sYWJlbC1jaGVja2JveCBzcGFuOjphZnRlciB7XG4gICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtcmVxdWlyZWQtaW5kaWNhdG9yLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxuXG4gICYuaGl0Ym94IHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0taWRzLXNwYWNlLTEyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0taWRzLXNwYWNlLTEyKTtcblxuICAgIGxhYmVsIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiA0MnB4O1xuXG4gICAgICBzcGFuLmNoZWNrbWFyayB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDE0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAxNHB4O1xuICAgIH1cbiAgfVxuXG4gICYuaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS0xMik7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGN1cnNvcjogdmFyKC0taWRzLWN1cnNvci1wb2ludGVyKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcblxuICAgIH4gLmNoZWNrbWFyayB7XG4gICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC11bmNoZWNrZWQoKTtcbiAgICB9XG5cbiAgICAmLmVycm9yIH4gLmNoZWNrbWFyayB7XG4gICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC11bmNoZWNrZWQtZXJyb3IoKTtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQgfiAuY2hlY2ttYXJrIHtcbiAgICAgIEBpbmNsdWRlIGNoZWNrYm94LmNoZWNrYm94LWNoZWNrZWQoKTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1jaGVja2VkLWFmdGVyKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pbmRldGVybWluYXRlIH4gLmNoZWNrbWFyayB7XG4gICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1pbmRldGVybWluYXRlKCk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1hZnRlcigpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMgfiAuY2hlY2ttYXJrIHtcbiAgICAgIEBpbmNsdWRlIGNoZWNrYm94LmNoZWNrYm94LWZvY3VzKCk7XG4gICAgfVxuXG4gICAgJjpmb2N1cy5lcnJvciB+IC5jaGVja21hcmsge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtZm9jdXMtZXJyb3IoKTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIH4gLmNoZWNrbWFyayB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LmNoZWNrYm94LWRpc2FibGVkLXVuY2hlY2tlZCgpO1xuICAgICAgfVxuXG4gICAgICB+IC5sYWJlbC1jaGVja2JveCB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LmNoZWNrYm94LWRpc2FibGVkLXRleHQoKTtcbiAgICAgIH1cblxuICAgICAgJi5lcnJvciB+IC5jaGVja21hcmsge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1kaXNhYmxlZC11bmNoZWNrZWQtZXJyb3IoKTtcbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIH4gLmNoZWNrbWFyayB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LmNoZWNrYm94LWRpc2FibGVkLWNoZWNrZWQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLm5vLWFuaW1hdGlvbiB7XG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkIH4gLmNoZWNrbWFyazo6YWZ0ZXIge1xuICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbG9yZWQgQ2hlY2tib3hlc1xuICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1jb2xvcmVkKCk7XG5cbiAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogLTFweDtcbiAgfVxuXG4gICYuaGFzLWZvY3VzIHtcbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIH4gLmNoZWNrbWFyayB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1mb2N1cy1ib3JkZXItY29sb3IpO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLWNoZWNrYm94LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdCguaW4tZmxleC1pdGVtKSB7XG4gIC5pZHMtY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiB2YXIoLS1pZHMtY2hlY2tib3gtaW5saW5lLW1pbi1oZWlnaHQsIGF1dG8pO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAbWVkaWEgKHdpZHRoIDwgJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIC5pZHMtY2hlY2tib3gge1xuICAvLyBSZXNwb25zaXZlOiByZXZlcnQgdG8gZGVmYXVsdCBsYXlvdXQgYmVsb3cgYnJlYWtwb2ludC14c1xuICBAbWVkaWEgKHdpZHRoIDwgJGJyZWFrcG9pbnQteHMpIHtcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtY2hlY2tib3gtcGFkZGluZy1pbmxpbmUtc3RhcnQpO1xuICAgIH1cblxuICAgIC5sYWJlbC1jaGVja2JveCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIG9yZGVyOiAyO1xuICAgIH1cblxuICAgIC8vIEhpZGUgdGhlIGNoZWNrYm94LXdyYXBwZXIgYW5kIHVzZSB0aGUgZGVmYXVsdCBpbnB1dC9jaGVja21hcmsgb3V0c2lkZSBpdFxuICAgIC5jaGVja2JveC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgb3JkZXI6IDE7XG5cbiAgICAgIC5jaGVja21hcmsge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGNvbnRhaW5lciAod2lkdGggPCAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1jaGVja2JveC1wYWRkaW5nLWlubGluZS1zdGFydCk7XG4gICAgfVxuXG4gICAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgLy8gSGlkZSB0aGUgY2hlY2tib3gtd3JhcHBlciBhbmQgdXNlIHRoZSBkZWZhdWx0IGlucHV0L2NoZWNrbWFyayBvdXRzaWRlIGl0XG4gICAgLmNoZWNrYm94LXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICBvcmRlcjogMTtcblxuICAgICAgLmNoZWNrbWFyayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICB0b3A6IDNweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBEZWZhdWx0OiBpbmxpbmUtc3RhcnQgbGF5b3V0IChsYWJlbCBmaXJzdCwgdGhlbiBjaGVja2JveClcbiAgbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gIH1cblxuICAubGFiZWwtY2hlY2tib3gge1xuICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgsIGF1dG8pO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC5jaGVja2JveC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcblxuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5jaGVja21hcmsge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtdW5jaGVja2VkKCk7XG5cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgIGluc2V0LWlubGluZS1lbmQ6IHVuc2V0O1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCB+IC5jaGVja21hcmsge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtY2hlY2tlZCgpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LmNoZWNrYm94LWNoZWNrZWQtYWZ0ZXIoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddLmluZGV0ZXJtaW5hdGUgfiAuY2hlY2ttYXJrIHtcbiAgICAgIEBpbmNsdWRlIGNoZWNrYm94LmNoZWNrYm94LWluZGV0ZXJtaW5hdGUoKTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1pbmRldGVybWluYXRlLWFmdGVyKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpmb2N1cyB+IC5jaGVja21hcmsge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtZm9jdXMoKTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddOmZvY3VzLmVycm9yIH4gLmNoZWNrbWFyayB7XG4gICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1mb2N1cy1lcnJvcigpO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J106ZGlzYWJsZWQge1xuICAgICAgfiAuY2hlY2ttYXJrIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtZGlzYWJsZWQtdW5jaGVja2VkKCk7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB+IC5jaGVja21hcmsge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1kaXNhYmxlZC1jaGVja2VkKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIExhYmVsIGFsaWdubWVudCBlbmQgZm9yIGlubGluZS1zdGFydCBjaGVja2JveGVzXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudD0nZW5kJ10pIC5pZHMtY2hlY2tib3gge1xuICAubGFiZWwtY2hlY2tib3gge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgdGV4dC1hbGlnbjogZW5kO1xuICAgIHRvcDogdW5zZXQ7XG4gIH1cblxuICBAbWVkaWEgKHdpZHRoIDwgJGJyZWFrcG9pbnQteHMpIHtcbiAgICAubGFiZWwtY2hlY2tib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgQGNvbnRhaW5lciAod2lkdGggPCAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIC5sYWJlbC1jaGVja2JveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTmVnYXRlIHNvbWUgcnVsZXMgZm9yIFJUTFxuOmhvc3QoW2Rpcj0ncnRsJ10pIHtcbiAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5jaGVja21hcmsge1xuICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cblxuXG46aG9zdCgubXVsdGlzZWxlY3QtY2hlY2tib3guZWxsaXBzaXMpIHtcbiAgLmlkcy1jaGVja2JveCBsYWJlbCB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1zbSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAubGFiZWwtY2hlY2tib3ggc3BhbiB7XG4gICAgICB3aGl0ZS1zcGFjZTogdW5zZXQ7XG4gICAgfVxuXG4gICAgaWRzLXRleHQ6OnBhcnQodGV4dCksXG4gICAgLmlkcy10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IHVuc2V0O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMXB4O1xuICAgIH1cbiAgfVxufVxuXG46aG9zdCgubXVsdGlzZWxlY3QtY2hlY2tib3guZWxsaXBzaXNbc2l6ZT0nZnVsbCddKSB7XG4gIC5pZHMtY2hlY2tib3ggbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgLmxhYmVsLWNoZWNrYm94IHNwYW4ge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoLm11bHRpc2VsZWN0LWxvYWRlZCkge1xuICAuaWRzLWNoZWNrYm94IHtcbiAgICB0ZXh0LWluZGVudDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtNXB4O1xuXG4gICAgbGFiZWwge1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLXNtKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTXVsdGlzZWxlY3QgY2hlY2tib3hcbjpob3N0KC5tdWx0aXNlbGVjdC1jaGVja2JveCkge1xuICBpbnB1dFt0eXBlPSdjaGVja2JveCddOm5vdCg6Y2hlY2tlZCk6bm90KDpkaXNhYmxlZCkgfiAuY2hlY2ttYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYmFja2dyb3VuZC1tdWx0aXNlbGVjdCk7XG4gICAgdG9wOiAycHg7XG4gIH1cblxuICBtYXJnaW4tdG9wOiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuXG4gIC5pZHMtY2hlY2tib3ggaWRzLXRleHQge1xuICAgIHRvcDogMnB4O1xuXG4gICAgJjpub3QoLmVtcHR5KSB7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDRweDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXdyYXA9J2VsbGlwc2lzJ10pIHtcbiAgQGluY2x1ZGUgaWRzLWNoZWNrYm94LWxhYmVsLXdyYXAtZWxsaXBzaXMoKTtcbn1cblxuOmhvc3QoW2xhYmVsLXdyYXA9J2VsbGlwc2lzLW5vLXN0cmV0Y2gnXSkge1xuICBAaW5jbHVkZSBpZHMtY2hlY2tib3gtbGFiZWwtd3JhcC1lbGxpcHNpcygpO1xuICBAaW5jbHVkZSBpZHMtY2hlY2tib3gtbGFiZWwtd3JhcC1uby1zdHJldGNoKCk7XG5cbiAgLmlkcy1jaGVja2JveC5sYWJlbC1hbGlnbi1lbmQgLmxhYmVsLWNoZWNrYm94IHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICB9XG5cbiAgLmlkcy1jaGVja2JveC5sYWJlbC1hbGlnbi1jZW50ZXIgLmxhYmVsLWNoZWNrYm94IHtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG59XG5cbjpob3N0KFtsYWJlbC13cmFwPSd3cmFwLW5vLXN0cmV0Y2gnXSkge1xuICBAaW5jbHVkZSBpZHMtY2hlY2tib3gtbGFiZWwtd3JhcC1uby1zdHJldGNoKCk7XG59XG4iXX0= */