@react-ui-org/react-ui 0.52.0 → 0.52.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/lib.development.js +8 -8
- package/dist/lib.js +1 -1
- package/dist/react-ui.css +40 -0
- package/dist/react-ui.js +1 -0
- package/package.json +1 -1
- package/src/lib/components/InputGroup/InputGroup.scss +1 -1
- package/src/lib/components/Radio/Radio.scss +1 -1
- package/src/lib/styles/tools/form-fields/_box-field-layout.scss +26 -14
package/dist/lib.development.js
CHANGED
@@ -1039,7 +1039,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
|
|
1039
1039
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
1040
1040
|
|
1041
1041
|
"use strict";
|
1042
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \".FileInputField__root__VmWl4-IR {\\n text-align: left;\\n}\\n\\n.FileInputField__label__NukHZ0dV {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__label__color));\\n}\\n\\n.FileInputField__inputContainer__9BVApubb {\\n position: relative;\\n display: inline-flex;\\n min-width: 0;\\n max-width: 100%;\\n}\\n\\n.FileInputField__helpText__MUNQMgg0,\\n.FileInputField__validationText__WDdAydNO {\\n font-style: var(--rui-FormField__help-text__font-style);\\n font-size: var(--rui-FormField__help-text__font-size);\\n line-height: 1.2rem;\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__help-text__color));\\n}\\n\\n.FileInputField__isRootRequired__7zg37CMj .FileInputField__label__NukHZ0dV {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField--required__label__color));\\n}\\n.FileInputField__isRootRequired__7zg37CMj .FileInputField__label__NukHZ0dV::after {\\n content: var(--rui-FormField--required__sign);\\n color: var(--rui-FormField--required__sign__color);\\n}\\n\\n.FileInputField__isRootStateInvalid__\\\\+U8jK7Wz, .FileInputField__isRootStateInvalid__\\\\+U8jK7Wz:hover {\\n --rui-local-color: var(--rui-FormField--invalid--default__color);\\n --rui-local-border-color: var(--rui-FormField--invalid--default__border-color);\\n --rui-local-background: var(--rui-FormField--invalid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--invalid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--invalid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--invalid--default__surrounding-text-color);\\n}\\n.FileInputField__isRootStateInvalid__\\\\+U8jK7Wz .FileInputField__input__duTSt\\\\+VM:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n}\\n.FileInputField__isRootStateInvalid__\\\\+U8jK7Wz.FileInputField__isRootDisabled__JuyBlM75 {\\n --rui-local-color:\\n var(\\n --rui-FormField--invalid--disabled__color,\\n var(--rui-FormField--invalid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--disabled__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--invalid--disabled__background,\\n var(--rui-FormField--invalid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--disabled__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--invalid--disabled__box-shadow,\\n var(--rui-FormField--invalid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--invalid--disabled__surrounding-text-color,\\n var(--rui-FormField--invalid--default__surrounding-text-color)\\n );\\n}\\n.FileInputField__isRootStateInvalid__\\\\+U8jK7Wz .FileInputField__input__duTSt\\\\+VM:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__border-color,\\n var(--rui-FormField--invalid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__check-background-color,\\n var(--rui-FormField--invalid--checked__check-background-color)\\n );\\n}\\n\\n.FileInputField__isRootStateValid__urqL0HXY, .FileInputField__isRootStateValid__urqL0HXY:hover {\\n --rui-local-color: var(--rui-FormField--valid--default__color);\\n --rui-local-border-color: var(--rui-FormField--valid--default__border-color);\\n --rui-local-background: var(--rui-FormField--valid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--valid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--valid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--valid--default__surrounding-text-color);\\n}\\n.FileInputField__isRootStateValid__urqL0HXY .FileInputField__input__duTSt\\\\+VM:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n}\\n.FileInputField__isRootStateValid__urqL0HXY.FileInputField__isRootDisabled__JuyBlM75 {\\n --rui-local-color:\\n var(\\n --rui-FormField--valid--disabled__color,\\n var(--rui-FormField--valid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--disabled__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--valid--disabled__background,\\n var(--rui-FormField--valid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--disabled__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--valid--disabled__box-shadow,\\n var(--rui-FormField--valid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--valid--disabled__surrounding-text-color,\\n var(--rui-FormField--valid--default__surrounding-text-color)\\n );\\n}\\n.FileInputField__isRootStateValid__urqL0HXY .FileInputField__input__duTSt\\\\+VM:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked-disabled__border-color,\\n var(--rui-FormField--valid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked-disabled__check-background-color,\\n var(--rui-FormField--valid--checked__check-background-color)\\n );\\n}\\n\\n.FileInputField__isRootStateWarning__RdVm-mTj, .FileInputField__isRootStateWarning__RdVm-mTj:hover {\\n --rui-local-color: var(--rui-FormField--warning--default__color);\\n --rui-local-border-color: var(--rui-FormField--warning--default__border-color);\\n --rui-local-background: var(--rui-FormField--warning--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--warning--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--warning--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--warning--default__surrounding-text-color);\\n}\\n.FileInputField__isRootStateWarning__RdVm-mTj .FileInputField__input__duTSt\\\\+VM:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n}\\n.FileInputField__isRootStateWarning__RdVm-mTj.FileInputField__isRootDisabled__JuyBlM75 {\\n --rui-local-color:\\n var(\\n --rui-FormField--warning--disabled__color,\\n var(--rui-FormField--warning--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--disabled__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--warning--disabled__background,\\n var(--rui-FormField--warning--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--disabled__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--warning--disabled__box-shadow,\\n var(--rui-FormField--warning--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--warning--disabled__surrounding-text-color,\\n var(--rui-FormField--warning--default__surrounding-text-color)\\n );\\n}\\n.FileInputField__isRootStateWarning__RdVm-mTj .FileInputField__input__duTSt\\\\+VM:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked-disabled__border-color,\\n var(--rui-FormField--warning--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked-disabled__check-background-color,\\n var(--rui-FormField--warning--checked__check-background-color)\\n );\\n}\\n\\n.FileInputField__isLabelHidden__ANvUBEPB {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n.FileInputField__isRootLayoutVertical__uCr\\\\+\\\\+xUp,\\n.FileInputField__isRootLayoutHorizontal__O067vwi4 {\\n display: inline-flex;\\n flex-direction: column;\\n min-width: 0;\\n max-width: 100%;\\n}\\n.FileInputField__isRootLayoutVertical__uCr\\\\+\\\\+xUp .FileInputField__label__NukHZ0dV,\\n.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__label__NukHZ0dV {\\n padding-bottom: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.FileInputField__isRootLayoutVertical__uCr\\\\+\\\\+xUp .FileInputField__helpText__MUNQMgg0,\\n.FileInputField__isRootLayoutVertical__uCr\\\\+\\\\+xUp .FileInputField__validationText__WDdAydNO,\\n.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__helpText__MUNQMgg0,\\n.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__validationText__WDdAydNO {\\n padding-top: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.FileInputField__isRootLayoutVertical__uCr\\\\+\\\\+xUp .FileInputField__field__OJrwhx7d,\\n.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__field__OJrwhx7d {\\n width: -webkit-min-content;\\n width: -moz-min-content;\\n width: min-content;\\n max-width: 100%;\\n}\\n\\n@media (min-width: 48em) {\\n .FileInputField__isRootLayoutHorizontal__O067vwi4 {\\n display: inline-grid;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) -webkit-min-content;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) min-content;\\n grid-template-areas: \\\"label field\\\";\\n align-items: start;\\n }\\n .FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__label__NukHZ0dV {\\n grid-area: label;\\n align-self: var(--rui-FormField--horizontal__label__vertical-alignment);\\n min-width: var(--rui-FormField--horizontal__label__min-width);\\n padding-top: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-bottom: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-right: var(--rui-dimension-space-2);\\n text-align: var(--rui-FormField--horizontal__label__text-align);\\n }\\n .FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__field__OJrwhx7d {\\n grid-area: field;\\n align-self: var(--rui-FormField--horizontal__field__vertical-alignment);\\n justify-self: start;\\n }\\n}\\n\\n@media (min-width: 48em) {\\n .FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__label__NukHZ0dV {\\n -ms-grid-row: 1;\\n -ms-grid-column: 1;\\n }\\n .FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__field__OJrwhx7d {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n}\\n\\n.FileInputField__isRootFullWidth__jCA3u5Zy {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n}\\n.FileInputField__isRootFullWidth__jCA3u5Zy .FileInputField__field__OJrwhx7d,\\n.FileInputField__isRootFullWidth__jCA3u5Zy .FileInputField__inputContainer__9BVApubb,\\n.FileInputField__isRootFullWidth__jCA3u5Zy .FileInputField__input__duTSt\\\\+VM {\\n width: 100%;\\n}\\n@media (min-width: 48em) {\\n .FileInputField__isRootFullWidth__jCA3u5Zy.FileInputField__isRootLayoutHorizontal__O067vwi4 {\\n display: grid;\\n grid-template-columns: var(--rui-FormField--horizontal--full-width__label__width) 1fr;\\n }\\n .FileInputField__isRootFullWidth__jCA3u5Zy.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__field__OJrwhx7d {\\n justify-self: stretch;\\n }\\n}\\n\\n.FileInputField__isRootInFormLayout__uDowQKqc {\\n justify-self: start;\\n}\\n.FileInputField__isRootInFormLayout__uDowQKqc .FileInputField__field__OJrwhx7d {\\n width: auto;\\n}\\n@media (min-width: 48em) {\\n .FileInputField__isRootInFormLayout__uDowQKqc .FileInputField__optionLabel__d6clrOWd {\\n width: auto;\\n }\\n .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4, .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4.FileInputField__hasRootSmallInput__mXwioAQ0 {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n }\\n @supports not (grid-template-columns: subgrid) {\\n .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4, .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4.FileInputField__hasRootSmallInput__mXwioAQ0 {\\n display: contents;\\n }\\n }\\n .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4.FileInputField__isRootFullWidth__jCA3u5Zy {\\n grid-template-columns: subgrid;\\n }\\n .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__label__NukHZ0dV, .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__field__OJrwhx7d, .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__inputContainer__9BVApubb, .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__helpText__MUNQMgg0, .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__validationText__WDdAydNO {\\n grid-area: unset;\\n }\\n .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__field__OJrwhx7d, .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__inputContainer__9BVApubb, .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__helpText__MUNQMgg0, .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__validationText__WDdAydNO {\\n grid-column-start: 2;\\n }\\n .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4.FileInputField__hasRootSmallInput__mXwioAQ0 .FileInputField__field__OJrwhx7d {\\n display: block;\\n }\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/lib/components/FileInputField/FileInputField.scss\",\"webpack://./src/lib/styles/tools/form-fields/_foundation.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-elements.scss\",\"webpack://./src/lib/styles/theme/_form-fields.scss\",\"webpack://./src/lib/styles/settings/_form-fields.scss\",\"webpack://./src/lib/styles/tools/form-fields/_variants.scss\",\"webpack://./src/lib/styles/tools/_accessibility.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-layout.scss\",\"webpack://./src/lib/styles/tools/_breakpoint.scss\",\"<no source>\"],\"names\":[],\"mappings\":\"AAOA;ECAI,gBAAA;ADLJ;;AASA;ECMI,kFAAA;ADXJ;;AASA;EEDI,kBAAA;EACA,oBAAA;EACA,YAAA;EACA,eAAA;AFJJ;;AAMA;;ECWI,uDEjBmB;EFkBnB,qDEnBkB;EFoBlB,mBGzBoB;EH0BpB,sFAAA;ADZJ;;AAGA;ECHI,4FAAA;ADIJ;ACFI;EACI,6CERQ;EFSR,kDERc;AHYtB;;AKoDQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;ALZZ;AK2DQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;ALPZ;AKqDQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ALyBZ;AK2BQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ALqCZ;;AKbQ;EA/BI,8DAAA;EAAA,4EAAA;EAAA,wEAAA;EAAA,gGAAA;EAAA,wEAAA;EAAA,gGAAA;ALqDZ;AKNQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AL0DZ;AKZQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AL0FZ;AKtCQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ALsGZ;;AK9EQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;ALsHZ;AKvEQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AL2HZ;AK7EQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AL2JZ;AKvGQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ALuKZ;;AAtLA;EMjCI,kBAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,SAAA;AN2NJ;;AA5LA;;EOkBI,oBAAA;EACA,sBAAA;EACA,YAAA;EACA,eAAA;AP+KJ;AO7KI;;EACI,2EAAA;APgLR;AO7KI;;;;EAEI,wEAAA;APiLR;AO9KI;;EACI,0BAAA;EAAA,uBAAA;EAAA,kBAAA;EACA,eAAA;APiLR;;AQxPQ;ER0CR;IOmCQ,oBAAA;IACA,yFAAA;IAAA,iFAAA;IACA,kCAAA;IACA,kBAAA;EPgLN;EO9KM;IACI,gBAAA;IACA,uEJlE0B;IImE1B,6DJ1EiB;II4Fb,2IAAA;IACA,8IAAA;IAGJ,2CHxGW;IGyGX,+DJlGkB;EH+P5B;EO1JM;IACI,gBAAA;IACA,uEJ9F0B;II+F1B,mBAAA;EP4JV;AACF;;ASzRA;EF4FQ;IE5FR,gBAAA;IAAA,mBAAA;ETmRE;EO1JM;IEzHR,gBAAA;IAAA,mBAAA;ETwRE;CSxRF;;ATwDA;EOwGI,aAAA;EACA,sBAAA;EACA,WAAA;AP6HJ;AO3HI;;;EAGI,WAAA;AP6HR;AQ1RQ;EDiKA;IACI,aAAA;IACA,qFAAA;EP4HV;EOzHM;IACI,qBAAA;EP2HV;AACF;;AAjPA;EO2HI,mBAAA;AP0HJ;AOxHI;EACI,WAAA;AP0HR;AQ1SQ;EDoLA;IACI,WAAA;EPyHV;EOtHM;IAEI,aAAA;IACA,8BAAA;IACA,mBAAA;EPuHV;EOrHU;IANJ;MAOQ,iBAAA;IPwHZ;EACF;EOrHM;IACI,8BAAA;EPuHV;EOpHM;IAKI,gBAAA;EPkHV;EO/GM;IAII,oBAAA;EP8GV;EO3GM;IACI,cAAA;EP6GV;AACF\",\"sourcesContent\":[\"@use \\\"../../styles/tools/form-fields/box-field-elements\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-layout\\\";\\n@use \\\"../../styles/tools/form-fields/foundation\\\";\\n@use \\\"../../styles/tools/form-fields/variants\\\";\\n@use \\\"../../styles/tools/accessibility\\\";\\n\\n// Foundation\\n.root {\\n @include foundation.root();\\n}\\n\\n.label {\\n @include foundation.label();\\n}\\n\\n.inputContainer {\\n @include box-field-elements.input-container();\\n}\\n\\n.helpText,\\n.validationText {\\n @include foundation.help-text();\\n}\\n\\n.isRootRequired .label {\\n @include foundation.label-required();\\n}\\n\\n// States\\n.isRootStateInvalid {\\n @include variants.validation(invalid);\\n}\\n\\n.isRootStateValid {\\n @include variants.validation(valid);\\n}\\n\\n.isRootStateWarning {\\n @include variants.validation(warning);\\n}\\n\\n// Invisible label\\n.isLabelHidden {\\n @include accessibility.hide-text();\\n}\\n\\n// Layouts\\n.isRootLayoutVertical,\\n.isRootLayoutHorizontal {\\n @include box-field-layout.vertical();\\n}\\n\\n.isRootLayoutHorizontal {\\n @include box-field-layout.horizontal();\\n}\\n\\n.isRootFullWidth {\\n @include box-field-layout.full-width();\\n}\\n\\n.isRootInFormLayout {\\n @include box-field-layout.in-form-layout();\\n}\\n\",\"// 1. Don't let text alignment be affected by a parent.\\n// 2. Override foundation reset.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin root() {\\n text-align: left; // 1.\\n}\\n\\n@mixin fieldset() {\\n &:not(:last-child) {\\n margin-bottom: 0; // 2.\\n }\\n}\\n\\n@mixin label() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$label-color});\\n}\\n\\n@mixin label-required() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$required-label-color});\\n\\n &::after {\\n content: theme.$required-sign;\\n color: theme.$required-sign-color;\\n }\\n}\\n\\n@mixin help-text() {\\n font-style: theme.$help-text-font-style;\\n font-size: theme.$help-text-font-size;\\n line-height: settings.$help-text-line-height;\\n color: var(--rui-local-surrounding-text-color, #{theme.$help-text-color});\\n}\\n\",\"// 1. Get ready for positioning of bottom line and caret.\\n// 2. Always prefer `size` and `max` attributes when defined. Use CSS for sizing to normalize\\n// result width across browsers.\\n// 3. Let inputs properly fit various layout scenarios.\\n// 4. Leave out space for SelectField caret.\\n// 5. Use a block-level display mode to prevent extra white space below grouped inputs in Safari.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../tools/caret\\\";\\n@use \\\"../spacing\\\";\\n@use \\\"../transition\\\";\\n\\n@mixin input-container() {\\n position: relative; // 1.\\n display: inline-flex;\\n min-width: 0; // 3.\\n max-width: 100%; // 3.\\n}\\n\\n@mixin input() {\\n @include transition.add((opacity, color, border-color, background-color, box-shadow));\\n\\n appearance: none;\\n width: theme.$box-input-width;\\n min-width: theme.$box-input-min-width;\\n max-width: 100%; // 3.\\n height: var(--rui-local-height);\\n padding: var(--rui-local-padding-y) var(--rui-local-padding-x);\\n font-weight: settings.$box-input-font-weight;\\n font-size: var(--rui-local-font-size);\\n line-height: settings.$box-input-line-height;\\n font-family: settings.$box-input-font-family;\\n vertical-align: middle;\\n color: var(--rui-local-color);\\n border: theme.$box-border-width solid var(--rui-local-border-color);\\n border-radius: theme.$box-border-radius;\\n background: var(--rui-local-background);\\n box-shadow: var(--rui-local-box-shadow);\\n\\n &::placeholder {\\n color: theme.$box-placeholder-color;\\n opacity: 1;\\n }\\n}\\n\\n@mixin input-size() {\\n width:\\n calc(\\n 1ch * var(--rui-custom-input-size)\\n + var(--rui-local-arrows-width, 0)\\n + 2 * var(--rui-local-padding-x)\\n + 2 * #{theme.$box-border-width}\\n ); // 2.\\n\\n min-width: auto; // 2.\\n\\n &[type=\\\"number\\\"] {\\n --rui-local-arrows-width: #{settings.$box-field-input-number-arrows-width};\\n }\\n}\\n\\n@mixin input-textarea() {\\n resize: vertical;\\n\\n &[cols] {\\n min-width: auto;\\n }\\n}\\n\\n@mixin input-select() {\\n appearance: none;\\n padding-right: calc(#{settings.$box-field-caret-size} + #{spacing.of(2)}); // 4.\\n\\n &::-ms-expand {\\n display: none;\\n }\\n}\\n\\n@mixin input-select-option() {\\n option:disabled {\\n color: theme.$box-select-option-disabled-color;\\n }\\n}\\n\\n@mixin caret() {\\n @include transition.add((border-color));\\n\\n position: absolute; // 1.\\n top: theme.$box-border-width;\\n right: theme.$box-border-width;\\n bottom: theme.$box-border-width;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: calc(#{settings.$box-field-caret-size} - 2 * #{theme.$box-border-width});\\n border-start-end-radius: theme.$box-border-radius;\\n border-end-end-radius: theme.$box-border-radius;\\n pointer-events: none;\\n}\\n\\n@mixin caret-icon() {\\n @include caret.create();\\n\\n border-color: var(--rui-local-color);\\n}\\n\\n@mixin bottom-line() {\\n @include transition.add((transform, opacity), 180ms);\\n\\n position: absolute; // 1.\\n bottom: 0;\\n width: 100%;\\n height: settings.$box-field-bottom-line-height;\\n opacity: 0;\\n transform: scaleX(0);\\n transform-origin: center center;\\n pointer-events: none;\\n\\n .input:focus ~ & {\\n background-color: var(--rui-local-border-color);\\n opacity: 1;\\n transform: scaleX(1);\\n }\\n}\\n\\n@mixin in-group-layout() {\\n .inputContainer {\\n display: block; // 5.\\n }\\n\\n &:not(:first-child) .input {\\n border-start-start-radius: var(--rui-local-inner-border-radius);\\n border-end-start-radius: var(--rui-local-inner-border-radius);\\n }\\n\\n &:not(:last-child) .input {\\n border-start-end-radius: var(--rui-local-inner-border-radius);\\n border-end-end-radius: var(--rui-local-inner-border-radius);\\n }\\n}\\n\",\"// Variant specific theme options are obtained dynamically because there is way too many of them to\\n// maintain manually. See `settings/_form-fields.scss` and `tools/form-fields/_variants.scss` for\\n// details.\\n//\\n// 1. Defaults to zero when neither `--rui-FormField--horizontal__label__padding-y` (optional) nor\\n// `--rui-local-padding-y` (handled by the `size()` mixin in case of box form fields, see\\n// `_box-field-sizes.scss`) is defined. This is useful because FormLayoutCustomField may have no\\n// size specified therefore its label should have no padding at the top.\\n\\n// Forms fields: common properties\\n$label-color: var(--rui-FormField__label__color);\\n$label-font-size: var(--rui-FormField__label__font-size);\\n$help-text-font-size: var(--rui-FormField__help-text__font-size);\\n$help-text-font-style: var(--rui-FormField__help-text__font-style);\\n$help-text-color: var(--rui-FormField__help-text__color);\\n$required-label-color: var(--rui-FormField--required__label__color);\\n$required-sign: var(--rui-FormField--required__sign);\\n$required-sign-color: var(--rui-FormField--required__sign__color);\\n\\n// Form fields: horizontal layout\\n$horizontal-label-text-align: var(--rui-FormField--horizontal__label__text-align);\\n$horizontal-label-min-width: var(--rui-FormField--horizontal__label__min-width);\\n$horizontal-label-width: var(--rui-FormField--horizontal__label__width);\\n$horizontal-label-padding-y:\\n var(\\n --rui-FormField--horizontal__label__padding-y,\\n calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y))\\n ); // 1.\\n$horizontal-label-vertical-alignment: var(--rui-FormField--horizontal__label__vertical-alignment);\\n$horizontal-field-vertical-alignment: var(--rui-FormField--horizontal__field__vertical-alignment);\\n$horizontal-full-width-label-width: var(--rui-FormField--horizontal--full-width__label__width);\\n\\n// Form fields: disabled state\\n$disabled-cursor: var(--rui-FormField--disabled__cursor);\\n$disabled-opacity: var(--rui-FormField--disabled__opacity);\\n\\n// Form fields: box fields\\n$box-border-width: var(--rui-FormField--box__border-width);\\n$box-border-radius: var(--rui-FormField--box__border-radius);\\n$box-input-width: var(--rui-FormField--box__input__width);\\n$box-input-min-width: var(--rui-FormField--box__input__min-width);\\n$box-placeholder-color: var(--rui-FormField--box__placeholder__color);\\n\\n// Form fields: box fields, component specific\\n$box-select-caret-border-style: var(--rui-FormField--box--select__caret__border-style);\\n$box-select-caret-background: var(--rui-FormField--box--select__caret__background);\\n$box-select-option-disabled-color: var(--rui-FormField--box--select__option--disabled__color);\\n\\n// Form fields: box field sizes\\n$box-sizes: (\\n small: (\\n height: var(--rui-FormField--box--small__height),\\n padding-y: var(--rui-FormField--box--small__padding-y),\\n padding-x: var(--rui-FormField--box--small__padding-x),\\n font-size: var(--rui-FormField--box--small__font-size),\\n ),\\n medium: (\\n height: var(--rui-FormField--box--medium__height),\\n padding-y: var(--rui-FormField--box--medium__padding-y),\\n padding-x: var(--rui-FormField--box--medium__padding-x),\\n font-size: var(--rui-FormField--box--medium__font-size),\\n ),\\n large: (\\n height: var(--rui-FormField--box--large__height),\\n padding-y: var(--rui-FormField--box--large__padding-y),\\n padding-x: var(--rui-FormField--box--large__padding-x),\\n font-size: var(--rui-FormField--box--large__font-size),\\n ),\\n);\\n\\n// Form fields: check fields\\n$check-input-size: var(--rui-FormField--check__input__size);\\n$check-input-border-width: var(--rui-FormField--check__input__border-width);\\n$check-input-focus-box-shadow: var(--rui-FormField--check__input--focus__box-shadow);\\n$check-tap-target-size: var(--rui-FormField--check__tap-target-size);\\n\\n// Form fields: check fields, component specific\\n$check-input-checkbox-border-radius: var(--rui-FormField--check__input--checkbox__border-radius);\\n$check-input-checkbox-checked-background-image: var(--rui-FormField--check__input--checkbox--checked__background-image);\\n$check-input-radio-border-radius: var(--rui-FormField--check__input--radio__border-radius);\\n$check-input-radio-checked-background-image: var(--rui-FormField--check__input--radio--checked__background-image);\\n$check-input-toggle-width: var(--rui-FormField--check__input--toggle__width);\\n$check-input-toggle-border-radius: var(--rui-FormField--check__input--toggle__border-radius);\\n$check-input-toggle-background-size: var(--rui-FormField--check__input--toggle__background-size);\\n$check-input-toggle-default-background-image: var(--rui-FormField--check__input--toggle--default__background-image);\\n$check-input-toggle-default-background-position:\\n var(\\n --rui-FormField--check__input--toggle--default__background-position\\n );\\n$check-input-toggle-checked-background-image: var(--rui-FormField--check__input--toggle--checked__background-image);\\n$check-input-toggle-checked-background-position:\\n var(\\n --rui-FormField--check__input--toggle--checked__background-position\\n );\\n\",\"// 1. Input `line-height` is specified in `rem` so inputs do not break when their font size gets\\n// changed later.\\n\\n@use \\\"sass:map\\\";\\n@use \\\"../theme/typography\\\";\\n@use \\\"../tools/spacing\\\";\\n\\n$help-text-line-height: 1.2rem;\\n\\n$vertical-inner-gap: spacing.of(1);\\n$vertical-inner-gap-large: spacing.of(2);\\n$vertical-outer-spacing: spacing.of(2);\\n\\n$horizontal-inner-gap: spacing.of(2);\\n$horizontal-outer-spacing: spacing.of(2);\\n\\n$box-input-font-family: typography.$font-family-base;\\n$box-input-font-weight: map.get(typography.$font-weight-values, default);\\n$box-input-line-height: 1.5rem; // 1.\\n$box-field-caret-size: 2.25rem;\\n$box-field-input-number-arrows-width: 1.5rem;\\n$box-field-bottom-line-height: 2px;\\n\\n$inline-field-inner-gap: spacing.of(2);\\n\\n$themeable-variant-states: (\\n box: (\\n filled: (default, hover, focus, disabled),\\n outline: (default, hover, focus, disabled),\\n ),\\n check: (\\n default: (default, checked, disabled, checked-disabled),\\n ),\\n custom: (\\n default: (default, disabled),\\n ),\\n validation: (\\n invalid: (default, checked, disabled, checked-disabled),\\n valid: (default, checked, disabled, checked-disabled),\\n warning: (default, checked, disabled, checked-disabled),\\n ),\\n);\\n\\n$themeable-state-properties: (\\n default: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n hover: (color, border-color, background, box-shadow),\\n focus: (color, border-color, background, check-background-color, box-shadow),\\n checked: (border-color, check-background-color),\\n disabled: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n checked-disabled: (border-color, check-background-color),\\n);\\n\",\"// 1. Due to complexity, it's easier and safer to resolve variant custom properties dynamically with\\n// a mixin. This way it's also easier to make theming adjustments to all supported modifications\\n// in one place. Generated custom properties are consumed mainly in foundation field styles (see\\n// `tools/form-fields/_foundation.scss` for more).\\n//\\n// 2. Interaction states other than `default` default to the `default` (sic!) state appearance if\\n// corresponding custom properties are not provided.\\n//\\n// 3. `.input:focus` is added just in case `:focus-within` doesn't work.\\n\\n@use \\\"sass:list\\\";\\n@use \\\"sass:map\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin _disabled-state() {\\n opacity: theme.$disabled-opacity;\\n cursor: theme.$disabled-cursor;\\n}\\n\\n// 1.\\n@mixin _generate-custom-properties($type, $variant, $state) {\\n @if not list.index(map.keys(map.get(settings.$themeable-variant-states, $type)), $variant) {\\n @error \\\"Invalid variant specified! #{$variant} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(map.get(settings.$themeable-variant-states, $type))}.\\\";\\n }\\n\\n @if not list.index(map.keys(settings.$themeable-state-properties), $state) {\\n @error \\\"Invalid state specified! #{$state} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-state-properties)}.\\\";\\n }\\n\\n $properties: map.get(settings.$themeable-state-properties, $state);\\n $infix: $type;\\n $fallback-state: \\\"default\\\";\\n\\n @if $type == \\\"validation\\\" {\\n $infix: $variant;\\n }\\n\\n @if $type != \\\"validation\\\" and $variant != \\\"default\\\" {\\n $infix: #{$type}--#{$variant};\\n }\\n\\n @if $state == \\\"checked-disabled\\\" {\\n $fallback-state: \\\"checked\\\";\\n }\\n\\n @if $state == \\\"default\\\" {\\n @each $property in $properties {\\n --rui-local-#{$property}: var(--rui-FormField--#{$infix}--#{$state}__#{$property});\\n }\\n }\\n\\n // 2.\\n @else {\\n @each $property in $properties {\\n --rui-local-#{$property}:\\n var(\\n --rui-FormField--#{$infix}--#{$state}__#{$property},\\n var(--rui-FormField--#{$infix}--#{$fallback-state}__#{$property})\\n );\\n }\\n }\\n}\\n\\n@mixin _get-theme($type, $variant) {\\n @if not list.index(map.keys(settings.$themeable-variant-states), $type) {\\n @error \\\"Invalid type specified! #{$type} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-variant-states)}.\\\";\\n }\\n\\n $themeable-states: map.get(map.get(settings.$themeable-variant-states, $type), $variant);\\n\\n @if list.index($themeable-states, \\\"hover\\\") {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"hover\\\");\\n }\\n } @else {\\n &,\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"focus\\\") {\\n // 3.\\n &:focus-within,\\n &:focus-within:hover,\\n .input:focus {\\n @include _generate-custom-properties($type, $variant, \\\"focus\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked\\\") {\\n .input:checked {\\n @include _generate-custom-properties($type, $variant, \\\"checked\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"disabled\\\") {\\n &.isRootDisabled {\\n @include _generate-custom-properties($type, $variant, \\\"disabled\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked-disabled\\\") {\\n .input:checked:disabled {\\n @include _generate-custom-properties($type, $variant, \\\"checked-disabled\\\");\\n }\\n }\\n}\\n\\n@mixin visual($type, $variant: \\\"default\\\", $has-caret: false) {\\n @include _get-theme($type, $variant);\\n\\n .input:disabled {\\n @include _disabled-state();\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"filled\\\" {\\n .input {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n }\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"outline\\\" and $has-caret {\\n .caret {\\n border-left: theme.$box-border-width theme.$box-select-caret-border-style var(--rui-local-border-color);\\n background: theme.$box-select-caret-background;\\n }\\n\\n &.isRootDisabled .caret {\\n @include _disabled-state();\\n }\\n }\\n}\\n\\n@mixin validation($variant) {\\n @include _get-theme(validation, $variant);\\n}\\n\",\"// 1. Screen readers only, inspired by Bootstrap.\\n// https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss\\n//\\n// 2. Make tap target big enough to improve accessibility on touch screens.\\n\\n@use \\\"../theme/accessibility\\\" as theme;\\n\\n// 1.\\n@mixin hide-text() {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n@mixin unhide-text() {\\n position: unset;\\n width: unset;\\n height: unset;\\n overflow: unset;\\n clip: unset;\\n white-space: unset;\\n}\\n\\n// 2.\\n@mixin min-tap-target($size: theme.$tap-target-size, $center: true) {\\n position: relative;\\n\\n &::before {\\n content: \\\"\\\";\\n position: absolute;\\n width: $size;\\n height: $size;\\n\\n @if $center {\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n }\\n }\\n}\\n\\n@mixin focus-ring() {\\n &:focus-visible {\\n outline: theme.$focus-outline;\\n outline-offset: theme.$focus-outline-offset;\\n box-shadow: theme.$focus-box-shadow;\\n }\\n}\\n\",\"// 1. Inline form fields and fields with vertical layout take up as much space as they need. Labels\\n// do not wrap until forced by container of the field. Min and max limits make extra long words\\n// break if necessary.\\n//\\n// 2. Form fields in horizontal layout also take up only as much space as they need. Labels do not\\n// wrap until label width limit is reached (50 % of available horizontal space by default).\\n//\\n// 3. Help texts and validation messages are aligned below input and wrapped. Their width is always\\n// limited to the width of the input field so they don't shift adjacent elements when they show\\n// up. This applies unless the field is inside FormLayout (see 10).\\n//\\n// 4. Define grid spacing as padding of child elements because grid areas make row and column gaps\\n// show up even when not necessary.\\n//\\n// 5. When input size is small and form field layout is set to horizontal, expand help text and\\n// validation message over full form field width to improve their readability. Otherwise the\\n// text would be packed into a very narrow column and hard to read. To prevent help text and\\n// validation message from growing the layout more than necessary (ie. the size without\\n// help/validation text), `min-content` grid sizing must be used along with disabled wrapping of\\n// label.\\n//\\n// 6. Full-width horizontal form fields prefer not wrapping the label until a limit is reached\\n// (50 % of available horizontal space by default, same as in 2.).\\n//\\n// 7. Justify inputs to `start` in horizontal layouts to fix positioning issues with Select Fields.\\n// Reverted for full-width fields.\\n//\\n// 8. Grid settings are inherited from horizontal FormLayout and applied using `subgrid`.\\n// A fallback is supplied to browsers that don't support `subgrid` yet. See FormLayout styles\\n// for more.\\n// https://github.com/react-ui-org/react-ui/issues/232\\n//\\n// 9. Help texts and validation messages can take up full width of FormLayout. There is no reason\\n// to make them wrap as they cannot break layout of FormLayout.\\n//\\n// 10. Visually align label to input baseline. Achieved with `padding-top` and `padding-bottom` due\\n// to two reasons:\\n//\\n// * `align-items: baseline` doesn't work for blank text inputs in Safari. See\\n// https://bugs.webkit.org/show_bug.cgi?id=142968 and\\n// https://github.com/react-ui-org/react-ui/issues/265.\\n//\\n// * `align-items: baseline` doesn't allow subsequent vertical centering of tall inputs and/or\\n// multiline labels (see `theme.$horizontal-label-vertical-alignment` and\\n// `theme.$horizontal-field-vertical-alignment`).\\n//\\n// 11. Reset `width` previously set by inline field layout (see `_inline-field-layout.scss`).\\n//\\n// 12. Make fields just as wide as necessary. Fields should be interactive only where their visible\\n// content is.\\n//\\n// 13. Label and field are vertically aligned to top (start) by default (see 10.). Vertical\\n// alignment of each block can be changed by theme configuration.\\n\\n@use \\\"../../settings/forms\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../theme/typography\\\";\\n@use \\\"../breakpoint\\\";\\n\\n@mixin vertical($has-list: false) {\\n @if $has-list {\\n --rui-local-vertical-gap: #{settings.$vertical-inner-gap-large};\\n }\\n\\n display: inline-flex; // 1.\\n flex-direction: column;\\n min-width: 0; // 1.\\n max-width: 100%; // 1.\\n\\n .label {\\n padding-bottom: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .helpText,\\n .validationText {\\n padding-top: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .field {\\n width: min-content; // 3.\\n max-width: 100%; // 3.\\n }\\n}\\n\\n@mixin horizontal($has-min-tap-target: false) {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n display: inline-grid; // 2.\\n grid-template-columns: theme.$horizontal-label-width min-content; // 2.\\n grid-template-areas: \\\"label field\\\";\\n align-items: start; // 10., 13.\\n\\n .label {\\n grid-area: label;\\n align-self: theme.$horizontal-label-vertical-alignment; // 13.\\n min-width: theme.$horizontal-label-min-width;\\n\\n // 10.\\n @if $has-min-tap-target {\\n padding-top:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n padding-bottom:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n }\\n\\n // 10., 13.\\n @else {\\n padding-top: #{theme.$horizontal-label-padding-y};\\n padding-bottom: #{theme.$horizontal-label-padding-y};\\n }\\n\\n padding-right: settings.$horizontal-inner-gap; // 4.\\n text-align: theme.$horizontal-label-text-align;\\n }\\n\\n .field {\\n grid-area: field;\\n align-self: theme.$horizontal-field-vertical-alignment; // 13.\\n justify-self: start; // 7.\\n }\\n }\\n}\\n\\n@mixin horizontal-with-small-input() {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n grid-template-columns: min-content min-content; // 5.\\n grid-template-areas:\\n \\\"label field\\\"\\n \\\"helptext helptext\\\"\\n \\\"validationtext validationtext\\\"; // 5.\\n\\n .label {\\n white-space: nowrap; // 5.\\n }\\n\\n .field {\\n display: contents; // 5.\\n }\\n\\n .inputContainer {\\n grid-area: field; // 5.\\n }\\n\\n .helpText {\\n grid-area: helptext; // 5.\\n }\\n\\n .validationText {\\n grid-area: validationtext; // 5.\\n }\\n }\\n}\\n\\n@mixin full-width() {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n\\n .field,\\n .inputContainer,\\n .input {\\n width: 100%;\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n &.isRootLayoutHorizontal {\\n display: grid;\\n grid-template-columns: theme.$horizontal-full-width-label-width 1fr; // 6.\\n }\\n\\n &.isRootLayoutHorizontal .field {\\n justify-self: stretch; // 7.\\n }\\n }\\n}\\n\\n@mixin in-form-layout() {\\n justify-self: start; // 12.\\n\\n .field {\\n width: auto; // 9.\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n .optionLabel {\\n width: auto; // 11.\\n }\\n\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n grid: inherit; // 8.\\n grid-template-columns: subgrid; // 8.\\n grid-column: span 2; // 8.\\n\\n @supports not (grid-template-columns: subgrid) {\\n display: contents; // 8.\\n }\\n }\\n\\n &.isRootLayoutHorizontal.isRootFullWidth {\\n grid-template-columns: subgrid; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .label,\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-area: unset; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-column-start: 2; // 8.\\n }\\n\\n &.isRootLayoutHorizontal.hasRootSmallInput .field {\\n display: block; // 5.\\n }\\n }\\n}\\n\",\"@use \\\"sass:map\\\";\\n@use \\\"../settings/breakpoints\\\";\\n\\n@mixin up($breakpoint) {\\n @if not map.has-key(breakpoints.$values, $breakpoint) {\\n @error \\\"Invalid breakpoint specified! #{$breakpoint} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(breakpoints.$values)}\\\";\\n } @else if map.get(breakpoints.$values, $breakpoint) == 0 {\\n @content;\\n } @else {\\n @media (min-width: map.get(breakpoints.$values, $breakpoint)) {\\n @content;\\n }\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"FileInputField__root__VmWl4-IR\",\n\t\"label\": \"FileInputField__label__NukHZ0dV\",\n\t\"inputContainer\": \"FileInputField__inputContainer__9BVApubb\",\n\t\"helpText\": \"FileInputField__helpText__MUNQMgg0\",\n\t\"validationText\": \"FileInputField__validationText__WDdAydNO\",\n\t\"isRootRequired\": \"FileInputField__isRootRequired__7zg37CMj\",\n\t\"isRootStateInvalid\": \"FileInputField__isRootStateInvalid__+U8jK7Wz\",\n\t\"input\": \"FileInputField__input__duTSt+VM\",\n\t\"isRootDisabled\": \"FileInputField__isRootDisabled__JuyBlM75\",\n\t\"isRootStateValid\": \"FileInputField__isRootStateValid__urqL0HXY\",\n\t\"isRootStateWarning\": \"FileInputField__isRootStateWarning__RdVm-mTj\",\n\t\"isLabelHidden\": \"FileInputField__isLabelHidden__ANvUBEPB\",\n\t\"isRootLayoutVertical\": \"FileInputField__isRootLayoutVertical__uCr++xUp\",\n\t\"isRootLayoutHorizontal\": \"FileInputField__isRootLayoutHorizontal__O067vwi4\",\n\t\"field\": \"FileInputField__field__OJrwhx7d\",\n\t\"isRootFullWidth\": \"FileInputField__isRootFullWidth__jCA3u5Zy\",\n\t\"isRootInFormLayout\": \"FileInputField__isRootInFormLayout__uDowQKqc\",\n\t\"optionLabel\": \"FileInputField__optionLabel__d6clrOWd\",\n\t\"hasRootSmallInput\": \"FileInputField__hasRootSmallInput__mXwioAQ0\"\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vc3JjL2xpYi9jb21wb25lbnRzL0ZpbGVJbnB1dEZpZWxkL0ZpbGVJbnB1dEZpZWxkLnNjc3MuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvbGliL2NvbXBvbmVudHMvRmlsZUlucHV0RmllbGQvRmlsZUlucHV0RmllbGQuc2Nzcz8zMDBiIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLkZpbGVJbnB1dEZpZWxkX19yb290X19WbVdsNC1JUiB7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG5cXG4uRmlsZUlucHV0RmllbGRfX2xhYmVsX19OdWtIWjBkViB7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGRfX2xhYmVsX19jb2xvcikpO1xcbn1cXG5cXG4uRmlsZUlucHV0RmllbGRfX2lucHV0Q29udGFpbmVyX185QlZBcHViYiB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIG1pbi13aWR0aDogMDtcXG4gIG1heC13aWR0aDogMTAwJTtcXG59XFxuXFxuLkZpbGVJbnB1dEZpZWxkX19oZWxwVGV4dF9fTVVOUU1nZzAsXFxuLkZpbGVJbnB1dEZpZWxkX192YWxpZGF0aW9uVGV4dF9fV0RkQXlkTk8ge1xcbiAgZm9udC1zdHlsZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXN0eWxlKTtcXG4gIGZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXNpemUpO1xcbiAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcXG4gIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19jb2xvcikpO1xcbn1cXG5cXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdFJlcXVpcmVkX183emczN0NNaiAuRmlsZUlucHV0RmllbGRfX2xhYmVsX19OdWtIWjBkViB7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19sYWJlbF9fY29sb3IpKTtcXG59XFxuLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RSZXF1aXJlZF9fN3pnMzdDTWogLkZpbGVJbnB1dEZpZWxkX19sYWJlbF9fTnVrSFowZFY6OmFmdGVyIHtcXG4gIGNvbnRlbnQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19zaWduKTtcXG4gIGNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fc2lnbl9fY29sb3IpO1xcbn1cXG5cXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdFN0YXRlSW52YWxpZF9fXFxcXCtVOGpLN1d6LCAuRmlsZUlucHV0RmllbGRfX2lzUm9vdFN0YXRlSW52YWxpZF9fXFxcXCtVOGpLN1d6OmhvdmVyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKTtcXG59XFxuLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RTdGF0ZUludmFsaWRfX1xcXFwrVThqSzdXeiAuRmlsZUlucHV0RmllbGRfX2lucHV0X19kdVRTdFxcXFwrVk06Y2hlY2tlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX19cXFxcK1U4aks3V3ouRmlsZUlucHV0RmllbGRfX2lzUm9vdERpc2FibGVkX19KdXlCbE03NSB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19zdXJyb3VuZGluZy10ZXh0LWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX19cXFxcK1U4aks3V3ogLkZpbGVJbnB1dEZpZWxkX19pbnB1dF9fZHVUU3RcXFxcK1ZNOmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG5cXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX3VycUwwSFhZLCAuRmlsZUlucHV0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX3VycUwwSFhZOmhvdmVyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3gtc2hhZG93KTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKTtcXG59XFxuLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RTdGF0ZVZhbGlkX191cnFMMEhYWSAuRmlsZUlucHV0RmllbGRfX2lucHV0X19kdVRTdFxcXFwrVk06Y2hlY2tlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX3VycUwwSFhZLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3REaXNhYmxlZF9fSnV5QmxNNzUge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19zdXJyb3VuZGluZy10ZXh0LWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX3VycUwwSFhZIC5GaWxlSW5wdXRGaWVsZF9faW5wdXRfX2R1VFN0XFxcXCtWTTpjaGVja2VkOmRpc2FibGVkIHtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWQtZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWQtZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcblxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290U3RhdGVXYXJuaW5nX19SZFZtLW1UaiwgLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX1JkVm0tbVRqOmhvdmVyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19iYWNrZ3JvdW5kKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKTtcXG59XFxuLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX1JkVm0tbVRqIC5GaWxlSW5wdXRGaWVsZF9faW5wdXRfX2R1VFN0XFxcXCtWTTpjaGVja2VkIHtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX1JkVm0tbVRqLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3REaXNhYmxlZF9fSnV5QmxNNzUge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdFN0YXRlV2FybmluZ19fUmRWbS1tVGogLkZpbGVJbnB1dEZpZWxkX19pbnB1dF9fZHVUU3RcXFxcK1ZNOmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG5cXG4uRmlsZUlucHV0RmllbGRfX2lzTGFiZWxIaWRkZW5fX0FOdlVCRVBCIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxcHg7XFxuICBoZWlnaHQ6IDFweDtcXG4gIHBhZGRpbmc6IDA7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBib3JkZXI6IDA7XFxufVxcblxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290TGF5b3V0VmVydGljYWxfX3VDclxcXFwrXFxcXCt4VXAsXFxuLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19PMDY3dndpNCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBtaW4td2lkdGg6IDA7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290TGF5b3V0VmVydGljYWxfX3VDclxcXFwrXFxcXCt4VXAgLkZpbGVJbnB1dEZpZWxkX19sYWJlbF9fTnVrSFowZFYsXFxuLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19PMDY3dndpNCAuRmlsZUlucHV0RmllbGRfX2xhYmVsX19OdWtIWjBkViB7XFxuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcnVpLWxvY2FsLXZlcnRpY2FsLWdhcCwgdmFyKC0tcnVpLWRpbWVuc2lvbi1zcGFjZS0xKSk7XFxufVxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290TGF5b3V0VmVydGljYWxfX3VDclxcXFwrXFxcXCt4VXAgLkZpbGVJbnB1dEZpZWxkX19oZWxwVGV4dF9fTVVOUU1nZzAsXFxuLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fdUNyXFxcXCtcXFxcK3hVcCAuRmlsZUlucHV0RmllbGRfX3ZhbGlkYXRpb25UZXh0X19XRGRBeWROTyxcXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0IC5GaWxlSW5wdXRGaWVsZF9faGVscFRleHRfX01VTlFNZ2cwLFxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fTzA2N3Z3aTQgLkZpbGVJbnB1dEZpZWxkX192YWxpZGF0aW9uVGV4dF9fV0RkQXlkTk8ge1xcbiAgcGFkZGluZy10b3A6IHZhcigtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXAsIHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMSkpO1xcbn1cXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dFZlcnRpY2FsX191Q3JcXFxcK1xcXFwreFVwIC5GaWxlSW5wdXRGaWVsZF9fZmllbGRfX09KcndoeDdkLFxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fTzA2N3Z3aTQgLkZpbGVJbnB1dEZpZWxkX19maWVsZF9fT0pyd2h4N2Qge1xcbiAgd2lkdGg6IC13ZWJraXQtbWluLWNvbnRlbnQ7XFxuICB3aWR0aDogLW1vei1taW4tY29udGVudDtcXG4gIHdpZHRoOiBtaW4tY29udGVudDtcXG4gIG1heC13aWR0aDogMTAwJTtcXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcXG4gIC5GaWxlSW5wdXRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fTzA2N3Z3aTQge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fd2lkdGgpIC13ZWJraXQtbWluLWNvbnRlbnQ7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3dpZHRoKSBtaW4tY29udGVudDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXFxcImxhYmVsIGZpZWxkXFxcIjtcXG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xcbiAgfVxcbiAgLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19PMDY3dndpNCAuRmlsZUlucHV0RmllbGRfX2xhYmVsX19OdWtIWjBkViB7XFxuICAgIGdyaWQtYXJlYTogbGFiZWw7XFxuICAgIGFsaWduLXNlbGY6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX192ZXJ0aWNhbC1hbGlnbm1lbnQpO1xcbiAgICBtaW4td2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19taW4td2lkdGgpO1xcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3BhZGRpbmcteSwgY2FsYyh2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci13aWR0aCkgKyB2YXIoLS1ydWktbG9jYWwtcGFkZGluZy15KSkpO1xcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3BhZGRpbmcteSwgY2FsYyh2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci13aWR0aCkgKyB2YXIoLS1ydWktbG9jYWwtcGFkZGluZy15KSkpO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ydWktZGltZW5zaW9uLXNwYWNlLTIpO1xcbiAgICB0ZXh0LWFsaWduOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fdGV4dC1hbGlnbik7XFxuICB9XFxuICAuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0IC5GaWxlSW5wdXRGaWVsZF9fZmllbGRfX09KcndoeDdkIHtcXG4gICAgZ3JpZC1hcmVhOiBmaWVsZDtcXG4gICAgYWxpZ24tc2VsZjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fZmllbGRfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XFxuICAuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0IC5GaWxlSW5wdXRGaWVsZF9fbGFiZWxfX051a0haMGRWIHtcXG4gICAgLW1zLWdyaWQtcm93OiAxO1xcbiAgICAtbXMtZ3JpZC1jb2x1bW46IDE7XFxuICB9XFxuICAuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0IC5GaWxlSW5wdXRGaWVsZF9fZmllbGRfX09KcndoeDdkIHtcXG4gICAgLW1zLWdyaWQtcm93OiAxO1xcbiAgICAtbXMtZ3JpZC1jb2x1bW46IDI7XFxuICB9XFxufVxcblxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290RnVsbFdpZHRoX19qQ0EzdTVaeSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fakNBM3U1WnkgLkZpbGVJbnB1dEZpZWxkX19maWVsZF9fT0pyd2h4N2QsXFxuLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfX2pDQTN1NVp5IC5GaWxlSW5wdXRGaWVsZF9faW5wdXRDb250YWluZXJfXzlCVkFwdWJiLFxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290RnVsbFdpZHRoX19qQ0EzdTVaeSAuRmlsZUlucHV0RmllbGRfX2lucHV0X19kdVRTdFxcXFwrVk0ge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XFxuICAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fakNBM3U1WnkuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0IHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsLS1mdWxsLXdpZHRoX19sYWJlbF9fd2lkdGgpIDFmcjtcXG4gIH1cXG4gIC5GaWxlSW5wdXRGaWVsZF9faXNSb290RnVsbFdpZHRoX19qQ0EzdTVaeS5GaWxlSW5wdXRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fTzA2N3Z3aTQgLkZpbGVJbnB1dEZpZWxkX19maWVsZF9fT0pyd2h4N2Qge1xcbiAgICBqdXN0aWZ5LXNlbGY6IHN0cmV0Y2g7XFxuICB9XFxufVxcblxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X191RG93UUtxYyB7XFxuICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xcbn1cXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMgLkZpbGVJbnB1dEZpZWxkX19maWVsZF9fT0pyd2h4N2Qge1xcbiAgd2lkdGg6IGF1dG87XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XFxuICAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMgLkZpbGVJbnB1dEZpZWxkX19vcHRpb25MYWJlbF9fZDZjbHJPV2Qge1xcbiAgICB3aWR0aDogYXV0bztcXG4gIH1cXG4gIC5GaWxlSW5wdXRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X191RG93UUtxYy5GaWxlSW5wdXRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fTzA2N3Z3aTQsIC5GaWxlSW5wdXRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X191RG93UUtxYy5GaWxlSW5wdXRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fTzA2N3Z3aTQuRmlsZUlucHV0RmllbGRfX2hhc1Jvb3RTbWFsbElucHV0X19tWHdpb0FRMCB7XFxuICAgIGdyaWQ6IGluaGVyaXQ7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDtcXG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcXG4gIH1cXG4gIEBzdXBwb3J0cyBub3QgKGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZCkge1xcbiAgICAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0LCAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0LkZpbGVJbnB1dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fbVh3aW9BUTAge1xcbiAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xcbiAgICB9XFxuICB9XFxuICAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0LkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfX2pDQTN1NVp5IHtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xcbiAgfVxcbiAgLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfX3VEb3dRS3FjLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19PMDY3dndpNCAuRmlsZUlucHV0RmllbGRfX2xhYmVsX19OdWtIWjBkViwgLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfX3VEb3dRS3FjLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19PMDY3dndpNCAuRmlsZUlucHV0RmllbGRfX2ZpZWxkX19PSnJ3aHg3ZCwgLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfX3VEb3dRS3FjLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19PMDY3dndpNCAuRmlsZUlucHV0RmllbGRfX2lucHV0Q29udGFpbmVyX185QlZBcHViYiwgLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfX3VEb3dRS3FjLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19PMDY3dndpNCAuRmlsZUlucHV0RmllbGRfX2hlbHBUZXh0X19NVU5RTWdnMCwgLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfX3VEb3dRS3FjLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19PMDY3dndpNCAuRmlsZUlucHV0RmllbGRfX3ZhbGlkYXRpb25UZXh0X19XRGRBeWROTyB7XFxuICAgIGdyaWQtYXJlYTogdW5zZXQ7XFxuICB9XFxuICAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0IC5GaWxlSW5wdXRGaWVsZF9fZmllbGRfX09KcndoeDdkLCAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0IC5GaWxlSW5wdXRGaWVsZF9faW5wdXRDb250YWluZXJfXzlCVkFwdWJiLCAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0IC5GaWxlSW5wdXRGaWVsZF9faGVscFRleHRfX01VTlFNZ2cwLCAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0IC5GaWxlSW5wdXRGaWVsZF9fdmFsaWRhdGlvblRleHRfX1dEZEF5ZE5PIHtcXG4gICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XFxuICB9XFxuICAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0LkZpbGVJbnB1dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fbVh3aW9BUTAgLkZpbGVJbnB1dEZpZWxkX19maWVsZF9fT0pyd2h4N2Qge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gIH1cXG59XCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vc3JjL2xpYi9jb21wb25lbnRzL0ZpbGVJbnB1dEZpZWxkL0ZpbGVJbnB1dEZpZWxkLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL19mb3VuZGF0aW9uLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL19ib3gtZmllbGQtZWxlbWVudHMuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdGhlbWUvX2Zvcm0tZmllbGRzLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3NldHRpbmdzL19mb3JtLWZpZWxkcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fdmFyaWFudHMuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvX2FjY2Vzc2liaWxpdHkuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX2JveC1maWVsZC1sYXlvdXQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvX2JyZWFrcG9pbnQuc2Nzc1wiLFwiPG5vIHNvdXJjZT5cIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBT0E7RUNBSSxnQkFBQTtBRExKOztBQVNBO0VDTUksa0ZBQUE7QURYSjs7QUFTQTtFRURJLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtBRkpKOztBQU1BOztFQ1dJLHVERWpCbUI7RUZrQm5CLHFERW5Ca0I7RUZvQmxCLG1CR3pCb0I7RUgwQnBCLHNGQUFBO0FEWko7O0FBR0E7RUNISSw0RkFBQTtBRElKO0FDRkk7RUFDSSw2Q0VSUTtFRlNSLGtERVJjO0FIWXRCOztBS29EUTtFQS9CSSxnRUFBQTtFQUFBLDhFQUFBO0VBQUEsMEVBQUE7RUFBQSxrR0FBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7QUxaWjtBSzJEUTtFQXhDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBTFBaO0FLcURRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBTHlCWjtBSzJCUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBTHFDWjs7QUtiUTtFQS9CSSw4REFBQTtFQUFBLDRFQUFBO0VBQUEsd0VBQUE7RUFBQSxnR0FBQTtFQUFBLHdFQUFBO0VBQUEsZ0dBQUE7QUxxRFo7QUtOUTtFQXhDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBTDBEWjtBS1pRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBTDBGWjtBS3RDUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBTHNHWjs7QUs5RVE7RUEvQkksZ0VBQUE7RUFBQSw4RUFBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7RUFBQSwwRUFBQTtFQUFBLGtHQUFBO0FMc0haO0FLdkVRO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FMMkhaO0FLN0VRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBTDJKWjtBS3ZHUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBTHVLWjs7QUF0TEE7RU1qQ0ksa0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBO0FOMk5KOztBQTVMQTs7RU9rQkksb0JBQUE7RUFDQSxzQkFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0FQK0tKO0FPN0tJOztFQUNJLDJFQUFBO0FQZ0xSO0FPN0tJOzs7O0VBRUksd0VBQUE7QVBpTFI7QU85S0k7O0VBQ0ksMEJBQUE7RUFBQSx1QkFBQTtFQUFBLGtCQUFBO0VBQ0EsZUFBQTtBUGlMUjs7QVF4UFE7RVIwQ1I7SU9tQ1Esb0JBQUE7SUFDQSx5RkFBQTtJQUFBLGlGQUFBO0lBQ0Esa0NBQUE7SUFDQSxrQkFBQTtFUGdMTjtFTzlLTTtJQUNJLGdCQUFBO0lBQ0EsdUVKbEUwQjtJSW1FMUIsNkRKMUVpQjtJSTRGYiwySUFBQTtJQUNBLDhJQUFBO0lBR0osMkNIeEdXO0lHeUdYLCtESmxHa0I7RUgrUDVCO0VPMUpNO0lBQ0ksZ0JBQUE7SUFDQSx1RUo5RjBCO0lJK0YxQixtQkFBQTtFUDRKVjtBQUNGOztBU3pSQTtFRjRGUTtJRTVGUixnQkFBQTtJQUFBLG1CQUFBO0VUbVJFO0VPMUpNO0lFekhSLGdCQUFBO0lBQUEsbUJBQUE7RVR3UkU7Q1N4UkY7O0FUd0RBO0VPd0dJLGFBQUE7RUFDQSxzQkFBQTtFQUNBLFdBQUE7QVA2SEo7QU8zSEk7OztFQUdJLFdBQUE7QVA2SFI7QVExUlE7RURpS0E7SUFDSSxhQUFBO0lBQ0EscUZBQUE7RVA0SFY7RU96SE07SUFDSSxxQkFBQTtFUDJIVjtBQUNGOztBQWpQQTtFTzJISSxtQkFBQTtBUDBISjtBT3hISTtFQUNJLFdBQUE7QVAwSFI7QVExU1E7RURvTEE7SUFDSSxXQUFBO0VQeUhWO0VPdEhNO0lBRUksYUFBQTtJQUNBLDhCQUFBO0lBQ0EsbUJBQUE7RVB1SFY7RU9ySFU7SUFOSjtNQU9RLGlCQUFBO0lQd0haO0VBQ0Y7RU9ySE07SUFDSSw4QkFBQTtFUHVIVjtFT3BITTtJQUtJLGdCQUFBO0VQa0hWO0VPL0dNO0lBSUksb0JBQUE7RVA4R1Y7RU8zR007SUFDSSxjQUFBO0VQNkdWO0FBQ0ZcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2JveC1maWVsZC1lbGVtZW50c1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2JveC1maWVsZC1sYXlvdXRcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9mb3VuZGF0aW9uXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvdmFyaWFudHNcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9hY2Nlc3NpYmlsaXR5XFxcIjtcXG5cXG4vLyBGb3VuZGF0aW9uXFxuLnJvb3Qge1xcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLnJvb3QoKTtcXG59XFxuXFxuLmxhYmVsIHtcXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi5sYWJlbCgpO1xcbn1cXG5cXG4uaW5wdXRDb250YWluZXIge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtZWxlbWVudHMuaW5wdXQtY29udGFpbmVyKCk7XFxufVxcblxcbi5oZWxwVGV4dCxcXG4udmFsaWRhdGlvblRleHQge1xcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLmhlbHAtdGV4dCgpO1xcbn1cXG5cXG4uaXNSb290UmVxdWlyZWQgLmxhYmVsIHtcXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi5sYWJlbC1yZXF1aXJlZCgpO1xcbn1cXG5cXG4vLyBTdGF0ZXNcXG4uaXNSb290U3RhdGVJbnZhbGlkIHtcXG4gICAgQGluY2x1ZGUgdmFyaWFudHMudmFsaWRhdGlvbihpbnZhbGlkKTtcXG59XFxuXFxuLmlzUm9vdFN0YXRlVmFsaWQge1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52YWxpZGF0aW9uKHZhbGlkKTtcXG59XFxuXFxuLmlzUm9vdFN0YXRlV2FybmluZyB7XFxuICAgIEBpbmNsdWRlIHZhcmlhbnRzLnZhbGlkYXRpb24od2FybmluZyk7XFxufVxcblxcbi8vIEludmlzaWJsZSBsYWJlbFxcbi5pc0xhYmVsSGlkZGVuIHtcXG4gICAgQGluY2x1ZGUgYWNjZXNzaWJpbGl0eS5oaWRlLXRleHQoKTtcXG59XFxuXFxuLy8gTGF5b3V0c1xcbi5pc1Jvb3RMYXlvdXRWZXJ0aWNhbCxcXG4uaXNSb290TGF5b3V0SG9yaXpvbnRhbCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1sYXlvdXQudmVydGljYWwoKTtcXG59XFxuXFxuLmlzUm9vdExheW91dEhvcml6b250YWwge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtbGF5b3V0Lmhvcml6b250YWwoKTtcXG59XFxuXFxuLmlzUm9vdEZ1bGxXaWR0aCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1sYXlvdXQuZnVsbC13aWR0aCgpO1xcbn1cXG5cXG4uaXNSb290SW5Gb3JtTGF5b3V0IHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWxheW91dC5pbi1mb3JtLWxheW91dCgpO1xcbn1cXG5cIixcIi8vIDEuIERvbid0IGxldCB0ZXh0IGFsaWdubWVudCBiZSBhZmZlY3RlZCBieSBhIHBhcmVudC5cXG4vLyAyLiBPdmVycmlkZSBmb3VuZGF0aW9uIHJlc2V0LlxcblxcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm0tZmllbGRzXFxcIiBhcyBzZXR0aW5ncztcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuXFxuQG1peGluIHJvb3QoKSB7XFxuICAgIHRleHQtYWxpZ246IGxlZnQ7IC8vIDEuXFxufVxcblxcbkBtaXhpbiBmaWVsZHNldCgpIHtcXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIDIuXFxuICAgIH1cXG59XFxuXFxuQG1peGluIGxhYmVsKCkge1xcbiAgICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsICN7dGhlbWUuJGxhYmVsLWNvbG9yfSk7XFxufVxcblxcbkBtaXhpbiBsYWJlbC1yZXF1aXJlZCgpIHtcXG4gICAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCAje3RoZW1lLiRyZXF1aXJlZC1sYWJlbC1jb2xvcn0pO1xcblxcbiAgICAmOjphZnRlciB7XFxuICAgICAgICBjb250ZW50OiB0aGVtZS4kcmVxdWlyZWQtc2lnbjtcXG4gICAgICAgIGNvbG9yOiB0aGVtZS4kcmVxdWlyZWQtc2lnbi1jb2xvcjtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaGVscC10ZXh0KCkge1xcbiAgICBmb250LXN0eWxlOiB0aGVtZS4kaGVscC10ZXh0LWZvbnQtc3R5bGU7XFxuICAgIGZvbnQtc2l6ZTogdGhlbWUuJGhlbHAtdGV4dC1mb250LXNpemU7XFxuICAgIGxpbmUtaGVpZ2h0OiBzZXR0aW5ncy4kaGVscC10ZXh0LWxpbmUtaGVpZ2h0O1xcbiAgICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsICN7dGhlbWUuJGhlbHAtdGV4dC1jb2xvcn0pO1xcbn1cXG5cIixcIi8vIDEuIEdldCByZWFkeSBmb3IgcG9zaXRpb25pbmcgb2YgYm90dG9tIGxpbmUgYW5kIGNhcmV0Llxcbi8vIDIuIEFsd2F5cyBwcmVmZXIgYHNpemVgIGFuZCBgbWF4YCBhdHRyaWJ1dGVzIHdoZW4gZGVmaW5lZC4gVXNlIENTUyBmb3Igc2l6aW5nIHRvIG5vcm1hbGl6ZVxcbi8vICAgIHJlc3VsdCB3aWR0aCBhY3Jvc3MgYnJvd3NlcnMuXFxuLy8gMy4gTGV0IGlucHV0cyBwcm9wZXJseSBmaXQgdmFyaW91cyBsYXlvdXQgc2NlbmFyaW9zLlxcbi8vIDQuIExlYXZlIG91dCBzcGFjZSBmb3IgU2VsZWN0RmllbGQgY2FyZXQuXFxuLy8gNS4gVXNlIGEgYmxvY2stbGV2ZWwgZGlzcGxheSBtb2RlIHRvIHByZXZlbnQgZXh0cmEgd2hpdGUgc3BhY2UgYmVsb3cgZ3JvdXBlZCBpbnB1dHMgaW4gU2FmYXJpLlxcblxcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm0tZmllbGRzXFxcIiBhcyBzZXR0aW5ncztcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuQHVzZSBcXFwiLi4vLi4vdG9vbHMvY2FyZXRcXFwiO1xcbkB1c2UgXFxcIi4uL3NwYWNpbmdcXFwiO1xcbkB1c2UgXFxcIi4uL3RyYW5zaXRpb25cXFwiO1xcblxcbkBtaXhpbiBpbnB1dC1jb250YWluZXIoKSB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gMS5cXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAgIG1pbi13aWR0aDogMDsgLy8gMy5cXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAzLlxcbn1cXG5cXG5AbWl4aW4gaW5wdXQoKSB7XFxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24uYWRkKChvcGFjaXR5LCBjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93KSk7XFxuXFxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIHdpZHRoOiB0aGVtZS4kYm94LWlucHV0LXdpZHRoO1xcbiAgICBtaW4td2lkdGg6IHRoZW1lLiRib3gtaW5wdXQtbWluLXdpZHRoO1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDMuXFxuICAgIGhlaWdodDogdmFyKC0tcnVpLWxvY2FsLWhlaWdodCk7XFxuICAgIHBhZGRpbmc6IHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXgpO1xcbiAgICBmb250LXdlaWdodDogc2V0dGluZ3MuJGJveC1pbnB1dC1mb250LXdlaWdodDtcXG4gICAgZm9udC1zaXplOiB2YXIoLS1ydWktbG9jYWwtZm9udC1zaXplKTtcXG4gICAgbGluZS1oZWlnaHQ6IHNldHRpbmdzLiRib3gtaW5wdXQtbGluZS1oZWlnaHQ7XFxuICAgIGZvbnQtZmFtaWx5OiBzZXR0aW5ncy4kYm94LWlucHV0LWZvbnQtZmFtaWx5O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbiAgICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLWNvbG9yKTtcXG4gICAgYm9yZGVyOiB0aGVtZS4kYm94LWJvcmRlci13aWR0aCBzb2xpZCB2YXIoLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yKTtcXG4gICAgYm9yZGVyLXJhZGl1czogdGhlbWUuJGJveC1ib3JkZXItcmFkaXVzO1xcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ydWktbG9jYWwtYmFja2dyb3VuZCk7XFxuICAgIGJveC1zaGFkb3c6IHZhcigtLXJ1aS1sb2NhbC1ib3gtc2hhZG93KTtcXG5cXG4gICAgJjo6cGxhY2Vob2xkZXIge1xcbiAgICAgICAgY29sb3I6IHRoZW1lLiRib3gtcGxhY2Vob2xkZXItY29sb3I7XFxuICAgICAgICBvcGFjaXR5OiAxO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbnB1dC1zaXplKCkge1xcbiAgICB3aWR0aDpcXG4gICAgICAgIGNhbGMoXFxuICAgICAgICAgICAgMWNoICogdmFyKC0tcnVpLWN1c3RvbS1pbnB1dC1zaXplKVxcbiAgICAgICAgICAgICsgdmFyKC0tcnVpLWxvY2FsLWFycm93cy13aWR0aCwgMClcXG4gICAgICAgICAgICArIDIgKiB2YXIoLS1ydWktbG9jYWwtcGFkZGluZy14KVxcbiAgICAgICAgICAgICsgMiAqICN7dGhlbWUuJGJveC1ib3JkZXItd2lkdGh9XFxuICAgICAgICApOyAvLyAyLlxcblxcbiAgICBtaW4td2lkdGg6IGF1dG87IC8vIDIuXFxuXFxuICAgICZbdHlwZT1cXFwibnVtYmVyXFxcIl0ge1xcbiAgICAgICAgLS1ydWktbG9jYWwtYXJyb3dzLXdpZHRoOiAje3NldHRpbmdzLiRib3gtZmllbGQtaW5wdXQtbnVtYmVyLWFycm93cy13aWR0aH07XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGlucHV0LXRleHRhcmVhKCkge1xcbiAgICByZXNpemU6IHZlcnRpY2FsO1xcblxcbiAgICAmW2NvbHNdIHtcXG4gICAgICAgIG1pbi13aWR0aDogYXV0bztcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaW5wdXQtc2VsZWN0KCkge1xcbiAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCN7c2V0dGluZ3MuJGJveC1maWVsZC1jYXJldC1zaXplfSArICN7c3BhY2luZy5vZigyKX0pOyAvLyA0LlxcblxcbiAgICAmOjotbXMtZXhwYW5kIHtcXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGlucHV0LXNlbGVjdC1vcHRpb24oKSB7XFxuICAgIG9wdGlvbjpkaXNhYmxlZCB7XFxuICAgICAgICBjb2xvcjogdGhlbWUuJGJveC1zZWxlY3Qtb3B0aW9uLWRpc2FibGVkLWNvbG9yO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBjYXJldCgpIHtcXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi5hZGQoKGJvcmRlci1jb2xvcikpO1xcblxcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IC8vIDEuXFxuICAgIHRvcDogdGhlbWUuJGJveC1ib3JkZXItd2lkdGg7XFxuICAgIHJpZ2h0OiB0aGVtZS4kYm94LWJvcmRlci13aWR0aDtcXG4gICAgYm90dG9tOiB0aGVtZS4kYm94LWJvcmRlci13aWR0aDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgIHdpZHRoOiBjYWxjKCN7c2V0dGluZ3MuJGJveC1maWVsZC1jYXJldC1zaXplfSAtIDIgKiAje3RoZW1lLiRib3gtYm9yZGVyLXdpZHRofSk7XFxuICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiB0aGVtZS4kYm94LWJvcmRlci1yYWRpdXM7XFxuICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogdGhlbWUuJGJveC1ib3JkZXItcmFkaXVzO1xcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG59XFxuXFxuQG1peGluIGNhcmV0LWljb24oKSB7XFxuICAgIEBpbmNsdWRlIGNhcmV0LmNyZWF0ZSgpO1xcblxcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1jb2xvcik7XFxufVxcblxcbkBtaXhpbiBib3R0b20tbGluZSgpIHtcXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi5hZGQoKHRyYW5zZm9ybSwgb3BhY2l0eSksIDE4MG1zKTtcXG5cXG4gICAgcG9zaXRpb246IGFic29sdXRlOyAvLyAxLlxcbiAgICBib3R0b206IDA7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBoZWlnaHQ6IHNldHRpbmdzLiRib3gtZmllbGQtYm90dG9tLWxpbmUtaGVpZ2h0O1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuXFxuICAgIC5pbnB1dDpmb2N1cyB+ICYge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICAgICAgICBvcGFjaXR5OiAxO1xcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGluLWdyb3VwLWxheW91dCgpIHtcXG4gICAgLmlucHV0Q29udGFpbmVyIHtcXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyAvLyA1LlxcbiAgICB9XFxuXFxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmlucHV0IHtcXG4gICAgICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IHZhcigtLXJ1aS1sb2NhbC1pbm5lci1ib3JkZXItcmFkaXVzKTtcXG4gICAgICAgIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiB2YXIoLS1ydWktbG9jYWwtaW5uZXItYm9yZGVyLXJhZGl1cyk7XFxuICAgIH1cXG5cXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5pbnB1dCB7XFxuICAgICAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogdmFyKC0tcnVpLWxvY2FsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xcbiAgICAgICAgYm9yZGVyLWVuZC1lbmQtcmFkaXVzOiB2YXIoLS1ydWktbG9jYWwtaW5uZXItYm9yZGVyLXJhZGl1cyk7XFxuICAgIH1cXG59XFxuXCIsXCIvLyBWYXJpYW50IHNwZWNpZmljIHRoZW1lIG9wdGlvbnMgYXJlIG9idGFpbmVkIGR5bmFtaWNhbGx5IGJlY2F1c2UgdGhlcmUgaXMgd2F5IHRvbyBtYW55IG9mIHRoZW0gdG9cXG4vLyBtYWludGFpbiBtYW51YWxseS4gU2VlIGBzZXR0aW5ncy9fZm9ybS1maWVsZHMuc2Nzc2AgYW5kIGB0b29scy9mb3JtLWZpZWxkcy9fdmFyaWFudHMuc2Nzc2AgZm9yXFxuLy8gZGV0YWlscy5cXG4vL1xcbi8vIDEuIERlZmF1bHRzIHRvIHplcm8gd2hlbiBuZWl0aGVyIGAtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19wYWRkaW5nLXlgIChvcHRpb25hbCkgbm9yXFxuLy8gICAgYC0tcnVpLWxvY2FsLXBhZGRpbmcteWAgKGhhbmRsZWQgYnkgdGhlIGBzaXplKClgIG1peGluIGluIGNhc2Ugb2YgYm94IGZvcm0gZmllbGRzLCBzZWVcXG4vLyAgICBgX2JveC1maWVsZC1zaXplcy5zY3NzYCkgaXMgZGVmaW5lZC4gVGhpcyBpcyB1c2VmdWwgYmVjYXVzZSBGb3JtTGF5b3V0Q3VzdG9tRmllbGQgbWF5IGhhdmUgbm9cXG4vLyAgICBzaXplIHNwZWNpZmllZCB0aGVyZWZvcmUgaXRzIGxhYmVsIHNob3VsZCBoYXZlIG5vIHBhZGRpbmcgYXQgdGhlIHRvcC5cXG5cXG4vLyBGb3JtcyBmaWVsZHM6IGNvbW1vbiBwcm9wZXJ0aWVzXFxuJGxhYmVsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkX19sYWJlbF9fY29sb3IpO1xcbiRsYWJlbC1mb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2xhYmVsX19mb250LXNpemUpO1xcbiRoZWxwLXRleHQtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2ZvbnQtc2l6ZSk7XFxuJGhlbHAtdGV4dC1mb250LXN0eWxlOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2ZvbnQtc3R5bGUpO1xcbiRoZWxwLXRleHQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fY29sb3IpO1xcbiRyZXF1aXJlZC1sYWJlbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX2xhYmVsX19jb2xvcik7XFxuJHJlcXVpcmVkLXNpZ246IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19zaWduKTtcXG4kcmVxdWlyZWQtc2lnbi1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX3NpZ25fX2NvbG9yKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogaG9yaXpvbnRhbCBsYXlvdXRcXG4kaG9yaXpvbnRhbC1sYWJlbC10ZXh0LWFsaWduOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fdGV4dC1hbGlnbik7XFxuJGhvcml6b250YWwtbGFiZWwtbWluLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fbWluLXdpZHRoKTtcXG4kaG9yaXpvbnRhbC1sYWJlbC13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3dpZHRoKTtcXG4kaG9yaXpvbnRhbC1sYWJlbC1wYWRkaW5nLXk6XFxuICAgIHZhcihcXG4gICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3BhZGRpbmcteSxcXG4gICAgICAgIGNhbGModmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpICsgdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteSkpXFxuICAgICk7IC8vIDEuXFxuJGhvcml6b250YWwtbGFiZWwtdmVydGljYWwtYWxpZ25tZW50OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fdmVydGljYWwtYWxpZ25tZW50KTtcXG4kaG9yaXpvbnRhbC1maWVsZC12ZXJ0aWNhbC1hbGlnbm1lbnQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2ZpZWxkX192ZXJ0aWNhbC1hbGlnbm1lbnQpO1xcbiRob3Jpem9udGFsLWZ1bGwtd2lkdGgtbGFiZWwtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWwtLWZ1bGwtd2lkdGhfX2xhYmVsX193aWR0aCk7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGRpc2FibGVkIHN0YXRlXFxuJGRpc2FibGVkLWN1cnNvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX2N1cnNvcik7XFxuJGRpc2FibGVkLW9wYWNpdHk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19vcGFjaXR5KTtcXG5cXG4vLyBGb3JtIGZpZWxkczogYm94IGZpZWxkc1xcbiRib3gtYm9yZGVyLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci13aWR0aCk7XFxuJGJveC1ib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci1yYWRpdXMpO1xcbiRib3gtaW5wdXQtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9faW5wdXRfX3dpZHRoKTtcXG4kYm94LWlucHV0LW1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19pbnB1dF9fbWluLXdpZHRoKTtcXG4kYm94LXBsYWNlaG9sZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX3BsYWNlaG9sZGVyX19jb2xvcik7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGJveCBmaWVsZHMsIGNvbXBvbmVudCBzcGVjaWZpY1xcbiRib3gtc2VsZWN0LWNhcmV0LWJvcmRlci1zdHlsZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zZWxlY3RfX2NhcmV0X19ib3JkZXItc3R5bGUpO1xcbiRib3gtc2VsZWN0LWNhcmV0LWJhY2tncm91bmQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc2VsZWN0X19jYXJldF9fYmFja2dyb3VuZCk7XFxuJGJveC1zZWxlY3Qtb3B0aW9uLWRpc2FibGVkLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fb3B0aW9uLS1kaXNhYmxlZF9fY29sb3IpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBib3ggZmllbGQgc2l6ZXNcXG4kYm94LXNpemVzOiAoXFxuICAgIHNtYWxsOiAoXFxuICAgICAgICBoZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX2hlaWdodCksXFxuICAgICAgICBwYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteSksXFxuICAgICAgICBwYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteCksXFxuICAgICAgICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX2ZvbnQtc2l6ZSksXFxuICAgICksXFxuICAgIG1lZGl1bTogKFxcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9faGVpZ2h0KSxcXG4gICAgICAgIHBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX3BhZGRpbmcteSksXFxuICAgICAgICBwYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19wYWRkaW5nLXgpLFxcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fZm9udC1zaXplKSxcXG4gICAgKSxcXG4gICAgbGFyZ2U6IChcXG4gICAgICAgIGhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9faGVpZ2h0KSxcXG4gICAgICAgIHBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy15KSxcXG4gICAgICAgIHBhZGRpbmcteDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy14KSxcXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fZm9udC1zaXplKSxcXG4gICAgKSxcXG4pO1xcblxcbi8vIEZvcm0gZmllbGRzOiBjaGVjayBmaWVsZHNcXG4kY2hlY2staW5wdXQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0X19zaXplKTtcXG4kY2hlY2staW5wdXQtYm9yZGVyLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXRfX2JvcmRlci13aWR0aCk7XFxuJGNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tZm9jdXNfX2JveC1zaGFkb3cpO1xcbiRjaGVjay10YXAtdGFyZ2V0LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX190YXAtdGFyZ2V0LXNpemUpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBjaGVjayBmaWVsZHMsIGNvbXBvbmVudCBzcGVjaWZpY1xcbiRjaGVjay1pbnB1dC1jaGVja2JveC1ib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLWNoZWNrYm94X19ib3JkZXItcmFkaXVzKTtcXG4kY2hlY2staW5wdXQtY2hlY2tib3gtY2hlY2tlZC1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLWNoZWNrYm94LS1jaGVja2VkX19iYWNrZ3JvdW5kLWltYWdlKTtcXG4kY2hlY2staW5wdXQtcmFkaW8tYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1yYWRpb19fYm9yZGVyLXJhZGl1cyk7XFxuJGNoZWNrLWlucHV0LXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1yYWRpby0tY2hlY2tlZF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGVfX3dpZHRoKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWJvcmRlci1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlX19ib3JkZXItcmFkaXVzKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWJhY2tncm91bmQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGVfX2JhY2tncm91bmQtc2l6ZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1kZWZhdWx0LWJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlLS1kZWZhdWx0X19iYWNrZ3JvdW5kLWltYWdlKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWRlZmF1bHQtYmFja2dyb3VuZC1wb3NpdGlvbjpcXG4gICAgdmFyKFxcbiAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZS0tZGVmYXVsdF9fYmFja2dyb3VuZC1wb3NpdGlvblxcbiAgICApO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtY2hlY2tlZC1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZS0tY2hlY2tlZF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1jaGVja2VkLWJhY2tncm91bmQtcG9zaXRpb246XFxuICAgIHZhcihcXG4gICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWNoZWNrZWRfX2JhY2tncm91bmQtcG9zaXRpb25cXG4gICAgKTtcXG5cIixcIi8vIDEuIElucHV0IGBsaW5lLWhlaWdodGAgaXMgc3BlY2lmaWVkIGluIGByZW1gIHNvIGlucHV0cyBkbyBub3QgYnJlYWsgd2hlbiB0aGVpciBmb250IHNpemUgZ2V0c1xcbi8vICAgIGNoYW5nZWQgbGF0ZXIuXFxuXFxuQHVzZSBcXFwic2FzczptYXBcXFwiO1xcbkB1c2UgXFxcIi4uL3RoZW1lL3R5cG9ncmFwaHlcXFwiO1xcbkB1c2UgXFxcIi4uL3Rvb2xzL3NwYWNpbmdcXFwiO1xcblxcbiRoZWxwLXRleHQtbGluZS1oZWlnaHQ6IDEuMnJlbTtcXG5cXG4kdmVydGljYWwtaW5uZXItZ2FwOiBzcGFjaW5nLm9mKDEpO1xcbiR2ZXJ0aWNhbC1pbm5lci1nYXAtbGFyZ2U6IHNwYWNpbmcub2YoMik7XFxuJHZlcnRpY2FsLW91dGVyLXNwYWNpbmc6IHNwYWNpbmcub2YoMik7XFxuXFxuJGhvcml6b250YWwtaW5uZXItZ2FwOiBzcGFjaW5nLm9mKDIpO1xcbiRob3Jpem9udGFsLW91dGVyLXNwYWNpbmc6IHNwYWNpbmcub2YoMik7XFxuXFxuJGJveC1pbnB1dC1mb250LWZhbWlseTogdHlwb2dyYXBoeS4kZm9udC1mYW1pbHktYmFzZTtcXG4kYm94LWlucHV0LWZvbnQtd2VpZ2h0OiBtYXAuZ2V0KHR5cG9ncmFwaHkuJGZvbnQtd2VpZ2h0LXZhbHVlcywgZGVmYXVsdCk7XFxuJGJveC1pbnB1dC1saW5lLWhlaWdodDogMS41cmVtOyAvLyAxLlxcbiRib3gtZmllbGQtY2FyZXQtc2l6ZTogMi4yNXJlbTtcXG4kYm94LWZpZWxkLWlucHV0LW51bWJlci1hcnJvd3Mtd2lkdGg6IDEuNXJlbTtcXG4kYm94LWZpZWxkLWJvdHRvbS1saW5lLWhlaWdodDogMnB4O1xcblxcbiRpbmxpbmUtZmllbGQtaW5uZXItZ2FwOiBzcGFjaW5nLm9mKDIpO1xcblxcbiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXM6IChcXG4gICAgYm94OiAoXFxuICAgICAgICBmaWxsZWQ6IChkZWZhdWx0LCBob3ZlciwgZm9jdXMsIGRpc2FibGVkKSxcXG4gICAgICAgIG91dGxpbmU6IChkZWZhdWx0LCBob3ZlciwgZm9jdXMsIGRpc2FibGVkKSxcXG4gICAgKSxcXG4gICAgY2hlY2s6IChcXG4gICAgICAgIGRlZmF1bHQ6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICksXFxuICAgIGN1c3RvbTogKFxcbiAgICAgICAgZGVmYXVsdDogKGRlZmF1bHQsIGRpc2FibGVkKSxcXG4gICAgKSxcXG4gICAgdmFsaWRhdGlvbjogKFxcbiAgICAgICAgaW52YWxpZDogKGRlZmF1bHQsIGNoZWNrZWQsIGRpc2FibGVkLCBjaGVja2VkLWRpc2FibGVkKSxcXG4gICAgICAgIHZhbGlkOiAoZGVmYXVsdCwgY2hlY2tlZCwgZGlzYWJsZWQsIGNoZWNrZWQtZGlzYWJsZWQpLFxcbiAgICAgICAgd2FybmluZzogKGRlZmF1bHQsIGNoZWNrZWQsIGRpc2FibGVkLCBjaGVja2VkLWRpc2FibGVkKSxcXG4gICAgKSxcXG4pO1xcblxcbiR0aGVtZWFibGUtc3RhdGUtcHJvcGVydGllczogKFxcbiAgICBkZWZhdWx0OiAoY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZCwgY2hlY2stYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdywgc3Vycm91bmRpbmctdGV4dC1jb2xvciksXFxuICAgIGhvdmVyOiAoY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZCwgYm94LXNoYWRvdyksXFxuICAgIGZvY3VzOiAoY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZCwgY2hlY2stYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyksXFxuICAgIGNoZWNrZWQ6IChib3JkZXItY29sb3IsIGNoZWNrLWJhY2tncm91bmQtY29sb3IpLFxcbiAgICBkaXNhYmxlZDogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGNoZWNrLWJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3csIHN1cnJvdW5kaW5nLXRleHQtY29sb3IpLFxcbiAgICBjaGVja2VkLWRpc2FibGVkOiAoYm9yZGVyLWNvbG9yLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yKSxcXG4pO1xcblwiLFwiLy8gMS4gRHVlIHRvIGNvbXBsZXhpdHksIGl0J3MgZWFzaWVyIGFuZCBzYWZlciB0byByZXNvbHZlIHZhcmlhbnQgY3VzdG9tIHByb3BlcnRpZXMgZHluYW1pY2FsbHkgd2l0aFxcbi8vICAgIGEgbWl4aW4uIFRoaXMgd2F5IGl0J3MgYWxzbyBlYXNpZXIgdG8gbWFrZSB0aGVtaW5nIGFkanVzdG1lbnRzIHRvIGFsbCBzdXBwb3J0ZWQgbW9kaWZpY2F0aW9uc1xcbi8vICAgIGluIG9uZSBwbGFjZS4gR2VuZXJhdGVkIGN1c3RvbSBwcm9wZXJ0aWVzIGFyZSBjb25zdW1lZCBtYWlubHkgaW4gZm91bmRhdGlvbiBmaWVsZCBzdHlsZXMgKHNlZVxcbi8vICAgIGB0b29scy9mb3JtLWZpZWxkcy9fZm91bmRhdGlvbi5zY3NzYCBmb3IgbW9yZSkuXFxuLy9cXG4vLyAyLiBJbnRlcmFjdGlvbiBzdGF0ZXMgb3RoZXIgdGhhbiBgZGVmYXVsdGAgZGVmYXVsdCB0byB0aGUgYGRlZmF1bHRgIChzaWMhKSBzdGF0ZSBhcHBlYXJhbmNlIGlmXFxuLy8gICAgY29ycmVzcG9uZGluZyBjdXN0b20gcHJvcGVydGllcyBhcmUgbm90IHByb3ZpZGVkLlxcbi8vXFxuLy8gMy4gYC5pbnB1dDpmb2N1c2AgaXMgYWRkZWQganVzdCBpbiBjYXNlIGA6Zm9jdXMtd2l0aGluYCBkb2Vzbid0IHdvcmsuXFxuXFxuQHVzZSBcXFwic2FzczpsaXN0XFxcIjtcXG5AdXNlIFxcXCJzYXNzOm1hcFxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybS1maWVsZHNcXFwiIGFzIHNldHRpbmdzO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL2Zvcm0tZmllbGRzXFxcIiBhcyB0aGVtZTtcXG5cXG5AbWl4aW4gX2Rpc2FibGVkLXN0YXRlKCkge1xcbiAgICBvcGFjaXR5OiB0aGVtZS4kZGlzYWJsZWQtb3BhY2l0eTtcXG4gICAgY3Vyc29yOiB0aGVtZS4kZGlzYWJsZWQtY3Vyc29yO1xcbn1cXG5cXG4vLyAxLlxcbkBtaXhpbiBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCAkc3RhdGUpIHtcXG4gICAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKG1hcC5nZXQoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcywgJHR5cGUpKSwgJHZhcmlhbnQpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiSW52YWxpZCB2YXJpYW50IHNwZWNpZmllZCEgI3skdmFyaWFudH0gZG9lc24ndCBleGlzdC4gXFxcIlxcbiAgICAgICAgICAgICsgXFxcIkNob29zZSBvbmUgb2YgI3ttYXAua2V5cyhtYXAuZ2V0KHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMsICR0eXBlKSl9LlxcXCI7XFxuICAgIH1cXG5cXG4gICAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKHNldHRpbmdzLiR0aGVtZWFibGUtc3RhdGUtcHJvcGVydGllcyksICRzdGF0ZSkge1xcbiAgICAgICAgQGVycm9yIFxcXCJJbnZhbGlkIHN0YXRlIHNwZWNpZmllZCEgI3skc3RhdGV9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMoc2V0dGluZ3MuJHRoZW1lYWJsZS1zdGF0ZS1wcm9wZXJ0aWVzKX0uXFxcIjtcXG4gICAgfVxcblxcbiAgICAkcHJvcGVydGllczogbWFwLmdldChzZXR0aW5ncy4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXMsICRzdGF0ZSk7XFxuICAgICRpbmZpeDogJHR5cGU7XFxuICAgICRmYWxsYmFjay1zdGF0ZTogXFxcImRlZmF1bHRcXFwiO1xcblxcbiAgICBAaWYgJHR5cGUgPT0gXFxcInZhbGlkYXRpb25cXFwiIHtcXG4gICAgICAgICRpbmZpeDogJHZhcmlhbnQ7XFxuICAgIH1cXG5cXG4gICAgQGlmICR0eXBlICE9IFxcXCJ2YWxpZGF0aW9uXFxcIiBhbmQgJHZhcmlhbnQgIT0gXFxcImRlZmF1bHRcXFwiIHtcXG4gICAgICAgICRpbmZpeDogI3skdHlwZX0tLSN7JHZhcmlhbnR9O1xcbiAgICB9XFxuXFxuICAgIEBpZiAkc3RhdGUgPT0gXFxcImNoZWNrZWQtZGlzYWJsZWRcXFwiIHtcXG4gICAgICAgICRmYWxsYmFjay1zdGF0ZTogXFxcImNoZWNrZWRcXFwiO1xcbiAgICB9XFxuXFxuICAgIEBpZiAkc3RhdGUgPT0gXFxcImRlZmF1bHRcXFwiIHtcXG4gICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XFxuICAgICAgICAgICAgLS1ydWktbG9jYWwtI3skcHJvcGVydHl9OiB2YXIoLS1ydWktRm9ybUZpZWxkLS0jeyRpbmZpeH0tLSN7JHN0YXRlfV9fI3skcHJvcGVydHl9KTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICAvLyAyLlxcbiAgICBAZWxzZSB7XFxuICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xcbiAgICAgICAgICAgIC0tcnVpLWxvY2FsLSN7JHByb3BlcnR5fTpcXG4gICAgICAgICAgICAgICAgdmFyKFxcbiAgICAgICAgICAgICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS0jeyRpbmZpeH0tLSN7JHN0YXRlfV9fI3skcHJvcGVydHl9LFxcbiAgICAgICAgICAgICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tI3skaW5maXh9LS0jeyRmYWxsYmFjay1zdGF0ZX1fXyN7JHByb3BlcnR5fSlcXG4gICAgICAgICAgICAgICAgKTtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gX2dldC10aGVtZSgkdHlwZSwgJHZhcmlhbnQpIHtcXG4gICAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMpLCAkdHlwZSkge1xcbiAgICAgICAgQGVycm9yIFxcXCJJbnZhbGlkIHR5cGUgc3BlY2lmaWVkISAjeyR0eXBlfSBkb2Vzbid0IGV4aXN0LiBcXFwiXFxuICAgICAgICAgICAgKyBcXFwiQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMpfS5cXFwiO1xcbiAgICB9XFxuXFxuICAgICR0aGVtZWFibGUtc3RhdGVzOiBtYXAuZ2V0KG1hcC5nZXQoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcywgJHR5cGUpLCAkdmFyaWFudCk7XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiaG92ZXJcXFwiKSB7XFxuICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiZGVmYXVsdFxcXCIpO1xcblxcbiAgICAgICAgJjpob3ZlciB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImhvdmVyXFxcIik7XFxuICAgICAgICB9XFxuICAgIH0gQGVsc2Uge1xcbiAgICAgICAgJixcXG4gICAgICAgICY6aG92ZXIge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJkZWZhdWx0XFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJmb2N1c1xcXCIpIHtcXG4gICAgICAgIC8vIDMuXFxuICAgICAgICAmOmZvY3VzLXdpdGhpbixcXG4gICAgICAgICY6Zm9jdXMtd2l0aGluOmhvdmVyLFxcbiAgICAgICAgLmlucHV0OmZvY3VzIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiZm9jdXNcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImNoZWNrZWRcXFwiKSB7XFxuICAgICAgICAuaW5wdXQ6Y2hlY2tlZCB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImNoZWNrZWRcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImRpc2FibGVkXFxcIikge1xcbiAgICAgICAgJi5pc1Jvb3REaXNhYmxlZCB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImRpc2FibGVkXFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJjaGVja2VkLWRpc2FibGVkXFxcIikge1xcbiAgICAgICAgLmlucHV0OmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJjaGVja2VkLWRpc2FibGVkXFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIHZpc3VhbCgkdHlwZSwgJHZhcmlhbnQ6IFxcXCJkZWZhdWx0XFxcIiwgJGhhcy1jYXJldDogZmFsc2UpIHtcXG4gICAgQGluY2x1ZGUgX2dldC10aGVtZSgkdHlwZSwgJHZhcmlhbnQpO1xcblxcbiAgICAuaW5wdXQ6ZGlzYWJsZWQge1xcbiAgICAgICAgQGluY2x1ZGUgX2Rpc2FibGVkLXN0YXRlKCk7XFxuICAgIH1cXG5cXG4gICAgQGlmICR0eXBlID09IFxcXCJib3hcXFwiIGFuZCAkdmFyaWFudCA9PSBcXFwiZmlsbGVkXFxcIiB7XFxuICAgICAgICAuaW5wdXQge1xcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmICR0eXBlID09IFxcXCJib3hcXFwiIGFuZCAkdmFyaWFudCA9PSBcXFwib3V0bGluZVxcXCIgYW5kICRoYXMtY2FyZXQge1xcbiAgICAgICAgLmNhcmV0IHtcXG4gICAgICAgICAgICBib3JkZXItbGVmdDogdGhlbWUuJGJveC1ib3JkZXItd2lkdGggdGhlbWUuJGJveC1zZWxlY3QtY2FyZXQtYm9yZGVyLXN0eWxlIHZhcigtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3IpO1xcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLiRib3gtc2VsZWN0LWNhcmV0LWJhY2tncm91bmQ7XFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdERpc2FibGVkIC5jYXJldCB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2Rpc2FibGVkLXN0YXRlKCk7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIHZhbGlkYXRpb24oJHZhcmlhbnQpIHtcXG4gICAgQGluY2x1ZGUgX2dldC10aGVtZSh2YWxpZGF0aW9uLCAkdmFyaWFudCk7XFxufVxcblwiLFwiLy8gMS4gU2NyZWVuIHJlYWRlcnMgb25seSwgaW5zcGlyZWQgYnkgQm9vdHN0cmFwLlxcbi8vICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzXFxuLy9cXG4vLyAyLiBNYWtlIHRhcCB0YXJnZXQgYmlnIGVub3VnaCB0byBpbXByb3ZlIGFjY2Vzc2liaWxpdHkgb24gdG91Y2ggc2NyZWVucy5cXG5cXG5AdXNlIFxcXCIuLi90aGVtZS9hY2Nlc3NpYmlsaXR5XFxcIiBhcyB0aGVtZTtcXG5cXG4vLyAxLlxcbkBtaXhpbiBoaWRlLXRleHQoKSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDFweDtcXG4gICAgaGVpZ2h0OiAxcHg7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICAgIGJvcmRlcjogMDtcXG59XFxuXFxuQG1peGluIHVuaGlkZS10ZXh0KCkge1xcbiAgICBwb3NpdGlvbjogdW5zZXQ7XFxuICAgIHdpZHRoOiB1bnNldDtcXG4gICAgaGVpZ2h0OiB1bnNldDtcXG4gICAgb3ZlcmZsb3c6IHVuc2V0O1xcbiAgICBjbGlwOiB1bnNldDtcXG4gICAgd2hpdGUtc3BhY2U6IHVuc2V0O1xcbn1cXG5cXG4vLyAyLlxcbkBtaXhpbiBtaW4tdGFwLXRhcmdldCgkc2l6ZTogdGhlbWUuJHRhcC10YXJnZXQtc2l6ZSwgJGNlbnRlcjogdHJ1ZSkge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuXFxuICAgICY6OmJlZm9yZSB7XFxuICAgICAgICBjb250ZW50OiBcXFwiXFxcIjtcXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcXG4gICAgICAgIGhlaWdodDogJHNpemU7XFxuXFxuICAgICAgICBAaWYgJGNlbnRlciB7XFxuICAgICAgICAgICAgdG9wOiA1MCU7XFxuICAgICAgICAgICAgbGVmdDogNTAlO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBmb2N1cy1yaW5nKCkge1xcbiAgICAmOmZvY3VzLXZpc2libGUge1xcbiAgICAgICAgb3V0bGluZTogdGhlbWUuJGZvY3VzLW91dGxpbmU7XFxuICAgICAgICBvdXRsaW5lLW9mZnNldDogdGhlbWUuJGZvY3VzLW91dGxpbmUtb2Zmc2V0O1xcbiAgICAgICAgYm94LXNoYWRvdzogdGhlbWUuJGZvY3VzLWJveC1zaGFkb3c7XFxuICAgIH1cXG59XFxuXCIsXCIvLyAxLiAgSW5saW5lIGZvcm0gZmllbGRzIGFuZCBmaWVsZHMgd2l0aCB2ZXJ0aWNhbCBsYXlvdXQgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHRoZXkgbmVlZC4gTGFiZWxzXFxuLy8gICAgIGRvIG5vdCB3cmFwIHVudGlsIGZvcmNlZCBieSBjb250YWluZXIgb2YgdGhlIGZpZWxkLiBNaW4gYW5kIG1heCBsaW1pdHMgbWFrZSBleHRyYSBsb25nIHdvcmRzXFxuLy8gICAgIGJyZWFrIGlmIG5lY2Vzc2FyeS5cXG4vL1xcbi8vIDIuICBGb3JtIGZpZWxkcyBpbiBob3Jpem9udGFsIGxheW91dCBhbHNvIHRha2UgdXAgb25seSBhcyBtdWNoIHNwYWNlIGFzIHRoZXkgbmVlZC4gTGFiZWxzIGRvIG5vdFxcbi8vICAgICB3cmFwIHVudGlsIGxhYmVsIHdpZHRoIGxpbWl0IGlzIHJlYWNoZWQgKDUwICUgb2YgYXZhaWxhYmxlIGhvcml6b250YWwgc3BhY2UgYnkgZGVmYXVsdCkuXFxuLy9cXG4vLyAzLiAgSGVscCB0ZXh0cyBhbmQgdmFsaWRhdGlvbiBtZXNzYWdlcyBhcmUgYWxpZ25lZCBiZWxvdyBpbnB1dCBhbmQgd3JhcHBlZC4gVGhlaXIgd2lkdGggaXMgYWx3YXlzXFxuLy8gICAgIGxpbWl0ZWQgdG8gdGhlIHdpZHRoIG9mIHRoZSBpbnB1dCBmaWVsZCBzbyB0aGV5IGRvbid0IHNoaWZ0IGFkamFjZW50IGVsZW1lbnRzIHdoZW4gdGhleSBzaG93XFxuLy8gICAgIHVwLiBUaGlzIGFwcGxpZXMgdW5sZXNzIHRoZSBmaWVsZCBpcyBpbnNpZGUgRm9ybUxheW91dCAoc2VlIDEwKS5cXG4vL1xcbi8vIDQuICBEZWZpbmUgZ3JpZCBzcGFjaW5nIGFzIHBhZGRpbmcgb2YgY2hpbGQgZWxlbWVudHMgYmVjYXVzZSBncmlkIGFyZWFzIG1ha2Ugcm93IGFuZCBjb2x1bW4gZ2Fwc1xcbi8vICAgICBzaG93IHVwIGV2ZW4gd2hlbiBub3QgbmVjZXNzYXJ5Llxcbi8vXFxuLy8gNS4gIFdoZW4gaW5wdXQgc2l6ZSBpcyBzbWFsbCBhbmQgZm9ybSBmaWVsZCBsYXlvdXQgaXMgc2V0IHRvIGhvcml6b250YWwsIGV4cGFuZCBoZWxwIHRleHQgYW5kXFxuLy8gICAgIHZhbGlkYXRpb24gbWVzc2FnZSBvdmVyIGZ1bGwgZm9ybSBmaWVsZCB3aWR0aCB0byBpbXByb3ZlIHRoZWlyIHJlYWRhYmlsaXR5LiBPdGhlcndpc2UgdGhlXFxuLy8gICAgIHRleHQgd291bGQgYmUgcGFja2VkIGludG8gYSB2ZXJ5IG5hcnJvdyBjb2x1bW4gYW5kIGhhcmQgdG8gcmVhZC4gVG8gcHJldmVudCBoZWxwIHRleHQgYW5kXFxuLy8gICAgIHZhbGlkYXRpb24gbWVzc2FnZSBmcm9tIGdyb3dpbmcgdGhlIGxheW91dCBtb3JlIHRoYW4gbmVjZXNzYXJ5IChpZS4gdGhlIHNpemUgd2l0aG91dFxcbi8vICAgICBoZWxwL3ZhbGlkYXRpb24gdGV4dCksIGBtaW4tY29udGVudGAgZ3JpZCBzaXppbmcgbXVzdCBiZSB1c2VkIGFsb25nIHdpdGggZGlzYWJsZWQgd3JhcHBpbmcgb2ZcXG4vLyAgICAgbGFiZWwuXFxuLy9cXG4vLyA2LiAgRnVsbC13aWR0aCBob3Jpem9udGFsIGZvcm0gZmllbGRzIHByZWZlciBub3Qgd3JhcHBpbmcgdGhlIGxhYmVsIHVudGlsIGEgbGltaXQgaXMgcmVhY2hlZFxcbi8vICAgICAoNTAgJSBvZiBhdmFpbGFibGUgaG9yaXpvbnRhbCBzcGFjZSBieSBkZWZhdWx0LCBzYW1lIGFzIGluIDIuKS5cXG4vL1xcbi8vIDcuICBKdXN0aWZ5IGlucHV0cyB0byBgc3RhcnRgIGluIGhvcml6b250YWwgbGF5b3V0cyB0byBmaXggcG9zaXRpb25pbmcgaXNzdWVzIHdpdGggU2VsZWN0IEZpZWxkcy5cXG4vLyAgICAgUmV2ZXJ0ZWQgZm9yIGZ1bGwtd2lkdGggZmllbGRzLlxcbi8vXFxuLy8gOC4gIEdyaWQgc2V0dGluZ3MgYXJlIGluaGVyaXRlZCBmcm9tIGhvcml6b250YWwgRm9ybUxheW91dCBhbmQgYXBwbGllZCB1c2luZyBgc3ViZ3JpZGAuXFxuLy8gICAgIEEgZmFsbGJhY2sgaXMgc3VwcGxpZWQgdG8gYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGBzdWJncmlkYCB5ZXQuIFNlZSBGb3JtTGF5b3V0IHN0eWxlc1xcbi8vICAgICBmb3IgbW9yZS5cXG4vLyAgICAgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LXVpLW9yZy9yZWFjdC11aS9pc3N1ZXMvMjMyXFxuLy9cXG4vLyA5LiAgSGVscCB0ZXh0cyBhbmQgdmFsaWRhdGlvbiBtZXNzYWdlcyBjYW4gdGFrZSB1cCBmdWxsIHdpZHRoIG9mIEZvcm1MYXlvdXQuIFRoZXJlIGlzIG5vIHJlYXNvblxcbi8vICAgICB0byBtYWtlIHRoZW0gd3JhcCBhcyB0aGV5IGNhbm5vdCBicmVhayBsYXlvdXQgb2YgRm9ybUxheW91dC5cXG4vL1xcbi8vIDEwLiBWaXN1YWxseSBhbGlnbiBsYWJlbCB0byBpbnB1dCBiYXNlbGluZS4gQWNoaWV2ZWQgd2l0aCBgcGFkZGluZy10b3BgIGFuZCBgcGFkZGluZy1ib3R0b21gIGR1ZVxcbi8vICAgICB0byB0d28gcmVhc29uczpcXG4vL1xcbi8vICAgICAqIGBhbGlnbi1pdGVtczogYmFzZWxpbmVgIGRvZXNuJ3Qgd29yayBmb3IgYmxhbmsgdGV4dCBpbnB1dHMgaW4gU2FmYXJpLiBTZWVcXG4vLyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Mjk2OCBhbmRcXG4vLyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LXVpLW9yZy9yZWFjdC11aS9pc3N1ZXMvMjY1Llxcbi8vXFxuLy8gICAgICogYGFsaWduLWl0ZW1zOiBiYXNlbGluZWAgZG9lc24ndCBhbGxvdyBzdWJzZXF1ZW50IHZlcnRpY2FsIGNlbnRlcmluZyBvZiB0YWxsIGlucHV0cyBhbmQvb3JcXG4vLyAgICAgICAgbXVsdGlsaW5lIGxhYmVscyAoc2VlIGB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC12ZXJ0aWNhbC1hbGlnbm1lbnRgIGFuZFxcbi8vICAgICAgICBgdGhlbWUuJGhvcml6b250YWwtZmllbGQtdmVydGljYWwtYWxpZ25tZW50YCkuXFxuLy9cXG4vLyAxMS4gUmVzZXQgYHdpZHRoYCBwcmV2aW91c2x5IHNldCBieSBpbmxpbmUgZmllbGQgbGF5b3V0IChzZWUgYF9pbmxpbmUtZmllbGQtbGF5b3V0LnNjc3NgKS5cXG4vL1xcbi8vIDEyLiBNYWtlIGZpZWxkcyBqdXN0IGFzIHdpZGUgYXMgbmVjZXNzYXJ5LiBGaWVsZHMgc2hvdWxkIGJlIGludGVyYWN0aXZlIG9ubHkgd2hlcmUgdGhlaXIgdmlzaWJsZVxcbi8vICAgICBjb250ZW50IGlzLlxcbi8vXFxuLy8gMTMuIExhYmVsIGFuZCBmaWVsZCBhcmUgdmVydGljYWxseSBhbGlnbmVkIHRvIHRvcCAoc3RhcnQpIGJ5IGRlZmF1bHQgKHNlZSAxMC4pLiBWZXJ0aWNhbFxcbi8vICAgICBhbGlnbm1lbnQgb2YgZWFjaCBibG9jayBjYW4gYmUgY2hhbmdlZCBieSB0aGVtZSBjb25maWd1cmF0aW9uLlxcblxcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm1zXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3JtLWZpZWxkc1xcXCIgYXMgc2V0dGluZ3M7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL3R5cG9ncmFwaHlcXFwiO1xcbkB1c2UgXFxcIi4uL2JyZWFrcG9pbnRcXFwiO1xcblxcbkBtaXhpbiB2ZXJ0aWNhbCgkaGFzLWxpc3Q6IGZhbHNlKSB7XFxuICAgIEBpZiAkaGFzLWxpc3Qge1xcbiAgICAgICAgLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwOiAje3NldHRpbmdzLiR2ZXJ0aWNhbC1pbm5lci1nYXAtbGFyZ2V9O1xcbiAgICB9XFxuXFxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyAvLyAxLlxcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBtaW4td2lkdGg6IDA7IC8vIDEuXFxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMS5cXG5cXG4gICAgLmxhYmVsIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCAje3NldHRpbmdzLiR2ZXJ0aWNhbC1pbm5lci1nYXB9KTtcXG4gICAgfVxcblxcbiAgICAuaGVscFRleHQsXFxuICAgIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tcnVpLWxvY2FsLXZlcnRpY2FsLWdhcCwgI3tzZXR0aW5ncy4kdmVydGljYWwtaW5uZXItZ2FwfSk7XFxuICAgIH1cXG5cXG4gICAgLmZpZWxkIHtcXG4gICAgICAgIHdpZHRoOiBtaW4tY29udGVudDsgLy8gMy5cXG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgLy8gMy5cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaG9yaXpvbnRhbCgkaGFzLW1pbi10YXAtdGFyZ2V0OiBmYWxzZSkge1xcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGZvcm1zLiRob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ncmlkOyAvLyAyLlxcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC13aWR0aCBtaW4tY29udGVudDsgLy8gMi5cXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFxcXCJsYWJlbCBmaWVsZFxcXCI7XFxuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7IC8vIDEwLiwgMTMuXFxuXFxuICAgICAgICAubGFiZWwge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogbGFiZWw7XFxuICAgICAgICAgICAgYWxpZ24tc2VsZjogdGhlbWUuJGhvcml6b250YWwtbGFiZWwtdmVydGljYWwtYWxpZ25tZW50OyAvLyAxMy5cXG4gICAgICAgICAgICBtaW4td2lkdGg6IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLW1pbi13aWR0aDtcXG5cXG4gICAgICAgICAgICAvLyAxMC5cXG4gICAgICAgICAgICBAaWYgJGhhcy1taW4tdGFwLXRhcmdldCB7XFxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOlxcbiAgICAgICAgICAgICAgICAgICAgY2FsYyhcXG4gICAgICAgICAgICAgICAgICAgICAgICAoI3t0aGVtZS4kY2hlY2stdGFwLXRhcmdldC1zaXplfSAtIDFyZW0gKiAje3R5cG9ncmFwaHkuJGxpbmUtaGVpZ2h0LWJhc2V9KVxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8gMlxcbiAgICAgICAgICAgICAgICAgICAgKTtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206XFxuICAgICAgICAgICAgICAgICAgICBjYWxjKFxcbiAgICAgICAgICAgICAgICAgICAgICAgICgje3RoZW1lLiRjaGVjay10YXAtdGFyZ2V0LXNpemV9IC0gMXJlbSAqICN7dHlwb2dyYXBoeS4kbGluZS1oZWlnaHQtYmFzZX0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgLyAyXFxuICAgICAgICAgICAgICAgICAgICApO1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAvLyAxMC4sIDEzLlxcbiAgICAgICAgICAgIEBlbHNlIHtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICN7dGhlbWUuJGhvcml6b250YWwtbGFiZWwtcGFkZGluZy15fTtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICN7dGhlbWUuJGhvcml6b250YWwtbGFiZWwtcGFkZGluZy15fTtcXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogc2V0dGluZ3MuJGhvcml6b250YWwtaW5uZXItZ2FwOyAvLyA0LlxcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXRleHQtYWxpZ247XFxuICAgICAgICB9XFxuXFxuICAgICAgICAuZmllbGQge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogZmllbGQ7XFxuICAgICAgICAgICAgYWxpZ24tc2VsZjogdGhlbWUuJGhvcml6b250YWwtZmllbGQtdmVydGljYWwtYWxpZ25tZW50OyAvLyAxMy5cXG4gICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0OyAvLyA3LlxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBob3Jpem9udGFsLXdpdGgtc21hbGwtaW5wdXQoKSB7XFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW4tY29udGVudCBtaW4tY29udGVudDsgLy8gNS5cXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XFxuICAgICAgICAgICAgXFxcImxhYmVsIGZpZWxkXFxcIlxcbiAgICAgICAgICAgIFxcXCJoZWxwdGV4dCBoZWxwdGV4dFxcXCJcXG4gICAgICAgICAgICBcXFwidmFsaWRhdGlvbnRleHQgdmFsaWRhdGlvbnRleHRcXFwiOyAvLyA1LlxcblxcbiAgICAgICAgLmxhYmVsIHtcXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLmZpZWxkIHtcXG4gICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50czsgLy8gNS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC5pbnB1dENvbnRhaW5lciB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBmaWVsZDsgLy8gNS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC5oZWxwVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBoZWxwdGV4dDsgLy8gNS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiB2YWxpZGF0aW9udGV4dDsgLy8gNS5cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gZnVsbC13aWR0aCgpIHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgd2lkdGg6IDEwMCU7XFxuXFxuICAgIC5maWVsZCxcXG4gICAgLmlucHV0Q29udGFpbmVyLFxcbiAgICAuaW5wdXQge1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgIH1cXG5cXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChmb3Jtcy4kaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwge1xcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XFxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB0aGVtZS4kaG9yaXpvbnRhbC1mdWxsLXdpZHRoLWxhYmVsLXdpZHRoIDFmcjsgLy8gNi5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuZmllbGQge1xcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogc3RyZXRjaDsgLy8gNy5cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaW4tZm9ybS1sYXlvdXQoKSB7XFxuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7IC8vIDEyLlxcblxcbiAgICAuZmllbGQge1xcbiAgICAgICAgd2lkdGg6IGF1dG87IC8vIDkuXFxuICAgIH1cXG5cXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChmb3Jtcy4kaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XFxuICAgICAgICAub3B0aW9uTGFiZWwge1xcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvOyAvLyAxMS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbC5oYXNSb290U21hbGxJbnB1dCB7XFxuICAgICAgICAgICAgZ3JpZDogaW5oZXJpdDsgLy8gOC5cXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7IC8vIDguXFxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjsgLy8gOC5cXG5cXG4gICAgICAgICAgICBAc3VwcG9ydHMgbm90IChncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQpIHtcXG4gICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7IC8vIDguXFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLmlzUm9vdEZ1bGxXaWR0aCB7XFxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkOyAvLyA4LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5sYWJlbCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuZmllbGQsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmlucHV0Q29udGFpbmVyLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5oZWxwVGV4dCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogdW5zZXQ7IC8vIDguXFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmZpZWxkLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5pbnB1dENvbnRhaW5lcixcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaGVscFRleHQsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMjsgLy8gOC5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbC5oYXNSb290U21hbGxJbnB1dCAuZmllbGQge1xcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyAvLyA1LlxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiLFwiQHVzZSBcXFwic2FzczptYXBcXFwiO1xcbkB1c2UgXFxcIi4uL3NldHRpbmdzL2JyZWFrcG9pbnRzXFxcIjtcXG5cXG5AbWl4aW4gdXAoJGJyZWFrcG9pbnQpIHtcXG4gICAgQGlmIG5vdCBtYXAuaGFzLWtleShicmVha3BvaW50cy4kdmFsdWVzLCAkYnJlYWtwb2ludCkge1xcbiAgICAgICAgQGVycm9yIFxcXCJJbnZhbGlkIGJyZWFrcG9pbnQgc3BlY2lmaWVkISAjeyRicmVha3BvaW50fSBkb2Vzbid0IGV4aXN0LiBcXFwiXFxuICAgICAgICAgICAgKyBcXFwiQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKGJyZWFrcG9pbnRzLiR2YWx1ZXMpfVxcXCI7XFxuICAgIH0gQGVsc2UgaWYgbWFwLmdldChicmVha3BvaW50cy4kdmFsdWVzLCAkYnJlYWtwb2ludCkgPT0gMCB7XFxuICAgICAgICBAY29udGVudDtcXG4gICAgfSBAZWxzZSB7XFxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldChicmVha3BvaW50cy4kdmFsdWVzLCAkYnJlYWtwb2ludCkpIHtcXG4gICAgICAgICAgICBAY29udGVudDtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cIixudWxsXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ubG9jYWxzID0ge1xuXHRcInJvb3RcIjogXCJGaWxlSW5wdXRGaWVsZF9fcm9vdF9fVm1XbDQtSVJcIixcblx0XCJsYWJlbFwiOiBcIkZpbGVJbnB1dEZpZWxkX19sYWJlbF9fTnVrSFowZFZcIixcblx0XCJpbnB1dENvbnRhaW5lclwiOiBcIkZpbGVJbnB1dEZpZWxkX19pbnB1dENvbnRhaW5lcl9fOUJWQXB1YmJcIixcblx0XCJoZWxwVGV4dFwiOiBcIkZpbGVJbnB1dEZpZWxkX19oZWxwVGV4dF9fTVVOUU1nZzBcIixcblx0XCJ2YWxpZGF0aW9uVGV4dFwiOiBcIkZpbGVJbnB1dEZpZWxkX192YWxpZGF0aW9uVGV4dF9fV0RkQXlkTk9cIixcblx0XCJpc1Jvb3RSZXF1aXJlZFwiOiBcIkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RSZXF1aXJlZF9fN3pnMzdDTWpcIixcblx0XCJpc1Jvb3RTdGF0ZUludmFsaWRcIjogXCJGaWxlSW5wdXRGaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX18rVThqSzdXelwiLFxuXHRcImlucHV0XCI6IFwiRmlsZUlucHV0RmllbGRfX2lucHV0X19kdVRTdCtWTVwiLFxuXHRcImlzUm9vdERpc2FibGVkXCI6IFwiRmlsZUlucHV0RmllbGRfX2lzUm9vdERpc2FibGVkX19KdXlCbE03NVwiLFxuXHRcImlzUm9vdFN0YXRlVmFsaWRcIjogXCJGaWxlSW5wdXRGaWVsZF9faXNSb290U3RhdGVWYWxpZF9fdXJxTDBIWFlcIixcblx0XCJpc1Jvb3RTdGF0ZVdhcm5pbmdcIjogXCJGaWxlSW5wdXRGaWVsZF9faXNSb290U3RhdGVXYXJuaW5nX19SZFZtLW1UalwiLFxuXHRcImlzTGFiZWxIaWRkZW5cIjogXCJGaWxlSW5wdXRGaWVsZF9faXNMYWJlbEhpZGRlbl9fQU52VUJFUEJcIixcblx0XCJpc1Jvb3RMYXlvdXRWZXJ0aWNhbFwiOiBcIkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fdUNyKyt4VXBcIixcblx0XCJpc1Jvb3RMYXlvdXRIb3Jpem9udGFsXCI6IFwiRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0XCIsXG5cdFwiZmllbGRcIjogXCJGaWxlSW5wdXRGaWVsZF9fZmllbGRfX09KcndoeDdkXCIsXG5cdFwiaXNSb290RnVsbFdpZHRoXCI6IFwiRmlsZUlucHV0RmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fakNBM3U1WnlcIixcblx0XCJpc1Jvb3RJbkZvcm1MYXlvdXRcIjogXCJGaWxlSW5wdXRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X191RG93UUtxY1wiLFxuXHRcIm9wdGlvbkxhYmVsXCI6IFwiRmlsZUlucHV0RmllbGRfX29wdGlvbkxhYmVsX19kNmNsck9XZFwiLFxuXHRcImhhc1Jvb3RTbWFsbElucHV0XCI6IFwiRmlsZUlucHV0RmllbGRfX2hhc1Jvb3RTbWFsbElucHV0X19tWHdpb0FRMFwiXG59O1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js?!./src/lib/components/FileInputField/FileInputField.scss\n");
|
1042
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \".FileInputField__root__VmWl4-IR {\\n text-align: left;\\n}\\n\\n.FileInputField__label__NukHZ0dV {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__label__color));\\n}\\n\\n.FileInputField__inputContainer__9BVApubb {\\n position: relative;\\n display: inline-flex;\\n min-width: 0;\\n max-width: 100%;\\n}\\n\\n.FileInputField__helpText__MUNQMgg0,\\n.FileInputField__validationText__WDdAydNO {\\n font-style: var(--rui-FormField__help-text__font-style);\\n font-size: var(--rui-FormField__help-text__font-size);\\n line-height: 1.2rem;\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__help-text__color));\\n}\\n\\n.FileInputField__isRootRequired__7zg37CMj .FileInputField__label__NukHZ0dV {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField--required__label__color));\\n}\\n.FileInputField__isRootRequired__7zg37CMj .FileInputField__label__NukHZ0dV::after {\\n content: var(--rui-FormField--required__sign);\\n color: var(--rui-FormField--required__sign__color);\\n}\\n\\n.FileInputField__isRootStateInvalid__\\\\+U8jK7Wz, .FileInputField__isRootStateInvalid__\\\\+U8jK7Wz:hover {\\n --rui-local-color: var(--rui-FormField--invalid--default__color);\\n --rui-local-border-color: var(--rui-FormField--invalid--default__border-color);\\n --rui-local-background: var(--rui-FormField--invalid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--invalid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--invalid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--invalid--default__surrounding-text-color);\\n}\\n.FileInputField__isRootStateInvalid__\\\\+U8jK7Wz .FileInputField__input__duTSt\\\\+VM:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n}\\n.FileInputField__isRootStateInvalid__\\\\+U8jK7Wz.FileInputField__isRootDisabled__JuyBlM75 {\\n --rui-local-color:\\n var(\\n --rui-FormField--invalid--disabled__color,\\n var(--rui-FormField--invalid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--disabled__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--invalid--disabled__background,\\n var(--rui-FormField--invalid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--disabled__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--invalid--disabled__box-shadow,\\n var(--rui-FormField--invalid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--invalid--disabled__surrounding-text-color,\\n var(--rui-FormField--invalid--default__surrounding-text-color)\\n );\\n}\\n.FileInputField__isRootStateInvalid__\\\\+U8jK7Wz .FileInputField__input__duTSt\\\\+VM:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__border-color,\\n var(--rui-FormField--invalid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__check-background-color,\\n var(--rui-FormField--invalid--checked__check-background-color)\\n );\\n}\\n\\n.FileInputField__isRootStateValid__urqL0HXY, .FileInputField__isRootStateValid__urqL0HXY:hover {\\n --rui-local-color: var(--rui-FormField--valid--default__color);\\n --rui-local-border-color: var(--rui-FormField--valid--default__border-color);\\n --rui-local-background: var(--rui-FormField--valid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--valid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--valid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--valid--default__surrounding-text-color);\\n}\\n.FileInputField__isRootStateValid__urqL0HXY .FileInputField__input__duTSt\\\\+VM:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n}\\n.FileInputField__isRootStateValid__urqL0HXY.FileInputField__isRootDisabled__JuyBlM75 {\\n --rui-local-color:\\n var(\\n --rui-FormField--valid--disabled__color,\\n var(--rui-FormField--valid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--disabled__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--valid--disabled__background,\\n var(--rui-FormField--valid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--disabled__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--valid--disabled__box-shadow,\\n var(--rui-FormField--valid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--valid--disabled__surrounding-text-color,\\n var(--rui-FormField--valid--default__surrounding-text-color)\\n );\\n}\\n.FileInputField__isRootStateValid__urqL0HXY .FileInputField__input__duTSt\\\\+VM:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked-disabled__border-color,\\n var(--rui-FormField--valid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked-disabled__check-background-color,\\n var(--rui-FormField--valid--checked__check-background-color)\\n );\\n}\\n\\n.FileInputField__isRootStateWarning__RdVm-mTj, .FileInputField__isRootStateWarning__RdVm-mTj:hover {\\n --rui-local-color: var(--rui-FormField--warning--default__color);\\n --rui-local-border-color: var(--rui-FormField--warning--default__border-color);\\n --rui-local-background: var(--rui-FormField--warning--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--warning--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--warning--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--warning--default__surrounding-text-color);\\n}\\n.FileInputField__isRootStateWarning__RdVm-mTj .FileInputField__input__duTSt\\\\+VM:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n}\\n.FileInputField__isRootStateWarning__RdVm-mTj.FileInputField__isRootDisabled__JuyBlM75 {\\n --rui-local-color:\\n var(\\n --rui-FormField--warning--disabled__color,\\n var(--rui-FormField--warning--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--disabled__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--warning--disabled__background,\\n var(--rui-FormField--warning--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--disabled__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--warning--disabled__box-shadow,\\n var(--rui-FormField--warning--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--warning--disabled__surrounding-text-color,\\n var(--rui-FormField--warning--default__surrounding-text-color)\\n );\\n}\\n.FileInputField__isRootStateWarning__RdVm-mTj .FileInputField__input__duTSt\\\\+VM:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked-disabled__border-color,\\n var(--rui-FormField--warning--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked-disabled__check-background-color,\\n var(--rui-FormField--warning--checked__check-background-color)\\n );\\n}\\n\\n.FileInputField__isLabelHidden__ANvUBEPB {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n.FileInputField__isRootLayoutVertical__uCr\\\\+\\\\+xUp,\\n.FileInputField__isRootLayoutHorizontal__O067vwi4 {\\n display: inline-flex;\\n flex-direction: column;\\n min-width: 0;\\n max-width: 100%;\\n}\\n.FileInputField__isRootLayoutVertical__uCr\\\\+\\\\+xUp .FileInputField__label__NukHZ0dV,\\n.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__label__NukHZ0dV {\\n padding-bottom: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.FileInputField__isRootLayoutVertical__uCr\\\\+\\\\+xUp .FileInputField__helpText__MUNQMgg0,\\n.FileInputField__isRootLayoutVertical__uCr\\\\+\\\\+xUp .FileInputField__validationText__WDdAydNO,\\n.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__helpText__MUNQMgg0,\\n.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__validationText__WDdAydNO {\\n padding-top: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.FileInputField__isRootLayoutVertical__uCr\\\\+\\\\+xUp .FileInputField__field__OJrwhx7d,\\n.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__field__OJrwhx7d {\\n width: -webkit-min-content;\\n width: -moz-min-content;\\n width: min-content;\\n max-width: 100%;\\n}\\n\\n@media (min-width: 48em) {\\n .FileInputField__isRootLayoutHorizontal__O067vwi4 {\\n display: inline-grid;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) -webkit-min-content;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) min-content;\\n grid-template-areas: \\\"label field\\\";\\n align-items: start;\\n }\\n .FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__label__NukHZ0dV {\\n grid-area: label;\\n align-self: var(--rui-FormField--horizontal__label__vertical-alignment);\\n min-width: var(--rui-FormField--horizontal__label__min-width);\\n padding-top: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-bottom: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-right: var(--rui-dimension-space-2);\\n text-align: var(--rui-FormField--horizontal__label__text-align);\\n }\\n .FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__field__OJrwhx7d {\\n grid-area: field;\\n align-self: var(--rui-FormField--horizontal__field__vertical-alignment);\\n justify-self: start;\\n }\\n}\\n\\n@media (min-width: 48em) {\\n .FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__label__NukHZ0dV {\\n -ms-grid-row: 1;\\n -ms-grid-column: 1;\\n }\\n .FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__field__OJrwhx7d {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n}\\n\\n.FileInputField__isRootFullWidth__jCA3u5Zy {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n}\\n.FileInputField__isRootFullWidth__jCA3u5Zy .FileInputField__field__OJrwhx7d,\\n.FileInputField__isRootFullWidth__jCA3u5Zy .FileInputField__inputContainer__9BVApubb,\\n.FileInputField__isRootFullWidth__jCA3u5Zy .FileInputField__input__duTSt\\\\+VM {\\n width: 100%;\\n}\\n@media (min-width: 48em) {\\n .FileInputField__isRootFullWidth__jCA3u5Zy.FileInputField__isRootLayoutHorizontal__O067vwi4 {\\n display: grid;\\n grid-template-columns: var(--rui-FormField--horizontal--full-width__label__width) 1fr;\\n }\\n .FileInputField__isRootFullWidth__jCA3u5Zy.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__field__OJrwhx7d {\\n justify-self: stretch;\\n }\\n}\\n\\n.FileInputField__isRootInFormLayout__uDowQKqc {\\n justify-self: start;\\n}\\n.FileInputField__isRootInFormLayout__uDowQKqc .FileInputField__field__OJrwhx7d {\\n width: auto;\\n}\\n@media (min-width: 48em) {\\n .FileInputField__isRootInFormLayout__uDowQKqc .FileInputField__optionLabel__d6clrOWd {\\n width: auto;\\n }\\n .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4, .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4.FileInputField__hasRootSmallInput__mXwioAQ0 {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n }\\n @supports not (grid-template-columns: subgrid) {\\n .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4, .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4.FileInputField__hasRootSmallInput__mXwioAQ0 {\\n display: contents;\\n }\\n }\\n .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4.FileInputField__isRootFullWidth__jCA3u5Zy {\\n grid-template-columns: subgrid;\\n }\\n .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__label__NukHZ0dV, .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__field__OJrwhx7d, .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__inputContainer__9BVApubb, .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__helpText__MUNQMgg0, .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__validationText__WDdAydNO {\\n grid-area: unset;\\n }\\n .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__field__OJrwhx7d, .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__inputContainer__9BVApubb, .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__helpText__MUNQMgg0, .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4 .FileInputField__validationText__WDdAydNO {\\n grid-column-start: 2;\\n }\\n .FileInputField__isRootInFormLayout__uDowQKqc.FileInputField__isRootLayoutHorizontal__O067vwi4.FileInputField__hasRootSmallInput__mXwioAQ0 .FileInputField__field__OJrwhx7d {\\n display: block;\\n }\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/lib/components/FileInputField/FileInputField.scss\",\"webpack://./src/lib/styles/tools/form-fields/_foundation.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-elements.scss\",\"webpack://./src/lib/styles/theme/_form-fields.scss\",\"webpack://./src/lib/styles/settings/_form-fields.scss\",\"webpack://./src/lib/styles/tools/form-fields/_variants.scss\",\"webpack://./src/lib/styles/tools/_accessibility.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-layout.scss\",\"webpack://./src/lib/styles/tools/_breakpoint.scss\",\"<no source>\"],\"names\":[],\"mappings\":\"AAOA;ECAI,gBAAA;ADLJ;;AASA;ECMI,kFAAA;ADXJ;;AASA;EEDI,kBAAA;EACA,oBAAA;EACA,YAAA;EACA,eAAA;AFJJ;;AAMA;;ECWI,uDEjBmB;EFkBnB,qDEnBkB;EFoBlB,mBGzBoB;EH0BpB,sFAAA;ADZJ;;AAGA;ECHI,4FAAA;ADIJ;ACFI;EACI,6CERQ;EFSR,kDERc;AHYtB;;AKoDQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;ALZZ;AK2DQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;ALPZ;AKqDQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ALyBZ;AK2BQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ALqCZ;;AKbQ;EA/BI,8DAAA;EAAA,4EAAA;EAAA,wEAAA;EAAA,gGAAA;EAAA,wEAAA;EAAA,gGAAA;ALqDZ;AKNQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AL0DZ;AKZQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AL0FZ;AKtCQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ALsGZ;;AK9EQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;ALsHZ;AKvEQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AL2HZ;AK7EQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AL2JZ;AKvGQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ALuKZ;;AAtLA;EMjCI,kBAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,SAAA;AN2NJ;;AA5LA;;EOsBI,oBAAA;EACA,sBAAA;EACA,YAAA;EACA,eAAA;AP2KJ;AOzKI;;EACI,2EAAA;AP4KR;AOzKI;;;;EAEI,wEAAA;AP6KR;AO1KI;;EACI,0BAAA;EAAA,uBAAA;EAAA,kBAAA;EACA,eAAA;AP6KR;;AQxPQ;ER0CR;IOuCQ,oBAAA;IACA,yFAAA;IAAA,iFAAA;IACA,kCAAA;IACA,kBAAA;EP4KN;EO1KM;IACI,gBAAA;IACA,uEJtE0B;IIuE1B,6DJ9EiB;IIgGb,2IAAA;IACA,8IAAA;IAGJ,2CH5GW;IG6GX,+DJtGkB;EH+P5B;EOtJM;IACI,gBAAA;IACA,uEJlG0B;IImG1B,mBAAA;EPwJV;AACF;;ASzRA;EFgGQ;IEhGR,gBAAA;IAAA,mBAAA;ETmRE;EOtJM;IE7HR,gBAAA;IAAA,mBAAA;ETwRE;CSxRF;;ATwDA;EO4GI,aAAA;EACA,sBAAA;EACA,WAAA;APyHJ;AOvHI;;;EAGI,WAAA;APyHR;AQ1RQ;EDqKA;IACI,aAAA;IACA,qFAAA;EPwHV;EOrHM;IACI,qBAAA;EPuHV;AACF;;AAjPA;EO+HI,mBAAA;APsHJ;AOpHI;EACI,WAAA;APsHR;AQ1SQ;EDwLA;IACI,WAAA;EPqHV;EO3GU;IAEI,aAAA;IACA,8BAAA;IACA,mBAAA;EP4Gd;EO1Gc;IANJ;MAOQ,iBAAA;IP6GhB;EACF;EO1GU;IACI,8BAAA;EP4Gd;EOxGM;IAKI,gBAAA;EPsGV;EOnGM;IAII,oBAAA;EPkGV;EO/FM;IACI,cAAA;EPiGV;AACF\",\"sourcesContent\":[\"@use \\\"../../styles/tools/form-fields/box-field-elements\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-layout\\\";\\n@use \\\"../../styles/tools/form-fields/foundation\\\";\\n@use \\\"../../styles/tools/form-fields/variants\\\";\\n@use \\\"../../styles/tools/accessibility\\\";\\n\\n// Foundation\\n.root {\\n @include foundation.root();\\n}\\n\\n.label {\\n @include foundation.label();\\n}\\n\\n.inputContainer {\\n @include box-field-elements.input-container();\\n}\\n\\n.helpText,\\n.validationText {\\n @include foundation.help-text();\\n}\\n\\n.isRootRequired .label {\\n @include foundation.label-required();\\n}\\n\\n// States\\n.isRootStateInvalid {\\n @include variants.validation(invalid);\\n}\\n\\n.isRootStateValid {\\n @include variants.validation(valid);\\n}\\n\\n.isRootStateWarning {\\n @include variants.validation(warning);\\n}\\n\\n// Invisible label\\n.isLabelHidden {\\n @include accessibility.hide-text();\\n}\\n\\n// Layouts\\n.isRootLayoutVertical,\\n.isRootLayoutHorizontal {\\n @include box-field-layout.vertical();\\n}\\n\\n.isRootLayoutHorizontal {\\n @include box-field-layout.horizontal();\\n}\\n\\n.isRootFullWidth {\\n @include box-field-layout.full-width();\\n}\\n\\n.isRootInFormLayout {\\n @include box-field-layout.in-form-layout();\\n}\\n\",\"// 1. Don't let text alignment be affected by a parent.\\n// 2. Override foundation reset.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin root() {\\n text-align: left; // 1.\\n}\\n\\n@mixin fieldset() {\\n &:not(:last-child) {\\n margin-bottom: 0; // 2.\\n }\\n}\\n\\n@mixin label() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$label-color});\\n}\\n\\n@mixin label-required() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$required-label-color});\\n\\n &::after {\\n content: theme.$required-sign;\\n color: theme.$required-sign-color;\\n }\\n}\\n\\n@mixin help-text() {\\n font-style: theme.$help-text-font-style;\\n font-size: theme.$help-text-font-size;\\n line-height: settings.$help-text-line-height;\\n color: var(--rui-local-surrounding-text-color, #{theme.$help-text-color});\\n}\\n\",\"// 1. Get ready for positioning of bottom line and caret.\\n// 2. Always prefer `size` and `max` attributes when defined. Use CSS for sizing to normalize\\n// result width across browsers.\\n// 3. Let inputs properly fit various layout scenarios.\\n// 4. Leave out space for SelectField caret.\\n// 5. Use a block-level display mode to prevent extra white space below grouped inputs in Safari.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../tools/caret\\\";\\n@use \\\"../spacing\\\";\\n@use \\\"../transition\\\";\\n\\n@mixin input-container() {\\n position: relative; // 1.\\n display: inline-flex;\\n min-width: 0; // 3.\\n max-width: 100%; // 3.\\n}\\n\\n@mixin input() {\\n @include transition.add((opacity, color, border-color, background-color, box-shadow));\\n\\n appearance: none;\\n width: theme.$box-input-width;\\n min-width: theme.$box-input-min-width;\\n max-width: 100%; // 3.\\n height: var(--rui-local-height);\\n padding: var(--rui-local-padding-y) var(--rui-local-padding-x);\\n font-weight: settings.$box-input-font-weight;\\n font-size: var(--rui-local-font-size);\\n line-height: settings.$box-input-line-height;\\n font-family: settings.$box-input-font-family;\\n vertical-align: middle;\\n color: var(--rui-local-color);\\n border: theme.$box-border-width solid var(--rui-local-border-color);\\n border-radius: theme.$box-border-radius;\\n background: var(--rui-local-background);\\n box-shadow: var(--rui-local-box-shadow);\\n\\n &::placeholder {\\n color: theme.$box-placeholder-color;\\n opacity: 1;\\n }\\n}\\n\\n@mixin input-size() {\\n width:\\n calc(\\n 1ch * var(--rui-custom-input-size)\\n + var(--rui-local-arrows-width, 0)\\n + 2 * var(--rui-local-padding-x)\\n + 2 * #{theme.$box-border-width}\\n ); // 2.\\n\\n min-width: auto; // 2.\\n\\n &[type=\\\"number\\\"] {\\n --rui-local-arrows-width: #{settings.$box-field-input-number-arrows-width};\\n }\\n}\\n\\n@mixin input-textarea() {\\n resize: vertical;\\n\\n &[cols] {\\n min-width: auto;\\n }\\n}\\n\\n@mixin input-select() {\\n appearance: none;\\n padding-right: calc(#{settings.$box-field-caret-size} + #{spacing.of(2)}); // 4.\\n\\n &::-ms-expand {\\n display: none;\\n }\\n}\\n\\n@mixin input-select-option() {\\n option:disabled {\\n color: theme.$box-select-option-disabled-color;\\n }\\n}\\n\\n@mixin caret() {\\n @include transition.add((border-color));\\n\\n position: absolute; // 1.\\n top: theme.$box-border-width;\\n right: theme.$box-border-width;\\n bottom: theme.$box-border-width;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: calc(#{settings.$box-field-caret-size} - 2 * #{theme.$box-border-width});\\n border-start-end-radius: theme.$box-border-radius;\\n border-end-end-radius: theme.$box-border-radius;\\n pointer-events: none;\\n}\\n\\n@mixin caret-icon() {\\n @include caret.create();\\n\\n border-color: var(--rui-local-color);\\n}\\n\\n@mixin bottom-line() {\\n @include transition.add((transform, opacity), 180ms);\\n\\n position: absolute; // 1.\\n bottom: 0;\\n width: 100%;\\n height: settings.$box-field-bottom-line-height;\\n opacity: 0;\\n transform: scaleX(0);\\n transform-origin: center center;\\n pointer-events: none;\\n\\n .input:focus ~ & {\\n background-color: var(--rui-local-border-color);\\n opacity: 1;\\n transform: scaleX(1);\\n }\\n}\\n\\n@mixin in-group-layout() {\\n .inputContainer {\\n display: block; // 5.\\n }\\n\\n &:not(:first-child) .input {\\n border-start-start-radius: var(--rui-local-inner-border-radius);\\n border-end-start-radius: var(--rui-local-inner-border-radius);\\n }\\n\\n &:not(:last-child) .input {\\n border-start-end-radius: var(--rui-local-inner-border-radius);\\n border-end-end-radius: var(--rui-local-inner-border-radius);\\n }\\n}\\n\",\"// Variant specific theme options are obtained dynamically because there is way too many of them to\\n// maintain manually. See `settings/_form-fields.scss` and `tools/form-fields/_variants.scss` for\\n// details.\\n//\\n// 1. Defaults to zero when neither `--rui-FormField--horizontal__label__padding-y` (optional) nor\\n// `--rui-local-padding-y` (handled by the `size()` mixin in case of box form fields, see\\n// `_box-field-sizes.scss`) is defined. This is useful because FormLayoutCustomField may have no\\n// size specified therefore its label should have no padding at the top.\\n\\n// Forms fields: common properties\\n$label-color: var(--rui-FormField__label__color);\\n$label-font-size: var(--rui-FormField__label__font-size);\\n$help-text-font-size: var(--rui-FormField__help-text__font-size);\\n$help-text-font-style: var(--rui-FormField__help-text__font-style);\\n$help-text-color: var(--rui-FormField__help-text__color);\\n$required-label-color: var(--rui-FormField--required__label__color);\\n$required-sign: var(--rui-FormField--required__sign);\\n$required-sign-color: var(--rui-FormField--required__sign__color);\\n\\n// Form fields: horizontal layout\\n$horizontal-label-text-align: var(--rui-FormField--horizontal__label__text-align);\\n$horizontal-label-min-width: var(--rui-FormField--horizontal__label__min-width);\\n$horizontal-label-width: var(--rui-FormField--horizontal__label__width);\\n$horizontal-label-padding-y:\\n var(\\n --rui-FormField--horizontal__label__padding-y,\\n calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y))\\n ); // 1.\\n$horizontal-label-vertical-alignment: var(--rui-FormField--horizontal__label__vertical-alignment);\\n$horizontal-field-vertical-alignment: var(--rui-FormField--horizontal__field__vertical-alignment);\\n$horizontal-full-width-label-width: var(--rui-FormField--horizontal--full-width__label__width);\\n\\n// Form fields: disabled state\\n$disabled-cursor: var(--rui-FormField--disabled__cursor);\\n$disabled-opacity: var(--rui-FormField--disabled__opacity);\\n\\n// Form fields: box fields\\n$box-border-width: var(--rui-FormField--box__border-width);\\n$box-border-radius: var(--rui-FormField--box__border-radius);\\n$box-input-width: var(--rui-FormField--box__input__width);\\n$box-input-min-width: var(--rui-FormField--box__input__min-width);\\n$box-placeholder-color: var(--rui-FormField--box__placeholder__color);\\n\\n// Form fields: box fields, component specific\\n$box-select-caret-border-style: var(--rui-FormField--box--select__caret__border-style);\\n$box-select-caret-background: var(--rui-FormField--box--select__caret__background);\\n$box-select-option-disabled-color: var(--rui-FormField--box--select__option--disabled__color);\\n\\n// Form fields: box field sizes\\n$box-sizes: (\\n small: (\\n height: var(--rui-FormField--box--small__height),\\n padding-y: var(--rui-FormField--box--small__padding-y),\\n padding-x: var(--rui-FormField--box--small__padding-x),\\n font-size: var(--rui-FormField--box--small__font-size),\\n ),\\n medium: (\\n height: var(--rui-FormField--box--medium__height),\\n padding-y: var(--rui-FormField--box--medium__padding-y),\\n padding-x: var(--rui-FormField--box--medium__padding-x),\\n font-size: var(--rui-FormField--box--medium__font-size),\\n ),\\n large: (\\n height: var(--rui-FormField--box--large__height),\\n padding-y: var(--rui-FormField--box--large__padding-y),\\n padding-x: var(--rui-FormField--box--large__padding-x),\\n font-size: var(--rui-FormField--box--large__font-size),\\n ),\\n);\\n\\n// Form fields: check fields\\n$check-input-size: var(--rui-FormField--check__input__size);\\n$check-input-border-width: var(--rui-FormField--check__input__border-width);\\n$check-input-focus-box-shadow: var(--rui-FormField--check__input--focus__box-shadow);\\n$check-tap-target-size: var(--rui-FormField--check__tap-target-size);\\n\\n// Form fields: check fields, component specific\\n$check-input-checkbox-border-radius: var(--rui-FormField--check__input--checkbox__border-radius);\\n$check-input-checkbox-checked-background-image: var(--rui-FormField--check__input--checkbox--checked__background-image);\\n$check-input-radio-border-radius: var(--rui-FormField--check__input--radio__border-radius);\\n$check-input-radio-checked-background-image: var(--rui-FormField--check__input--radio--checked__background-image);\\n$check-input-toggle-width: var(--rui-FormField--check__input--toggle__width);\\n$check-input-toggle-border-radius: var(--rui-FormField--check__input--toggle__border-radius);\\n$check-input-toggle-background-size: var(--rui-FormField--check__input--toggle__background-size);\\n$check-input-toggle-default-background-image: var(--rui-FormField--check__input--toggle--default__background-image);\\n$check-input-toggle-default-background-position:\\n var(\\n --rui-FormField--check__input--toggle--default__background-position\\n );\\n$check-input-toggle-checked-background-image: var(--rui-FormField--check__input--toggle--checked__background-image);\\n$check-input-toggle-checked-background-position:\\n var(\\n --rui-FormField--check__input--toggle--checked__background-position\\n );\\n\",\"// 1. Input `line-height` is specified in `rem` so inputs do not break when their font size gets\\n// changed later.\\n\\n@use \\\"sass:map\\\";\\n@use \\\"../theme/typography\\\";\\n@use \\\"../tools/spacing\\\";\\n\\n$help-text-line-height: 1.2rem;\\n\\n$vertical-inner-gap: spacing.of(1);\\n$vertical-inner-gap-large: spacing.of(2);\\n$vertical-outer-spacing: spacing.of(2);\\n\\n$horizontal-inner-gap: spacing.of(2);\\n$horizontal-outer-spacing: spacing.of(2);\\n\\n$box-input-font-family: typography.$font-family-base;\\n$box-input-font-weight: map.get(typography.$font-weight-values, default);\\n$box-input-line-height: 1.5rem; // 1.\\n$box-field-caret-size: 2.25rem;\\n$box-field-input-number-arrows-width: 1.5rem;\\n$box-field-bottom-line-height: 2px;\\n\\n$inline-field-inner-gap: spacing.of(2);\\n\\n$themeable-variant-states: (\\n box: (\\n filled: (default, hover, focus, disabled),\\n outline: (default, hover, focus, disabled),\\n ),\\n check: (\\n default: (default, checked, disabled, checked-disabled),\\n ),\\n custom: (\\n default: (default, disabled),\\n ),\\n validation: (\\n invalid: (default, checked, disabled, checked-disabled),\\n valid: (default, checked, disabled, checked-disabled),\\n warning: (default, checked, disabled, checked-disabled),\\n ),\\n);\\n\\n$themeable-state-properties: (\\n default: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n hover: (color, border-color, background, box-shadow),\\n focus: (color, border-color, background, check-background-color, box-shadow),\\n checked: (border-color, check-background-color),\\n disabled: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n checked-disabled: (border-color, check-background-color),\\n);\\n\",\"// 1. Due to complexity, it's easier and safer to resolve variant custom properties dynamically with\\n// a mixin. This way it's also easier to make theming adjustments to all supported modifications\\n// in one place. Generated custom properties are consumed mainly in foundation field styles (see\\n// `tools/form-fields/_foundation.scss` for more).\\n//\\n// 2. Interaction states other than `default` default to the `default` (sic!) state appearance if\\n// corresponding custom properties are not provided.\\n//\\n// 3. `.input:focus` is added just in case `:focus-within` doesn't work.\\n\\n@use \\\"sass:list\\\";\\n@use \\\"sass:map\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin _disabled-state() {\\n opacity: theme.$disabled-opacity;\\n cursor: theme.$disabled-cursor;\\n}\\n\\n// 1.\\n@mixin _generate-custom-properties($type, $variant, $state) {\\n @if not list.index(map.keys(map.get(settings.$themeable-variant-states, $type)), $variant) {\\n @error \\\"Invalid variant specified! #{$variant} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(map.get(settings.$themeable-variant-states, $type))}.\\\";\\n }\\n\\n @if not list.index(map.keys(settings.$themeable-state-properties), $state) {\\n @error \\\"Invalid state specified! #{$state} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-state-properties)}.\\\";\\n }\\n\\n $properties: map.get(settings.$themeable-state-properties, $state);\\n $infix: $type;\\n $fallback-state: \\\"default\\\";\\n\\n @if $type == \\\"validation\\\" {\\n $infix: $variant;\\n }\\n\\n @if $type != \\\"validation\\\" and $variant != \\\"default\\\" {\\n $infix: #{$type}--#{$variant};\\n }\\n\\n @if $state == \\\"checked-disabled\\\" {\\n $fallback-state: \\\"checked\\\";\\n }\\n\\n @if $state == \\\"default\\\" {\\n @each $property in $properties {\\n --rui-local-#{$property}: var(--rui-FormField--#{$infix}--#{$state}__#{$property});\\n }\\n }\\n\\n // 2.\\n @else {\\n @each $property in $properties {\\n --rui-local-#{$property}:\\n var(\\n --rui-FormField--#{$infix}--#{$state}__#{$property},\\n var(--rui-FormField--#{$infix}--#{$fallback-state}__#{$property})\\n );\\n }\\n }\\n}\\n\\n@mixin _get-theme($type, $variant) {\\n @if not list.index(map.keys(settings.$themeable-variant-states), $type) {\\n @error \\\"Invalid type specified! #{$type} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-variant-states)}.\\\";\\n }\\n\\n $themeable-states: map.get(map.get(settings.$themeable-variant-states, $type), $variant);\\n\\n @if list.index($themeable-states, \\\"hover\\\") {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"hover\\\");\\n }\\n } @else {\\n &,\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"focus\\\") {\\n // 3.\\n &:focus-within,\\n &:focus-within:hover,\\n .input:focus {\\n @include _generate-custom-properties($type, $variant, \\\"focus\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked\\\") {\\n .input:checked {\\n @include _generate-custom-properties($type, $variant, \\\"checked\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"disabled\\\") {\\n &.isRootDisabled {\\n @include _generate-custom-properties($type, $variant, \\\"disabled\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked-disabled\\\") {\\n .input:checked:disabled {\\n @include _generate-custom-properties($type, $variant, \\\"checked-disabled\\\");\\n }\\n }\\n}\\n\\n@mixin visual($type, $variant: \\\"default\\\", $has-caret: false) {\\n @include _get-theme($type, $variant);\\n\\n .input:disabled {\\n @include _disabled-state();\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"filled\\\" {\\n .input {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n }\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"outline\\\" and $has-caret {\\n .caret {\\n border-left: theme.$box-border-width theme.$box-select-caret-border-style var(--rui-local-border-color);\\n background: theme.$box-select-caret-background;\\n }\\n\\n &.isRootDisabled .caret {\\n @include _disabled-state();\\n }\\n }\\n}\\n\\n@mixin validation($variant) {\\n @include _get-theme(validation, $variant);\\n}\\n\",\"// 1. Screen readers only, inspired by Bootstrap.\\n// https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss\\n//\\n// 2. Make tap target big enough to improve accessibility on touch screens.\\n\\n@use \\\"../theme/accessibility\\\" as theme;\\n\\n// 1.\\n@mixin hide-text() {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n@mixin unhide-text() {\\n position: unset;\\n width: unset;\\n height: unset;\\n overflow: unset;\\n clip: unset;\\n white-space: unset;\\n}\\n\\n// 2.\\n@mixin min-tap-target($size: theme.$tap-target-size, $center: true) {\\n position: relative;\\n\\n &::before {\\n content: \\\"\\\";\\n position: absolute;\\n width: $size;\\n height: $size;\\n\\n @if $center {\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n }\\n }\\n}\\n\\n@mixin focus-ring() {\\n &:focus-visible {\\n outline: theme.$focus-outline;\\n outline-offset: theme.$focus-outline-offset;\\n box-shadow: theme.$focus-box-shadow;\\n }\\n}\\n\",\"// 1. Inline form fields and fields with vertical layout take up as much space as they need. Labels\\n// do not wrap until forced by container of the field. Min and max limits make extra long words\\n// break if necessary.\\n//\\n// 2. Form fields in horizontal layout also take up only as much space as they need. Labels do not\\n// wrap until label width limit is reached (50 % of available horizontal space by default).\\n//\\n// 3. Help texts and validation messages are aligned below input and wrapped. Their width is always\\n// limited to the width of the input field so they don't shift adjacent elements when they show\\n// up. This applies unless the field is inside FormLayout (see 10).\\n//\\n// 4. Define grid spacing as padding of child elements because grid areas make row and column gaps\\n// show up even when not necessary.\\n//\\n// 5. When input size is small and form field layout is set to horizontal, expand help text and\\n// validation message over full form field width to improve their readability. Otherwise the\\n// text would be packed into a very narrow column and hard to read. To prevent help text and\\n// validation message from growing the layout more than necessary (ie. the size without\\n// help/validation text), `min-content` grid sizing must be used along with disabled wrapping of\\n// label.\\n//\\n// 6. Full-width horizontal form fields prefer not wrapping the label until a limit is reached\\n// (50 % of available horizontal space by default, same as in 2.).\\n//\\n// 7. Justify inputs to `start` in horizontal layouts to fix positioning issues with Select Fields.\\n// Reverted for full-width fields.\\n//\\n// 8. Grid settings are inherited from horizontal FormLayout and applied using `subgrid`.\\n// A fallback is supplied to browsers that don't support `subgrid` yet.\\n//\\n// Chrome 117+ supports `subgrid` but it doesn't work for `<fieldset>`. This is why we always\\n// use the fallback for `<fieldset>`.\\n//\\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1473242\\n// https://github.com/react-ui-org/react-ui/issues/232\\n//\\n// 9. Help texts and validation messages can take up full width of FormLayout. There is no reason\\n// to make them wrap as they cannot break layout of FormLayout.\\n//\\n// 10. Visually align label to input baseline. Achieved with `padding-top` and `padding-bottom` due\\n// to two reasons:\\n//\\n// * `align-items: baseline` doesn't work for blank text inputs in Safari. See\\n// https://bugs.webkit.org/show_bug.cgi?id=142968 and\\n// https://github.com/react-ui-org/react-ui/issues/265.\\n//\\n// * `align-items: baseline` doesn't allow subsequent vertical centering of tall inputs and/or\\n// multiline labels (see `theme.$horizontal-label-vertical-alignment` and\\n// `theme.$horizontal-field-vertical-alignment`).\\n//\\n// 11. Reset `width` previously set by inline field layout (see `_inline-field-layout.scss`).\\n//\\n// 12. Make fields just as wide as necessary. Fields should be interactive only where their visible\\n// content is.\\n//\\n// 13. Label and field are vertically aligned to top (start) by default (see 10.). Vertical\\n// alignment of each block can be changed by theme configuration.\\n\\n@use \\\"../../settings/forms\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../theme/typography\\\";\\n@use \\\"../breakpoint\\\";\\n\\n@mixin vertical($has-list: false) {\\n @if $has-list {\\n --rui-local-vertical-gap: #{settings.$vertical-inner-gap-large};\\n }\\n\\n display: inline-flex; // 1.\\n flex-direction: column;\\n min-width: 0; // 1.\\n max-width: 100%; // 1.\\n\\n .label {\\n padding-bottom: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .helpText,\\n .validationText {\\n padding-top: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .field {\\n width: min-content; // 3.\\n max-width: 100%; // 3.\\n }\\n}\\n\\n@mixin horizontal($has-min-tap-target: false) {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n display: inline-grid; // 2.\\n grid-template-columns: theme.$horizontal-label-width min-content; // 2.\\n grid-template-areas: \\\"label field\\\";\\n align-items: start; // 10., 13.\\n\\n .label {\\n grid-area: label;\\n align-self: theme.$horizontal-label-vertical-alignment; // 13.\\n min-width: theme.$horizontal-label-min-width;\\n\\n // 10.\\n @if $has-min-tap-target {\\n padding-top:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n padding-bottom:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n }\\n\\n // 10., 13.\\n @else {\\n padding-top: #{theme.$horizontal-label-padding-y};\\n padding-bottom: #{theme.$horizontal-label-padding-y};\\n }\\n\\n padding-right: settings.$horizontal-inner-gap; // 4.\\n text-align: theme.$horizontal-label-text-align;\\n }\\n\\n .field {\\n grid-area: field;\\n align-self: theme.$horizontal-field-vertical-alignment; // 13.\\n justify-self: start; // 7.\\n }\\n }\\n}\\n\\n@mixin horizontal-with-small-input() {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n grid-template-columns: min-content min-content; // 5.\\n grid-template-areas:\\n \\\"label field\\\"\\n \\\"helptext helptext\\\"\\n \\\"validationtext validationtext\\\"; // 5.\\n\\n .label {\\n white-space: nowrap; // 5.\\n }\\n\\n .field {\\n display: contents; // 5.\\n }\\n\\n .inputContainer {\\n grid-area: field; // 5.\\n }\\n\\n .helpText {\\n grid-area: helptext; // 5.\\n }\\n\\n .validationText {\\n grid-area: validationtext; // 5.\\n }\\n }\\n}\\n\\n@mixin full-width() {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n\\n .field,\\n .inputContainer,\\n .input {\\n width: 100%;\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n &.isRootLayoutHorizontal {\\n display: grid;\\n grid-template-columns: theme.$horizontal-full-width-label-width 1fr; // 6.\\n }\\n\\n &.isRootLayoutHorizontal .field {\\n justify-self: stretch; // 7.\\n }\\n }\\n}\\n\\n@mixin in-form-layout($is-fieldset: false) {\\n justify-self: start; // 12.\\n\\n .field {\\n width: auto; // 9.\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n .optionLabel {\\n width: auto; // 11.\\n }\\n\\n // 8.\\n @if $is-fieldset {\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n display: contents;\\n }\\n } @else {\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n\\n @supports not (grid-template-columns: subgrid) {\\n display: contents;\\n }\\n }\\n\\n &.isRootLayoutHorizontal.isRootFullWidth {\\n grid-template-columns: subgrid;\\n }\\n }\\n\\n &.isRootLayoutHorizontal .label,\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-area: unset; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-column-start: 2; // 8.\\n }\\n\\n &.isRootLayoutHorizontal.hasRootSmallInput .field {\\n display: block; // 5.\\n }\\n }\\n}\\n\",\"@use \\\"sass:map\\\";\\n@use \\\"../settings/breakpoints\\\";\\n\\n@mixin up($breakpoint) {\\n @if not map.has-key(breakpoints.$values, $breakpoint) {\\n @error \\\"Invalid breakpoint specified! #{$breakpoint} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(breakpoints.$values)}\\\";\\n } @else if map.get(breakpoints.$values, $breakpoint) == 0 {\\n @content;\\n } @else {\\n @media (min-width: map.get(breakpoints.$values, $breakpoint)) {\\n @content;\\n }\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"FileInputField__root__VmWl4-IR\",\n\t\"label\": \"FileInputField__label__NukHZ0dV\",\n\t\"inputContainer\": \"FileInputField__inputContainer__9BVApubb\",\n\t\"helpText\": \"FileInputField__helpText__MUNQMgg0\",\n\t\"validationText\": \"FileInputField__validationText__WDdAydNO\",\n\t\"isRootRequired\": \"FileInputField__isRootRequired__7zg37CMj\",\n\t\"isRootStateInvalid\": \"FileInputField__isRootStateInvalid__+U8jK7Wz\",\n\t\"input\": \"FileInputField__input__duTSt+VM\",\n\t\"isRootDisabled\": \"FileInputField__isRootDisabled__JuyBlM75\",\n\t\"isRootStateValid\": \"FileInputField__isRootStateValid__urqL0HXY\",\n\t\"isRootStateWarning\": \"FileInputField__isRootStateWarning__RdVm-mTj\",\n\t\"isLabelHidden\": \"FileInputField__isLabelHidden__ANvUBEPB\",\n\t\"isRootLayoutVertical\": \"FileInputField__isRootLayoutVertical__uCr++xUp\",\n\t\"isRootLayoutHorizontal\": \"FileInputField__isRootLayoutHorizontal__O067vwi4\",\n\t\"field\": \"FileInputField__field__OJrwhx7d\",\n\t\"isRootFullWidth\": \"FileInputField__isRootFullWidth__jCA3u5Zy\",\n\t\"isRootInFormLayout\": \"FileInputField__isRootInFormLayout__uDowQKqc\",\n\t\"optionLabel\": \"FileInputField__optionLabel__d6clrOWd\",\n\t\"hasRootSmallInput\": \"FileInputField__hasRootSmallInput__mXwioAQ0\"\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vc3JjL2xpYi9jb21wb25lbnRzL0ZpbGVJbnB1dEZpZWxkL0ZpbGVJbnB1dEZpZWxkLnNjc3MuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvbGliL2NvbXBvbmVudHMvRmlsZUlucHV0RmllbGQvRmlsZUlucHV0RmllbGQuc2Nzcz8zMDBiIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLkZpbGVJbnB1dEZpZWxkX19yb290X19WbVdsNC1JUiB7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG5cXG4uRmlsZUlucHV0RmllbGRfX2xhYmVsX19OdWtIWjBkViB7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGRfX2xhYmVsX19jb2xvcikpO1xcbn1cXG5cXG4uRmlsZUlucHV0RmllbGRfX2lucHV0Q29udGFpbmVyX185QlZBcHViYiB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIG1pbi13aWR0aDogMDtcXG4gIG1heC13aWR0aDogMTAwJTtcXG59XFxuXFxuLkZpbGVJbnB1dEZpZWxkX19oZWxwVGV4dF9fTVVOUU1nZzAsXFxuLkZpbGVJbnB1dEZpZWxkX192YWxpZGF0aW9uVGV4dF9fV0RkQXlkTk8ge1xcbiAgZm9udC1zdHlsZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXN0eWxlKTtcXG4gIGZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXNpemUpO1xcbiAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcXG4gIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19jb2xvcikpO1xcbn1cXG5cXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdFJlcXVpcmVkX183emczN0NNaiAuRmlsZUlucHV0RmllbGRfX2xhYmVsX19OdWtIWjBkViB7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19sYWJlbF9fY29sb3IpKTtcXG59XFxuLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RSZXF1aXJlZF9fN3pnMzdDTWogLkZpbGVJbnB1dEZpZWxkX19sYWJlbF9fTnVrSFowZFY6OmFmdGVyIHtcXG4gIGNvbnRlbnQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19zaWduKTtcXG4gIGNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fc2lnbl9fY29sb3IpO1xcbn1cXG5cXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdFN0YXRlSW52YWxpZF9fXFxcXCtVOGpLN1d6LCAuRmlsZUlucHV0RmllbGRfX2lzUm9vdFN0YXRlSW52YWxpZF9fXFxcXCtVOGpLN1d6OmhvdmVyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKTtcXG59XFxuLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RTdGF0ZUludmFsaWRfX1xcXFwrVThqSzdXeiAuRmlsZUlucHV0RmllbGRfX2lucHV0X19kdVRTdFxcXFwrVk06Y2hlY2tlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX19cXFxcK1U4aks3V3ouRmlsZUlucHV0RmllbGRfX2lzUm9vdERpc2FibGVkX19KdXlCbE03NSB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19zdXJyb3VuZGluZy10ZXh0LWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX19cXFxcK1U4aks3V3ogLkZpbGVJbnB1dEZpZWxkX19pbnB1dF9fZHVUU3RcXFxcK1ZNOmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG5cXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX3VycUwwSFhZLCAuRmlsZUlucHV0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX3VycUwwSFhZOmhvdmVyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3gtc2hhZG93KTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKTtcXG59XFxuLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RTdGF0ZVZhbGlkX191cnFMMEhYWSAuRmlsZUlucHV0RmllbGRfX2lucHV0X19kdVRTdFxcXFwrVk06Y2hlY2tlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX3VycUwwSFhZLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3REaXNhYmxlZF9fSnV5QmxNNzUge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19zdXJyb3VuZGluZy10ZXh0LWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX3VycUwwSFhZIC5GaWxlSW5wdXRGaWVsZF9faW5wdXRfX2R1VFN0XFxcXCtWTTpjaGVja2VkOmRpc2FibGVkIHtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWQtZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWQtZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcblxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290U3RhdGVXYXJuaW5nX19SZFZtLW1UaiwgLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX1JkVm0tbVRqOmhvdmVyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19iYWNrZ3JvdW5kKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKTtcXG59XFxuLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX1JkVm0tbVRqIC5GaWxlSW5wdXRGaWVsZF9faW5wdXRfX2R1VFN0XFxcXCtWTTpjaGVja2VkIHtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX1JkVm0tbVRqLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3REaXNhYmxlZF9fSnV5QmxNNzUge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdFN0YXRlV2FybmluZ19fUmRWbS1tVGogLkZpbGVJbnB1dEZpZWxkX19pbnB1dF9fZHVUU3RcXFxcK1ZNOmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG5cXG4uRmlsZUlucHV0RmllbGRfX2lzTGFiZWxIaWRkZW5fX0FOdlVCRVBCIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxcHg7XFxuICBoZWlnaHQ6IDFweDtcXG4gIHBhZGRpbmc6IDA7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBib3JkZXI6IDA7XFxufVxcblxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290TGF5b3V0VmVydGljYWxfX3VDclxcXFwrXFxcXCt4VXAsXFxuLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19PMDY3dndpNCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBtaW4td2lkdGg6IDA7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290TGF5b3V0VmVydGljYWxfX3VDclxcXFwrXFxcXCt4VXAgLkZpbGVJbnB1dEZpZWxkX19sYWJlbF9fTnVrSFowZFYsXFxuLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19PMDY3dndpNCAuRmlsZUlucHV0RmllbGRfX2xhYmVsX19OdWtIWjBkViB7XFxuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcnVpLWxvY2FsLXZlcnRpY2FsLWdhcCwgdmFyKC0tcnVpLWRpbWVuc2lvbi1zcGFjZS0xKSk7XFxufVxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290TGF5b3V0VmVydGljYWxfX3VDclxcXFwrXFxcXCt4VXAgLkZpbGVJbnB1dEZpZWxkX19oZWxwVGV4dF9fTVVOUU1nZzAsXFxuLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fdUNyXFxcXCtcXFxcK3hVcCAuRmlsZUlucHV0RmllbGRfX3ZhbGlkYXRpb25UZXh0X19XRGRBeWROTyxcXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0IC5GaWxlSW5wdXRGaWVsZF9faGVscFRleHRfX01VTlFNZ2cwLFxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fTzA2N3Z3aTQgLkZpbGVJbnB1dEZpZWxkX192YWxpZGF0aW9uVGV4dF9fV0RkQXlkTk8ge1xcbiAgcGFkZGluZy10b3A6IHZhcigtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXAsIHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMSkpO1xcbn1cXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dFZlcnRpY2FsX191Q3JcXFxcK1xcXFwreFVwIC5GaWxlSW5wdXRGaWVsZF9fZmllbGRfX09KcndoeDdkLFxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fTzA2N3Z3aTQgLkZpbGVJbnB1dEZpZWxkX19maWVsZF9fT0pyd2h4N2Qge1xcbiAgd2lkdGg6IC13ZWJraXQtbWluLWNvbnRlbnQ7XFxuICB3aWR0aDogLW1vei1taW4tY29udGVudDtcXG4gIHdpZHRoOiBtaW4tY29udGVudDtcXG4gIG1heC13aWR0aDogMTAwJTtcXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcXG4gIC5GaWxlSW5wdXRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fTzA2N3Z3aTQge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fd2lkdGgpIC13ZWJraXQtbWluLWNvbnRlbnQ7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3dpZHRoKSBtaW4tY29udGVudDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXFxcImxhYmVsIGZpZWxkXFxcIjtcXG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xcbiAgfVxcbiAgLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19PMDY3dndpNCAuRmlsZUlucHV0RmllbGRfX2xhYmVsX19OdWtIWjBkViB7XFxuICAgIGdyaWQtYXJlYTogbGFiZWw7XFxuICAgIGFsaWduLXNlbGY6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX192ZXJ0aWNhbC1hbGlnbm1lbnQpO1xcbiAgICBtaW4td2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19taW4td2lkdGgpO1xcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3BhZGRpbmcteSwgY2FsYyh2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci13aWR0aCkgKyB2YXIoLS1ydWktbG9jYWwtcGFkZGluZy15KSkpO1xcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3BhZGRpbmcteSwgY2FsYyh2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci13aWR0aCkgKyB2YXIoLS1ydWktbG9jYWwtcGFkZGluZy15KSkpO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ydWktZGltZW5zaW9uLXNwYWNlLTIpO1xcbiAgICB0ZXh0LWFsaWduOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fdGV4dC1hbGlnbik7XFxuICB9XFxuICAuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0IC5GaWxlSW5wdXRGaWVsZF9fZmllbGRfX09KcndoeDdkIHtcXG4gICAgZ3JpZC1hcmVhOiBmaWVsZDtcXG4gICAgYWxpZ24tc2VsZjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fZmllbGRfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XFxuICAuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0IC5GaWxlSW5wdXRGaWVsZF9fbGFiZWxfX051a0haMGRWIHtcXG4gICAgLW1zLWdyaWQtcm93OiAxO1xcbiAgICAtbXMtZ3JpZC1jb2x1bW46IDE7XFxuICB9XFxuICAuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0IC5GaWxlSW5wdXRGaWVsZF9fZmllbGRfX09KcndoeDdkIHtcXG4gICAgLW1zLWdyaWQtcm93OiAxO1xcbiAgICAtbXMtZ3JpZC1jb2x1bW46IDI7XFxuICB9XFxufVxcblxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290RnVsbFdpZHRoX19qQ0EzdTVaeSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fakNBM3U1WnkgLkZpbGVJbnB1dEZpZWxkX19maWVsZF9fT0pyd2h4N2QsXFxuLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfX2pDQTN1NVp5IC5GaWxlSW5wdXRGaWVsZF9faW5wdXRDb250YWluZXJfXzlCVkFwdWJiLFxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290RnVsbFdpZHRoX19qQ0EzdTVaeSAuRmlsZUlucHV0RmllbGRfX2lucHV0X19kdVRTdFxcXFwrVk0ge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XFxuICAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fakNBM3U1WnkuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0IHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsLS1mdWxsLXdpZHRoX19sYWJlbF9fd2lkdGgpIDFmcjtcXG4gIH1cXG4gIC5GaWxlSW5wdXRGaWVsZF9faXNSb290RnVsbFdpZHRoX19qQ0EzdTVaeS5GaWxlSW5wdXRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fTzA2N3Z3aTQgLkZpbGVJbnB1dEZpZWxkX19maWVsZF9fT0pyd2h4N2Qge1xcbiAgICBqdXN0aWZ5LXNlbGY6IHN0cmV0Y2g7XFxuICB9XFxufVxcblxcbi5GaWxlSW5wdXRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X191RG93UUtxYyB7XFxuICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xcbn1cXG4uRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMgLkZpbGVJbnB1dEZpZWxkX19maWVsZF9fT0pyd2h4N2Qge1xcbiAgd2lkdGg6IGF1dG87XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XFxuICAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMgLkZpbGVJbnB1dEZpZWxkX19vcHRpb25MYWJlbF9fZDZjbHJPV2Qge1xcbiAgICB3aWR0aDogYXV0bztcXG4gIH1cXG4gIC5GaWxlSW5wdXRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X191RG93UUtxYy5GaWxlSW5wdXRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fTzA2N3Z3aTQsIC5GaWxlSW5wdXRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X191RG93UUtxYy5GaWxlSW5wdXRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fTzA2N3Z3aTQuRmlsZUlucHV0RmllbGRfX2hhc1Jvb3RTbWFsbElucHV0X19tWHdpb0FRMCB7XFxuICAgIGdyaWQ6IGluaGVyaXQ7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDtcXG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcXG4gIH1cXG4gIEBzdXBwb3J0cyBub3QgKGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZCkge1xcbiAgICAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0LCAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0LkZpbGVJbnB1dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fbVh3aW9BUTAge1xcbiAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xcbiAgICB9XFxuICB9XFxuICAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0LkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfX2pDQTN1NVp5IHtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xcbiAgfVxcbiAgLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfX3VEb3dRS3FjLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19PMDY3dndpNCAuRmlsZUlucHV0RmllbGRfX2xhYmVsX19OdWtIWjBkViwgLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfX3VEb3dRS3FjLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19PMDY3dndpNCAuRmlsZUlucHV0RmllbGRfX2ZpZWxkX19PSnJ3aHg3ZCwgLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfX3VEb3dRS3FjLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19PMDY3dndpNCAuRmlsZUlucHV0RmllbGRfX2lucHV0Q29udGFpbmVyX185QlZBcHViYiwgLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfX3VEb3dRS3FjLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19PMDY3dndpNCAuRmlsZUlucHV0RmllbGRfX2hlbHBUZXh0X19NVU5RTWdnMCwgLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfX3VEb3dRS3FjLkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19PMDY3dndpNCAuRmlsZUlucHV0RmllbGRfX3ZhbGlkYXRpb25UZXh0X19XRGRBeWROTyB7XFxuICAgIGdyaWQtYXJlYTogdW5zZXQ7XFxuICB9XFxuICAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0IC5GaWxlSW5wdXRGaWVsZF9fZmllbGRfX09KcndoeDdkLCAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0IC5GaWxlSW5wdXRGaWVsZF9faW5wdXRDb250YWluZXJfXzlCVkFwdWJiLCAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0IC5GaWxlSW5wdXRGaWVsZF9faGVscFRleHRfX01VTlFNZ2cwLCAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0IC5GaWxlSW5wdXRGaWVsZF9fdmFsaWRhdGlvblRleHRfX1dEZEF5ZE5PIHtcXG4gICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XFxuICB9XFxuICAuRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWMuRmlsZUlucHV0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX08wNjd2d2k0LkZpbGVJbnB1dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fbVh3aW9BUTAgLkZpbGVJbnB1dEZpZWxkX19maWVsZF9fT0pyd2h4N2Qge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gIH1cXG59XCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vc3JjL2xpYi9jb21wb25lbnRzL0ZpbGVJbnB1dEZpZWxkL0ZpbGVJbnB1dEZpZWxkLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL19mb3VuZGF0aW9uLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL19ib3gtZmllbGQtZWxlbWVudHMuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdGhlbWUvX2Zvcm0tZmllbGRzLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3NldHRpbmdzL19mb3JtLWZpZWxkcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fdmFyaWFudHMuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvX2FjY2Vzc2liaWxpdHkuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX2JveC1maWVsZC1sYXlvdXQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvX2JyZWFrcG9pbnQuc2Nzc1wiLFwiPG5vIHNvdXJjZT5cIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBT0E7RUNBSSxnQkFBQTtBRExKOztBQVNBO0VDTUksa0ZBQUE7QURYSjs7QUFTQTtFRURJLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtBRkpKOztBQU1BOztFQ1dJLHVERWpCbUI7RUZrQm5CLHFERW5Ca0I7RUZvQmxCLG1CR3pCb0I7RUgwQnBCLHNGQUFBO0FEWko7O0FBR0E7RUNISSw0RkFBQTtBRElKO0FDRkk7RUFDSSw2Q0VSUTtFRlNSLGtERVJjO0FIWXRCOztBS29EUTtFQS9CSSxnRUFBQTtFQUFBLDhFQUFBO0VBQUEsMEVBQUE7RUFBQSxrR0FBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7QUxaWjtBSzJEUTtFQXhDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBTFBaO0FLcURRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBTHlCWjtBSzJCUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBTHFDWjs7QUtiUTtFQS9CSSw4REFBQTtFQUFBLDRFQUFBO0VBQUEsd0VBQUE7RUFBQSxnR0FBQTtFQUFBLHdFQUFBO0VBQUEsZ0dBQUE7QUxxRFo7QUtOUTtFQXhDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBTDBEWjtBS1pRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBTDBGWjtBS3RDUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBTHNHWjs7QUs5RVE7RUEvQkksZ0VBQUE7RUFBQSw4RUFBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7RUFBQSwwRUFBQTtFQUFBLGtHQUFBO0FMc0haO0FLdkVRO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FMMkhaO0FLN0VRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBTDJKWjtBS3ZHUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBTHVLWjs7QUF0TEE7RU1qQ0ksa0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBO0FOMk5KOztBQTVMQTs7RU9zQkksb0JBQUE7RUFDQSxzQkFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0FQMktKO0FPektJOztFQUNJLDJFQUFBO0FQNEtSO0FPektJOzs7O0VBRUksd0VBQUE7QVA2S1I7QU8xS0k7O0VBQ0ksMEJBQUE7RUFBQSx1QkFBQTtFQUFBLGtCQUFBO0VBQ0EsZUFBQTtBUDZLUjs7QVF4UFE7RVIwQ1I7SU91Q1Esb0JBQUE7SUFDQSx5RkFBQTtJQUFBLGlGQUFBO0lBQ0Esa0NBQUE7SUFDQSxrQkFBQTtFUDRLTjtFTzFLTTtJQUNJLGdCQUFBO0lBQ0EsdUVKdEUwQjtJSXVFMUIsNkRKOUVpQjtJSWdHYiwySUFBQTtJQUNBLDhJQUFBO0lBR0osMkNINUdXO0lHNkdYLCtESnRHa0I7RUgrUDVCO0VPdEpNO0lBQ0ksZ0JBQUE7SUFDQSx1RUpsRzBCO0lJbUcxQixtQkFBQTtFUHdKVjtBQUNGOztBU3pSQTtFRmdHUTtJRWhHUixnQkFBQTtJQUFBLG1CQUFBO0VUbVJFO0VPdEpNO0lFN0hSLGdCQUFBO0lBQUEsbUJBQUE7RVR3UkU7Q1N4UkY7O0FUd0RBO0VPNEdJLGFBQUE7RUFDQSxzQkFBQTtFQUNBLFdBQUE7QVB5SEo7QU92SEk7OztFQUdJLFdBQUE7QVB5SFI7QVExUlE7RURxS0E7SUFDSSxhQUFBO0lBQ0EscUZBQUE7RVB3SFY7RU9ySE07SUFDSSxxQkFBQTtFUHVIVjtBQUNGOztBQWpQQTtFTytISSxtQkFBQTtBUHNISjtBT3BISTtFQUNJLFdBQUE7QVBzSFI7QVExU1E7RUR3TEE7SUFDSSxXQUFBO0VQcUhWO0VPM0dVO0lBRUksYUFBQTtJQUNBLDhCQUFBO0lBQ0EsbUJBQUE7RVA0R2Q7RU8xR2M7SUFOSjtNQU9RLGlCQUFBO0lQNkdoQjtFQUNGO0VPMUdVO0lBQ0ksOEJBQUE7RVA0R2Q7RU94R007SUFLSSxnQkFBQTtFUHNHVjtFT25HTTtJQUlJLG9CQUFBO0VQa0dWO0VPL0ZNO0lBQ0ksY0FBQTtFUGlHVjtBQUNGXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9ib3gtZmllbGQtZWxlbWVudHNcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9ib3gtZmllbGQtbGF5b3V0XFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvZm91bmRhdGlvblxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL3ZhcmlhbnRzXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvYWNjZXNzaWJpbGl0eVxcXCI7XFxuXFxuLy8gRm91bmRhdGlvblxcbi5yb290IHtcXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi5yb290KCk7XFxufVxcblxcbi5sYWJlbCB7XFxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24ubGFiZWwoKTtcXG59XFxuXFxuLmlucHV0Q29udGFpbmVyIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWVsZW1lbnRzLmlucHV0LWNvbnRhaW5lcigpO1xcbn1cXG5cXG4uaGVscFRleHQsXFxuLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi5oZWxwLXRleHQoKTtcXG59XFxuXFxuLmlzUm9vdFJlcXVpcmVkIC5sYWJlbCB7XFxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24ubGFiZWwtcmVxdWlyZWQoKTtcXG59XFxuXFxuLy8gU3RhdGVzXFxuLmlzUm9vdFN0YXRlSW52YWxpZCB7XFxuICAgIEBpbmNsdWRlIHZhcmlhbnRzLnZhbGlkYXRpb24oaW52YWxpZCk7XFxufVxcblxcbi5pc1Jvb3RTdGF0ZVZhbGlkIHtcXG4gICAgQGluY2x1ZGUgdmFyaWFudHMudmFsaWRhdGlvbih2YWxpZCk7XFxufVxcblxcbi5pc1Jvb3RTdGF0ZVdhcm5pbmcge1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52YWxpZGF0aW9uKHdhcm5pbmcpO1xcbn1cXG5cXG4vLyBJbnZpc2libGUgbGFiZWxcXG4uaXNMYWJlbEhpZGRlbiB7XFxuICAgIEBpbmNsdWRlIGFjY2Vzc2liaWxpdHkuaGlkZS10ZXh0KCk7XFxufVxcblxcbi8vIExheW91dHNcXG4uaXNSb290TGF5b3V0VmVydGljYWwsXFxuLmlzUm9vdExheW91dEhvcml6b250YWwge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtbGF5b3V0LnZlcnRpY2FsKCk7XFxufVxcblxcbi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWxheW91dC5ob3Jpem9udGFsKCk7XFxufVxcblxcbi5pc1Jvb3RGdWxsV2lkdGgge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtbGF5b3V0LmZ1bGwtd2lkdGgoKTtcXG59XFxuXFxuLmlzUm9vdEluRm9ybUxheW91dCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1sYXlvdXQuaW4tZm9ybS1sYXlvdXQoKTtcXG59XFxuXCIsXCIvLyAxLiBEb24ndCBsZXQgdGV4dCBhbGlnbm1lbnQgYmUgYWZmZWN0ZWQgYnkgYSBwYXJlbnQuXFxuLy8gMi4gT3ZlcnJpZGUgZm91bmRhdGlvbiByZXNldC5cXG5cXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3JtLWZpZWxkc1xcXCIgYXMgc2V0dGluZ3M7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcblxcbkBtaXhpbiByb290KCkge1xcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAxLlxcbn1cXG5cXG5AbWl4aW4gZmllbGRzZXQoKSB7XFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyAyLlxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBsYWJlbCgpIHtcXG4gICAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCAje3RoZW1lLiRsYWJlbC1jb2xvcn0pO1xcbn1cXG5cXG5AbWl4aW4gbGFiZWwtcmVxdWlyZWQoKSB7XFxuICAgIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgI3t0aGVtZS4kcmVxdWlyZWQtbGFiZWwtY29sb3J9KTtcXG5cXG4gICAgJjo6YWZ0ZXIge1xcbiAgICAgICAgY29udGVudDogdGhlbWUuJHJlcXVpcmVkLXNpZ247XFxuICAgICAgICBjb2xvcjogdGhlbWUuJHJlcXVpcmVkLXNpZ24tY29sb3I7XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGhlbHAtdGV4dCgpIHtcXG4gICAgZm9udC1zdHlsZTogdGhlbWUuJGhlbHAtdGV4dC1mb250LXN0eWxlO1xcbiAgICBmb250LXNpemU6IHRoZW1lLiRoZWxwLXRleHQtZm9udC1zaXplO1xcbiAgICBsaW5lLWhlaWdodDogc2V0dGluZ3MuJGhlbHAtdGV4dC1saW5lLWhlaWdodDtcXG4gICAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCAje3RoZW1lLiRoZWxwLXRleHQtY29sb3J9KTtcXG59XFxuXCIsXCIvLyAxLiBHZXQgcmVhZHkgZm9yIHBvc2l0aW9uaW5nIG9mIGJvdHRvbSBsaW5lIGFuZCBjYXJldC5cXG4vLyAyLiBBbHdheXMgcHJlZmVyIGBzaXplYCBhbmQgYG1heGAgYXR0cmlidXRlcyB3aGVuIGRlZmluZWQuIFVzZSBDU1MgZm9yIHNpemluZyB0byBub3JtYWxpemVcXG4vLyAgICByZXN1bHQgd2lkdGggYWNyb3NzIGJyb3dzZXJzLlxcbi8vIDMuIExldCBpbnB1dHMgcHJvcGVybHkgZml0IHZhcmlvdXMgbGF5b3V0IHNjZW5hcmlvcy5cXG4vLyA0LiBMZWF2ZSBvdXQgc3BhY2UgZm9yIFNlbGVjdEZpZWxkIGNhcmV0Llxcbi8vIDUuIFVzZSBhIGJsb2NrLWxldmVsIGRpc3BsYXkgbW9kZSB0byBwcmV2ZW50IGV4dHJhIHdoaXRlIHNwYWNlIGJlbG93IGdyb3VwZWQgaW5wdXRzIGluIFNhZmFyaS5cXG5cXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3JtLWZpZWxkc1xcXCIgYXMgc2V0dGluZ3M7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcbkB1c2UgXFxcIi4uLy4uL3Rvb2xzL2NhcmV0XFxcIjtcXG5AdXNlIFxcXCIuLi9zcGFjaW5nXFxcIjtcXG5AdXNlIFxcXCIuLi90cmFuc2l0aW9uXFxcIjtcXG5cXG5AbWl4aW4gaW5wdXQtY29udGFpbmVyKCkge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIDEuXFxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbiAgICBtaW4td2lkdGg6IDA7IC8vIDMuXFxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMy5cXG59XFxuXFxuQG1peGluIGlucHV0KCkge1xcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLmFkZCgob3BhY2l0eSwgY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdykpO1xcblxcbiAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICB3aWR0aDogdGhlbWUuJGJveC1pbnB1dC13aWR0aDtcXG4gICAgbWluLXdpZHRoOiB0aGVtZS4kYm94LWlucHV0LW1pbi13aWR0aDtcXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAzLlxcbiAgICBoZWlnaHQ6IHZhcigtLXJ1aS1sb2NhbC1oZWlnaHQpO1xcbiAgICBwYWRkaW5nOiB2YXIoLS1ydWktbG9jYWwtcGFkZGluZy15KSB2YXIoLS1ydWktbG9jYWwtcGFkZGluZy14KTtcXG4gICAgZm9udC13ZWlnaHQ6IHNldHRpbmdzLiRib3gtaW5wdXQtZm9udC13ZWlnaHQ7XFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tcnVpLWxvY2FsLWZvbnQtc2l6ZSk7XFxuICAgIGxpbmUtaGVpZ2h0OiBzZXR0aW5ncy4kYm94LWlucHV0LWxpbmUtaGVpZ2h0O1xcbiAgICBmb250LWZhbWlseTogc2V0dGluZ3MuJGJveC1pbnB1dC1mb250LWZhbWlseTtcXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG4gICAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1jb2xvcik7XFxuICAgIGJvcmRlcjogdGhlbWUuJGJveC1ib3JkZXItd2lkdGggc29saWQgdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICAgIGJvcmRlci1yYWRpdXM6IHRoZW1lLiRib3gtYm9yZGVyLXJhZGl1cztcXG4gICAgYmFja2dyb3VuZDogdmFyKC0tcnVpLWxvY2FsLWJhY2tncm91bmQpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS1ydWktbG9jYWwtYm94LXNoYWRvdyk7XFxuXFxuICAgICY6OnBsYWNlaG9sZGVyIHtcXG4gICAgICAgIGNvbG9yOiB0aGVtZS4kYm94LXBsYWNlaG9sZGVyLWNvbG9yO1xcbiAgICAgICAgb3BhY2l0eTogMTtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaW5wdXQtc2l6ZSgpIHtcXG4gICAgd2lkdGg6XFxuICAgICAgICBjYWxjKFxcbiAgICAgICAgICAgIDFjaCAqIHZhcigtLXJ1aS1jdXN0b20taW5wdXQtc2l6ZSlcXG4gICAgICAgICAgICArIHZhcigtLXJ1aS1sb2NhbC1hcnJvd3Mtd2lkdGgsIDApXFxuICAgICAgICAgICAgKyAyICogdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteClcXG4gICAgICAgICAgICArIDIgKiAje3RoZW1lLiRib3gtYm9yZGVyLXdpZHRofVxcbiAgICAgICAgKTsgLy8gMi5cXG5cXG4gICAgbWluLXdpZHRoOiBhdXRvOyAvLyAyLlxcblxcbiAgICAmW3R5cGU9XFxcIm51bWJlclxcXCJdIHtcXG4gICAgICAgIC0tcnVpLWxvY2FsLWFycm93cy13aWR0aDogI3tzZXR0aW5ncy4kYm94LWZpZWxkLWlucHV0LW51bWJlci1hcnJvd3Mtd2lkdGh9O1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbnB1dC10ZXh0YXJlYSgpIHtcXG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcXG5cXG4gICAgJltjb2xzXSB7XFxuICAgICAgICBtaW4td2lkdGg6IGF1dG87XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGlucHV0LXNlbGVjdCgpIHtcXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgcGFkZGluZy1yaWdodDogY2FsYygje3NldHRpbmdzLiRib3gtZmllbGQtY2FyZXQtc2l6ZX0gKyAje3NwYWNpbmcub2YoMil9KTsgLy8gNC5cXG5cXG4gICAgJjo6LW1zLWV4cGFuZCB7XFxuICAgICAgICBkaXNwbGF5OiBub25lO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbnB1dC1zZWxlY3Qtb3B0aW9uKCkge1xcbiAgICBvcHRpb246ZGlzYWJsZWQge1xcbiAgICAgICAgY29sb3I6IHRoZW1lLiRib3gtc2VsZWN0LW9wdGlvbi1kaXNhYmxlZC1jb2xvcjtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gY2FyZXQoKSB7XFxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24uYWRkKChib3JkZXItY29sb3IpKTtcXG5cXG4gICAgcG9zaXRpb246IGFic29sdXRlOyAvLyAxLlxcbiAgICB0b3A6IHRoZW1lLiRib3gtYm9yZGVyLXdpZHRoO1xcbiAgICByaWdodDogdGhlbWUuJGJveC1ib3JkZXItd2lkdGg7XFxuICAgIGJvdHRvbTogdGhlbWUuJGJveC1ib3JkZXItd2lkdGg7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICB3aWR0aDogY2FsYygje3NldHRpbmdzLiRib3gtZmllbGQtY2FyZXQtc2l6ZX0gLSAyICogI3t0aGVtZS4kYm94LWJvcmRlci13aWR0aH0pO1xcbiAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogdGhlbWUuJGJveC1ib3JkZXItcmFkaXVzO1xcbiAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHRoZW1lLiRib3gtYm9yZGVyLXJhZGl1cztcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxufVxcblxcbkBtaXhpbiBjYXJldC1pY29uKCkge1xcbiAgICBAaW5jbHVkZSBjYXJldC5jcmVhdGUoKTtcXG5cXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktbG9jYWwtY29sb3IpO1xcbn1cXG5cXG5AbWl4aW4gYm90dG9tLWxpbmUoKSB7XFxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24uYWRkKCh0cmFuc2Zvcm0sIG9wYWNpdHkpLCAxODBtcyk7XFxuXFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLy8gMS5cXG4gICAgYm90dG9tOiAwO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgaGVpZ2h0OiBzZXR0aW5ncy4kYm94LWZpZWxkLWJvdHRvbS1saW5lLWhlaWdodDtcXG4gICAgb3BhY2l0eTogMDtcXG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XFxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xcblxcbiAgICAuaW5wdXQ6Zm9jdXMgfiAmIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3IpO1xcbiAgICAgICAgb3BhY2l0eTogMTtcXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbi1ncm91cC1sYXlvdXQoKSB7XFxuICAgIC5pbnB1dENvbnRhaW5lciB7XFxuICAgICAgICBkaXNwbGF5OiBibG9jazsgLy8gNS5cXG4gICAgfVxcblxcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIC5pbnB1dCB7XFxuICAgICAgICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1ydWktbG9jYWwtaW5uZXItYm9yZGVyLXJhZGl1cyk7XFxuICAgICAgICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogdmFyKC0tcnVpLWxvY2FsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xcbiAgICB9XFxuXFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuaW5wdXQge1xcbiAgICAgICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLXJ1aS1sb2NhbC1pbm5lci1ib3JkZXItcmFkaXVzKTtcXG4gICAgICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogdmFyKC0tcnVpLWxvY2FsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xcbiAgICB9XFxufVxcblwiLFwiLy8gVmFyaWFudCBzcGVjaWZpYyB0aGVtZSBvcHRpb25zIGFyZSBvYnRhaW5lZCBkeW5hbWljYWxseSBiZWNhdXNlIHRoZXJlIGlzIHdheSB0b28gbWFueSBvZiB0aGVtIHRvXFxuLy8gbWFpbnRhaW4gbWFudWFsbHkuIFNlZSBgc2V0dGluZ3MvX2Zvcm0tZmllbGRzLnNjc3NgIGFuZCBgdG9vbHMvZm9ybS1maWVsZHMvX3ZhcmlhbnRzLnNjc3NgIGZvclxcbi8vIGRldGFpbHMuXFxuLy9cXG4vLyAxLiBEZWZhdWx0cyB0byB6ZXJvIHdoZW4gbmVpdGhlciBgLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15YCAob3B0aW9uYWwpIG5vclxcbi8vICAgIGAtLXJ1aS1sb2NhbC1wYWRkaW5nLXlgIChoYW5kbGVkIGJ5IHRoZSBgc2l6ZSgpYCBtaXhpbiBpbiBjYXNlIG9mIGJveCBmb3JtIGZpZWxkcywgc2VlXFxuLy8gICAgYF9ib3gtZmllbGQtc2l6ZXMuc2Nzc2ApIGlzIGRlZmluZWQuIFRoaXMgaXMgdXNlZnVsIGJlY2F1c2UgRm9ybUxheW91dEN1c3RvbUZpZWxkIG1heSBoYXZlIG5vXFxuLy8gICAgc2l6ZSBzcGVjaWZpZWQgdGhlcmVmb3JlIGl0cyBsYWJlbCBzaG91bGQgaGF2ZSBubyBwYWRkaW5nIGF0IHRoZSB0b3AuXFxuXFxuLy8gRm9ybXMgZmllbGRzOiBjb21tb24gcHJvcGVydGllc1xcbiRsYWJlbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZF9fbGFiZWxfX2NvbG9yKTtcXG4kbGFiZWwtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkX19sYWJlbF9fZm9udC1zaXplKTtcXG4kaGVscC10ZXh0LWZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXNpemUpO1xcbiRoZWxwLXRleHQtZm9udC1zdHlsZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXN0eWxlKTtcXG4kaGVscC10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2NvbG9yKTtcXG4kcmVxdWlyZWQtbGFiZWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19sYWJlbF9fY29sb3IpO1xcbiRyZXF1aXJlZC1zaWduOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fc2lnbik7XFxuJHJlcXVpcmVkLXNpZ24tY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19zaWduX19jb2xvcik7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGhvcml6b250YWwgbGF5b3V0XFxuJGhvcml6b250YWwtbGFiZWwtdGV4dC1hbGlnbjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3RleHQtYWxpZ24pO1xcbiRob3Jpem9udGFsLWxhYmVsLW1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX21pbi13aWR0aCk7XFxuJGhvcml6b250YWwtbGFiZWwtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX193aWR0aCk7XFxuJGhvcml6b250YWwtbGFiZWwtcGFkZGluZy15OlxcbiAgICB2YXIoXFxuICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19wYWRkaW5nLXksXFxuICAgICAgICBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKVxcbiAgICApOyAvLyAxLlxcbiRob3Jpem9udGFsLWxhYmVsLXZlcnRpY2FsLWFsaWdubWVudDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuJGhvcml6b250YWwtZmllbGQtdmVydGljYWwtYWxpZ25tZW50OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19maWVsZF9fdmVydGljYWwtYWxpZ25tZW50KTtcXG4kaG9yaXpvbnRhbC1mdWxsLXdpZHRoLWxhYmVsLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsLS1mdWxsLXdpZHRoX19sYWJlbF9fd2lkdGgpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBkaXNhYmxlZCBzdGF0ZVxcbiRkaXNhYmxlZC1jdXJzb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19jdXJzb3IpO1xcbiRkaXNhYmxlZC1vcGFjaXR5OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fb3BhY2l0eSk7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGJveCBmaWVsZHNcXG4kYm94LWJvcmRlci13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpO1xcbiRib3gtYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItcmFkaXVzKTtcXG4kYm94LWlucHV0LXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2lucHV0X193aWR0aCk7XFxuJGJveC1pbnB1dC1taW4td2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9faW5wdXRfX21pbi13aWR0aCk7XFxuJGJveC1wbGFjZWhvbGRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19wbGFjZWhvbGRlcl9fY29sb3IpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBib3ggZmllbGRzLCBjb21wb25lbnQgc3BlY2lmaWNcXG4kYm94LXNlbGVjdC1jYXJldC1ib3JkZXItc3R5bGU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc2VsZWN0X19jYXJldF9fYm9yZGVyLXN0eWxlKTtcXG4kYm94LXNlbGVjdC1jYXJldC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fY2FyZXRfX2JhY2tncm91bmQpO1xcbiRib3gtc2VsZWN0LW9wdGlvbi1kaXNhYmxlZC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zZWxlY3RfX29wdGlvbi0tZGlzYWJsZWRfX2NvbG9yKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogYm94IGZpZWxkIHNpemVzXFxuJGJveC1zaXplczogKFxcbiAgICBzbWFsbDogKFxcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19oZWlnaHQpLFxcbiAgICAgICAgcGFkZGluZy15OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19wYWRkaW5nLXkpLFxcbiAgICAgICAgcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19wYWRkaW5nLXgpLFxcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19mb250LXNpemUpLFxcbiAgICApLFxcbiAgICBtZWRpdW06IChcXG4gICAgICAgIGhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX2hlaWdodCksXFxuICAgICAgICBwYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19wYWRkaW5nLXkpLFxcbiAgICAgICAgcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fcGFkZGluZy14KSxcXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX2ZvbnQtc2l6ZSksXFxuICAgICksXFxuICAgIGxhcmdlOiAoXFxuICAgICAgICBoZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX2hlaWdodCksXFxuICAgICAgICBwYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX3BhZGRpbmcteSksXFxuICAgICAgICBwYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX3BhZGRpbmcteCksXFxuICAgICAgICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX2ZvbnQtc2l6ZSksXFxuICAgICksXFxuKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogY2hlY2sgZmllbGRzXFxuJGNoZWNrLWlucHV0LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dF9fc2l6ZSk7XFxuJGNoZWNrLWlucHV0LWJvcmRlci13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0X19ib3JkZXItd2lkdGgpO1xcbiRjaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLWZvY3VzX19ib3gtc2hhZG93KTtcXG4kY2hlY2stdGFwLXRhcmdldC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19fdGFwLXRhcmdldC1zaXplKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogY2hlY2sgZmllbGRzLCBjb21wb25lbnQgc3BlY2lmaWNcXG4kY2hlY2staW5wdXQtY2hlY2tib3gtYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1jaGVja2JveF9fYm9yZGVyLXJhZGl1cyk7XFxuJGNoZWNrLWlucHV0LWNoZWNrYm94LWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1jaGVja2JveC0tY2hlY2tlZF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXJhZGlvLWJvcmRlci1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tcmFkaW9fX2JvcmRlci1yYWRpdXMpO1xcbiRjaGVjay1pbnB1dC1yYWRpby1jaGVja2VkLWJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tcmFkaW8tLWNoZWNrZWRfX2JhY2tncm91bmQtaW1hZ2UpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlX193aWR0aCk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1ib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZV9fYm9yZGVyLXJhZGl1cyk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1iYWNrZ3JvdW5kLXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlX19iYWNrZ3JvdW5kLXNpemUpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtZGVmYXVsdC1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZS0tZGVmYXVsdF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1kZWZhdWx0LWJhY2tncm91bmQtcG9zaXRpb246XFxuICAgIHZhcihcXG4gICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWRlZmF1bHRfX2JhY2tncm91bmQtcG9zaXRpb25cXG4gICAgKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWNoZWNrZWRfX2JhY2tncm91bmQtaW1hZ2UpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtY2hlY2tlZC1iYWNrZ3JvdW5kLXBvc2l0aW9uOlxcbiAgICB2YXIoXFxuICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlLS1jaGVja2VkX19iYWNrZ3JvdW5kLXBvc2l0aW9uXFxuICAgICk7XFxuXCIsXCIvLyAxLiBJbnB1dCBgbGluZS1oZWlnaHRgIGlzIHNwZWNpZmllZCBpbiBgcmVtYCBzbyBpbnB1dHMgZG8gbm90IGJyZWFrIHdoZW4gdGhlaXIgZm9udCBzaXplIGdldHNcXG4vLyAgICBjaGFuZ2VkIGxhdGVyLlxcblxcbkB1c2UgXFxcInNhc3M6bWFwXFxcIjtcXG5AdXNlIFxcXCIuLi90aGVtZS90eXBvZ3JhcGh5XFxcIjtcXG5AdXNlIFxcXCIuLi90b29scy9zcGFjaW5nXFxcIjtcXG5cXG4kaGVscC10ZXh0LWxpbmUtaGVpZ2h0OiAxLjJyZW07XFxuXFxuJHZlcnRpY2FsLWlubmVyLWdhcDogc3BhY2luZy5vZigxKTtcXG4kdmVydGljYWwtaW5uZXItZ2FwLWxhcmdlOiBzcGFjaW5nLm9mKDIpO1xcbiR2ZXJ0aWNhbC1vdXRlci1zcGFjaW5nOiBzcGFjaW5nLm9mKDIpO1xcblxcbiRob3Jpem9udGFsLWlubmVyLWdhcDogc3BhY2luZy5vZigyKTtcXG4kaG9yaXpvbnRhbC1vdXRlci1zcGFjaW5nOiBzcGFjaW5nLm9mKDIpO1xcblxcbiRib3gtaW5wdXQtZm9udC1mYW1pbHk6IHR5cG9ncmFwaHkuJGZvbnQtZmFtaWx5LWJhc2U7XFxuJGJveC1pbnB1dC1mb250LXdlaWdodDogbWFwLmdldCh0eXBvZ3JhcGh5LiRmb250LXdlaWdodC12YWx1ZXMsIGRlZmF1bHQpO1xcbiRib3gtaW5wdXQtbGluZS1oZWlnaHQ6IDEuNXJlbTsgLy8gMS5cXG4kYm94LWZpZWxkLWNhcmV0LXNpemU6IDIuMjVyZW07XFxuJGJveC1maWVsZC1pbnB1dC1udW1iZXItYXJyb3dzLXdpZHRoOiAxLjVyZW07XFxuJGJveC1maWVsZC1ib3R0b20tbGluZS1oZWlnaHQ6IDJweDtcXG5cXG4kaW5saW5lLWZpZWxkLWlubmVyLWdhcDogc3BhY2luZy5vZigyKTtcXG5cXG4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzOiAoXFxuICAgIGJveDogKFxcbiAgICAgICAgZmlsbGVkOiAoZGVmYXVsdCwgaG92ZXIsIGZvY3VzLCBkaXNhYmxlZCksXFxuICAgICAgICBvdXRsaW5lOiAoZGVmYXVsdCwgaG92ZXIsIGZvY3VzLCBkaXNhYmxlZCksXFxuICAgICksXFxuICAgIGNoZWNrOiAoXFxuICAgICAgICBkZWZhdWx0OiAoZGVmYXVsdCwgY2hlY2tlZCwgZGlzYWJsZWQsIGNoZWNrZWQtZGlzYWJsZWQpLFxcbiAgICApLFxcbiAgICBjdXN0b206IChcXG4gICAgICAgIGRlZmF1bHQ6IChkZWZhdWx0LCBkaXNhYmxlZCksXFxuICAgICksXFxuICAgIHZhbGlkYXRpb246IChcXG4gICAgICAgIGludmFsaWQ6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICAgICB2YWxpZDogKGRlZmF1bHQsIGNoZWNrZWQsIGRpc2FibGVkLCBjaGVja2VkLWRpc2FibGVkKSxcXG4gICAgICAgIHdhcm5pbmc6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICksXFxuKTtcXG5cXG4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXM6IChcXG4gICAgZGVmYXVsdDogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGNoZWNrLWJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3csIHN1cnJvdW5kaW5nLXRleHQtY29sb3IpLFxcbiAgICBob3ZlcjogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGJveC1zaGFkb3cpLFxcbiAgICBmb2N1czogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGNoZWNrLWJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cpLFxcbiAgICBjaGVja2VkOiAoYm9yZGVyLWNvbG9yLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yKSxcXG4gICAgZGlzYWJsZWQ6IChjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93LCBzdXJyb3VuZGluZy10ZXh0LWNvbG9yKSxcXG4gICAgY2hlY2tlZC1kaXNhYmxlZDogKGJvcmRlci1jb2xvciwgY2hlY2stYmFja2dyb3VuZC1jb2xvciksXFxuKTtcXG5cIixcIi8vIDEuIER1ZSB0byBjb21wbGV4aXR5LCBpdCdzIGVhc2llciBhbmQgc2FmZXIgdG8gcmVzb2x2ZSB2YXJpYW50IGN1c3RvbSBwcm9wZXJ0aWVzIGR5bmFtaWNhbGx5IHdpdGhcXG4vLyAgICBhIG1peGluLiBUaGlzIHdheSBpdCdzIGFsc28gZWFzaWVyIHRvIG1ha2UgdGhlbWluZyBhZGp1c3RtZW50cyB0byBhbGwgc3VwcG9ydGVkIG1vZGlmaWNhdGlvbnNcXG4vLyAgICBpbiBvbmUgcGxhY2UuIEdlbmVyYXRlZCBjdXN0b20gcHJvcGVydGllcyBhcmUgY29uc3VtZWQgbWFpbmx5IGluIGZvdW5kYXRpb24gZmllbGQgc3R5bGVzIChzZWVcXG4vLyAgICBgdG9vbHMvZm9ybS1maWVsZHMvX2ZvdW5kYXRpb24uc2Nzc2AgZm9yIG1vcmUpLlxcbi8vXFxuLy8gMi4gSW50ZXJhY3Rpb24gc3RhdGVzIG90aGVyIHRoYW4gYGRlZmF1bHRgIGRlZmF1bHQgdG8gdGhlIGBkZWZhdWx0YCAoc2ljISkgc3RhdGUgYXBwZWFyYW5jZSBpZlxcbi8vICAgIGNvcnJlc3BvbmRpbmcgY3VzdG9tIHByb3BlcnRpZXMgYXJlIG5vdCBwcm92aWRlZC5cXG4vL1xcbi8vIDMuIGAuaW5wdXQ6Zm9jdXNgIGlzIGFkZGVkIGp1c3QgaW4gY2FzZSBgOmZvY3VzLXdpdGhpbmAgZG9lc24ndCB3b3JrLlxcblxcbkB1c2UgXFxcInNhc3M6bGlzdFxcXCI7XFxuQHVzZSBcXFwic2FzczptYXBcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm0tZmllbGRzXFxcIiBhcyBzZXR0aW5ncztcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuXFxuQG1peGluIF9kaXNhYmxlZC1zdGF0ZSgpIHtcXG4gICAgb3BhY2l0eTogdGhlbWUuJGRpc2FibGVkLW9wYWNpdHk7XFxuICAgIGN1cnNvcjogdGhlbWUuJGRpc2FibGVkLWN1cnNvcjtcXG59XFxuXFxuLy8gMS5cXG5AbWl4aW4gX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgJHN0YXRlKSB7XFxuICAgIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cyhtYXAuZ2V0KHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMsICR0eXBlKSksICR2YXJpYW50KSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgdmFyaWFudCBzcGVjaWZpZWQhICN7JHZhcmlhbnR9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMobWFwLmdldChzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzLCAkdHlwZSkpfS5cXFwiO1xcbiAgICB9XFxuXFxuICAgIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXMpLCAkc3RhdGUpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiSW52YWxpZCBzdGF0ZSBzcGVjaWZpZWQhICN7JHN0YXRlfSBkb2Vzbid0IGV4aXN0LiBcXFwiXFxuICAgICAgICAgICAgKyBcXFwiQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKHNldHRpbmdzLiR0aGVtZWFibGUtc3RhdGUtcHJvcGVydGllcyl9LlxcXCI7XFxuICAgIH1cXG5cXG4gICAgJHByb3BlcnRpZXM6IG1hcC5nZXQoc2V0dGluZ3MuJHRoZW1lYWJsZS1zdGF0ZS1wcm9wZXJ0aWVzLCAkc3RhdGUpO1xcbiAgICAkaW5maXg6ICR0eXBlO1xcbiAgICAkZmFsbGJhY2stc3RhdGU6IFxcXCJkZWZhdWx0XFxcIjtcXG5cXG4gICAgQGlmICR0eXBlID09IFxcXCJ2YWxpZGF0aW9uXFxcIiB7XFxuICAgICAgICAkaW5maXg6ICR2YXJpYW50O1xcbiAgICB9XFxuXFxuICAgIEBpZiAkdHlwZSAhPSBcXFwidmFsaWRhdGlvblxcXCIgYW5kICR2YXJpYW50ICE9IFxcXCJkZWZhdWx0XFxcIiB7XFxuICAgICAgICAkaW5maXg6ICN7JHR5cGV9LS0jeyR2YXJpYW50fTtcXG4gICAgfVxcblxcbiAgICBAaWYgJHN0YXRlID09IFxcXCJjaGVja2VkLWRpc2FibGVkXFxcIiB7XFxuICAgICAgICAkZmFsbGJhY2stc3RhdGU6IFxcXCJjaGVja2VkXFxcIjtcXG4gICAgfVxcblxcbiAgICBAaWYgJHN0YXRlID09IFxcXCJkZWZhdWx0XFxcIiB7XFxuICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xcbiAgICAgICAgICAgIC0tcnVpLWxvY2FsLSN7JHByb3BlcnR5fTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tI3skaW5maXh9LS0jeyRzdGF0ZX1fXyN7JHByb3BlcnR5fSk7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgLy8gMi5cXG4gICAgQGVsc2Uge1xcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcXG4gICAgICAgICAgICAtLXJ1aS1sb2NhbC0jeyRwcm9wZXJ0eX06XFxuICAgICAgICAgICAgICAgIHZhcihcXG4gICAgICAgICAgICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tI3skaW5maXh9LS0jeyRzdGF0ZX1fXyN7JHByb3BlcnR5fSxcXG4gICAgICAgICAgICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLSN7JGluZml4fS0tI3skZmFsbGJhY2stc3RhdGV9X18jeyRwcm9wZXJ0eX0pXFxuICAgICAgICAgICAgICAgICk7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIF9nZXQtdGhlbWUoJHR5cGUsICR2YXJpYW50KSB7XFxuICAgIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzKSwgJHR5cGUpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiSW52YWxpZCB0eXBlIHNwZWNpZmllZCEgI3skdHlwZX0gZG9lc24ndCBleGlzdC4gXFxcIlxcbiAgICAgICAgICAgICsgXFxcIkNob29zZSBvbmUgb2YgI3ttYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzKX0uXFxcIjtcXG4gICAgfVxcblxcbiAgICAkdGhlbWVhYmxlLXN0YXRlczogbWFwLmdldChtYXAuZ2V0KHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMsICR0eXBlKSwgJHZhcmlhbnQpO1xcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImhvdmVyXFxcIikge1xcbiAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImRlZmF1bHRcXFwiKTtcXG5cXG4gICAgICAgICY6aG92ZXIge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJob3ZlclxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9IEBlbHNlIHtcXG4gICAgICAgICYsXFxuICAgICAgICAmOmhvdmVyIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiZGVmYXVsdFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiZm9jdXNcXFwiKSB7XFxuICAgICAgICAvLyAzLlxcbiAgICAgICAgJjpmb2N1cy13aXRoaW4sXFxuICAgICAgICAmOmZvY3VzLXdpdGhpbjpob3ZlcixcXG4gICAgICAgIC5pbnB1dDpmb2N1cyB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImZvY3VzXFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJjaGVja2VkXFxcIikge1xcbiAgICAgICAgLmlucHV0OmNoZWNrZWQge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJjaGVja2VkXFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJkaXNhYmxlZFxcXCIpIHtcXG4gICAgICAgICYuaXNSb290RGlzYWJsZWQge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJkaXNhYmxlZFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiY2hlY2tlZC1kaXNhYmxlZFxcXCIpIHtcXG4gICAgICAgIC5pbnB1dDpjaGVja2VkOmRpc2FibGVkIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiY2hlY2tlZC1kaXNhYmxlZFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiB2aXN1YWwoJHR5cGUsICR2YXJpYW50OiBcXFwiZGVmYXVsdFxcXCIsICRoYXMtY2FyZXQ6IGZhbHNlKSB7XFxuICAgIEBpbmNsdWRlIF9nZXQtdGhlbWUoJHR5cGUsICR2YXJpYW50KTtcXG5cXG4gICAgLmlucHV0OmRpc2FibGVkIHtcXG4gICAgICAgIEBpbmNsdWRlIF9kaXNhYmxlZC1zdGF0ZSgpO1xcbiAgICB9XFxuXFxuICAgIEBpZiAkdHlwZSA9PSBcXFwiYm94XFxcIiBhbmQgJHZhcmlhbnQgPT0gXFxcImZpbGxlZFxcXCIge1xcbiAgICAgICAgLmlucHV0IHtcXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiAkdHlwZSA9PSBcXFwiYm94XFxcIiBhbmQgJHZhcmlhbnQgPT0gXFxcIm91dGxpbmVcXFwiIGFuZCAkaGFzLWNhcmV0IHtcXG4gICAgICAgIC5jYXJldCB7XFxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRoZW1lLiRib3gtYm9yZGVyLXdpZHRoIHRoZW1lLiRib3gtc2VsZWN0LWNhcmV0LWJvcmRlci1zdHlsZSB2YXIoLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yKTtcXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0aGVtZS4kYm94LXNlbGVjdC1jYXJldC1iYWNrZ3JvdW5kO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3REaXNhYmxlZCAuY2FyZXQge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9kaXNhYmxlZC1zdGF0ZSgpO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiB2YWxpZGF0aW9uKCR2YXJpYW50KSB7XFxuICAgIEBpbmNsdWRlIF9nZXQtdGhlbWUodmFsaWRhdGlvbiwgJHZhcmlhbnQpO1xcbn1cXG5cIixcIi8vIDEuIFNjcmVlbiByZWFkZXJzIG9ubHksIGluc3BpcmVkIGJ5IEJvb3RzdHJhcC5cXG4vLyAgICBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2Nzc1xcbi8vXFxuLy8gMi4gTWFrZSB0YXAgdGFyZ2V0IGJpZyBlbm91Z2ggdG8gaW1wcm92ZSBhY2Nlc3NpYmlsaXR5IG9uIHRvdWNoIHNjcmVlbnMuXFxuXFxuQHVzZSBcXFwiLi4vdGhlbWUvYWNjZXNzaWJpbGl0eVxcXCIgYXMgdGhlbWU7XFxuXFxuLy8gMS5cXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHdpZHRoOiAxcHg7XFxuICAgIGhlaWdodDogMXB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgICBib3JkZXI6IDA7XFxufVxcblxcbkBtaXhpbiB1bmhpZGUtdGV4dCgpIHtcXG4gICAgcG9zaXRpb246IHVuc2V0O1xcbiAgICB3aWR0aDogdW5zZXQ7XFxuICAgIGhlaWdodDogdW5zZXQ7XFxuICAgIG92ZXJmbG93OiB1bnNldDtcXG4gICAgY2xpcDogdW5zZXQ7XFxuICAgIHdoaXRlLXNwYWNlOiB1bnNldDtcXG59XFxuXFxuLy8gMi5cXG5AbWl4aW4gbWluLXRhcC10YXJnZXQoJHNpemU6IHRoZW1lLiR0YXAtdGFyZ2V0LXNpemUsICRjZW50ZXI6IHRydWUpIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcblxcbiAgICAmOjpiZWZvcmUge1xcbiAgICAgICAgY29udGVudDogXFxcIlxcXCI7XFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgICB3aWR0aDogJHNpemU7XFxuICAgICAgICBoZWlnaHQ6ICRzaXplO1xcblxcbiAgICAgICAgQGlmICRjZW50ZXIge1xcbiAgICAgICAgICAgIHRvcDogNTAlO1xcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gZm9jdXMtcmluZygpIHtcXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcXG4gICAgICAgIG91dGxpbmU6IHRoZW1lLiRmb2N1cy1vdXRsaW5lO1xcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IHRoZW1lLiRmb2N1cy1vdXRsaW5lLW9mZnNldDtcXG4gICAgICAgIGJveC1zaGFkb3c6IHRoZW1lLiRmb2N1cy1ib3gtc2hhZG93O1xcbiAgICB9XFxufVxcblwiLFwiLy8gMS4gIElubGluZSBmb3JtIGZpZWxkcyBhbmQgZmllbGRzIHdpdGggdmVydGljYWwgbGF5b3V0IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyB0aGV5IG5lZWQuIExhYmVsc1xcbi8vICAgICBkbyBub3Qgd3JhcCB1bnRpbCBmb3JjZWQgYnkgY29udGFpbmVyIG9mIHRoZSBmaWVsZC4gTWluIGFuZCBtYXggbGltaXRzIG1ha2UgZXh0cmEgbG9uZyB3b3Jkc1xcbi8vICAgICBicmVhayBpZiBuZWNlc3NhcnkuXFxuLy9cXG4vLyAyLiAgRm9ybSBmaWVsZHMgaW4gaG9yaXpvbnRhbCBsYXlvdXQgYWxzbyB0YWtlIHVwIG9ubHkgYXMgbXVjaCBzcGFjZSBhcyB0aGV5IG5lZWQuIExhYmVscyBkbyBub3RcXG4vLyAgICAgd3JhcCB1bnRpbCBsYWJlbCB3aWR0aCBsaW1pdCBpcyByZWFjaGVkICg1MCAlIG9mIGF2YWlsYWJsZSBob3Jpem9udGFsIHNwYWNlIGJ5IGRlZmF1bHQpLlxcbi8vXFxuLy8gMy4gIEhlbHAgdGV4dHMgYW5kIHZhbGlkYXRpb24gbWVzc2FnZXMgYXJlIGFsaWduZWQgYmVsb3cgaW5wdXQgYW5kIHdyYXBwZWQuIFRoZWlyIHdpZHRoIGlzIGFsd2F5c1xcbi8vICAgICBsaW1pdGVkIHRvIHRoZSB3aWR0aCBvZiB0aGUgaW5wdXQgZmllbGQgc28gdGhleSBkb24ndCBzaGlmdCBhZGphY2VudCBlbGVtZW50cyB3aGVuIHRoZXkgc2hvd1xcbi8vICAgICB1cC4gVGhpcyBhcHBsaWVzIHVubGVzcyB0aGUgZmllbGQgaXMgaW5zaWRlIEZvcm1MYXlvdXQgKHNlZSAxMCkuXFxuLy9cXG4vLyA0LiAgRGVmaW5lIGdyaWQgc3BhY2luZyBhcyBwYWRkaW5nIG9mIGNoaWxkIGVsZW1lbnRzIGJlY2F1c2UgZ3JpZCBhcmVhcyBtYWtlIHJvdyBhbmQgY29sdW1uIGdhcHNcXG4vLyAgICAgc2hvdyB1cCBldmVuIHdoZW4gbm90IG5lY2Vzc2FyeS5cXG4vL1xcbi8vIDUuICBXaGVuIGlucHV0IHNpemUgaXMgc21hbGwgYW5kIGZvcm0gZmllbGQgbGF5b3V0IGlzIHNldCB0byBob3Jpem9udGFsLCBleHBhbmQgaGVscCB0ZXh0IGFuZFxcbi8vICAgICB2YWxpZGF0aW9uIG1lc3NhZ2Ugb3ZlciBmdWxsIGZvcm0gZmllbGQgd2lkdGggdG8gaW1wcm92ZSB0aGVpciByZWFkYWJpbGl0eS4gT3RoZXJ3aXNlIHRoZVxcbi8vICAgICB0ZXh0IHdvdWxkIGJlIHBhY2tlZCBpbnRvIGEgdmVyeSBuYXJyb3cgY29sdW1uIGFuZCBoYXJkIHRvIHJlYWQuIFRvIHByZXZlbnQgaGVscCB0ZXh0IGFuZFxcbi8vICAgICB2YWxpZGF0aW9uIG1lc3NhZ2UgZnJvbSBncm93aW5nIHRoZSBsYXlvdXQgbW9yZSB0aGFuIG5lY2Vzc2FyeSAoaWUuIHRoZSBzaXplIHdpdGhvdXRcXG4vLyAgICAgaGVscC92YWxpZGF0aW9uIHRleHQpLCBgbWluLWNvbnRlbnRgIGdyaWQgc2l6aW5nIG11c3QgYmUgdXNlZCBhbG9uZyB3aXRoIGRpc2FibGVkIHdyYXBwaW5nIG9mXFxuLy8gICAgIGxhYmVsLlxcbi8vXFxuLy8gNi4gIEZ1bGwtd2lkdGggaG9yaXpvbnRhbCBmb3JtIGZpZWxkcyBwcmVmZXIgbm90IHdyYXBwaW5nIHRoZSBsYWJlbCB1bnRpbCBhIGxpbWl0IGlzIHJlYWNoZWRcXG4vLyAgICAgKDUwICUgb2YgYXZhaWxhYmxlIGhvcml6b250YWwgc3BhY2UgYnkgZGVmYXVsdCwgc2FtZSBhcyBpbiAyLikuXFxuLy9cXG4vLyA3LiAgSnVzdGlmeSBpbnB1dHMgdG8gYHN0YXJ0YCBpbiBob3Jpem9udGFsIGxheW91dHMgdG8gZml4IHBvc2l0aW9uaW5nIGlzc3VlcyB3aXRoIFNlbGVjdCBGaWVsZHMuXFxuLy8gICAgIFJldmVydGVkIGZvciBmdWxsLXdpZHRoIGZpZWxkcy5cXG4vL1xcbi8vIDguICBHcmlkIHNldHRpbmdzIGFyZSBpbmhlcml0ZWQgZnJvbSBob3Jpem9udGFsIEZvcm1MYXlvdXQgYW5kIGFwcGxpZWQgdXNpbmcgYHN1YmdyaWRgLlxcbi8vICAgICBBIGZhbGxiYWNrIGlzIHN1cHBsaWVkIHRvIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBgc3ViZ3JpZGAgeWV0Llxcbi8vXFxuLy8gICAgIENocm9tZSAxMTcrIHN1cHBvcnRzIGBzdWJncmlkYCBidXQgaXQgZG9lc24ndCB3b3JrIGZvciBgPGZpZWxkc2V0PmAuIFRoaXMgaXMgd2h5IHdlIGFsd2F5c1xcbi8vICAgICB1c2UgdGhlIGZhbGxiYWNrIGZvciBgPGZpZWxkc2V0PmAuXFxuLy9cXG4vLyAgICAgaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9MTQ3MzI0Mlxcbi8vICAgICBodHRwczovL2dpdGh1Yi5jb20vcmVhY3QtdWktb3JnL3JlYWN0LXVpL2lzc3Vlcy8yMzJcXG4vL1xcbi8vIDkuICBIZWxwIHRleHRzIGFuZCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGNhbiB0YWtlIHVwIGZ1bGwgd2lkdGggb2YgRm9ybUxheW91dC4gVGhlcmUgaXMgbm8gcmVhc29uXFxuLy8gICAgIHRvIG1ha2UgdGhlbSB3cmFwIGFzIHRoZXkgY2Fubm90IGJyZWFrIGxheW91dCBvZiBGb3JtTGF5b3V0Llxcbi8vXFxuLy8gMTAuIFZpc3VhbGx5IGFsaWduIGxhYmVsIHRvIGlucHV0IGJhc2VsaW5lLiBBY2hpZXZlZCB3aXRoIGBwYWRkaW5nLXRvcGAgYW5kIGBwYWRkaW5nLWJvdHRvbWAgZHVlXFxuLy8gICAgIHRvIHR3byByZWFzb25zOlxcbi8vXFxuLy8gICAgICogYGFsaWduLWl0ZW1zOiBiYXNlbGluZWAgZG9lc24ndCB3b3JrIGZvciBibGFuayB0ZXh0IGlucHV0cyBpbiBTYWZhcmkuIFNlZVxcbi8vICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyOTY4IGFuZFxcbi8vICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vcmVhY3QtdWktb3JnL3JlYWN0LXVpL2lzc3Vlcy8yNjUuXFxuLy9cXG4vLyAgICAgKiBgYWxpZ24taXRlbXM6IGJhc2VsaW5lYCBkb2Vzbid0IGFsbG93IHN1YnNlcXVlbnQgdmVydGljYWwgY2VudGVyaW5nIG9mIHRhbGwgaW5wdXRzIGFuZC9vclxcbi8vICAgICAgICBtdWx0aWxpbmUgbGFiZWxzIChzZWUgYHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXZlcnRpY2FsLWFsaWdubWVudGAgYW5kXFxuLy8gICAgICAgIGB0aGVtZS4kaG9yaXpvbnRhbC1maWVsZC12ZXJ0aWNhbC1hbGlnbm1lbnRgKS5cXG4vL1xcbi8vIDExLiBSZXNldCBgd2lkdGhgIHByZXZpb3VzbHkgc2V0IGJ5IGlubGluZSBmaWVsZCBsYXlvdXQgKHNlZSBgX2lubGluZS1maWVsZC1sYXlvdXQuc2Nzc2ApLlxcbi8vXFxuLy8gMTIuIE1ha2UgZmllbGRzIGp1c3QgYXMgd2lkZSBhcyBuZWNlc3NhcnkuIEZpZWxkcyBzaG91bGQgYmUgaW50ZXJhY3RpdmUgb25seSB3aGVyZSB0aGVpciB2aXNpYmxlXFxuLy8gICAgIGNvbnRlbnQgaXMuXFxuLy9cXG4vLyAxMy4gTGFiZWwgYW5kIGZpZWxkIGFyZSB2ZXJ0aWNhbGx5IGFsaWduZWQgdG8gdG9wIChzdGFydCkgYnkgZGVmYXVsdCAoc2VlIDEwLikuIFZlcnRpY2FsXFxuLy8gICAgIGFsaWdubWVudCBvZiBlYWNoIGJsb2NrIGNhbiBiZSBjaGFuZ2VkIGJ5IHRoZW1lIGNvbmZpZ3VyYXRpb24uXFxuXFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybXNcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm0tZmllbGRzXFxcIiBhcyBzZXR0aW5ncztcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvdHlwb2dyYXBoeVxcXCI7XFxuQHVzZSBcXFwiLi4vYnJlYWtwb2ludFxcXCI7XFxuXFxuQG1peGluIHZlcnRpY2FsKCRoYXMtbGlzdDogZmFsc2UpIHtcXG4gICAgQGlmICRoYXMtbGlzdCB7XFxuICAgICAgICAtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXA6ICN7c2V0dGluZ3MuJHZlcnRpY2FsLWlubmVyLWdhcC1sYXJnZX07XFxuICAgIH1cXG5cXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IC8vIDEuXFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIG1pbi13aWR0aDogMDsgLy8gMS5cXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxLlxcblxcbiAgICAubGFiZWwge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXAsICN7c2V0dGluZ3MuJHZlcnRpY2FsLWlubmVyLWdhcH0pO1xcbiAgICB9XFxuXFxuICAgIC5oZWxwVGV4dCxcXG4gICAgLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCAje3NldHRpbmdzLiR2ZXJ0aWNhbC1pbm5lci1nYXB9KTtcXG4gICAgfVxcblxcbiAgICAuZmllbGQge1xcbiAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50OyAvLyAzLlxcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAzLlxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBob3Jpem9udGFsKCRoYXMtbWluLXRhcC10YXJnZXQ6IGZhbHNlKSB7XFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWdyaWQ7IC8vIDIuXFxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXdpZHRoIG1pbi1jb250ZW50OyAvLyAyLlxcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXFxcImxhYmVsIGZpZWxkXFxcIjtcXG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDsgLy8gMTAuLCAxMy5cXG5cXG4gICAgICAgIC5sYWJlbCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBsYWJlbDtcXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC12ZXJ0aWNhbC1hbGlnbm1lbnQ7IC8vIDEzLlxcbiAgICAgICAgICAgIG1pbi13aWR0aDogdGhlbWUuJGhvcml6b250YWwtbGFiZWwtbWluLXdpZHRoO1xcblxcbiAgICAgICAgICAgIC8vIDEwLlxcbiAgICAgICAgICAgIEBpZiAkaGFzLW1pbi10YXAtdGFyZ2V0IHtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6XFxuICAgICAgICAgICAgICAgICAgICBjYWxjKFxcbiAgICAgICAgICAgICAgICAgICAgICAgICgje3RoZW1lLiRjaGVjay10YXAtdGFyZ2V0LXNpemV9IC0gMXJlbSAqICN7dHlwb2dyYXBoeS4kbGluZS1oZWlnaHQtYmFzZX0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgLyAyXFxuICAgICAgICAgICAgICAgICAgICApO1xcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpcXG4gICAgICAgICAgICAgICAgICAgIGNhbGMoXFxuICAgICAgICAgICAgICAgICAgICAgICAgKCN7dGhlbWUuJGNoZWNrLXRhcC10YXJnZXQtc2l6ZX0gLSAxcmVtICogI3t0eXBvZ3JhcGh5LiRsaW5lLWhlaWdodC1iYXNlfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAvIDJcXG4gICAgICAgICAgICAgICAgICAgICk7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIC8vIDEwLiwgMTMuXFxuICAgICAgICAgICAgQGVsc2Uge1xcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogI3t0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC1wYWRkaW5nLXl9O1xcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogI3t0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC1wYWRkaW5nLXl9O1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzZXR0aW5ncy4kaG9yaXpvbnRhbC1pbm5lci1nYXA7IC8vIDQuXFxuICAgICAgICAgICAgdGV4dC1hbGlnbjogdGhlbWUuJGhvcml6b250YWwtbGFiZWwtdGV4dC1hbGlnbjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC5maWVsZCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBmaWVsZDtcXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiB0aGVtZS4kaG9yaXpvbnRhbC1maWVsZC12ZXJ0aWNhbC1hbGlnbm1lbnQ7IC8vIDEzLlxcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7IC8vIDcuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGhvcml6b250YWwtd2l0aC1zbWFsbC1pbnB1dCgpIHtcXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChmb3Jtcy4kaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XFxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbi1jb250ZW50IG1pbi1jb250ZW50OyAvLyA1LlxcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcXG4gICAgICAgICAgICBcXFwibGFiZWwgZmllbGRcXFwiXFxuICAgICAgICAgICAgXFxcImhlbHB0ZXh0IGhlbHB0ZXh0XFxcIlxcbiAgICAgICAgICAgIFxcXCJ2YWxpZGF0aW9udGV4dCB2YWxpZGF0aW9udGV4dFxcXCI7IC8vIDUuXFxuXFxuICAgICAgICAubGFiZWwge1xcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIDUuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAuZmllbGQge1xcbiAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzOyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLmlucHV0Q29udGFpbmVyIHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IGZpZWxkOyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLmhlbHBUZXh0IHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IGhlbHB0ZXh0OyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IHZhbGlkYXRpb250ZXh0OyAvLyA1LlxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBmdWxsLXdpZHRoKCkge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICB3aWR0aDogMTAwJTtcXG5cXG4gICAgLmZpZWxkLFxcbiAgICAuaW5wdXRDb250YWluZXIsXFxuICAgIC5pbnB1dCB7XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgfVxcblxcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGZvcm1zLiRob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCB7XFxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHRoZW1lLiRob3Jpem9udGFsLWZ1bGwtd2lkdGgtbGFiZWwtd2lkdGggMWZyOyAvLyA2LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCB7XFxuICAgICAgICAgICAganVzdGlmeS1zZWxmOiBzdHJldGNoOyAvLyA3LlxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbi1mb3JtLWxheW91dCgkaXMtZmllbGRzZXQ6IGZhbHNlKSB7XFxuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7IC8vIDEyLlxcblxcbiAgICAuZmllbGQge1xcbiAgICAgICAgd2lkdGg6IGF1dG87IC8vIDkuXFxuICAgIH1cXG5cXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChmb3Jtcy4kaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XFxuICAgICAgICAub3B0aW9uTGFiZWwge1xcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvOyAvLyAxMS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC8vIDguXFxuICAgICAgICBAaWYgJGlzLWZpZWxkc2V0IHtcXG4gICAgICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwsXFxuICAgICAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLmhhc1Jvb3RTbWFsbElucHV0IHtcXG4gICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSBAZWxzZSB7XFxuICAgICAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLFxcbiAgICAgICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbC5oYXNSb290U21hbGxJbnB1dCB7XFxuICAgICAgICAgICAgICAgIGdyaWQ6IGluaGVyaXQ7XFxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDtcXG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcXG5cXG4gICAgICAgICAgICAgICAgQHN1cHBvcnRzIG5vdCAoZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkKSB7XFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwuaXNSb290RnVsbFdpZHRoIHtcXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAubGFiZWwsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmZpZWxkLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5pbnB1dENvbnRhaW5lcixcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaGVscFRleHQsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IHVuc2V0OyAvLyA4LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaW5wdXRDb250YWluZXIsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmhlbHBUZXh0LFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7IC8vIDguXFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwuaGFzUm9vdFNtYWxsSW5wdXQgLmZpZWxkIHtcXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgLy8gNS5cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cIixcIkB1c2UgXFxcInNhc3M6bWFwXFxcIjtcXG5AdXNlIFxcXCIuLi9zZXR0aW5ncy9icmVha3BvaW50c1xcXCI7XFxuXFxuQG1peGluIHVwKCRicmVha3BvaW50KSB7XFxuICAgIEBpZiBub3QgbWFwLmhhcy1rZXkoYnJlYWtwb2ludHMuJHZhbHVlcywgJGJyZWFrcG9pbnQpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiSW52YWxpZCBicmVha3BvaW50IHNwZWNpZmllZCEgI3skYnJlYWtwb2ludH0gZG9lc24ndCBleGlzdC4gXFxcIlxcbiAgICAgICAgICAgICsgXFxcIkNob29zZSBvbmUgb2YgI3ttYXAua2V5cyhicmVha3BvaW50cy4kdmFsdWVzKX1cXFwiO1xcbiAgICB9IEBlbHNlIGlmIG1hcC5nZXQoYnJlYWtwb2ludHMuJHZhbHVlcywgJGJyZWFrcG9pbnQpID09IDAge1xcbiAgICAgICAgQGNvbnRlbnQ7XFxuICAgIH0gQGVsc2Uge1xcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoYnJlYWtwb2ludHMuJHZhbHVlcywgJGJyZWFrcG9pbnQpKSB7XFxuICAgICAgICAgICAgQGNvbnRlbnQ7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLmxvY2FscyA9IHtcblx0XCJyb290XCI6IFwiRmlsZUlucHV0RmllbGRfX3Jvb3RfX1ZtV2w0LUlSXCIsXG5cdFwibGFiZWxcIjogXCJGaWxlSW5wdXRGaWVsZF9fbGFiZWxfX051a0haMGRWXCIsXG5cdFwiaW5wdXRDb250YWluZXJcIjogXCJGaWxlSW5wdXRGaWVsZF9faW5wdXRDb250YWluZXJfXzlCVkFwdWJiXCIsXG5cdFwiaGVscFRleHRcIjogXCJGaWxlSW5wdXRGaWVsZF9faGVscFRleHRfX01VTlFNZ2cwXCIsXG5cdFwidmFsaWRhdGlvblRleHRcIjogXCJGaWxlSW5wdXRGaWVsZF9fdmFsaWRhdGlvblRleHRfX1dEZEF5ZE5PXCIsXG5cdFwiaXNSb290UmVxdWlyZWRcIjogXCJGaWxlSW5wdXRGaWVsZF9faXNSb290UmVxdWlyZWRfXzd6ZzM3Q01qXCIsXG5cdFwiaXNSb290U3RhdGVJbnZhbGlkXCI6IFwiRmlsZUlucHV0RmllbGRfX2lzUm9vdFN0YXRlSW52YWxpZF9fK1U4aks3V3pcIixcblx0XCJpbnB1dFwiOiBcIkZpbGVJbnB1dEZpZWxkX19pbnB1dF9fZHVUU3QrVk1cIixcblx0XCJpc1Jvb3REaXNhYmxlZFwiOiBcIkZpbGVJbnB1dEZpZWxkX19pc1Jvb3REaXNhYmxlZF9fSnV5QmxNNzVcIixcblx0XCJpc1Jvb3RTdGF0ZVZhbGlkXCI6IFwiRmlsZUlucHV0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX3VycUwwSFhZXCIsXG5cdFwiaXNSb290U3RhdGVXYXJuaW5nXCI6IFwiRmlsZUlucHV0RmllbGRfX2lzUm9vdFN0YXRlV2FybmluZ19fUmRWbS1tVGpcIixcblx0XCJpc0xhYmVsSGlkZGVuXCI6IFwiRmlsZUlucHV0RmllbGRfX2lzTGFiZWxIaWRkZW5fX0FOdlVCRVBCXCIsXG5cdFwiaXNSb290TGF5b3V0VmVydGljYWxcIjogXCJGaWxlSW5wdXRGaWVsZF9faXNSb290TGF5b3V0VmVydGljYWxfX3VDcisreFVwXCIsXG5cdFwiaXNSb290TGF5b3V0SG9yaXpvbnRhbFwiOiBcIkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19PMDY3dndpNFwiLFxuXHRcImZpZWxkXCI6IFwiRmlsZUlucHV0RmllbGRfX2ZpZWxkX19PSnJ3aHg3ZFwiLFxuXHRcImlzUm9vdEZ1bGxXaWR0aFwiOiBcIkZpbGVJbnB1dEZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfX2pDQTN1NVp5XCIsXG5cdFwiaXNSb290SW5Gb3JtTGF5b3V0XCI6IFwiRmlsZUlucHV0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fdURvd1FLcWNcIixcblx0XCJvcHRpb25MYWJlbFwiOiBcIkZpbGVJbnB1dEZpZWxkX19vcHRpb25MYWJlbF9fZDZjbHJPV2RcIixcblx0XCJoYXNSb290U21hbGxJbnB1dFwiOiBcIkZpbGVJbnB1dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fbVh3aW9BUTBcIlxufTtcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js?!./src/lib/components/FileInputField/FileInputField.scss\n");
|
1043
1043
|
|
1044
1044
|
/***/ }),
|
1045
1045
|
|
@@ -1063,7 +1063,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
|
|
1063
1063
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
1064
1064
|
|
1065
1065
|
"use strict";
|
1066
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \".FormLayoutCustomField__root__\\\\+b--jZdO {\\n justify-self: start;\\n}\\n.FormLayoutCustomField__root__\\\\+b--jZdO .FormLayoutCustomField__field__Te5W5T0Q {\\n width: auto;\\n}\\n@media (min-width: 48em) {\\n .FormLayoutCustomField__root__\\\\+b--jZdO .FormLayoutCustomField__optionLabel__zoXMrX4D {\\n width: auto;\\n }\\n .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa, .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa.FormLayoutCustomField__hasRootSmallInput__AoOBi1l4 {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n }\\n @supports not (grid-template-columns: subgrid) {\\n .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa, .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa.FormLayoutCustomField__hasRootSmallInput__AoOBi1l4 {\\n display: contents;\\n }\\n }\\n .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa.FormLayoutCustomField__isRootFullWidth__wLQ5j7Pj {\\n grid-template-columns: subgrid;\\n }\\n .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__label__rTucyVJZ, .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__field__Te5W5T0Q, .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__inputContainer__dvUNSg52, .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__helpText__aZtyYe4Q, .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__validationText__gcShqeO0 {\\n grid-area: unset;\\n }\\n .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__field__Te5W5T0Q, .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__inputContainer__dvUNSg52, .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__helpText__aZtyYe4Q, .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__validationText__gcShqeO0 {\\n grid-column-start: 2;\\n }\\n .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa.FormLayoutCustomField__hasRootSmallInput__AoOBi1l4 .FormLayoutCustomField__field__Te5W5T0Q {\\n display: block;\\n }\\n}\\n.FormLayoutCustomField__root__\\\\+b--jZdO, .FormLayoutCustomField__root__\\\\+b--jZdO:hover {\\n --rui-local-color: var(--rui-FormField--custom--default__color);\\n --rui-local-border-color: var(--rui-FormField--custom--default__border-color);\\n --rui-local-background: var(--rui-FormField--custom--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--custom--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--custom--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--custom--default__surrounding-text-color);\\n}\\n.FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootDisabled__aWYE7ut2 {\\n --rui-local-color:\\n var(\\n --rui-FormField--custom--disabled__color,\\n var(--rui-FormField--custom--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--custom--disabled__border-color,\\n var(--rui-FormField--custom--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--custom--disabled__background,\\n var(--rui-FormField--custom--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--custom--disabled__check-background-color,\\n var(--rui-FormField--custom--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--custom--disabled__box-shadow,\\n var(--rui-FormField--custom--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--custom--disabled__surrounding-text-color,\\n var(--rui-FormField--custom--default__surrounding-text-color)\\n );\\n}\\n.FormLayoutCustomField__root__\\\\+b--jZdO .FormLayoutCustomField__input__UHv1ClaI:disabled {\\n opacity: var(--rui-FormField--disabled__opacity);\\n cursor: var(--rui-FormField--disabled__cursor);\\n}\\n\\n.FormLayoutCustomField__label__rTucyVJZ {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__label__color));\\n}\\n\\n.FormLayoutCustomField__isRootRequired__Xp604-Wf .FormLayoutCustomField__label__rTucyVJZ {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField--required__label__color));\\n}\\n.FormLayoutCustomField__isRootRequired__Xp604-Wf .FormLayoutCustomField__label__rTucyVJZ::after {\\n content: var(--rui-FormField--required__sign);\\n color: var(--rui-FormField--required__sign__color);\\n}\\n\\n.FormLayoutCustomField__isRootStateInvalid__BuzjAPWO, .FormLayoutCustomField__isRootStateInvalid__BuzjAPWO:hover {\\n --rui-local-color: var(--rui-FormField--invalid--default__color);\\n --rui-local-border-color: var(--rui-FormField--invalid--default__border-color);\\n --rui-local-background: var(--rui-FormField--invalid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--invalid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--invalid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--invalid--default__surrounding-text-color);\\n}\\n.FormLayoutCustomField__isRootStateInvalid__BuzjAPWO .FormLayoutCustomField__input__UHv1ClaI:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n}\\n.FormLayoutCustomField__isRootStateInvalid__BuzjAPWO.FormLayoutCustomField__isRootDisabled__aWYE7ut2 {\\n --rui-local-color:\\n var(\\n --rui-FormField--invalid--disabled__color,\\n var(--rui-FormField--invalid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--disabled__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--invalid--disabled__background,\\n var(--rui-FormField--invalid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--disabled__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--invalid--disabled__box-shadow,\\n var(--rui-FormField--invalid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--invalid--disabled__surrounding-text-color,\\n var(--rui-FormField--invalid--default__surrounding-text-color)\\n );\\n}\\n.FormLayoutCustomField__isRootStateInvalid__BuzjAPWO .FormLayoutCustomField__input__UHv1ClaI:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__border-color,\\n var(--rui-FormField--invalid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__check-background-color,\\n var(--rui-FormField--invalid--checked__check-background-color)\\n );\\n}\\n\\n.FormLayoutCustomField__isRootStateValid__YFi1vAIR, .FormLayoutCustomField__isRootStateValid__YFi1vAIR:hover {\\n --rui-local-color: var(--rui-FormField--valid--default__color);\\n --rui-local-border-color: var(--rui-FormField--valid--default__border-color);\\n --rui-local-background: var(--rui-FormField--valid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--valid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--valid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--valid--default__surrounding-text-color);\\n}\\n.FormLayoutCustomField__isRootStateValid__YFi1vAIR .FormLayoutCustomField__input__UHv1ClaI:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n}\\n.FormLayoutCustomField__isRootStateValid__YFi1vAIR.FormLayoutCustomField__isRootDisabled__aWYE7ut2 {\\n --rui-local-color:\\n var(\\n --rui-FormField--valid--disabled__color,\\n var(--rui-FormField--valid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--disabled__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--valid--disabled__background,\\n var(--rui-FormField--valid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--disabled__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--valid--disabled__box-shadow,\\n var(--rui-FormField--valid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--valid--disabled__surrounding-text-color,\\n var(--rui-FormField--valid--default__surrounding-text-color)\\n );\\n}\\n.FormLayoutCustomField__isRootStateValid__YFi1vAIR .FormLayoutCustomField__input__UHv1ClaI:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked-disabled__border-color,\\n var(--rui-FormField--valid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked-disabled__check-background-color,\\n var(--rui-FormField--valid--checked__check-background-color)\\n );\\n}\\n\\n.FormLayoutCustomField__isRootStateWarning__CH3d5SLM, .FormLayoutCustomField__isRootStateWarning__CH3d5SLM:hover {\\n --rui-local-color: var(--rui-FormField--warning--default__color);\\n --rui-local-border-color: var(--rui-FormField--warning--default__border-color);\\n --rui-local-background: var(--rui-FormField--warning--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--warning--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--warning--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--warning--default__surrounding-text-color);\\n}\\n.FormLayoutCustomField__isRootStateWarning__CH3d5SLM .FormLayoutCustomField__input__UHv1ClaI:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n}\\n.FormLayoutCustomField__isRootStateWarning__CH3d5SLM.FormLayoutCustomField__isRootDisabled__aWYE7ut2 {\\n --rui-local-color:\\n var(\\n --rui-FormField--warning--disabled__color,\\n var(--rui-FormField--warning--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--disabled__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--warning--disabled__background,\\n var(--rui-FormField--warning--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--disabled__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--warning--disabled__box-shadow,\\n var(--rui-FormField--warning--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--warning--disabled__surrounding-text-color,\\n var(--rui-FormField--warning--default__surrounding-text-color)\\n );\\n}\\n.FormLayoutCustomField__isRootStateWarning__CH3d5SLM .FormLayoutCustomField__input__UHv1ClaI:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked-disabled__border-color,\\n var(--rui-FormField--warning--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked-disabled__check-background-color,\\n var(--rui-FormField--warning--checked__check-background-color)\\n );\\n}\\n\\n.FormLayoutCustomField__isRootLayoutVertical__sqkyRdo0,\\n.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa {\\n display: inline-flex;\\n flex-direction: column;\\n min-width: 0;\\n max-width: 100%;\\n}\\n.FormLayoutCustomField__isRootLayoutVertical__sqkyRdo0 .FormLayoutCustomField__label__rTucyVJZ,\\n.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__label__rTucyVJZ {\\n padding-bottom: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.FormLayoutCustomField__isRootLayoutVertical__sqkyRdo0 .FormLayoutCustomField__helpText__aZtyYe4Q,\\n.FormLayoutCustomField__isRootLayoutVertical__sqkyRdo0 .FormLayoutCustomField__validationText__gcShqeO0,\\n.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__helpText__aZtyYe4Q,\\n.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__validationText__gcShqeO0 {\\n padding-top: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.FormLayoutCustomField__isRootLayoutVertical__sqkyRdo0 .FormLayoutCustomField__field__Te5W5T0Q,\\n.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__field__Te5W5T0Q {\\n width: -webkit-min-content;\\n width: -moz-min-content;\\n width: min-content;\\n max-width: 100%;\\n}\\n\\n@media (min-width: 48em) {\\n .FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa {\\n display: inline-grid;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) -webkit-min-content;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) min-content;\\n grid-template-areas: \\\"label field\\\";\\n align-items: start;\\n }\\n .FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__label__rTucyVJZ {\\n grid-area: label;\\n align-self: var(--rui-FormField--horizontal__label__vertical-alignment);\\n min-width: var(--rui-FormField--horizontal__label__min-width);\\n padding-top: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-bottom: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-right: var(--rui-dimension-space-2);\\n text-align: var(--rui-FormField--horizontal__label__text-align);\\n }\\n .FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__field__Te5W5T0Q {\\n grid-area: field;\\n align-self: var(--rui-FormField--horizontal__field__vertical-alignment);\\n justify-self: start;\\n }\\n}\\n\\n@media (min-width: 48em) {\\n .FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__label__rTucyVJZ {\\n -ms-grid-row: 1;\\n -ms-grid-column: 1;\\n }\\n .FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__field__Te5W5T0Q {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n}\\n\\n.FormLayoutCustomField__isRootLayoutVertical__sqkyRdo0 .FormLayoutCustomField__field__Te5W5T0Q,\\n.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__field__Te5W5T0Q {\\n width: auto;\\n}\\n\\n.FormLayoutCustomField__isRootFullWidth__wLQ5j7Pj .FormLayoutCustomField__field__Te5W5T0Q {\\n justify-self: stretch;\\n}\\n\\n.FormLayoutCustomField__isRootSizeSmall__ufbSNtex {\\n --rui-local-padding-y: var(--rui-FormField--box--small__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--small__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--small__font-size);\\n}\\n.FormLayoutCustomField__isRootSizeSmall__ufbSNtex .FormLayoutCustomField__input__UHv1ClaI {\\n --rui-local-height: var(--rui-FormField--box--small__height);\\n}\\n\\n.FormLayoutCustomField__isRootSizeMedium__\\\\+ElvsNuR {\\n --rui-local-padding-y: var(--rui-FormField--box--medium__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--medium__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--medium__font-size);\\n}\\n.FormLayoutCustomField__isRootSizeMedium__\\\\+ElvsNuR .FormLayoutCustomField__input__UHv1ClaI {\\n --rui-local-height: var(--rui-FormField--box--medium__height);\\n}\\n\\n.FormLayoutCustomField__isRootSizeLarge__7SYjkCFG {\\n --rui-local-padding-y: var(--rui-FormField--box--large__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--large__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--large__font-size);\\n}\\n.FormLayoutCustomField__isRootSizeLarge__7SYjkCFG .FormLayoutCustomField__input__UHv1ClaI {\\n --rui-local-height: var(--rui-FormField--box--large__height);\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/lib/components/FormLayout/FormLayoutCustomField.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-layout.scss\",\"webpack://./src/lib/styles/tools/_breakpoint.scss\",\"webpack://./src/lib/styles/tools/form-fields/_variants.scss\",\"webpack://./src/lib/styles/theme/_form-fields.scss\",\"webpack://./src/lib/styles/tools/form-fields/_foundation.scss\",\"webpack://./src/lib/styles/settings/_form-fields.scss\",\"<no source>\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-sizes.scss\"],\"names\":[],\"mappings\":\"AAMA;ECiLI,mBAAA;ADrLJ;ACuLI;EACI,WAAA;ADrLR;AEKQ;EDoLA;IACI,WAAA;EDtLV;ECyLM;IAEI,aAAA;IACA,8BAAA;IACA,mBAAA;EDxLV;EC0LU;IANJ;MAOQ,iBAAA;IDvLZ;EACF;EC0LM;IACI,8BAAA;EDxLV;EC2LM;IAKI,gBAAA;ED7LV;ECgMM;IAII,oBAAA;EDjMV;ECoMM;IACI,cAAA;EDlMV;AACF;AGiDQ;EA/BI,+DAAA;EAAA,6EAAA;EAAA,yEAAA;EAAA,iGAAA;EAAA,yEAAA;EAAA,iGAAA;AHVZ;AG+DQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AHeZ;AG8CI;EAtGA,gDCkBe;EDjBf,8CCgBc;AJ2ClB;;AAjEA;EKMI,kFAAA;AL+DJ;;AAjEA;EKMI,4FAAA;AL+DJ;AK7DI;EACI,6CDRQ;ECSR,kDDRc;AJuEtB;;AGPQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;AH+CZ;AGAQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AHoDZ;AGNQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AHoFZ;AGhCQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AHgGZ;;AGxEQ;EA/BI,8DAAA;EAAA,4EAAA;EAAA,wEAAA;EAAA,gGAAA;EAAA,wEAAA;EAAA,gGAAA;AHgHZ;AGjEQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AHqHZ;AGvEQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AHqJZ;AGjGQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AHiKZ;;AGzIQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;AHiLZ;AGlIQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AHsLZ;AGxIQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AHsNZ;AGlKQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AHkOZ;;AA1PA;;ECgCI,oBAAA;EACA,sBAAA;EACA,YAAA;EACA,eAAA;AD+NJ;AC7NI;;EACI,2EAAA;ADgOR;AC7NI;;;;EAEI,wEAAA;ADiOR;AC9NI;;EACI,0BAAA;EAAA,uBAAA;EAAA,kBAAA;EACA,eAAA;ADiOR;;AExSQ;EF4BR;ICiDQ,oBAAA;IACA,yFAAA;IAAA,iFAAA;IACA,kCAAA;IACA,kBAAA;EDgON;EC9NM;IACI,gBAAA;IACA,uEGlE0B;IHmE1B,6DG1EiB;IH4Fb,2IAAA;IACA,8IAAA;IAGJ,2CKxGW;ILyGX,+DGlGkB;EJ+S5B;EC1MM;IACI,gBAAA;IACA,uEG9F0B;IH+F1B,mBAAA;ED4MV;AACF;;AOzUA;EN4FQ;IM5FR,gBAAA;IAAA,mBAAA;EPmUE;EC1MM;IMzHR,gBAAA;IAAA,mBAAA;EPwUE;COxUF;;AP0CA;;EAEI,WAAA;AAkSJ;;AA/RA;EACI,qBAAA;AAkSJ;;AA9RA;EQ9CI,kEAAA;EACA,kEAAA;EAGI,kEAAA;AR8UR;AQ5UQ;EAKQ,4DAAA;AR0UhB;;AAnSA;EQlDI,mEAAA;EACA,mEAAA;EAGI,mEAAA;ARuVR;AQrVQ;EAKQ,6DAAA;ARmVhB;;AAxSA;EQtDI,kEAAA;EACA,kEAAA;EAGI,kEAAA;ARgWR;AQ9VQ;EAKQ,4DAAA;AR4VhB\",\"sourcesContent\":[\"@use \\\"../../styles/tools/form-fields/foundation\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-layout\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-sizes\\\";\\n@use \\\"../../styles/tools/form-fields/variants\\\";\\n\\n// Foundation\\n.root {\\n @include box-field-layout.in-form-layout();\\n @include variants.visual(custom);\\n}\\n\\n.label {\\n @include foundation.label();\\n}\\n\\n.isRootRequired .label {\\n @include foundation.label-required();\\n}\\n\\n// States\\n.isRootStateInvalid {\\n @include variants.validation(invalid);\\n}\\n\\n.isRootStateValid {\\n @include variants.validation(valid);\\n}\\n\\n.isRootStateWarning {\\n @include variants.validation(warning);\\n}\\n\\n// Layouts\\n.isRootLayoutVertical,\\n.isRootLayoutHorizontal {\\n @include box-field-layout.vertical();\\n}\\n\\n.isRootLayoutHorizontal {\\n @include box-field-layout.horizontal();\\n}\\n\\n.isRootLayoutVertical .field,\\n.isRootLayoutHorizontal .field {\\n width: auto;\\n}\\n\\n.isRootFullWidth .field {\\n justify-self: stretch;\\n}\\n\\n// Sizes\\n.isRootSizeSmall {\\n @include box-field-sizes.size(small);\\n}\\n\\n.isRootSizeMedium {\\n @include box-field-sizes.size(medium);\\n}\\n\\n.isRootSizeLarge {\\n @include box-field-sizes.size(large);\\n}\\n\",\"// 1. Inline form fields and fields with vertical layout take up as much space as they need. Labels\\n// do not wrap until forced by container of the field. Min and max limits make extra long words\\n// break if necessary.\\n//\\n// 2. Form fields in horizontal layout also take up only as much space as they need. Labels do not\\n// wrap until label width limit is reached (50 % of available horizontal space by default).\\n//\\n// 3. Help texts and validation messages are aligned below input and wrapped. Their width is always\\n// limited to the width of the input field so they don't shift adjacent elements when they show\\n// up. This applies unless the field is inside FormLayout (see 10).\\n//\\n// 4. Define grid spacing as padding of child elements because grid areas make row and column gaps\\n// show up even when not necessary.\\n//\\n// 5. When input size is small and form field layout is set to horizontal, expand help text and\\n// validation message over full form field width to improve their readability. Otherwise the\\n// text would be packed into a very narrow column and hard to read. To prevent help text and\\n// validation message from growing the layout more than necessary (ie. the size without\\n// help/validation text), `min-content` grid sizing must be used along with disabled wrapping of\\n// label.\\n//\\n// 6. Full-width horizontal form fields prefer not wrapping the label until a limit is reached\\n// (50 % of available horizontal space by default, same as in 2.).\\n//\\n// 7. Justify inputs to `start` in horizontal layouts to fix positioning issues with Select Fields.\\n// Reverted for full-width fields.\\n//\\n// 8. Grid settings are inherited from horizontal FormLayout and applied using `subgrid`.\\n// A fallback is supplied to browsers that don't support `subgrid` yet. See FormLayout styles\\n// for more.\\n// https://github.com/react-ui-org/react-ui/issues/232\\n//\\n// 9. Help texts and validation messages can take up full width of FormLayout. There is no reason\\n// to make them wrap as they cannot break layout of FormLayout.\\n//\\n// 10. Visually align label to input baseline. Achieved with `padding-top` and `padding-bottom` due\\n// to two reasons:\\n//\\n// * `align-items: baseline` doesn't work for blank text inputs in Safari. See\\n// https://bugs.webkit.org/show_bug.cgi?id=142968 and\\n// https://github.com/react-ui-org/react-ui/issues/265.\\n//\\n// * `align-items: baseline` doesn't allow subsequent vertical centering of tall inputs and/or\\n// multiline labels (see `theme.$horizontal-label-vertical-alignment` and\\n// `theme.$horizontal-field-vertical-alignment`).\\n//\\n// 11. Reset `width` previously set by inline field layout (see `_inline-field-layout.scss`).\\n//\\n// 12. Make fields just as wide as necessary. Fields should be interactive only where their visible\\n// content is.\\n//\\n// 13. Label and field are vertically aligned to top (start) by default (see 10.). Vertical\\n// alignment of each block can be changed by theme configuration.\\n\\n@use \\\"../../settings/forms\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../theme/typography\\\";\\n@use \\\"../breakpoint\\\";\\n\\n@mixin vertical($has-list: false) {\\n @if $has-list {\\n --rui-local-vertical-gap: #{settings.$vertical-inner-gap-large};\\n }\\n\\n display: inline-flex; // 1.\\n flex-direction: column;\\n min-width: 0; // 1.\\n max-width: 100%; // 1.\\n\\n .label {\\n padding-bottom: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .helpText,\\n .validationText {\\n padding-top: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .field {\\n width: min-content; // 3.\\n max-width: 100%; // 3.\\n }\\n}\\n\\n@mixin horizontal($has-min-tap-target: false) {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n display: inline-grid; // 2.\\n grid-template-columns: theme.$horizontal-label-width min-content; // 2.\\n grid-template-areas: \\\"label field\\\";\\n align-items: start; // 10., 13.\\n\\n .label {\\n grid-area: label;\\n align-self: theme.$horizontal-label-vertical-alignment; // 13.\\n min-width: theme.$horizontal-label-min-width;\\n\\n // 10.\\n @if $has-min-tap-target {\\n padding-top:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n padding-bottom:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n }\\n\\n // 10., 13.\\n @else {\\n padding-top: #{theme.$horizontal-label-padding-y};\\n padding-bottom: #{theme.$horizontal-label-padding-y};\\n }\\n\\n padding-right: settings.$horizontal-inner-gap; // 4.\\n text-align: theme.$horizontal-label-text-align;\\n }\\n\\n .field {\\n grid-area: field;\\n align-self: theme.$horizontal-field-vertical-alignment; // 13.\\n justify-self: start; // 7.\\n }\\n }\\n}\\n\\n@mixin horizontal-with-small-input() {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n grid-template-columns: min-content min-content; // 5.\\n grid-template-areas:\\n \\\"label field\\\"\\n \\\"helptext helptext\\\"\\n \\\"validationtext validationtext\\\"; // 5.\\n\\n .label {\\n white-space: nowrap; // 5.\\n }\\n\\n .field {\\n display: contents; // 5.\\n }\\n\\n .inputContainer {\\n grid-area: field; // 5.\\n }\\n\\n .helpText {\\n grid-area: helptext; // 5.\\n }\\n\\n .validationText {\\n grid-area: validationtext; // 5.\\n }\\n }\\n}\\n\\n@mixin full-width() {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n\\n .field,\\n .inputContainer,\\n .input {\\n width: 100%;\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n &.isRootLayoutHorizontal {\\n display: grid;\\n grid-template-columns: theme.$horizontal-full-width-label-width 1fr; // 6.\\n }\\n\\n &.isRootLayoutHorizontal .field {\\n justify-self: stretch; // 7.\\n }\\n }\\n}\\n\\n@mixin in-form-layout() {\\n justify-self: start; // 12.\\n\\n .field {\\n width: auto; // 9.\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n .optionLabel {\\n width: auto; // 11.\\n }\\n\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n grid: inherit; // 8.\\n grid-template-columns: subgrid; // 8.\\n grid-column: span 2; // 8.\\n\\n @supports not (grid-template-columns: subgrid) {\\n display: contents; // 8.\\n }\\n }\\n\\n &.isRootLayoutHorizontal.isRootFullWidth {\\n grid-template-columns: subgrid; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .label,\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-area: unset; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-column-start: 2; // 8.\\n }\\n\\n &.isRootLayoutHorizontal.hasRootSmallInput .field {\\n display: block; // 5.\\n }\\n }\\n}\\n\",\"@use \\\"sass:map\\\";\\n@use \\\"../settings/breakpoints\\\";\\n\\n@mixin up($breakpoint) {\\n @if not map.has-key(breakpoints.$values, $breakpoint) {\\n @error \\\"Invalid breakpoint specified! #{$breakpoint} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(breakpoints.$values)}\\\";\\n } @else if map.get(breakpoints.$values, $breakpoint) == 0 {\\n @content;\\n } @else {\\n @media (min-width: map.get(breakpoints.$values, $breakpoint)) {\\n @content;\\n }\\n }\\n}\\n\",\"// 1. Due to complexity, it's easier and safer to resolve variant custom properties dynamically with\\n// a mixin. This way it's also easier to make theming adjustments to all supported modifications\\n// in one place. Generated custom properties are consumed mainly in foundation field styles (see\\n// `tools/form-fields/_foundation.scss` for more).\\n//\\n// 2. Interaction states other than `default` default to the `default` (sic!) state appearance if\\n// corresponding custom properties are not provided.\\n//\\n// 3. `.input:focus` is added just in case `:focus-within` doesn't work.\\n\\n@use \\\"sass:list\\\";\\n@use \\\"sass:map\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin _disabled-state() {\\n opacity: theme.$disabled-opacity;\\n cursor: theme.$disabled-cursor;\\n}\\n\\n// 1.\\n@mixin _generate-custom-properties($type, $variant, $state) {\\n @if not list.index(map.keys(map.get(settings.$themeable-variant-states, $type)), $variant) {\\n @error \\\"Invalid variant specified! #{$variant} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(map.get(settings.$themeable-variant-states, $type))}.\\\";\\n }\\n\\n @if not list.index(map.keys(settings.$themeable-state-properties), $state) {\\n @error \\\"Invalid state specified! #{$state} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-state-properties)}.\\\";\\n }\\n\\n $properties: map.get(settings.$themeable-state-properties, $state);\\n $infix: $type;\\n $fallback-state: \\\"default\\\";\\n\\n @if $type == \\\"validation\\\" {\\n $infix: $variant;\\n }\\n\\n @if $type != \\\"validation\\\" and $variant != \\\"default\\\" {\\n $infix: #{$type}--#{$variant};\\n }\\n\\n @if $state == \\\"checked-disabled\\\" {\\n $fallback-state: \\\"checked\\\";\\n }\\n\\n @if $state == \\\"default\\\" {\\n @each $property in $properties {\\n --rui-local-#{$property}: var(--rui-FormField--#{$infix}--#{$state}__#{$property});\\n }\\n }\\n\\n // 2.\\n @else {\\n @each $property in $properties {\\n --rui-local-#{$property}:\\n var(\\n --rui-FormField--#{$infix}--#{$state}__#{$property},\\n var(--rui-FormField--#{$infix}--#{$fallback-state}__#{$property})\\n );\\n }\\n }\\n}\\n\\n@mixin _get-theme($type, $variant) {\\n @if not list.index(map.keys(settings.$themeable-variant-states), $type) {\\n @error \\\"Invalid type specified! #{$type} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-variant-states)}.\\\";\\n }\\n\\n $themeable-states: map.get(map.get(settings.$themeable-variant-states, $type), $variant);\\n\\n @if list.index($themeable-states, \\\"hover\\\") {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"hover\\\");\\n }\\n } @else {\\n &,\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"focus\\\") {\\n // 3.\\n &:focus-within,\\n &:focus-within:hover,\\n .input:focus {\\n @include _generate-custom-properties($type, $variant, \\\"focus\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked\\\") {\\n .input:checked {\\n @include _generate-custom-properties($type, $variant, \\\"checked\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"disabled\\\") {\\n &.isRootDisabled {\\n @include _generate-custom-properties($type, $variant, \\\"disabled\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked-disabled\\\") {\\n .input:checked:disabled {\\n @include _generate-custom-properties($type, $variant, \\\"checked-disabled\\\");\\n }\\n }\\n}\\n\\n@mixin visual($type, $variant: \\\"default\\\", $has-caret: false) {\\n @include _get-theme($type, $variant);\\n\\n .input:disabled {\\n @include _disabled-state();\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"filled\\\" {\\n .input {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n }\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"outline\\\" and $has-caret {\\n .caret {\\n border-left: theme.$box-border-width theme.$box-select-caret-border-style var(--rui-local-border-color);\\n background: theme.$box-select-caret-background;\\n }\\n\\n &.isRootDisabled .caret {\\n @include _disabled-state();\\n }\\n }\\n}\\n\\n@mixin validation($variant) {\\n @include _get-theme(validation, $variant);\\n}\\n\",\"// Variant specific theme options are obtained dynamically because there is way too many of them to\\n// maintain manually. See `settings/_form-fields.scss` and `tools/form-fields/_variants.scss` for\\n// details.\\n//\\n// 1. Defaults to zero when neither `--rui-FormField--horizontal__label__padding-y` (optional) nor\\n// `--rui-local-padding-y` (handled by the `size()` mixin in case of box form fields, see\\n// `_box-field-sizes.scss`) is defined. This is useful because FormLayoutCustomField may have no\\n// size specified therefore its label should have no padding at the top.\\n\\n// Forms fields: common properties\\n$label-color: var(--rui-FormField__label__color);\\n$label-font-size: var(--rui-FormField__label__font-size);\\n$help-text-font-size: var(--rui-FormField__help-text__font-size);\\n$help-text-font-style: var(--rui-FormField__help-text__font-style);\\n$help-text-color: var(--rui-FormField__help-text__color);\\n$required-label-color: var(--rui-FormField--required__label__color);\\n$required-sign: var(--rui-FormField--required__sign);\\n$required-sign-color: var(--rui-FormField--required__sign__color);\\n\\n// Form fields: horizontal layout\\n$horizontal-label-text-align: var(--rui-FormField--horizontal__label__text-align);\\n$horizontal-label-min-width: var(--rui-FormField--horizontal__label__min-width);\\n$horizontal-label-width: var(--rui-FormField--horizontal__label__width);\\n$horizontal-label-padding-y:\\n var(\\n --rui-FormField--horizontal__label__padding-y,\\n calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y))\\n ); // 1.\\n$horizontal-label-vertical-alignment: var(--rui-FormField--horizontal__label__vertical-alignment);\\n$horizontal-field-vertical-alignment: var(--rui-FormField--horizontal__field__vertical-alignment);\\n$horizontal-full-width-label-width: var(--rui-FormField--horizontal--full-width__label__width);\\n\\n// Form fields: disabled state\\n$disabled-cursor: var(--rui-FormField--disabled__cursor);\\n$disabled-opacity: var(--rui-FormField--disabled__opacity);\\n\\n// Form fields: box fields\\n$box-border-width: var(--rui-FormField--box__border-width);\\n$box-border-radius: var(--rui-FormField--box__border-radius);\\n$box-input-width: var(--rui-FormField--box__input__width);\\n$box-input-min-width: var(--rui-FormField--box__input__min-width);\\n$box-placeholder-color: var(--rui-FormField--box__placeholder__color);\\n\\n// Form fields: box fields, component specific\\n$box-select-caret-border-style: var(--rui-FormField--box--select__caret__border-style);\\n$box-select-caret-background: var(--rui-FormField--box--select__caret__background);\\n$box-select-option-disabled-color: var(--rui-FormField--box--select__option--disabled__color);\\n\\n// Form fields: box field sizes\\n$box-sizes: (\\n small: (\\n height: var(--rui-FormField--box--small__height),\\n padding-y: var(--rui-FormField--box--small__padding-y),\\n padding-x: var(--rui-FormField--box--small__padding-x),\\n font-size: var(--rui-FormField--box--small__font-size),\\n ),\\n medium: (\\n height: var(--rui-FormField--box--medium__height),\\n padding-y: var(--rui-FormField--box--medium__padding-y),\\n padding-x: var(--rui-FormField--box--medium__padding-x),\\n font-size: var(--rui-FormField--box--medium__font-size),\\n ),\\n large: (\\n height: var(--rui-FormField--box--large__height),\\n padding-y: var(--rui-FormField--box--large__padding-y),\\n padding-x: var(--rui-FormField--box--large__padding-x),\\n font-size: var(--rui-FormField--box--large__font-size),\\n ),\\n);\\n\\n// Form fields: check fields\\n$check-input-size: var(--rui-FormField--check__input__size);\\n$check-input-border-width: var(--rui-FormField--check__input__border-width);\\n$check-input-focus-box-shadow: var(--rui-FormField--check__input--focus__box-shadow);\\n$check-tap-target-size: var(--rui-FormField--check__tap-target-size);\\n\\n// Form fields: check fields, component specific\\n$check-input-checkbox-border-radius: var(--rui-FormField--check__input--checkbox__border-radius);\\n$check-input-checkbox-checked-background-image: var(--rui-FormField--check__input--checkbox--checked__background-image);\\n$check-input-radio-border-radius: var(--rui-FormField--check__input--radio__border-radius);\\n$check-input-radio-checked-background-image: var(--rui-FormField--check__input--radio--checked__background-image);\\n$check-input-toggle-width: var(--rui-FormField--check__input--toggle__width);\\n$check-input-toggle-border-radius: var(--rui-FormField--check__input--toggle__border-radius);\\n$check-input-toggle-background-size: var(--rui-FormField--check__input--toggle__background-size);\\n$check-input-toggle-default-background-image: var(--rui-FormField--check__input--toggle--default__background-image);\\n$check-input-toggle-default-background-position:\\n var(\\n --rui-FormField--check__input--toggle--default__background-position\\n );\\n$check-input-toggle-checked-background-image: var(--rui-FormField--check__input--toggle--checked__background-image);\\n$check-input-toggle-checked-background-position:\\n var(\\n --rui-FormField--check__input--toggle--checked__background-position\\n );\\n\",\"// 1. Don't let text alignment be affected by a parent.\\n// 2. Override foundation reset.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin root() {\\n text-align: left; // 1.\\n}\\n\\n@mixin fieldset() {\\n &:not(:last-child) {\\n margin-bottom: 0; // 2.\\n }\\n}\\n\\n@mixin label() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$label-color});\\n}\\n\\n@mixin label-required() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$required-label-color});\\n\\n &::after {\\n content: theme.$required-sign;\\n color: theme.$required-sign-color;\\n }\\n}\\n\\n@mixin help-text() {\\n font-style: theme.$help-text-font-style;\\n font-size: theme.$help-text-font-size;\\n line-height: settings.$help-text-line-height;\\n color: var(--rui-local-surrounding-text-color, #{theme.$help-text-color});\\n}\\n\",\"// 1. Input `line-height` is specified in `rem` so inputs do not break when their font size gets\\n// changed later.\\n\\n@use \\\"sass:map\\\";\\n@use \\\"../theme/typography\\\";\\n@use \\\"../tools/spacing\\\";\\n\\n$help-text-line-height: 1.2rem;\\n\\n$vertical-inner-gap: spacing.of(1);\\n$vertical-inner-gap-large: spacing.of(2);\\n$vertical-outer-spacing: spacing.of(2);\\n\\n$horizontal-inner-gap: spacing.of(2);\\n$horizontal-outer-spacing: spacing.of(2);\\n\\n$box-input-font-family: typography.$font-family-base;\\n$box-input-font-weight: map.get(typography.$font-weight-values, default);\\n$box-input-line-height: 1.5rem; // 1.\\n$box-field-caret-size: 2.25rem;\\n$box-field-input-number-arrows-width: 1.5rem;\\n$box-field-bottom-line-height: 2px;\\n\\n$inline-field-inner-gap: spacing.of(2);\\n\\n$themeable-variant-states: (\\n box: (\\n filled: (default, hover, focus, disabled),\\n outline: (default, hover, focus, disabled),\\n ),\\n check: (\\n default: (default, checked, disabled, checked-disabled),\\n ),\\n custom: (\\n default: (default, disabled),\\n ),\\n validation: (\\n invalid: (default, checked, disabled, checked-disabled),\\n valid: (default, checked, disabled, checked-disabled),\\n warning: (default, checked, disabled, checked-disabled),\\n ),\\n);\\n\\n$themeable-state-properties: (\\n default: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n hover: (color, border-color, background, box-shadow),\\n focus: (color, border-color, background, check-background-color, box-shadow),\\n checked: (border-color, check-background-color),\\n disabled: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n checked-disabled: (border-color, check-background-color),\\n);\\n\",null,\"@use \\\"sass:map\\\";\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin size($size, $has-input: true, $is-multiline: false) {\\n $size-properties: map.get(theme.$box-sizes, $size);\\n\\n --rui-local-padding-y: #{map.get($size-properties, padding-y)};\\n --rui-local-padding-x: #{map.get($size-properties, padding-x)};\\n\\n @if $has-input {\\n --rui-local-font-size: #{map.get($size-properties, font-size)};\\n\\n .input {\\n @if $is-multiline {\\n height: auto;\\n min-height: map.get($size-properties, height);\\n } @else {\\n --rui-local-height: #{map.get($size-properties, height)};\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"FormLayoutCustomField__root__+b--jZdO\",\n\t\"field\": \"FormLayoutCustomField__field__Te5W5T0Q\",\n\t\"optionLabel\": \"FormLayoutCustomField__optionLabel__zoXMrX4D\",\n\t\"isRootLayoutHorizontal\": \"FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa\",\n\t\"hasRootSmallInput\": \"FormLayoutCustomField__hasRootSmallInput__AoOBi1l4\",\n\t\"isRootFullWidth\": \"FormLayoutCustomField__isRootFullWidth__wLQ5j7Pj\",\n\t\"label\": \"FormLayoutCustomField__label__rTucyVJZ\",\n\t\"inputContainer\": \"FormLayoutCustomField__inputContainer__dvUNSg52\",\n\t\"helpText\": \"FormLayoutCustomField__helpText__aZtyYe4Q\",\n\t\"validationText\": \"FormLayoutCustomField__validationText__gcShqeO0\",\n\t\"isRootDisabled\": \"FormLayoutCustomField__isRootDisabled__aWYE7ut2\",\n\t\"input\": \"FormLayoutCustomField__input__UHv1ClaI\",\n\t\"isRootRequired\": \"FormLayoutCustomField__isRootRequired__Xp604-Wf\",\n\t\"isRootStateInvalid\": \"FormLayoutCustomField__isRootStateInvalid__BuzjAPWO\",\n\t\"isRootStateValid\": \"FormLayoutCustomField__isRootStateValid__YFi1vAIR\",\n\t\"isRootStateWarning\": \"FormLayoutCustomField__isRootStateWarning__CH3d5SLM\",\n\t\"isRootLayoutVertical\": \"FormLayoutCustomField__isRootLayoutVertical__sqkyRdo0\",\n\t\"isRootSizeSmall\": \"FormLayoutCustomField__isRootSizeSmall__ufbSNtex\",\n\t\"isRootSizeMedium\": \"FormLayoutCustomField__isRootSizeMedium__+ElvsNuR\",\n\t\"isRootSizeLarge\": \"FormLayoutCustomField__isRootSizeLarge__7SYjkCFG\"\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vc3JjL2xpYi9jb21wb25lbnRzL0Zvcm1MYXlvdXQvRm9ybUxheW91dEN1c3RvbUZpZWxkLnNjc3MuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvbGliL2NvbXBvbmVudHMvRm9ybUxheW91dC9Gb3JtTGF5b3V0Q3VzdG9tRmllbGQuc2Nzcz9jZjcyIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fcm9vdF9fXFxcXCtiLS1qWmRPIHtcXG4gIGp1c3RpZnktc2VsZjogc3RhcnQ7XFxufVxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX3Jvb3RfX1xcXFwrYi0talpkTyAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19maWVsZF9fVGU1VzVUMFEge1xcbiAgd2lkdGg6IGF1dG87XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XFxuICAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19yb290X19cXFxcK2ItLWpaZE8gLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fb3B0aW9uTGFiZWxfX3pvWE1yWDREIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICB9XFxuICAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19yb290X19cXFxcK2ItLWpaZE8uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX18wRWtjWDdTYSwgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fcm9vdF9fXFxcXCtiLS1qWmRPLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EuRm9ybUxheW91dEN1c3RvbUZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fQW9PQmkxbDQge1xcbiAgICBncmlkOiBpbmhlcml0O1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XFxuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XFxuICB9XFxuICBAc3VwcG9ydHMgbm90IChncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQpIHtcXG4gICAgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fcm9vdF9fXFxcXCtiLS1qWmRPLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EsIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX3Jvb3RfX1xcXFwrYi0talpkTy5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfXzBFa2NYN1NhLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faGFzUm9vdFNtYWxsSW5wdXRfX0FvT0JpMWw0IHtcXG4gICAgICBkaXNwbGF5OiBjb250ZW50cztcXG4gICAgfVxcbiAgfVxcbiAgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fcm9vdF9fXFxcXCtiLS1qWmRPLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EuRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfX3dMUTVqN1BqIHtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xcbiAgfVxcbiAgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fcm9vdF9fXFxcXCtiLS1qWmRPLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fbGFiZWxfX3JUdWN5VkpaLCAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19yb290X19cXFxcK2ItLWpaZE8uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX18wRWtjWDdTYSAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19maWVsZF9fVGU1VzVUMFEsIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX3Jvb3RfX1xcXFwrYi0talpkTy5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfXzBFa2NYN1NhIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lucHV0Q29udGFpbmVyX19kdlVOU2c1MiwgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fcm9vdF9fXFxcXCtiLS1qWmRPLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faGVscFRleHRfX2FadHlZZTRRLCAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19yb290X19cXFxcK2ItLWpaZE8uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX18wRWtjWDdTYSAuRm9ybUxheW91dEN1c3RvbUZpZWxkX192YWxpZGF0aW9uVGV4dF9fZ2NTaHFlTzAge1xcbiAgICBncmlkLWFyZWE6IHVuc2V0O1xcbiAgfVxcbiAgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fcm9vdF9fXFxcXCtiLS1qWmRPLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fZmllbGRfX1RlNVc1VDBRLCAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19yb290X19cXFxcK2ItLWpaZE8uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX18wRWtjWDdTYSAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19pbnB1dENvbnRhaW5lcl9fZHZVTlNnNTIsIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX3Jvb3RfX1xcXFwrYi0talpkTy5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfXzBFa2NYN1NhIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2hlbHBUZXh0X19hWnR5WWU0USwgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fcm9vdF9fXFxcXCtiLS1qWmRPLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fdmFsaWRhdGlvblRleHRfX2djU2hxZU8wIHtcXG4gICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XFxuICB9XFxuICAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19yb290X19cXFxcK2ItLWpaZE8uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX18wRWtjWDdTYS5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2hhc1Jvb3RTbWFsbElucHV0X19Bb09CaTFsNCAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19maWVsZF9fVGU1VzVUMFEge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gIH1cXG59XFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fcm9vdF9fXFxcXCtiLS1qWmRPLCAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19yb290X19cXFxcK2ItLWpaZE86aG92ZXIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWN1c3RvbS0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jdXN0b20tLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jdXN0b20tLWRlZmF1bHRfX2JhY2tncm91bmQpO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY3VzdG9tLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWN1c3RvbS0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jdXN0b20tLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpO1xcbn1cXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19yb290X19cXFxcK2ItLWpaZE8uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3REaXNhYmxlZF9fYVdZRTd1dDIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWN1c3RvbS0tZGlzYWJsZWRfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1jdXN0b20tLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWN1c3RvbS0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tY3VzdG9tLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWN1c3RvbS0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWN1c3RvbS0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY3VzdG9tLS1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tY3VzdG9tLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1jdXN0b20tLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1jdXN0b20tLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWN1c3RvbS0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWN1c3RvbS0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19yb290X19cXFxcK2ItLWpaZE8gLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faW5wdXRfX1VIdjFDbGFJOmRpc2FibGVkIHtcXG4gIG9wYWNpdHk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19vcGFjaXR5KTtcXG4gIGN1cnNvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX2N1cnNvcik7XFxufVxcblxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2xhYmVsX19yVHVjeVZKWiB7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGRfX2xhYmVsX19jb2xvcikpO1xcbn1cXG5cXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RSZXF1aXJlZF9fWHA2MDQtV2YgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fbGFiZWxfX3JUdWN5VkpaIHtcXG4gIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX2xhYmVsX19jb2xvcikpO1xcbn1cXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RSZXF1aXJlZF9fWHA2MDQtV2YgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fbGFiZWxfX3JUdWN5VkpaOjphZnRlciB7XFxuICBjb250ZW50OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fc2lnbik7XFxuICBjb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX3NpZ25fX2NvbG9yKTtcXG59XFxuXFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX19CdXpqQVBXTywgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX19CdXpqQVBXTzpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdFN0YXRlSW52YWxpZF9fQnV6akFQV08gLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faW5wdXRfX1VIdjFDbGFJOmNoZWNrZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RTdGF0ZUludmFsaWRfX0J1empBUFdPLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290RGlzYWJsZWRfX2FXWUU3dXQyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX19CdXpqQVBXTyAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19pbnB1dF9fVUh2MUNsYUk6Y2hlY2tlZDpkaXNhYmxlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWQtZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcblxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX1lGaTF2QUlSLCAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RTdGF0ZVZhbGlkX19ZRmkxdkFJUjpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX1lGaTF2QUlSIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lucHV0X19VSHYxQ2xhSTpjaGVja2VkIHtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX1lGaTF2QUlSLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290RGlzYWJsZWRfX2FXWUU3dXQyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U3RhdGVWYWxpZF9fWUZpMXZBSVIgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faW5wdXRfX1VIdjFDbGFJOmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuXFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U3RhdGVXYXJuaW5nX19DSDNkNVNMTSwgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U3RhdGVXYXJuaW5nX19DSDNkNVNMTTpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdFN0YXRlV2FybmluZ19fQ0gzZDVTTE0gLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faW5wdXRfX1VIdjFDbGFJOmNoZWNrZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX0NIM2Q1U0xNLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290RGlzYWJsZWRfX2FXWUU3dXQyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U3RhdGVXYXJuaW5nX19DSDNkNVNMTSAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19pbnB1dF9fVUh2MUNsYUk6Y2hlY2tlZDpkaXNhYmxlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWQtZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcblxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdExheW91dFZlcnRpY2FsX19zcWt5UmRvMCxcXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX18wRWtjWDdTYSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBtaW4td2lkdGg6IDA7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdExheW91dFZlcnRpY2FsX19zcWt5UmRvMCAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19sYWJlbF9fclR1Y3lWSlosXFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fbGFiZWxfX3JUdWN5VkpaIHtcXG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCB2YXIoLS1ydWktZGltZW5zaW9uLXNwYWNlLTEpKTtcXG59XFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0VmVydGljYWxfX3Nxa3lSZG8wIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2hlbHBUZXh0X19hWnR5WWU0USxcXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fc3FreVJkbzAgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fdmFsaWRhdGlvblRleHRfX2djU2hxZU8wLFxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfXzBFa2NYN1NhIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2hlbHBUZXh0X19hWnR5WWU0USxcXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX18wRWtjWDdTYSAuRm9ybUxheW91dEN1c3RvbUZpZWxkX192YWxpZGF0aW9uVGV4dF9fZ2NTaHFlTzAge1xcbiAgcGFkZGluZy10b3A6IHZhcigtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXAsIHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMSkpO1xcbn1cXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fc3FreVJkbzAgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fZmllbGRfX1RlNVc1VDBRLFxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfXzBFa2NYN1NhIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2ZpZWxkX19UZTVXNVQwUSB7XFxuICB3aWR0aDogLXdlYmtpdC1taW4tY29udGVudDtcXG4gIHdpZHRoOiAtbW96LW1pbi1jb250ZW50O1xcbiAgd2lkdGg6IG1pbi1jb250ZW50O1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2Ege1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fd2lkdGgpIC13ZWJraXQtbWluLWNvbnRlbnQ7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3dpZHRoKSBtaW4tY29udGVudDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXFxcImxhYmVsIGZpZWxkXFxcIjtcXG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xcbiAgfVxcbiAgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fbGFiZWxfX3JUdWN5VkpaIHtcXG4gICAgZ3JpZC1hcmVhOiBsYWJlbDtcXG4gICAgYWxpZ24tc2VsZjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuICAgIG1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX21pbi13aWR0aCk7XFxuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15LCBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKSk7XFxuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15LCBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKSk7XFxuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMik7XFxuICAgIHRleHQtYWxpZ246IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX190ZXh0LWFsaWduKTtcXG4gIH1cXG4gIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfXzBFa2NYN1NhIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2ZpZWxkX19UZTVXNVQwUSB7XFxuICAgIGdyaWQtYXJlYTogZmllbGQ7XFxuICAgIGFsaWduLXNlbGY6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2ZpZWxkX192ZXJ0aWNhbC1hbGlnbm1lbnQpO1xcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fbGFiZWxfX3JUdWN5VkpaIHtcXG4gICAgLW1zLWdyaWQtcm93OiAxO1xcbiAgICAtbXMtZ3JpZC1jb2x1bW46IDE7XFxuICB9XFxuICAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX18wRWtjWDdTYSAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19maWVsZF9fVGU1VzVUMFEge1xcbiAgICAtbXMtZ3JpZC1yb3c6IDE7XFxuICAgIC1tcy1ncmlkLWNvbHVtbjogMjtcXG4gIH1cXG59XFxuXFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0VmVydGljYWxfX3Nxa3lSZG8wIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2ZpZWxkX19UZTVXNVQwUSxcXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX18wRWtjWDdTYSAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19maWVsZF9fVGU1VzVUMFEge1xcbiAgd2lkdGg6IGF1dG87XFxufVxcblxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fd0xRNWo3UGogLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fZmllbGRfX1RlNVc1VDBRIHtcXG4gIGp1c3RpZnktc2VsZjogc3RyZXRjaDtcXG59XFxuXFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U2l6ZVNtYWxsX191ZmJTTnRleCB7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteSk7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteCk7XFxuICAtLXJ1aS1sb2NhbC1mb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX2ZvbnQtc2l6ZSk7XFxufVxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdFNpemVTbWFsbF9fdWZiU050ZXggLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faW5wdXRfX1VIdjFDbGFJIHtcXG4gIC0tcnVpLWxvY2FsLWhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zbWFsbF9faGVpZ2h0KTtcXG59XFxuXFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U2l6ZU1lZGl1bV9fXFxcXCtFbHZzTnVSIHtcXG4gIC0tcnVpLWxvY2FsLXBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX3BhZGRpbmcteSk7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19wYWRkaW5nLXgpO1xcbiAgLS1ydWktbG9jYWwtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fZm9udC1zaXplKTtcXG59XFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U2l6ZU1lZGl1bV9fXFxcXCtFbHZzTnVSIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lucHV0X19VSHYxQ2xhSSB7XFxuICAtLXJ1aS1sb2NhbC1oZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19oZWlnaHQpO1xcbn1cXG5cXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RTaXplTGFyZ2VfXzdTWWprQ0ZHIHtcXG4gIC0tcnVpLWxvY2FsLXBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy15KTtcXG4gIC0tcnVpLWxvY2FsLXBhZGRpbmcteDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy14KTtcXG4gIC0tcnVpLWxvY2FsLWZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fZm9udC1zaXplKTtcXG59XFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U2l6ZUxhcmdlX183U1lqa0NGRyAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19pbnB1dF9fVUh2MUNsYUkge1xcbiAgLS1ydWktbG9jYWwtaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWxhcmdlX19oZWlnaHQpO1xcbn1cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL2NvbXBvbmVudHMvRm9ybUxheW91dC9Gb3JtTGF5b3V0Q3VzdG9tRmllbGQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX2JveC1maWVsZC1sYXlvdXQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvX2JyZWFrcG9pbnQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX3ZhcmlhbnRzLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3RoZW1lL19mb3JtLWZpZWxkcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fZm91bmRhdGlvbi5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy9zZXR0aW5ncy9fZm9ybS1maWVsZHMuc2Nzc1wiLFwiPG5vIHNvdXJjZT5cIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL19ib3gtZmllbGQtc2l6ZXMuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFNQTtFQ2lMSSxtQkFBQTtBRHJMSjtBQ3VMSTtFQUNJLFdBQUE7QURyTFI7QUVLUTtFRG9MQTtJQUNJLFdBQUE7RUR0TFY7RUN5TE07SUFFSSxhQUFBO0lBQ0EsOEJBQUE7SUFDQSxtQkFBQTtFRHhMVjtFQzBMVTtJQU5KO01BT1EsaUJBQUE7SUR2TFo7RUFDRjtFQzBMTTtJQUNJLDhCQUFBO0VEeExWO0VDMkxNO0lBS0ksZ0JBQUE7RUQ3TFY7RUNnTU07SUFJSSxvQkFBQTtFRGpNVjtFQ29NTTtJQUNJLGNBQUE7RURsTVY7QUFDRjtBR2lEUTtFQS9CSSwrREFBQTtFQUFBLDZFQUFBO0VBQUEseUVBQUE7RUFBQSxpR0FBQTtFQUFBLHlFQUFBO0VBQUEsaUdBQUE7QUhWWjtBRytEUTtFQTlDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QUhlWjtBRzhDSTtFQXRHQSxnRENrQmU7RURqQmYsOENDZ0JjO0FKMkNsQjs7QUFqRUE7RUtNSSxrRkFBQTtBTCtESjs7QUFqRUE7RUtNSSw0RkFBQTtBTCtESjtBSzdESTtFQUNJLDZDRFJRO0VDU1Isa0REUmM7QUp1RXRCOztBR1BRO0VBL0JJLGdFQUFBO0VBQUEsOEVBQUE7RUFBQSwwRUFBQTtFQUFBLGtHQUFBO0VBQUEsMEVBQUE7RUFBQSxrR0FBQTtBSCtDWjtBR0FRO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FIb0RaO0FHTlE7RUE5Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FIb0ZaO0FHaENRO0VBcERJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FIZ0daOztBR3hFUTtFQS9CSSw4REFBQTtFQUFBLDRFQUFBO0VBQUEsd0VBQUE7RUFBQSxnR0FBQTtFQUFBLHdFQUFBO0VBQUEsZ0dBQUE7QUhnSFo7QUdqRVE7RUF4Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QUhxSFo7QUd2RVE7RUE5Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FIcUpaO0FHakdRO0VBcERJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FIaUtaOztBR3pJUTtFQS9CSSxnRUFBQTtFQUFBLDhFQUFBO0VBQUEsMEVBQUE7RUFBQSxrR0FBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7QUhpTFo7QUdsSVE7RUF4Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QUhzTFo7QUd4SVE7RUE5Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FIc05aO0FHbEtRO0VBcERJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FIa09aOztBQTFQQTs7RUNnQ0ksb0JBQUE7RUFDQSxzQkFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0FEK05KO0FDN05JOztFQUNJLDJFQUFBO0FEZ09SO0FDN05JOzs7O0VBRUksd0VBQUE7QURpT1I7QUM5Tkk7O0VBQ0ksMEJBQUE7RUFBQSx1QkFBQTtFQUFBLGtCQUFBO0VBQ0EsZUFBQTtBRGlPUjs7QUV4U1E7RUY0QlI7SUNpRFEsb0JBQUE7SUFDQSx5RkFBQTtJQUFBLGlGQUFBO0lBQ0Esa0NBQUE7SUFDQSxrQkFBQTtFRGdPTjtFQzlOTTtJQUNJLGdCQUFBO0lBQ0EsdUVHbEUwQjtJSG1FMUIsNkRHMUVpQjtJSDRGYiwySUFBQTtJQUNBLDhJQUFBO0lBR0osMkNLeEdXO0lMeUdYLCtER2xHa0I7RUorUzVCO0VDMU1NO0lBQ0ksZ0JBQUE7SUFDQSx1RUc5RjBCO0lIK0YxQixtQkFBQTtFRDRNVjtBQUNGOztBT3pVQTtFTjRGUTtJTTVGUixnQkFBQTtJQUFBLG1CQUFBO0VQbVVFO0VDMU1NO0lNekhSLGdCQUFBO0lBQUEsbUJBQUE7RVB3VUU7Q094VUY7O0FQMENBOztFQUVJLFdBQUE7QUFrU0o7O0FBL1JBO0VBQ0kscUJBQUE7QUFrU0o7O0FBOVJBO0VROUNJLGtFQUFBO0VBQ0Esa0VBQUE7RUFHSSxrRUFBQTtBUjhVUjtBUTVVUTtFQUtRLDREQUFBO0FSMFVoQjs7QUFuU0E7RVFsREksbUVBQUE7RUFDQSxtRUFBQTtFQUdJLG1FQUFBO0FSdVZSO0FRclZRO0VBS1EsNkRBQUE7QVJtVmhCOztBQXhTQTtFUXRESSxrRUFBQTtFQUNBLGtFQUFBO0VBR0ksa0VBQUE7QVJnV1I7QVE5VlE7RUFLUSw0REFBQTtBUjRWaEJcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2ZvdW5kYXRpb25cXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9ib3gtZmllbGQtbGF5b3V0XFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvYm94LWZpZWxkLXNpemVzXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvdmFyaWFudHNcXFwiO1xcblxcbi8vIEZvdW5kYXRpb25cXG4ucm9vdCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1sYXlvdXQuaW4tZm9ybS1sYXlvdXQoKTtcXG4gICAgQGluY2x1ZGUgdmFyaWFudHMudmlzdWFsKGN1c3RvbSk7XFxufVxcblxcbi5sYWJlbCB7XFxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24ubGFiZWwoKTtcXG59XFxuXFxuLmlzUm9vdFJlcXVpcmVkIC5sYWJlbCB7XFxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24ubGFiZWwtcmVxdWlyZWQoKTtcXG59XFxuXFxuLy8gU3RhdGVzXFxuLmlzUm9vdFN0YXRlSW52YWxpZCB7XFxuICAgIEBpbmNsdWRlIHZhcmlhbnRzLnZhbGlkYXRpb24oaW52YWxpZCk7XFxufVxcblxcbi5pc1Jvb3RTdGF0ZVZhbGlkIHtcXG4gICAgQGluY2x1ZGUgdmFyaWFudHMudmFsaWRhdGlvbih2YWxpZCk7XFxufVxcblxcbi5pc1Jvb3RTdGF0ZVdhcm5pbmcge1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52YWxpZGF0aW9uKHdhcm5pbmcpO1xcbn1cXG5cXG4vLyBMYXlvdXRzXFxuLmlzUm9vdExheW91dFZlcnRpY2FsLFxcbi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWxheW91dC52ZXJ0aWNhbCgpO1xcbn1cXG5cXG4uaXNSb290TGF5b3V0SG9yaXpvbnRhbCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1sYXlvdXQuaG9yaXpvbnRhbCgpO1xcbn1cXG5cXG4uaXNSb290TGF5b3V0VmVydGljYWwgLmZpZWxkLFxcbi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbn1cXG5cXG4uaXNSb290RnVsbFdpZHRoIC5maWVsZCB7XFxuICAgIGp1c3RpZnktc2VsZjogc3RyZXRjaDtcXG59XFxuXFxuLy8gU2l6ZXNcXG4uaXNSb290U2l6ZVNtYWxsIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLXNpemVzLnNpemUoc21hbGwpO1xcbn1cXG5cXG4uaXNSb290U2l6ZU1lZGl1bSB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1zaXplcy5zaXplKG1lZGl1bSk7XFxufVxcblxcbi5pc1Jvb3RTaXplTGFyZ2Uge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtc2l6ZXMuc2l6ZShsYXJnZSk7XFxufVxcblwiLFwiLy8gMS4gIElubGluZSBmb3JtIGZpZWxkcyBhbmQgZmllbGRzIHdpdGggdmVydGljYWwgbGF5b3V0IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyB0aGV5IG5lZWQuIExhYmVsc1xcbi8vICAgICBkbyBub3Qgd3JhcCB1bnRpbCBmb3JjZWQgYnkgY29udGFpbmVyIG9mIHRoZSBmaWVsZC4gTWluIGFuZCBtYXggbGltaXRzIG1ha2UgZXh0cmEgbG9uZyB3b3Jkc1xcbi8vICAgICBicmVhayBpZiBuZWNlc3NhcnkuXFxuLy9cXG4vLyAyLiAgRm9ybSBmaWVsZHMgaW4gaG9yaXpvbnRhbCBsYXlvdXQgYWxzbyB0YWtlIHVwIG9ubHkgYXMgbXVjaCBzcGFjZSBhcyB0aGV5IG5lZWQuIExhYmVscyBkbyBub3RcXG4vLyAgICAgd3JhcCB1bnRpbCBsYWJlbCB3aWR0aCBsaW1pdCBpcyByZWFjaGVkICg1MCAlIG9mIGF2YWlsYWJsZSBob3Jpem9udGFsIHNwYWNlIGJ5IGRlZmF1bHQpLlxcbi8vXFxuLy8gMy4gIEhlbHAgdGV4dHMgYW5kIHZhbGlkYXRpb24gbWVzc2FnZXMgYXJlIGFsaWduZWQgYmVsb3cgaW5wdXQgYW5kIHdyYXBwZWQuIFRoZWlyIHdpZHRoIGlzIGFsd2F5c1xcbi8vICAgICBsaW1pdGVkIHRvIHRoZSB3aWR0aCBvZiB0aGUgaW5wdXQgZmllbGQgc28gdGhleSBkb24ndCBzaGlmdCBhZGphY2VudCBlbGVtZW50cyB3aGVuIHRoZXkgc2hvd1xcbi8vICAgICB1cC4gVGhpcyBhcHBsaWVzIHVubGVzcyB0aGUgZmllbGQgaXMgaW5zaWRlIEZvcm1MYXlvdXQgKHNlZSAxMCkuXFxuLy9cXG4vLyA0LiAgRGVmaW5lIGdyaWQgc3BhY2luZyBhcyBwYWRkaW5nIG9mIGNoaWxkIGVsZW1lbnRzIGJlY2F1c2UgZ3JpZCBhcmVhcyBtYWtlIHJvdyBhbmQgY29sdW1uIGdhcHNcXG4vLyAgICAgc2hvdyB1cCBldmVuIHdoZW4gbm90IG5lY2Vzc2FyeS5cXG4vL1xcbi8vIDUuICBXaGVuIGlucHV0IHNpemUgaXMgc21hbGwgYW5kIGZvcm0gZmllbGQgbGF5b3V0IGlzIHNldCB0byBob3Jpem9udGFsLCBleHBhbmQgaGVscCB0ZXh0IGFuZFxcbi8vICAgICB2YWxpZGF0aW9uIG1lc3NhZ2Ugb3ZlciBmdWxsIGZvcm0gZmllbGQgd2lkdGggdG8gaW1wcm92ZSB0aGVpciByZWFkYWJpbGl0eS4gT3RoZXJ3aXNlIHRoZVxcbi8vICAgICB0ZXh0IHdvdWxkIGJlIHBhY2tlZCBpbnRvIGEgdmVyeSBuYXJyb3cgY29sdW1uIGFuZCBoYXJkIHRvIHJlYWQuIFRvIHByZXZlbnQgaGVscCB0ZXh0IGFuZFxcbi8vICAgICB2YWxpZGF0aW9uIG1lc3NhZ2UgZnJvbSBncm93aW5nIHRoZSBsYXlvdXQgbW9yZSB0aGFuIG5lY2Vzc2FyeSAoaWUuIHRoZSBzaXplIHdpdGhvdXRcXG4vLyAgICAgaGVscC92YWxpZGF0aW9uIHRleHQpLCBgbWluLWNvbnRlbnRgIGdyaWQgc2l6aW5nIG11c3QgYmUgdXNlZCBhbG9uZyB3aXRoIGRpc2FibGVkIHdyYXBwaW5nIG9mXFxuLy8gICAgIGxhYmVsLlxcbi8vXFxuLy8gNi4gIEZ1bGwtd2lkdGggaG9yaXpvbnRhbCBmb3JtIGZpZWxkcyBwcmVmZXIgbm90IHdyYXBwaW5nIHRoZSBsYWJlbCB1bnRpbCBhIGxpbWl0IGlzIHJlYWNoZWRcXG4vLyAgICAgKDUwICUgb2YgYXZhaWxhYmxlIGhvcml6b250YWwgc3BhY2UgYnkgZGVmYXVsdCwgc2FtZSBhcyBpbiAyLikuXFxuLy9cXG4vLyA3LiAgSnVzdGlmeSBpbnB1dHMgdG8gYHN0YXJ0YCBpbiBob3Jpem9udGFsIGxheW91dHMgdG8gZml4IHBvc2l0aW9uaW5nIGlzc3VlcyB3aXRoIFNlbGVjdCBGaWVsZHMuXFxuLy8gICAgIFJldmVydGVkIGZvciBmdWxsLXdpZHRoIGZpZWxkcy5cXG4vL1xcbi8vIDguICBHcmlkIHNldHRpbmdzIGFyZSBpbmhlcml0ZWQgZnJvbSBob3Jpem9udGFsIEZvcm1MYXlvdXQgYW5kIGFwcGxpZWQgdXNpbmcgYHN1YmdyaWRgLlxcbi8vICAgICBBIGZhbGxiYWNrIGlzIHN1cHBsaWVkIHRvIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBgc3ViZ3JpZGAgeWV0LiBTZWUgRm9ybUxheW91dCBzdHlsZXNcXG4vLyAgICAgZm9yIG1vcmUuXFxuLy8gICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdC11aS1vcmcvcmVhY3QtdWkvaXNzdWVzLzIzMlxcbi8vXFxuLy8gOS4gIEhlbHAgdGV4dHMgYW5kIHZhbGlkYXRpb24gbWVzc2FnZXMgY2FuIHRha2UgdXAgZnVsbCB3aWR0aCBvZiBGb3JtTGF5b3V0LiBUaGVyZSBpcyBubyByZWFzb25cXG4vLyAgICAgdG8gbWFrZSB0aGVtIHdyYXAgYXMgdGhleSBjYW5ub3QgYnJlYWsgbGF5b3V0IG9mIEZvcm1MYXlvdXQuXFxuLy9cXG4vLyAxMC4gVmlzdWFsbHkgYWxpZ24gbGFiZWwgdG8gaW5wdXQgYmFzZWxpbmUuIEFjaGlldmVkIHdpdGggYHBhZGRpbmctdG9wYCBhbmQgYHBhZGRpbmctYm90dG9tYCBkdWVcXG4vLyAgICAgdG8gdHdvIHJlYXNvbnM6XFxuLy9cXG4vLyAgICAgKiBgYWxpZ24taXRlbXM6IGJhc2VsaW5lYCBkb2Vzbid0IHdvcmsgZm9yIGJsYW5rIHRleHQgaW5wdXRzIGluIFNhZmFyaS4gU2VlXFxuLy8gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI5NjggYW5kXFxuLy8gICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdC11aS1vcmcvcmVhY3QtdWkvaXNzdWVzLzI2NS5cXG4vL1xcbi8vICAgICAqIGBhbGlnbi1pdGVtczogYmFzZWxpbmVgIGRvZXNuJ3QgYWxsb3cgc3Vic2VxdWVudCB2ZXJ0aWNhbCBjZW50ZXJpbmcgb2YgdGFsbCBpbnB1dHMgYW5kL29yXFxuLy8gICAgICAgIG11bHRpbGluZSBsYWJlbHMgKHNlZSBgdGhlbWUuJGhvcml6b250YWwtbGFiZWwtdmVydGljYWwtYWxpZ25tZW50YCBhbmRcXG4vLyAgICAgICAgYHRoZW1lLiRob3Jpem9udGFsLWZpZWxkLXZlcnRpY2FsLWFsaWdubWVudGApLlxcbi8vXFxuLy8gMTEuIFJlc2V0IGB3aWR0aGAgcHJldmlvdXNseSBzZXQgYnkgaW5saW5lIGZpZWxkIGxheW91dCAoc2VlIGBfaW5saW5lLWZpZWxkLWxheW91dC5zY3NzYCkuXFxuLy9cXG4vLyAxMi4gTWFrZSBmaWVsZHMganVzdCBhcyB3aWRlIGFzIG5lY2Vzc2FyeS4gRmllbGRzIHNob3VsZCBiZSBpbnRlcmFjdGl2ZSBvbmx5IHdoZXJlIHRoZWlyIHZpc2libGVcXG4vLyAgICAgY29udGVudCBpcy5cXG4vL1xcbi8vIDEzLiBMYWJlbCBhbmQgZmllbGQgYXJlIHZlcnRpY2FsbHkgYWxpZ25lZCB0byB0b3AgKHN0YXJ0KSBieSBkZWZhdWx0IChzZWUgMTAuKS4gVmVydGljYWxcXG4vLyAgICAgYWxpZ25tZW50IG9mIGVhY2ggYmxvY2sgY2FuIGJlIGNoYW5nZWQgYnkgdGhlbWUgY29uZmlndXJhdGlvbi5cXG5cXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3Jtc1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybS1maWVsZHNcXFwiIGFzIHNldHRpbmdzO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL2Zvcm0tZmllbGRzXFxcIiBhcyB0aGVtZTtcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS90eXBvZ3JhcGh5XFxcIjtcXG5AdXNlIFxcXCIuLi9icmVha3BvaW50XFxcIjtcXG5cXG5AbWl4aW4gdmVydGljYWwoJGhhcy1saXN0OiBmYWxzZSkge1xcbiAgICBAaWYgJGhhcy1saXN0IHtcXG4gICAgICAgIC0tcnVpLWxvY2FsLXZlcnRpY2FsLWdhcDogI3tzZXR0aW5ncy4kdmVydGljYWwtaW5uZXItZ2FwLWxhcmdlfTtcXG4gICAgfVxcblxcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgLy8gMS5cXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgbWluLXdpZHRoOiAwOyAvLyAxLlxcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDEuXFxuXFxuICAgIC5sYWJlbCB7XFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcnVpLWxvY2FsLXZlcnRpY2FsLWdhcCwgI3tzZXR0aW5ncy4kdmVydGljYWwtaW5uZXItZ2FwfSk7XFxuICAgIH1cXG5cXG4gICAgLmhlbHBUZXh0LFxcbiAgICAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXAsICN7c2V0dGluZ3MuJHZlcnRpY2FsLWlubmVyLWdhcH0pO1xcbiAgICB9XFxuXFxuICAgIC5maWVsZCB7XFxuICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQ7IC8vIDMuXFxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDMuXFxuICAgIH1cXG59XFxuXFxuQG1peGluIGhvcml6b250YWwoJGhhcy1taW4tdGFwLXRhcmdldDogZmFsc2UpIHtcXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChmb3Jtcy4kaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XFxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDsgLy8gMi5cXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdGhlbWUuJGhvcml6b250YWwtbGFiZWwtd2lkdGggbWluLWNvbnRlbnQ7IC8vIDIuXFxuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcXFwibGFiZWwgZmllbGRcXFwiO1xcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0OyAvLyAxMC4sIDEzLlxcblxcbiAgICAgICAgLmxhYmVsIHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IGxhYmVsO1xcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXZlcnRpY2FsLWFsaWdubWVudDsgLy8gMTMuXFxuICAgICAgICAgICAgbWluLXdpZHRoOiB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC1taW4td2lkdGg7XFxuXFxuICAgICAgICAgICAgLy8gMTAuXFxuICAgICAgICAgICAgQGlmICRoYXMtbWluLXRhcC10YXJnZXQge1xcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDpcXG4gICAgICAgICAgICAgICAgICAgIGNhbGMoXFxuICAgICAgICAgICAgICAgICAgICAgICAgKCN7dGhlbWUuJGNoZWNrLXRhcC10YXJnZXQtc2l6ZX0gLSAxcmVtICogI3t0eXBvZ3JhcGh5LiRsaW5lLWhlaWdodC1iYXNlfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAvIDJcXG4gICAgICAgICAgICAgICAgICAgICk7XFxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOlxcbiAgICAgICAgICAgICAgICAgICAgY2FsYyhcXG4gICAgICAgICAgICAgICAgICAgICAgICAoI3t0aGVtZS4kY2hlY2stdGFwLXRhcmdldC1zaXplfSAtIDFyZW0gKiAje3R5cG9ncmFwaHkuJGxpbmUtaGVpZ2h0LWJhc2V9KVxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8gMlxcbiAgICAgICAgICAgICAgICAgICAgKTtcXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgLy8gMTAuLCAxMy5cXG4gICAgICAgICAgICBAZWxzZSB7XFxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAje3RoZW1lLiRob3Jpem9udGFsLWxhYmVsLXBhZGRpbmcteX07XFxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAje3RoZW1lLiRob3Jpem9udGFsLWxhYmVsLXBhZGRpbmcteX07XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHNldHRpbmdzLiRob3Jpem9udGFsLWlubmVyLWdhcDsgLy8gNC5cXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC10ZXh0LWFsaWduO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgLmZpZWxkIHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IGZpZWxkO1xcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHRoZW1lLiRob3Jpem9udGFsLWZpZWxkLXZlcnRpY2FsLWFsaWdubWVudDsgLy8gMTMuXFxuICAgICAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDsgLy8gNy5cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaG9yaXpvbnRhbC13aXRoLXNtYWxsLWlucHV0KCkge1xcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGZvcm1zLiRob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgbWluLWNvbnRlbnQ7IC8vIDUuXFxuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxcbiAgICAgICAgICAgIFxcXCJsYWJlbCBmaWVsZFxcXCJcXG4gICAgICAgICAgICBcXFwiaGVscHRleHQgaGVscHRleHRcXFwiXFxuICAgICAgICAgICAgXFxcInZhbGlkYXRpb250ZXh0IHZhbGlkYXRpb250ZXh0XFxcIjsgLy8gNS5cXG5cXG4gICAgICAgIC5sYWJlbCB7XFxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gNS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC5maWVsZCB7XFxuICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7IC8vIDUuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAuaW5wdXRDb250YWluZXIge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogZmllbGQ7IC8vIDUuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAuaGVscFRleHQge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogaGVscHRleHQ7IC8vIDUuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogdmFsaWRhdGlvbnRleHQ7IC8vIDUuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGZ1bGwtd2lkdGgoKSB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIHdpZHRoOiAxMDAlO1xcblxcbiAgICAuZmllbGQsXFxuICAgIC5pbnB1dENvbnRhaW5lcixcXG4gICAgLmlucHV0IHtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICB9XFxuXFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIHtcXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdGhlbWUuJGhvcml6b250YWwtZnVsbC13aWR0aC1sYWJlbC13aWR0aCAxZnI7IC8vIDYuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmZpZWxkIHtcXG4gICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0cmV0Y2g7IC8vIDcuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGluLWZvcm0tbGF5b3V0KCkge1xcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0OyAvLyAxMi5cXG5cXG4gICAgLmZpZWxkIHtcXG4gICAgICAgIHdpZHRoOiBhdXRvOyAvLyA5LlxcbiAgICB9XFxuXFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgLm9wdGlvbkxhYmVsIHtcXG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgLy8gMTEuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwuaGFzUm9vdFNtYWxsSW5wdXQge1xcbiAgICAgICAgICAgIGdyaWQ6IGluaGVyaXQ7IC8vIDguXFxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkOyAvLyA4LlxcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7IC8vIDguXFxuXFxuICAgICAgICAgICAgQHN1cHBvcnRzIG5vdCAoZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkKSB7XFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzOyAvLyA4LlxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbC5pc1Jvb3RGdWxsV2lkdGgge1xcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDsgLy8gOC5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAubGFiZWwsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmZpZWxkLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5pbnB1dENvbnRhaW5lcixcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaGVscFRleHQsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IHVuc2V0OyAvLyA4LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaW5wdXRDb250YWluZXIsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmhlbHBUZXh0LFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7IC8vIDguXFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwuaGFzUm9vdFNtYWxsSW5wdXQgLmZpZWxkIHtcXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgLy8gNS5cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cIixcIkB1c2UgXFxcInNhc3M6bWFwXFxcIjtcXG5AdXNlIFxcXCIuLi9zZXR0aW5ncy9icmVha3BvaW50c1xcXCI7XFxuXFxuQG1peGluIHVwKCRicmVha3BvaW50KSB7XFxuICAgIEBpZiBub3QgbWFwLmhhcy1rZXkoYnJlYWtwb2ludHMuJHZhbHVlcywgJGJyZWFrcG9pbnQpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiSW52YWxpZCBicmVha3BvaW50IHNwZWNpZmllZCEgI3skYnJlYWtwb2ludH0gZG9lc24ndCBleGlzdC4gXFxcIlxcbiAgICAgICAgICAgICsgXFxcIkNob29zZSBvbmUgb2YgI3ttYXAua2V5cyhicmVha3BvaW50cy4kdmFsdWVzKX1cXFwiO1xcbiAgICB9IEBlbHNlIGlmIG1hcC5nZXQoYnJlYWtwb2ludHMuJHZhbHVlcywgJGJyZWFrcG9pbnQpID09IDAge1xcbiAgICAgICAgQGNvbnRlbnQ7XFxuICAgIH0gQGVsc2Uge1xcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoYnJlYWtwb2ludHMuJHZhbHVlcywgJGJyZWFrcG9pbnQpKSB7XFxuICAgICAgICAgICAgQGNvbnRlbnQ7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXCIsXCIvLyAxLiBEdWUgdG8gY29tcGxleGl0eSwgaXQncyBlYXNpZXIgYW5kIHNhZmVyIHRvIHJlc29sdmUgdmFyaWFudCBjdXN0b20gcHJvcGVydGllcyBkeW5hbWljYWxseSB3aXRoXFxuLy8gICAgYSBtaXhpbi4gVGhpcyB3YXkgaXQncyBhbHNvIGVhc2llciB0byBtYWtlIHRoZW1pbmcgYWRqdXN0bWVudHMgdG8gYWxsIHN1cHBvcnRlZCBtb2RpZmljYXRpb25zXFxuLy8gICAgaW4gb25lIHBsYWNlLiBHZW5lcmF0ZWQgY3VzdG9tIHByb3BlcnRpZXMgYXJlIGNvbnN1bWVkIG1haW5seSBpbiBmb3VuZGF0aW9uIGZpZWxkIHN0eWxlcyAoc2VlXFxuLy8gICAgYHRvb2xzL2Zvcm0tZmllbGRzL19mb3VuZGF0aW9uLnNjc3NgIGZvciBtb3JlKS5cXG4vL1xcbi8vIDIuIEludGVyYWN0aW9uIHN0YXRlcyBvdGhlciB0aGFuIGBkZWZhdWx0YCBkZWZhdWx0IHRvIHRoZSBgZGVmYXVsdGAgKHNpYyEpIHN0YXRlIGFwcGVhcmFuY2UgaWZcXG4vLyAgICBjb3JyZXNwb25kaW5nIGN1c3RvbSBwcm9wZXJ0aWVzIGFyZSBub3QgcHJvdmlkZWQuXFxuLy9cXG4vLyAzLiBgLmlucHV0OmZvY3VzYCBpcyBhZGRlZCBqdXN0IGluIGNhc2UgYDpmb2N1cy13aXRoaW5gIGRvZXNuJ3Qgd29yay5cXG5cXG5AdXNlIFxcXCJzYXNzOmxpc3RcXFwiO1xcbkB1c2UgXFxcInNhc3M6bWFwXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3JtLWZpZWxkc1xcXCIgYXMgc2V0dGluZ3M7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcblxcbkBtaXhpbiBfZGlzYWJsZWQtc3RhdGUoKSB7XFxuICAgIG9wYWNpdHk6IHRoZW1lLiRkaXNhYmxlZC1vcGFjaXR5O1xcbiAgICBjdXJzb3I6IHRoZW1lLiRkaXNhYmxlZC1jdXJzb3I7XFxufVxcblxcbi8vIDEuXFxuQG1peGluIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsICRzdGF0ZSkge1xcbiAgICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMobWFwLmdldChzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzLCAkdHlwZSkpLCAkdmFyaWFudCkge1xcbiAgICAgICAgQGVycm9yIFxcXCJJbnZhbGlkIHZhcmlhbnQgc3BlY2lmaWVkISAjeyR2YXJpYW50fSBkb2Vzbid0IGV4aXN0LiBcXFwiXFxuICAgICAgICAgICAgKyBcXFwiQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKG1hcC5nZXQoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcywgJHR5cGUpKX0uXFxcIjtcXG4gICAgfVxcblxcbiAgICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMoc2V0dGluZ3MuJHRoZW1lYWJsZS1zdGF0ZS1wcm9wZXJ0aWVzKSwgJHN0YXRlKSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgc3RhdGUgc3BlY2lmaWVkISAjeyRzdGF0ZX0gZG9lc24ndCBleGlzdC4gXFxcIlxcbiAgICAgICAgICAgICsgXFxcIkNob29zZSBvbmUgb2YgI3ttYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXMpfS5cXFwiO1xcbiAgICB9XFxuXFxuICAgICRwcm9wZXJ0aWVzOiBtYXAuZ2V0KHNldHRpbmdzLiR0aGVtZWFibGUtc3RhdGUtcHJvcGVydGllcywgJHN0YXRlKTtcXG4gICAgJGluZml4OiAkdHlwZTtcXG4gICAgJGZhbGxiYWNrLXN0YXRlOiBcXFwiZGVmYXVsdFxcXCI7XFxuXFxuICAgIEBpZiAkdHlwZSA9PSBcXFwidmFsaWRhdGlvblxcXCIge1xcbiAgICAgICAgJGluZml4OiAkdmFyaWFudDtcXG4gICAgfVxcblxcbiAgICBAaWYgJHR5cGUgIT0gXFxcInZhbGlkYXRpb25cXFwiIGFuZCAkdmFyaWFudCAhPSBcXFwiZGVmYXVsdFxcXCIge1xcbiAgICAgICAgJGluZml4OiAjeyR0eXBlfS0tI3skdmFyaWFudH07XFxuICAgIH1cXG5cXG4gICAgQGlmICRzdGF0ZSA9PSBcXFwiY2hlY2tlZC1kaXNhYmxlZFxcXCIge1xcbiAgICAgICAgJGZhbGxiYWNrLXN0YXRlOiBcXFwiY2hlY2tlZFxcXCI7XFxuICAgIH1cXG5cXG4gICAgQGlmICRzdGF0ZSA9PSBcXFwiZGVmYXVsdFxcXCIge1xcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcXG4gICAgICAgICAgICAtLXJ1aS1sb2NhbC0jeyRwcm9wZXJ0eX06IHZhcigtLXJ1aS1Gb3JtRmllbGQtLSN7JGluZml4fS0tI3skc3RhdGV9X18jeyRwcm9wZXJ0eX0pO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIC8vIDIuXFxuICAgIEBlbHNlIHtcXG4gICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XFxuICAgICAgICAgICAgLS1ydWktbG9jYWwtI3skcHJvcGVydHl9OlxcbiAgICAgICAgICAgICAgICB2YXIoXFxuICAgICAgICAgICAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLSN7JGluZml4fS0tI3skc3RhdGV9X18jeyRwcm9wZXJ0eX0sXFxuICAgICAgICAgICAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS0jeyRpbmZpeH0tLSN7JGZhbGxiYWNrLXN0YXRlfV9fI3skcHJvcGVydHl9KVxcbiAgICAgICAgICAgICAgICApO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBfZ2V0LXRoZW1lKCR0eXBlLCAkdmFyaWFudCkge1xcbiAgICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcyksICR0eXBlKSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgdHlwZSBzcGVjaWZpZWQhICN7JHR5cGV9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcyl9LlxcXCI7XFxuICAgIH1cXG5cXG4gICAgJHRoZW1lYWJsZS1zdGF0ZXM6IG1hcC5nZXQobWFwLmdldChzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzLCAkdHlwZSksICR2YXJpYW50KTtcXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJob3ZlclxcXCIpIHtcXG4gICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJkZWZhdWx0XFxcIik7XFxuXFxuICAgICAgICAmOmhvdmVyIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiaG92ZXJcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfSBAZWxzZSB7XFxuICAgICAgICAmLFxcbiAgICAgICAgJjpob3ZlciB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImRlZmF1bHRcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImZvY3VzXFxcIikge1xcbiAgICAgICAgLy8gMy5cXG4gICAgICAgICY6Zm9jdXMtd2l0aGluLFxcbiAgICAgICAgJjpmb2N1cy13aXRoaW46aG92ZXIsXFxuICAgICAgICAuaW5wdXQ6Zm9jdXMge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJmb2N1c1xcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiY2hlY2tlZFxcXCIpIHtcXG4gICAgICAgIC5pbnB1dDpjaGVja2VkIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiY2hlY2tlZFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiZGlzYWJsZWRcXFwiKSB7XFxuICAgICAgICAmLmlzUm9vdERpc2FibGVkIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiZGlzYWJsZWRcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImNoZWNrZWQtZGlzYWJsZWRcXFwiKSB7XFxuICAgICAgICAuaW5wdXQ6Y2hlY2tlZDpkaXNhYmxlZCB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImNoZWNrZWQtZGlzYWJsZWRcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gdmlzdWFsKCR0eXBlLCAkdmFyaWFudDogXFxcImRlZmF1bHRcXFwiLCAkaGFzLWNhcmV0OiBmYWxzZSkge1xcbiAgICBAaW5jbHVkZSBfZ2V0LXRoZW1lKCR0eXBlLCAkdmFyaWFudCk7XFxuXFxuICAgIC5pbnB1dDpkaXNhYmxlZCB7XFxuICAgICAgICBAaW5jbHVkZSBfZGlzYWJsZWQtc3RhdGUoKTtcXG4gICAgfVxcblxcbiAgICBAaWYgJHR5cGUgPT0gXFxcImJveFxcXCIgYW5kICR2YXJpYW50ID09IFxcXCJmaWxsZWRcXFwiIHtcXG4gICAgICAgIC5pbnB1dCB7XFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgJHR5cGUgPT0gXFxcImJveFxcXCIgYW5kICR2YXJpYW50ID09IFxcXCJvdXRsaW5lXFxcIiBhbmQgJGhhcy1jYXJldCB7XFxuICAgICAgICAuY2FyZXQge1xcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0aGVtZS4kYm94LWJvcmRlci13aWR0aCB0aGVtZS4kYm94LXNlbGVjdC1jYXJldC1ib3JkZXItc3R5bGUgdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICAgICAgICAgICAgYmFja2dyb3VuZDogdGhlbWUuJGJveC1zZWxlY3QtY2FyZXQtYmFja2dyb3VuZDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290RGlzYWJsZWQgLmNhcmV0IHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZGlzYWJsZWQtc3RhdGUoKTtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gdmFsaWRhdGlvbigkdmFyaWFudCkge1xcbiAgICBAaW5jbHVkZSBfZ2V0LXRoZW1lKHZhbGlkYXRpb24sICR2YXJpYW50KTtcXG59XFxuXCIsXCIvLyBWYXJpYW50IHNwZWNpZmljIHRoZW1lIG9wdGlvbnMgYXJlIG9idGFpbmVkIGR5bmFtaWNhbGx5IGJlY2F1c2UgdGhlcmUgaXMgd2F5IHRvbyBtYW55IG9mIHRoZW0gdG9cXG4vLyBtYWludGFpbiBtYW51YWxseS4gU2VlIGBzZXR0aW5ncy9fZm9ybS1maWVsZHMuc2Nzc2AgYW5kIGB0b29scy9mb3JtLWZpZWxkcy9fdmFyaWFudHMuc2Nzc2AgZm9yXFxuLy8gZGV0YWlscy5cXG4vL1xcbi8vIDEuIERlZmF1bHRzIHRvIHplcm8gd2hlbiBuZWl0aGVyIGAtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19wYWRkaW5nLXlgIChvcHRpb25hbCkgbm9yXFxuLy8gICAgYC0tcnVpLWxvY2FsLXBhZGRpbmcteWAgKGhhbmRsZWQgYnkgdGhlIGBzaXplKClgIG1peGluIGluIGNhc2Ugb2YgYm94IGZvcm0gZmllbGRzLCBzZWVcXG4vLyAgICBgX2JveC1maWVsZC1zaXplcy5zY3NzYCkgaXMgZGVmaW5lZC4gVGhpcyBpcyB1c2VmdWwgYmVjYXVzZSBGb3JtTGF5b3V0Q3VzdG9tRmllbGQgbWF5IGhhdmUgbm9cXG4vLyAgICBzaXplIHNwZWNpZmllZCB0aGVyZWZvcmUgaXRzIGxhYmVsIHNob3VsZCBoYXZlIG5vIHBhZGRpbmcgYXQgdGhlIHRvcC5cXG5cXG4vLyBGb3JtcyBmaWVsZHM6IGNvbW1vbiBwcm9wZXJ0aWVzXFxuJGxhYmVsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkX19sYWJlbF9fY29sb3IpO1xcbiRsYWJlbC1mb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2xhYmVsX19mb250LXNpemUpO1xcbiRoZWxwLXRleHQtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2ZvbnQtc2l6ZSk7XFxuJGhlbHAtdGV4dC1mb250LXN0eWxlOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2ZvbnQtc3R5bGUpO1xcbiRoZWxwLXRleHQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fY29sb3IpO1xcbiRyZXF1aXJlZC1sYWJlbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX2xhYmVsX19jb2xvcik7XFxuJHJlcXVpcmVkLXNpZ246IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19zaWduKTtcXG4kcmVxdWlyZWQtc2lnbi1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX3NpZ25fX2NvbG9yKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogaG9yaXpvbnRhbCBsYXlvdXRcXG4kaG9yaXpvbnRhbC1sYWJlbC10ZXh0LWFsaWduOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fdGV4dC1hbGlnbik7XFxuJGhvcml6b250YWwtbGFiZWwtbWluLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fbWluLXdpZHRoKTtcXG4kaG9yaXpvbnRhbC1sYWJlbC13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3dpZHRoKTtcXG4kaG9yaXpvbnRhbC1sYWJlbC1wYWRkaW5nLXk6XFxuICAgIHZhcihcXG4gICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3BhZGRpbmcteSxcXG4gICAgICAgIGNhbGModmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpICsgdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteSkpXFxuICAgICk7IC8vIDEuXFxuJGhvcml6b250YWwtbGFiZWwtdmVydGljYWwtYWxpZ25tZW50OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fdmVydGljYWwtYWxpZ25tZW50KTtcXG4kaG9yaXpvbnRhbC1maWVsZC12ZXJ0aWNhbC1hbGlnbm1lbnQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2ZpZWxkX192ZXJ0aWNhbC1hbGlnbm1lbnQpO1xcbiRob3Jpem9udGFsLWZ1bGwtd2lkdGgtbGFiZWwtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWwtLWZ1bGwtd2lkdGhfX2xhYmVsX193aWR0aCk7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGRpc2FibGVkIHN0YXRlXFxuJGRpc2FibGVkLWN1cnNvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX2N1cnNvcik7XFxuJGRpc2FibGVkLW9wYWNpdHk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19vcGFjaXR5KTtcXG5cXG4vLyBGb3JtIGZpZWxkczogYm94IGZpZWxkc1xcbiRib3gtYm9yZGVyLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci13aWR0aCk7XFxuJGJveC1ib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci1yYWRpdXMpO1xcbiRib3gtaW5wdXQtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9faW5wdXRfX3dpZHRoKTtcXG4kYm94LWlucHV0LW1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19pbnB1dF9fbWluLXdpZHRoKTtcXG4kYm94LXBsYWNlaG9sZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX3BsYWNlaG9sZGVyX19jb2xvcik7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGJveCBmaWVsZHMsIGNvbXBvbmVudCBzcGVjaWZpY1xcbiRib3gtc2VsZWN0LWNhcmV0LWJvcmRlci1zdHlsZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zZWxlY3RfX2NhcmV0X19ib3JkZXItc3R5bGUpO1xcbiRib3gtc2VsZWN0LWNhcmV0LWJhY2tncm91bmQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc2VsZWN0X19jYXJldF9fYmFja2dyb3VuZCk7XFxuJGJveC1zZWxlY3Qtb3B0aW9uLWRpc2FibGVkLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fb3B0aW9uLS1kaXNhYmxlZF9fY29sb3IpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBib3ggZmllbGQgc2l6ZXNcXG4kYm94LXNpemVzOiAoXFxuICAgIHNtYWxsOiAoXFxuICAgICAgICBoZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX2hlaWdodCksXFxuICAgICAgICBwYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteSksXFxuICAgICAgICBwYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteCksXFxuICAgICAgICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX2ZvbnQtc2l6ZSksXFxuICAgICksXFxuICAgIG1lZGl1bTogKFxcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9faGVpZ2h0KSxcXG4gICAgICAgIHBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX3BhZGRpbmcteSksXFxuICAgICAgICBwYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19wYWRkaW5nLXgpLFxcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fZm9udC1zaXplKSxcXG4gICAgKSxcXG4gICAgbGFyZ2U6IChcXG4gICAgICAgIGhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9faGVpZ2h0KSxcXG4gICAgICAgIHBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy15KSxcXG4gICAgICAgIHBhZGRpbmcteDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy14KSxcXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fZm9udC1zaXplKSxcXG4gICAgKSxcXG4pO1xcblxcbi8vIEZvcm0gZmllbGRzOiBjaGVjayBmaWVsZHNcXG4kY2hlY2staW5wdXQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0X19zaXplKTtcXG4kY2hlY2staW5wdXQtYm9yZGVyLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXRfX2JvcmRlci13aWR0aCk7XFxuJGNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tZm9jdXNfX2JveC1zaGFkb3cpO1xcbiRjaGVjay10YXAtdGFyZ2V0LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX190YXAtdGFyZ2V0LXNpemUpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBjaGVjayBmaWVsZHMsIGNvbXBvbmVudCBzcGVjaWZpY1xcbiRjaGVjay1pbnB1dC1jaGVja2JveC1ib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLWNoZWNrYm94X19ib3JkZXItcmFkaXVzKTtcXG4kY2hlY2staW5wdXQtY2hlY2tib3gtY2hlY2tlZC1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLWNoZWNrYm94LS1jaGVja2VkX19iYWNrZ3JvdW5kLWltYWdlKTtcXG4kY2hlY2staW5wdXQtcmFkaW8tYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1yYWRpb19fYm9yZGVyLXJhZGl1cyk7XFxuJGNoZWNrLWlucHV0LXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1yYWRpby0tY2hlY2tlZF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGVfX3dpZHRoKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWJvcmRlci1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlX19ib3JkZXItcmFkaXVzKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWJhY2tncm91bmQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGVfX2JhY2tncm91bmQtc2l6ZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1kZWZhdWx0LWJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlLS1kZWZhdWx0X19iYWNrZ3JvdW5kLWltYWdlKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWRlZmF1bHQtYmFja2dyb3VuZC1wb3NpdGlvbjpcXG4gICAgdmFyKFxcbiAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZS0tZGVmYXVsdF9fYmFja2dyb3VuZC1wb3NpdGlvblxcbiAgICApO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtY2hlY2tlZC1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZS0tY2hlY2tlZF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1jaGVja2VkLWJhY2tncm91bmQtcG9zaXRpb246XFxuICAgIHZhcihcXG4gICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWNoZWNrZWRfX2JhY2tncm91bmQtcG9zaXRpb25cXG4gICAgKTtcXG5cIixcIi8vIDEuIERvbid0IGxldCB0ZXh0IGFsaWdubWVudCBiZSBhZmZlY3RlZCBieSBhIHBhcmVudC5cXG4vLyAyLiBPdmVycmlkZSBmb3VuZGF0aW9uIHJlc2V0LlxcblxcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm0tZmllbGRzXFxcIiBhcyBzZXR0aW5ncztcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuXFxuQG1peGluIHJvb3QoKSB7XFxuICAgIHRleHQtYWxpZ246IGxlZnQ7IC8vIDEuXFxufVxcblxcbkBtaXhpbiBmaWVsZHNldCgpIHtcXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIDIuXFxuICAgIH1cXG59XFxuXFxuQG1peGluIGxhYmVsKCkge1xcbiAgICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsICN7dGhlbWUuJGxhYmVsLWNvbG9yfSk7XFxufVxcblxcbkBtaXhpbiBsYWJlbC1yZXF1aXJlZCgpIHtcXG4gICAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCAje3RoZW1lLiRyZXF1aXJlZC1sYWJlbC1jb2xvcn0pO1xcblxcbiAgICAmOjphZnRlciB7XFxuICAgICAgICBjb250ZW50OiB0aGVtZS4kcmVxdWlyZWQtc2lnbjtcXG4gICAgICAgIGNvbG9yOiB0aGVtZS4kcmVxdWlyZWQtc2lnbi1jb2xvcjtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaGVscC10ZXh0KCkge1xcbiAgICBmb250LXN0eWxlOiB0aGVtZS4kaGVscC10ZXh0LWZvbnQtc3R5bGU7XFxuICAgIGZvbnQtc2l6ZTogdGhlbWUuJGhlbHAtdGV4dC1mb250LXNpemU7XFxuICAgIGxpbmUtaGVpZ2h0OiBzZXR0aW5ncy4kaGVscC10ZXh0LWxpbmUtaGVpZ2h0O1xcbiAgICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsICN7dGhlbWUuJGhlbHAtdGV4dC1jb2xvcn0pO1xcbn1cXG5cIixcIi8vIDEuIElucHV0IGBsaW5lLWhlaWdodGAgaXMgc3BlY2lmaWVkIGluIGByZW1gIHNvIGlucHV0cyBkbyBub3QgYnJlYWsgd2hlbiB0aGVpciBmb250IHNpemUgZ2V0c1xcbi8vICAgIGNoYW5nZWQgbGF0ZXIuXFxuXFxuQHVzZSBcXFwic2FzczptYXBcXFwiO1xcbkB1c2UgXFxcIi4uL3RoZW1lL3R5cG9ncmFwaHlcXFwiO1xcbkB1c2UgXFxcIi4uL3Rvb2xzL3NwYWNpbmdcXFwiO1xcblxcbiRoZWxwLXRleHQtbGluZS1oZWlnaHQ6IDEuMnJlbTtcXG5cXG4kdmVydGljYWwtaW5uZXItZ2FwOiBzcGFjaW5nLm9mKDEpO1xcbiR2ZXJ0aWNhbC1pbm5lci1nYXAtbGFyZ2U6IHNwYWNpbmcub2YoMik7XFxuJHZlcnRpY2FsLW91dGVyLXNwYWNpbmc6IHNwYWNpbmcub2YoMik7XFxuXFxuJGhvcml6b250YWwtaW5uZXItZ2FwOiBzcGFjaW5nLm9mKDIpO1xcbiRob3Jpem9udGFsLW91dGVyLXNwYWNpbmc6IHNwYWNpbmcub2YoMik7XFxuXFxuJGJveC1pbnB1dC1mb250LWZhbWlseTogdHlwb2dyYXBoeS4kZm9udC1mYW1pbHktYmFzZTtcXG4kYm94LWlucHV0LWZvbnQtd2VpZ2h0OiBtYXAuZ2V0KHR5cG9ncmFwaHkuJGZvbnQtd2VpZ2h0LXZhbHVlcywgZGVmYXVsdCk7XFxuJGJveC1pbnB1dC1saW5lLWhlaWdodDogMS41cmVtOyAvLyAxLlxcbiRib3gtZmllbGQtY2FyZXQtc2l6ZTogMi4yNXJlbTtcXG4kYm94LWZpZWxkLWlucHV0LW51bWJlci1hcnJvd3Mtd2lkdGg6IDEuNXJlbTtcXG4kYm94LWZpZWxkLWJvdHRvbS1saW5lLWhlaWdodDogMnB4O1xcblxcbiRpbmxpbmUtZmllbGQtaW5uZXItZ2FwOiBzcGFjaW5nLm9mKDIpO1xcblxcbiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXM6IChcXG4gICAgYm94OiAoXFxuICAgICAgICBmaWxsZWQ6IChkZWZhdWx0LCBob3ZlciwgZm9jdXMsIGRpc2FibGVkKSxcXG4gICAgICAgIG91dGxpbmU6IChkZWZhdWx0LCBob3ZlciwgZm9jdXMsIGRpc2FibGVkKSxcXG4gICAgKSxcXG4gICAgY2hlY2s6IChcXG4gICAgICAgIGRlZmF1bHQ6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICksXFxuICAgIGN1c3RvbTogKFxcbiAgICAgICAgZGVmYXVsdDogKGRlZmF1bHQsIGRpc2FibGVkKSxcXG4gICAgKSxcXG4gICAgdmFsaWRhdGlvbjogKFxcbiAgICAgICAgaW52YWxpZDogKGRlZmF1bHQsIGNoZWNrZWQsIGRpc2FibGVkLCBjaGVja2VkLWRpc2FibGVkKSxcXG4gICAgICAgIHZhbGlkOiAoZGVmYXVsdCwgY2hlY2tlZCwgZGlzYWJsZWQsIGNoZWNrZWQtZGlzYWJsZWQpLFxcbiAgICAgICAgd2FybmluZzogKGRlZmF1bHQsIGNoZWNrZWQsIGRpc2FibGVkLCBjaGVja2VkLWRpc2FibGVkKSxcXG4gICAgKSxcXG4pO1xcblxcbiR0aGVtZWFibGUtc3RhdGUtcHJvcGVydGllczogKFxcbiAgICBkZWZhdWx0OiAoY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZCwgY2hlY2stYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdywgc3Vycm91bmRpbmctdGV4dC1jb2xvciksXFxuICAgIGhvdmVyOiAoY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZCwgYm94LXNoYWRvdyksXFxuICAgIGZvY3VzOiAoY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZCwgY2hlY2stYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyksXFxuICAgIGNoZWNrZWQ6IChib3JkZXItY29sb3IsIGNoZWNrLWJhY2tncm91bmQtY29sb3IpLFxcbiAgICBkaXNhYmxlZDogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGNoZWNrLWJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3csIHN1cnJvdW5kaW5nLXRleHQtY29sb3IpLFxcbiAgICBjaGVja2VkLWRpc2FibGVkOiAoYm9yZGVyLWNvbG9yLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yKSxcXG4pO1xcblwiLG51bGwsXCJAdXNlIFxcXCJzYXNzOm1hcFxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcblxcbkBtaXhpbiBzaXplKCRzaXplLCAkaGFzLWlucHV0OiB0cnVlLCAkaXMtbXVsdGlsaW5lOiBmYWxzZSkge1xcbiAgICAkc2l6ZS1wcm9wZXJ0aWVzOiBtYXAuZ2V0KHRoZW1lLiRib3gtc2l6ZXMsICRzaXplKTtcXG5cXG4gICAgLS1ydWktbG9jYWwtcGFkZGluZy15OiAje21hcC5nZXQoJHNpemUtcHJvcGVydGllcywgcGFkZGluZy15KX07XFxuICAgIC0tcnVpLWxvY2FsLXBhZGRpbmcteDogI3ttYXAuZ2V0KCRzaXplLXByb3BlcnRpZXMsIHBhZGRpbmcteCl9O1xcblxcbiAgICBAaWYgJGhhcy1pbnB1dCB7XFxuICAgICAgICAtLXJ1aS1sb2NhbC1mb250LXNpemU6ICN7bWFwLmdldCgkc2l6ZS1wcm9wZXJ0aWVzLCBmb250LXNpemUpfTtcXG5cXG4gICAgICAgIC5pbnB1dCB7XFxuICAgICAgICAgICAgQGlmICRpcy1tdWx0aWxpbmUge1xcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XFxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IG1hcC5nZXQoJHNpemUtcHJvcGVydGllcywgaGVpZ2h0KTtcXG4gICAgICAgICAgICB9IEBlbHNlIHtcXG4gICAgICAgICAgICAgICAgLS1ydWktbG9jYWwtaGVpZ2h0OiAje21hcC5nZXQoJHNpemUtcHJvcGVydGllcywgaGVpZ2h0KX07XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ubG9jYWxzID0ge1xuXHRcInJvb3RcIjogXCJGb3JtTGF5b3V0Q3VzdG9tRmllbGRfX3Jvb3RfXytiLS1qWmRPXCIsXG5cdFwiZmllbGRcIjogXCJGb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2ZpZWxkX19UZTVXNVQwUVwiLFxuXHRcIm9wdGlvbkxhYmVsXCI6IFwiRm9ybUxheW91dEN1c3RvbUZpZWxkX19vcHRpb25MYWJlbF9fem9YTXJYNERcIixcblx0XCJpc1Jvb3RMYXlvdXRIb3Jpem9udGFsXCI6IFwiRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX18wRWtjWDdTYVwiLFxuXHRcImhhc1Jvb3RTbWFsbElucHV0XCI6IFwiRm9ybUxheW91dEN1c3RvbUZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fQW9PQmkxbDRcIixcblx0XCJpc1Jvb3RGdWxsV2lkdGhcIjogXCJGb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fd0xRNWo3UGpcIixcblx0XCJsYWJlbFwiOiBcIkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fbGFiZWxfX3JUdWN5VkpaXCIsXG5cdFwiaW5wdXRDb250YWluZXJcIjogXCJGb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lucHV0Q29udGFpbmVyX19kdlVOU2c1MlwiLFxuXHRcImhlbHBUZXh0XCI6IFwiRm9ybUxheW91dEN1c3RvbUZpZWxkX19oZWxwVGV4dF9fYVp0eVllNFFcIixcblx0XCJ2YWxpZGF0aW9uVGV4dFwiOiBcIkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fdmFsaWRhdGlvblRleHRfX2djU2hxZU8wXCIsXG5cdFwiaXNSb290RGlzYWJsZWRcIjogXCJGb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdERpc2FibGVkX19hV1lFN3V0MlwiLFxuXHRcImlucHV0XCI6IFwiRm9ybUxheW91dEN1c3RvbUZpZWxkX19pbnB1dF9fVUh2MUNsYUlcIixcblx0XCJpc1Jvb3RSZXF1aXJlZFwiOiBcIkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290UmVxdWlyZWRfX1hwNjA0LVdmXCIsXG5cdFwiaXNSb290U3RhdGVJbnZhbGlkXCI6IFwiRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RTdGF0ZUludmFsaWRfX0J1empBUFdPXCIsXG5cdFwiaXNSb290U3RhdGVWYWxpZFwiOiBcIkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U3RhdGVWYWxpZF9fWUZpMXZBSVJcIixcblx0XCJpc1Jvb3RTdGF0ZVdhcm5pbmdcIjogXCJGb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdFN0YXRlV2FybmluZ19fQ0gzZDVTTE1cIixcblx0XCJpc1Jvb3RMYXlvdXRWZXJ0aWNhbFwiOiBcIkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0VmVydGljYWxfX3Nxa3lSZG8wXCIsXG5cdFwiaXNSb290U2l6ZVNtYWxsXCI6IFwiRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RTaXplU21hbGxfX3VmYlNOdGV4XCIsXG5cdFwiaXNSb290U2l6ZU1lZGl1bVwiOiBcIkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U2l6ZU1lZGl1bV9fK0VsdnNOdVJcIixcblx0XCJpc1Jvb3RTaXplTGFyZ2VcIjogXCJGb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdFNpemVMYXJnZV9fN1NZamtDRkdcIlxufTtcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js?!./src/lib/components/FormLayout/FormLayoutCustomField.scss\n");
|
1066
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \".FormLayoutCustomField__root__\\\\+b--jZdO {\\n justify-self: start;\\n}\\n.FormLayoutCustomField__root__\\\\+b--jZdO .FormLayoutCustomField__field__Te5W5T0Q {\\n width: auto;\\n}\\n@media (min-width: 48em) {\\n .FormLayoutCustomField__root__\\\\+b--jZdO .FormLayoutCustomField__optionLabel__zoXMrX4D {\\n width: auto;\\n }\\n .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa, .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa.FormLayoutCustomField__hasRootSmallInput__AoOBi1l4 {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n }\\n @supports not (grid-template-columns: subgrid) {\\n .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa, .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa.FormLayoutCustomField__hasRootSmallInput__AoOBi1l4 {\\n display: contents;\\n }\\n }\\n .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa.FormLayoutCustomField__isRootFullWidth__wLQ5j7Pj {\\n grid-template-columns: subgrid;\\n }\\n .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__label__rTucyVJZ, .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__field__Te5W5T0Q, .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__inputContainer__dvUNSg52, .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__helpText__aZtyYe4Q, .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__validationText__gcShqeO0 {\\n grid-area: unset;\\n }\\n .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__field__Te5W5T0Q, .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__inputContainer__dvUNSg52, .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__helpText__aZtyYe4Q, .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__validationText__gcShqeO0 {\\n grid-column-start: 2;\\n }\\n .FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa.FormLayoutCustomField__hasRootSmallInput__AoOBi1l4 .FormLayoutCustomField__field__Te5W5T0Q {\\n display: block;\\n }\\n}\\n.FormLayoutCustomField__root__\\\\+b--jZdO, .FormLayoutCustomField__root__\\\\+b--jZdO:hover {\\n --rui-local-color: var(--rui-FormField--custom--default__color);\\n --rui-local-border-color: var(--rui-FormField--custom--default__border-color);\\n --rui-local-background: var(--rui-FormField--custom--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--custom--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--custom--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--custom--default__surrounding-text-color);\\n}\\n.FormLayoutCustomField__root__\\\\+b--jZdO.FormLayoutCustomField__isRootDisabled__aWYE7ut2 {\\n --rui-local-color:\\n var(\\n --rui-FormField--custom--disabled__color,\\n var(--rui-FormField--custom--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--custom--disabled__border-color,\\n var(--rui-FormField--custom--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--custom--disabled__background,\\n var(--rui-FormField--custom--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--custom--disabled__check-background-color,\\n var(--rui-FormField--custom--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--custom--disabled__box-shadow,\\n var(--rui-FormField--custom--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--custom--disabled__surrounding-text-color,\\n var(--rui-FormField--custom--default__surrounding-text-color)\\n );\\n}\\n.FormLayoutCustomField__root__\\\\+b--jZdO .FormLayoutCustomField__input__UHv1ClaI:disabled {\\n opacity: var(--rui-FormField--disabled__opacity);\\n cursor: var(--rui-FormField--disabled__cursor);\\n}\\n\\n.FormLayoutCustomField__label__rTucyVJZ {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__label__color));\\n}\\n\\n.FormLayoutCustomField__isRootRequired__Xp604-Wf .FormLayoutCustomField__label__rTucyVJZ {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField--required__label__color));\\n}\\n.FormLayoutCustomField__isRootRequired__Xp604-Wf .FormLayoutCustomField__label__rTucyVJZ::after {\\n content: var(--rui-FormField--required__sign);\\n color: var(--rui-FormField--required__sign__color);\\n}\\n\\n.FormLayoutCustomField__isRootStateInvalid__BuzjAPWO, .FormLayoutCustomField__isRootStateInvalid__BuzjAPWO:hover {\\n --rui-local-color: var(--rui-FormField--invalid--default__color);\\n --rui-local-border-color: var(--rui-FormField--invalid--default__border-color);\\n --rui-local-background: var(--rui-FormField--invalid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--invalid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--invalid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--invalid--default__surrounding-text-color);\\n}\\n.FormLayoutCustomField__isRootStateInvalid__BuzjAPWO .FormLayoutCustomField__input__UHv1ClaI:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n}\\n.FormLayoutCustomField__isRootStateInvalid__BuzjAPWO.FormLayoutCustomField__isRootDisabled__aWYE7ut2 {\\n --rui-local-color:\\n var(\\n --rui-FormField--invalid--disabled__color,\\n var(--rui-FormField--invalid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--disabled__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--invalid--disabled__background,\\n var(--rui-FormField--invalid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--disabled__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--invalid--disabled__box-shadow,\\n var(--rui-FormField--invalid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--invalid--disabled__surrounding-text-color,\\n var(--rui-FormField--invalid--default__surrounding-text-color)\\n );\\n}\\n.FormLayoutCustomField__isRootStateInvalid__BuzjAPWO .FormLayoutCustomField__input__UHv1ClaI:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__border-color,\\n var(--rui-FormField--invalid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__check-background-color,\\n var(--rui-FormField--invalid--checked__check-background-color)\\n );\\n}\\n\\n.FormLayoutCustomField__isRootStateValid__YFi1vAIR, .FormLayoutCustomField__isRootStateValid__YFi1vAIR:hover {\\n --rui-local-color: var(--rui-FormField--valid--default__color);\\n --rui-local-border-color: var(--rui-FormField--valid--default__border-color);\\n --rui-local-background: var(--rui-FormField--valid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--valid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--valid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--valid--default__surrounding-text-color);\\n}\\n.FormLayoutCustomField__isRootStateValid__YFi1vAIR .FormLayoutCustomField__input__UHv1ClaI:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n}\\n.FormLayoutCustomField__isRootStateValid__YFi1vAIR.FormLayoutCustomField__isRootDisabled__aWYE7ut2 {\\n --rui-local-color:\\n var(\\n --rui-FormField--valid--disabled__color,\\n var(--rui-FormField--valid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--disabled__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--valid--disabled__background,\\n var(--rui-FormField--valid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--disabled__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--valid--disabled__box-shadow,\\n var(--rui-FormField--valid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--valid--disabled__surrounding-text-color,\\n var(--rui-FormField--valid--default__surrounding-text-color)\\n );\\n}\\n.FormLayoutCustomField__isRootStateValid__YFi1vAIR .FormLayoutCustomField__input__UHv1ClaI:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked-disabled__border-color,\\n var(--rui-FormField--valid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked-disabled__check-background-color,\\n var(--rui-FormField--valid--checked__check-background-color)\\n );\\n}\\n\\n.FormLayoutCustomField__isRootStateWarning__CH3d5SLM, .FormLayoutCustomField__isRootStateWarning__CH3d5SLM:hover {\\n --rui-local-color: var(--rui-FormField--warning--default__color);\\n --rui-local-border-color: var(--rui-FormField--warning--default__border-color);\\n --rui-local-background: var(--rui-FormField--warning--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--warning--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--warning--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--warning--default__surrounding-text-color);\\n}\\n.FormLayoutCustomField__isRootStateWarning__CH3d5SLM .FormLayoutCustomField__input__UHv1ClaI:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n}\\n.FormLayoutCustomField__isRootStateWarning__CH3d5SLM.FormLayoutCustomField__isRootDisabled__aWYE7ut2 {\\n --rui-local-color:\\n var(\\n --rui-FormField--warning--disabled__color,\\n var(--rui-FormField--warning--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--disabled__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--warning--disabled__background,\\n var(--rui-FormField--warning--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--disabled__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--warning--disabled__box-shadow,\\n var(--rui-FormField--warning--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--warning--disabled__surrounding-text-color,\\n var(--rui-FormField--warning--default__surrounding-text-color)\\n );\\n}\\n.FormLayoutCustomField__isRootStateWarning__CH3d5SLM .FormLayoutCustomField__input__UHv1ClaI:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked-disabled__border-color,\\n var(--rui-FormField--warning--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked-disabled__check-background-color,\\n var(--rui-FormField--warning--checked__check-background-color)\\n );\\n}\\n\\n.FormLayoutCustomField__isRootLayoutVertical__sqkyRdo0,\\n.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa {\\n display: inline-flex;\\n flex-direction: column;\\n min-width: 0;\\n max-width: 100%;\\n}\\n.FormLayoutCustomField__isRootLayoutVertical__sqkyRdo0 .FormLayoutCustomField__label__rTucyVJZ,\\n.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__label__rTucyVJZ {\\n padding-bottom: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.FormLayoutCustomField__isRootLayoutVertical__sqkyRdo0 .FormLayoutCustomField__helpText__aZtyYe4Q,\\n.FormLayoutCustomField__isRootLayoutVertical__sqkyRdo0 .FormLayoutCustomField__validationText__gcShqeO0,\\n.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__helpText__aZtyYe4Q,\\n.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__validationText__gcShqeO0 {\\n padding-top: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.FormLayoutCustomField__isRootLayoutVertical__sqkyRdo0 .FormLayoutCustomField__field__Te5W5T0Q,\\n.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__field__Te5W5T0Q {\\n width: -webkit-min-content;\\n width: -moz-min-content;\\n width: min-content;\\n max-width: 100%;\\n}\\n\\n@media (min-width: 48em) {\\n .FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa {\\n display: inline-grid;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) -webkit-min-content;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) min-content;\\n grid-template-areas: \\\"label field\\\";\\n align-items: start;\\n }\\n .FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__label__rTucyVJZ {\\n grid-area: label;\\n align-self: var(--rui-FormField--horizontal__label__vertical-alignment);\\n min-width: var(--rui-FormField--horizontal__label__min-width);\\n padding-top: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-bottom: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-right: var(--rui-dimension-space-2);\\n text-align: var(--rui-FormField--horizontal__label__text-align);\\n }\\n .FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__field__Te5W5T0Q {\\n grid-area: field;\\n align-self: var(--rui-FormField--horizontal__field__vertical-alignment);\\n justify-self: start;\\n }\\n}\\n\\n@media (min-width: 48em) {\\n .FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__label__rTucyVJZ {\\n -ms-grid-row: 1;\\n -ms-grid-column: 1;\\n }\\n .FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__field__Te5W5T0Q {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n}\\n\\n.FormLayoutCustomField__isRootLayoutVertical__sqkyRdo0 .FormLayoutCustomField__field__Te5W5T0Q,\\n.FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa .FormLayoutCustomField__field__Te5W5T0Q {\\n width: auto;\\n}\\n\\n.FormLayoutCustomField__isRootFullWidth__wLQ5j7Pj .FormLayoutCustomField__field__Te5W5T0Q {\\n justify-self: stretch;\\n}\\n\\n.FormLayoutCustomField__isRootSizeSmall__ufbSNtex {\\n --rui-local-padding-y: var(--rui-FormField--box--small__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--small__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--small__font-size);\\n}\\n.FormLayoutCustomField__isRootSizeSmall__ufbSNtex .FormLayoutCustomField__input__UHv1ClaI {\\n --rui-local-height: var(--rui-FormField--box--small__height);\\n}\\n\\n.FormLayoutCustomField__isRootSizeMedium__\\\\+ElvsNuR {\\n --rui-local-padding-y: var(--rui-FormField--box--medium__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--medium__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--medium__font-size);\\n}\\n.FormLayoutCustomField__isRootSizeMedium__\\\\+ElvsNuR .FormLayoutCustomField__input__UHv1ClaI {\\n --rui-local-height: var(--rui-FormField--box--medium__height);\\n}\\n\\n.FormLayoutCustomField__isRootSizeLarge__7SYjkCFG {\\n --rui-local-padding-y: var(--rui-FormField--box--large__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--large__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--large__font-size);\\n}\\n.FormLayoutCustomField__isRootSizeLarge__7SYjkCFG .FormLayoutCustomField__input__UHv1ClaI {\\n --rui-local-height: var(--rui-FormField--box--large__height);\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/lib/components/FormLayout/FormLayoutCustomField.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-layout.scss\",\"webpack://./src/lib/styles/tools/_breakpoint.scss\",\"webpack://./src/lib/styles/tools/form-fields/_variants.scss\",\"webpack://./src/lib/styles/theme/_form-fields.scss\",\"webpack://./src/lib/styles/tools/form-fields/_foundation.scss\",\"webpack://./src/lib/styles/settings/_form-fields.scss\",\"<no source>\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-sizes.scss\"],\"names\":[],\"mappings\":\"AAMA;ECqLI,mBAAA;ADzLJ;AC2LI;EACI,WAAA;ADzLR;AEKQ;EDwLA;IACI,WAAA;ED1LV;ECoMU;IAEI,aAAA;IACA,8BAAA;IACA,mBAAA;EDnMd;ECqMc;IANJ;MAOQ,iBAAA;IDlMhB;EACF;ECqMU;IACI,8BAAA;EDnMd;ECuMM;IAKI,gBAAA;EDzMV;EC4MM;IAII,oBAAA;ED7MV;ECgNM;IACI,cAAA;ED9MV;AACF;AGiDQ;EA/BI,+DAAA;EAAA,6EAAA;EAAA,yEAAA;EAAA,iGAAA;EAAA,yEAAA;EAAA,iGAAA;AHVZ;AG+DQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AHeZ;AG8CI;EAtGA,gDCkBe;EDjBf,8CCgBc;AJ2ClB;;AAjEA;EKMI,kFAAA;AL+DJ;;AAjEA;EKMI,4FAAA;AL+DJ;AK7DI;EACI,6CDRQ;ECSR,kDDRc;AJuEtB;;AGPQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;AH+CZ;AGAQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AHoDZ;AGNQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AHoFZ;AGhCQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AHgGZ;;AGxEQ;EA/BI,8DAAA;EAAA,4EAAA;EAAA,wEAAA;EAAA,gGAAA;EAAA,wEAAA;EAAA,gGAAA;AHgHZ;AGjEQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AHqHZ;AGvEQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AHqJZ;AGjGQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AHiKZ;;AGzIQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;AHiLZ;AGlIQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AHsLZ;AGxIQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AHsNZ;AGlKQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AHkOZ;;AA1PA;;ECoCI,oBAAA;EACA,sBAAA;EACA,YAAA;EACA,eAAA;AD2NJ;ACzNI;;EACI,2EAAA;AD4NR;ACzNI;;;;EAEI,wEAAA;AD6NR;AC1NI;;EACI,0BAAA;EAAA,uBAAA;EAAA,kBAAA;EACA,eAAA;AD6NR;;AExSQ;EF4BR;ICqDQ,oBAAA;IACA,yFAAA;IAAA,iFAAA;IACA,kCAAA;IACA,kBAAA;ED4NN;EC1NM;IACI,gBAAA;IACA,uEGtE0B;IHuE1B,6DG9EiB;IHgGb,2IAAA;IACA,8IAAA;IAGJ,2CK5GW;IL6GX,+DGtGkB;EJ+S5B;ECtMM;IACI,gBAAA;IACA,uEGlG0B;IHmG1B,mBAAA;EDwMV;AACF;;AOzUA;ENgGQ;IMhGR,gBAAA;IAAA,mBAAA;EPmUE;ECtMM;IM7HR,gBAAA;IAAA,mBAAA;EPwUE;COxUF;;AP0CA;;EAEI,WAAA;AAkSJ;;AA/RA;EACI,qBAAA;AAkSJ;;AA9RA;EQ9CI,kEAAA;EACA,kEAAA;EAGI,kEAAA;AR8UR;AQ5UQ;EAKQ,4DAAA;AR0UhB;;AAnSA;EQlDI,mEAAA;EACA,mEAAA;EAGI,mEAAA;ARuVR;AQrVQ;EAKQ,6DAAA;ARmVhB;;AAxSA;EQtDI,kEAAA;EACA,kEAAA;EAGI,kEAAA;ARgWR;AQ9VQ;EAKQ,4DAAA;AR4VhB\",\"sourcesContent\":[\"@use \\\"../../styles/tools/form-fields/foundation\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-layout\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-sizes\\\";\\n@use \\\"../../styles/tools/form-fields/variants\\\";\\n\\n// Foundation\\n.root {\\n @include box-field-layout.in-form-layout();\\n @include variants.visual(custom);\\n}\\n\\n.label {\\n @include foundation.label();\\n}\\n\\n.isRootRequired .label {\\n @include foundation.label-required();\\n}\\n\\n// States\\n.isRootStateInvalid {\\n @include variants.validation(invalid);\\n}\\n\\n.isRootStateValid {\\n @include variants.validation(valid);\\n}\\n\\n.isRootStateWarning {\\n @include variants.validation(warning);\\n}\\n\\n// Layouts\\n.isRootLayoutVertical,\\n.isRootLayoutHorizontal {\\n @include box-field-layout.vertical();\\n}\\n\\n.isRootLayoutHorizontal {\\n @include box-field-layout.horizontal();\\n}\\n\\n.isRootLayoutVertical .field,\\n.isRootLayoutHorizontal .field {\\n width: auto;\\n}\\n\\n.isRootFullWidth .field {\\n justify-self: stretch;\\n}\\n\\n// Sizes\\n.isRootSizeSmall {\\n @include box-field-sizes.size(small);\\n}\\n\\n.isRootSizeMedium {\\n @include box-field-sizes.size(medium);\\n}\\n\\n.isRootSizeLarge {\\n @include box-field-sizes.size(large);\\n}\\n\",\"// 1. Inline form fields and fields with vertical layout take up as much space as they need. Labels\\n// do not wrap until forced by container of the field. Min and max limits make extra long words\\n// break if necessary.\\n//\\n// 2. Form fields in horizontal layout also take up only as much space as they need. Labels do not\\n// wrap until label width limit is reached (50 % of available horizontal space by default).\\n//\\n// 3. Help texts and validation messages are aligned below input and wrapped. Their width is always\\n// limited to the width of the input field so they don't shift adjacent elements when they show\\n// up. This applies unless the field is inside FormLayout (see 10).\\n//\\n// 4. Define grid spacing as padding of child elements because grid areas make row and column gaps\\n// show up even when not necessary.\\n//\\n// 5. When input size is small and form field layout is set to horizontal, expand help text and\\n// validation message over full form field width to improve their readability. Otherwise the\\n// text would be packed into a very narrow column and hard to read. To prevent help text and\\n// validation message from growing the layout more than necessary (ie. the size without\\n// help/validation text), `min-content` grid sizing must be used along with disabled wrapping of\\n// label.\\n//\\n// 6. Full-width horizontal form fields prefer not wrapping the label until a limit is reached\\n// (50 % of available horizontal space by default, same as in 2.).\\n//\\n// 7. Justify inputs to `start` in horizontal layouts to fix positioning issues with Select Fields.\\n// Reverted for full-width fields.\\n//\\n// 8. Grid settings are inherited from horizontal FormLayout and applied using `subgrid`.\\n// A fallback is supplied to browsers that don't support `subgrid` yet.\\n//\\n// Chrome 117+ supports `subgrid` but it doesn't work for `<fieldset>`. This is why we always\\n// use the fallback for `<fieldset>`.\\n//\\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1473242\\n// https://github.com/react-ui-org/react-ui/issues/232\\n//\\n// 9. Help texts and validation messages can take up full width of FormLayout. There is no reason\\n// to make them wrap as they cannot break layout of FormLayout.\\n//\\n// 10. Visually align label to input baseline. Achieved with `padding-top` and `padding-bottom` due\\n// to two reasons:\\n//\\n// * `align-items: baseline` doesn't work for blank text inputs in Safari. See\\n// https://bugs.webkit.org/show_bug.cgi?id=142968 and\\n// https://github.com/react-ui-org/react-ui/issues/265.\\n//\\n// * `align-items: baseline` doesn't allow subsequent vertical centering of tall inputs and/or\\n// multiline labels (see `theme.$horizontal-label-vertical-alignment` and\\n// `theme.$horizontal-field-vertical-alignment`).\\n//\\n// 11. Reset `width` previously set by inline field layout (see `_inline-field-layout.scss`).\\n//\\n// 12. Make fields just as wide as necessary. Fields should be interactive only where their visible\\n// content is.\\n//\\n// 13. Label and field are vertically aligned to top (start) by default (see 10.). Vertical\\n// alignment of each block can be changed by theme configuration.\\n\\n@use \\\"../../settings/forms\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../theme/typography\\\";\\n@use \\\"../breakpoint\\\";\\n\\n@mixin vertical($has-list: false) {\\n @if $has-list {\\n --rui-local-vertical-gap: #{settings.$vertical-inner-gap-large};\\n }\\n\\n display: inline-flex; // 1.\\n flex-direction: column;\\n min-width: 0; // 1.\\n max-width: 100%; // 1.\\n\\n .label {\\n padding-bottom: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .helpText,\\n .validationText {\\n padding-top: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .field {\\n width: min-content; // 3.\\n max-width: 100%; // 3.\\n }\\n}\\n\\n@mixin horizontal($has-min-tap-target: false) {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n display: inline-grid; // 2.\\n grid-template-columns: theme.$horizontal-label-width min-content; // 2.\\n grid-template-areas: \\\"label field\\\";\\n align-items: start; // 10., 13.\\n\\n .label {\\n grid-area: label;\\n align-self: theme.$horizontal-label-vertical-alignment; // 13.\\n min-width: theme.$horizontal-label-min-width;\\n\\n // 10.\\n @if $has-min-tap-target {\\n padding-top:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n padding-bottom:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n }\\n\\n // 10., 13.\\n @else {\\n padding-top: #{theme.$horizontal-label-padding-y};\\n padding-bottom: #{theme.$horizontal-label-padding-y};\\n }\\n\\n padding-right: settings.$horizontal-inner-gap; // 4.\\n text-align: theme.$horizontal-label-text-align;\\n }\\n\\n .field {\\n grid-area: field;\\n align-self: theme.$horizontal-field-vertical-alignment; // 13.\\n justify-self: start; // 7.\\n }\\n }\\n}\\n\\n@mixin horizontal-with-small-input() {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n grid-template-columns: min-content min-content; // 5.\\n grid-template-areas:\\n \\\"label field\\\"\\n \\\"helptext helptext\\\"\\n \\\"validationtext validationtext\\\"; // 5.\\n\\n .label {\\n white-space: nowrap; // 5.\\n }\\n\\n .field {\\n display: contents; // 5.\\n }\\n\\n .inputContainer {\\n grid-area: field; // 5.\\n }\\n\\n .helpText {\\n grid-area: helptext; // 5.\\n }\\n\\n .validationText {\\n grid-area: validationtext; // 5.\\n }\\n }\\n}\\n\\n@mixin full-width() {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n\\n .field,\\n .inputContainer,\\n .input {\\n width: 100%;\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n &.isRootLayoutHorizontal {\\n display: grid;\\n grid-template-columns: theme.$horizontal-full-width-label-width 1fr; // 6.\\n }\\n\\n &.isRootLayoutHorizontal .field {\\n justify-self: stretch; // 7.\\n }\\n }\\n}\\n\\n@mixin in-form-layout($is-fieldset: false) {\\n justify-self: start; // 12.\\n\\n .field {\\n width: auto; // 9.\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n .optionLabel {\\n width: auto; // 11.\\n }\\n\\n // 8.\\n @if $is-fieldset {\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n display: contents;\\n }\\n } @else {\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n\\n @supports not (grid-template-columns: subgrid) {\\n display: contents;\\n }\\n }\\n\\n &.isRootLayoutHorizontal.isRootFullWidth {\\n grid-template-columns: subgrid;\\n }\\n }\\n\\n &.isRootLayoutHorizontal .label,\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-area: unset; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-column-start: 2; // 8.\\n }\\n\\n &.isRootLayoutHorizontal.hasRootSmallInput .field {\\n display: block; // 5.\\n }\\n }\\n}\\n\",\"@use \\\"sass:map\\\";\\n@use \\\"../settings/breakpoints\\\";\\n\\n@mixin up($breakpoint) {\\n @if not map.has-key(breakpoints.$values, $breakpoint) {\\n @error \\\"Invalid breakpoint specified! #{$breakpoint} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(breakpoints.$values)}\\\";\\n } @else if map.get(breakpoints.$values, $breakpoint) == 0 {\\n @content;\\n } @else {\\n @media (min-width: map.get(breakpoints.$values, $breakpoint)) {\\n @content;\\n }\\n }\\n}\\n\",\"// 1. Due to complexity, it's easier and safer to resolve variant custom properties dynamically with\\n// a mixin. This way it's also easier to make theming adjustments to all supported modifications\\n// in one place. Generated custom properties are consumed mainly in foundation field styles (see\\n// `tools/form-fields/_foundation.scss` for more).\\n//\\n// 2. Interaction states other than `default` default to the `default` (sic!) state appearance if\\n// corresponding custom properties are not provided.\\n//\\n// 3. `.input:focus` is added just in case `:focus-within` doesn't work.\\n\\n@use \\\"sass:list\\\";\\n@use \\\"sass:map\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin _disabled-state() {\\n opacity: theme.$disabled-opacity;\\n cursor: theme.$disabled-cursor;\\n}\\n\\n// 1.\\n@mixin _generate-custom-properties($type, $variant, $state) {\\n @if not list.index(map.keys(map.get(settings.$themeable-variant-states, $type)), $variant) {\\n @error \\\"Invalid variant specified! #{$variant} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(map.get(settings.$themeable-variant-states, $type))}.\\\";\\n }\\n\\n @if not list.index(map.keys(settings.$themeable-state-properties), $state) {\\n @error \\\"Invalid state specified! #{$state} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-state-properties)}.\\\";\\n }\\n\\n $properties: map.get(settings.$themeable-state-properties, $state);\\n $infix: $type;\\n $fallback-state: \\\"default\\\";\\n\\n @if $type == \\\"validation\\\" {\\n $infix: $variant;\\n }\\n\\n @if $type != \\\"validation\\\" and $variant != \\\"default\\\" {\\n $infix: #{$type}--#{$variant};\\n }\\n\\n @if $state == \\\"checked-disabled\\\" {\\n $fallback-state: \\\"checked\\\";\\n }\\n\\n @if $state == \\\"default\\\" {\\n @each $property in $properties {\\n --rui-local-#{$property}: var(--rui-FormField--#{$infix}--#{$state}__#{$property});\\n }\\n }\\n\\n // 2.\\n @else {\\n @each $property in $properties {\\n --rui-local-#{$property}:\\n var(\\n --rui-FormField--#{$infix}--#{$state}__#{$property},\\n var(--rui-FormField--#{$infix}--#{$fallback-state}__#{$property})\\n );\\n }\\n }\\n}\\n\\n@mixin _get-theme($type, $variant) {\\n @if not list.index(map.keys(settings.$themeable-variant-states), $type) {\\n @error \\\"Invalid type specified! #{$type} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-variant-states)}.\\\";\\n }\\n\\n $themeable-states: map.get(map.get(settings.$themeable-variant-states, $type), $variant);\\n\\n @if list.index($themeable-states, \\\"hover\\\") {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"hover\\\");\\n }\\n } @else {\\n &,\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"focus\\\") {\\n // 3.\\n &:focus-within,\\n &:focus-within:hover,\\n .input:focus {\\n @include _generate-custom-properties($type, $variant, \\\"focus\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked\\\") {\\n .input:checked {\\n @include _generate-custom-properties($type, $variant, \\\"checked\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"disabled\\\") {\\n &.isRootDisabled {\\n @include _generate-custom-properties($type, $variant, \\\"disabled\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked-disabled\\\") {\\n .input:checked:disabled {\\n @include _generate-custom-properties($type, $variant, \\\"checked-disabled\\\");\\n }\\n }\\n}\\n\\n@mixin visual($type, $variant: \\\"default\\\", $has-caret: false) {\\n @include _get-theme($type, $variant);\\n\\n .input:disabled {\\n @include _disabled-state();\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"filled\\\" {\\n .input {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n }\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"outline\\\" and $has-caret {\\n .caret {\\n border-left: theme.$box-border-width theme.$box-select-caret-border-style var(--rui-local-border-color);\\n background: theme.$box-select-caret-background;\\n }\\n\\n &.isRootDisabled .caret {\\n @include _disabled-state();\\n }\\n }\\n}\\n\\n@mixin validation($variant) {\\n @include _get-theme(validation, $variant);\\n}\\n\",\"// Variant specific theme options are obtained dynamically because there is way too many of them to\\n// maintain manually. See `settings/_form-fields.scss` and `tools/form-fields/_variants.scss` for\\n// details.\\n//\\n// 1. Defaults to zero when neither `--rui-FormField--horizontal__label__padding-y` (optional) nor\\n// `--rui-local-padding-y` (handled by the `size()` mixin in case of box form fields, see\\n// `_box-field-sizes.scss`) is defined. This is useful because FormLayoutCustomField may have no\\n// size specified therefore its label should have no padding at the top.\\n\\n// Forms fields: common properties\\n$label-color: var(--rui-FormField__label__color);\\n$label-font-size: var(--rui-FormField__label__font-size);\\n$help-text-font-size: var(--rui-FormField__help-text__font-size);\\n$help-text-font-style: var(--rui-FormField__help-text__font-style);\\n$help-text-color: var(--rui-FormField__help-text__color);\\n$required-label-color: var(--rui-FormField--required__label__color);\\n$required-sign: var(--rui-FormField--required__sign);\\n$required-sign-color: var(--rui-FormField--required__sign__color);\\n\\n// Form fields: horizontal layout\\n$horizontal-label-text-align: var(--rui-FormField--horizontal__label__text-align);\\n$horizontal-label-min-width: var(--rui-FormField--horizontal__label__min-width);\\n$horizontal-label-width: var(--rui-FormField--horizontal__label__width);\\n$horizontal-label-padding-y:\\n var(\\n --rui-FormField--horizontal__label__padding-y,\\n calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y))\\n ); // 1.\\n$horizontal-label-vertical-alignment: var(--rui-FormField--horizontal__label__vertical-alignment);\\n$horizontal-field-vertical-alignment: var(--rui-FormField--horizontal__field__vertical-alignment);\\n$horizontal-full-width-label-width: var(--rui-FormField--horizontal--full-width__label__width);\\n\\n// Form fields: disabled state\\n$disabled-cursor: var(--rui-FormField--disabled__cursor);\\n$disabled-opacity: var(--rui-FormField--disabled__opacity);\\n\\n// Form fields: box fields\\n$box-border-width: var(--rui-FormField--box__border-width);\\n$box-border-radius: var(--rui-FormField--box__border-radius);\\n$box-input-width: var(--rui-FormField--box__input__width);\\n$box-input-min-width: var(--rui-FormField--box__input__min-width);\\n$box-placeholder-color: var(--rui-FormField--box__placeholder__color);\\n\\n// Form fields: box fields, component specific\\n$box-select-caret-border-style: var(--rui-FormField--box--select__caret__border-style);\\n$box-select-caret-background: var(--rui-FormField--box--select__caret__background);\\n$box-select-option-disabled-color: var(--rui-FormField--box--select__option--disabled__color);\\n\\n// Form fields: box field sizes\\n$box-sizes: (\\n small: (\\n height: var(--rui-FormField--box--small__height),\\n padding-y: var(--rui-FormField--box--small__padding-y),\\n padding-x: var(--rui-FormField--box--small__padding-x),\\n font-size: var(--rui-FormField--box--small__font-size),\\n ),\\n medium: (\\n height: var(--rui-FormField--box--medium__height),\\n padding-y: var(--rui-FormField--box--medium__padding-y),\\n padding-x: var(--rui-FormField--box--medium__padding-x),\\n font-size: var(--rui-FormField--box--medium__font-size),\\n ),\\n large: (\\n height: var(--rui-FormField--box--large__height),\\n padding-y: var(--rui-FormField--box--large__padding-y),\\n padding-x: var(--rui-FormField--box--large__padding-x),\\n font-size: var(--rui-FormField--box--large__font-size),\\n ),\\n);\\n\\n// Form fields: check fields\\n$check-input-size: var(--rui-FormField--check__input__size);\\n$check-input-border-width: var(--rui-FormField--check__input__border-width);\\n$check-input-focus-box-shadow: var(--rui-FormField--check__input--focus__box-shadow);\\n$check-tap-target-size: var(--rui-FormField--check__tap-target-size);\\n\\n// Form fields: check fields, component specific\\n$check-input-checkbox-border-radius: var(--rui-FormField--check__input--checkbox__border-radius);\\n$check-input-checkbox-checked-background-image: var(--rui-FormField--check__input--checkbox--checked__background-image);\\n$check-input-radio-border-radius: var(--rui-FormField--check__input--radio__border-radius);\\n$check-input-radio-checked-background-image: var(--rui-FormField--check__input--radio--checked__background-image);\\n$check-input-toggle-width: var(--rui-FormField--check__input--toggle__width);\\n$check-input-toggle-border-radius: var(--rui-FormField--check__input--toggle__border-radius);\\n$check-input-toggle-background-size: var(--rui-FormField--check__input--toggle__background-size);\\n$check-input-toggle-default-background-image: var(--rui-FormField--check__input--toggle--default__background-image);\\n$check-input-toggle-default-background-position:\\n var(\\n --rui-FormField--check__input--toggle--default__background-position\\n );\\n$check-input-toggle-checked-background-image: var(--rui-FormField--check__input--toggle--checked__background-image);\\n$check-input-toggle-checked-background-position:\\n var(\\n --rui-FormField--check__input--toggle--checked__background-position\\n );\\n\",\"// 1. Don't let text alignment be affected by a parent.\\n// 2. Override foundation reset.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin root() {\\n text-align: left; // 1.\\n}\\n\\n@mixin fieldset() {\\n &:not(:last-child) {\\n margin-bottom: 0; // 2.\\n }\\n}\\n\\n@mixin label() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$label-color});\\n}\\n\\n@mixin label-required() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$required-label-color});\\n\\n &::after {\\n content: theme.$required-sign;\\n color: theme.$required-sign-color;\\n }\\n}\\n\\n@mixin help-text() {\\n font-style: theme.$help-text-font-style;\\n font-size: theme.$help-text-font-size;\\n line-height: settings.$help-text-line-height;\\n color: var(--rui-local-surrounding-text-color, #{theme.$help-text-color});\\n}\\n\",\"// 1. Input `line-height` is specified in `rem` so inputs do not break when their font size gets\\n// changed later.\\n\\n@use \\\"sass:map\\\";\\n@use \\\"../theme/typography\\\";\\n@use \\\"../tools/spacing\\\";\\n\\n$help-text-line-height: 1.2rem;\\n\\n$vertical-inner-gap: spacing.of(1);\\n$vertical-inner-gap-large: spacing.of(2);\\n$vertical-outer-spacing: spacing.of(2);\\n\\n$horizontal-inner-gap: spacing.of(2);\\n$horizontal-outer-spacing: spacing.of(2);\\n\\n$box-input-font-family: typography.$font-family-base;\\n$box-input-font-weight: map.get(typography.$font-weight-values, default);\\n$box-input-line-height: 1.5rem; // 1.\\n$box-field-caret-size: 2.25rem;\\n$box-field-input-number-arrows-width: 1.5rem;\\n$box-field-bottom-line-height: 2px;\\n\\n$inline-field-inner-gap: spacing.of(2);\\n\\n$themeable-variant-states: (\\n box: (\\n filled: (default, hover, focus, disabled),\\n outline: (default, hover, focus, disabled),\\n ),\\n check: (\\n default: (default, checked, disabled, checked-disabled),\\n ),\\n custom: (\\n default: (default, disabled),\\n ),\\n validation: (\\n invalid: (default, checked, disabled, checked-disabled),\\n valid: (default, checked, disabled, checked-disabled),\\n warning: (default, checked, disabled, checked-disabled),\\n ),\\n);\\n\\n$themeable-state-properties: (\\n default: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n hover: (color, border-color, background, box-shadow),\\n focus: (color, border-color, background, check-background-color, box-shadow),\\n checked: (border-color, check-background-color),\\n disabled: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n checked-disabled: (border-color, check-background-color),\\n);\\n\",null,\"@use \\\"sass:map\\\";\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin size($size, $has-input: true, $is-multiline: false) {\\n $size-properties: map.get(theme.$box-sizes, $size);\\n\\n --rui-local-padding-y: #{map.get($size-properties, padding-y)};\\n --rui-local-padding-x: #{map.get($size-properties, padding-x)};\\n\\n @if $has-input {\\n --rui-local-font-size: #{map.get($size-properties, font-size)};\\n\\n .input {\\n @if $is-multiline {\\n height: auto;\\n min-height: map.get($size-properties, height);\\n } @else {\\n --rui-local-height: #{map.get($size-properties, height)};\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"FormLayoutCustomField__root__+b--jZdO\",\n\t\"field\": \"FormLayoutCustomField__field__Te5W5T0Q\",\n\t\"optionLabel\": \"FormLayoutCustomField__optionLabel__zoXMrX4D\",\n\t\"isRootLayoutHorizontal\": \"FormLayoutCustomField__isRootLayoutHorizontal__0EkcX7Sa\",\n\t\"hasRootSmallInput\": \"FormLayoutCustomField__hasRootSmallInput__AoOBi1l4\",\n\t\"isRootFullWidth\": \"FormLayoutCustomField__isRootFullWidth__wLQ5j7Pj\",\n\t\"label\": \"FormLayoutCustomField__label__rTucyVJZ\",\n\t\"inputContainer\": \"FormLayoutCustomField__inputContainer__dvUNSg52\",\n\t\"helpText\": \"FormLayoutCustomField__helpText__aZtyYe4Q\",\n\t\"validationText\": \"FormLayoutCustomField__validationText__gcShqeO0\",\n\t\"isRootDisabled\": \"FormLayoutCustomField__isRootDisabled__aWYE7ut2\",\n\t\"input\": \"FormLayoutCustomField__input__UHv1ClaI\",\n\t\"isRootRequired\": \"FormLayoutCustomField__isRootRequired__Xp604-Wf\",\n\t\"isRootStateInvalid\": \"FormLayoutCustomField__isRootStateInvalid__BuzjAPWO\",\n\t\"isRootStateValid\": \"FormLayoutCustomField__isRootStateValid__YFi1vAIR\",\n\t\"isRootStateWarning\": \"FormLayoutCustomField__isRootStateWarning__CH3d5SLM\",\n\t\"isRootLayoutVertical\": \"FormLayoutCustomField__isRootLayoutVertical__sqkyRdo0\",\n\t\"isRootSizeSmall\": \"FormLayoutCustomField__isRootSizeSmall__ufbSNtex\",\n\t\"isRootSizeMedium\": \"FormLayoutCustomField__isRootSizeMedium__+ElvsNuR\",\n\t\"isRootSizeLarge\": \"FormLayoutCustomField__isRootSizeLarge__7SYjkCFG\"\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vc3JjL2xpYi9jb21wb25lbnRzL0Zvcm1MYXlvdXQvRm9ybUxheW91dEN1c3RvbUZpZWxkLnNjc3MuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvbGliL2NvbXBvbmVudHMvRm9ybUxheW91dC9Gb3JtTGF5b3V0Q3VzdG9tRmllbGQuc2Nzcz9jZjcyIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fcm9vdF9fXFxcXCtiLS1qWmRPIHtcXG4gIGp1c3RpZnktc2VsZjogc3RhcnQ7XFxufVxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX3Jvb3RfX1xcXFwrYi0talpkTyAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19maWVsZF9fVGU1VzVUMFEge1xcbiAgd2lkdGg6IGF1dG87XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XFxuICAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19yb290X19cXFxcK2ItLWpaZE8gLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fb3B0aW9uTGFiZWxfX3pvWE1yWDREIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICB9XFxuICAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19yb290X19cXFxcK2ItLWpaZE8uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX18wRWtjWDdTYSwgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fcm9vdF9fXFxcXCtiLS1qWmRPLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EuRm9ybUxheW91dEN1c3RvbUZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fQW9PQmkxbDQge1xcbiAgICBncmlkOiBpbmhlcml0O1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XFxuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XFxuICB9XFxuICBAc3VwcG9ydHMgbm90IChncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQpIHtcXG4gICAgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fcm9vdF9fXFxcXCtiLS1qWmRPLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EsIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX3Jvb3RfX1xcXFwrYi0talpkTy5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfXzBFa2NYN1NhLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faGFzUm9vdFNtYWxsSW5wdXRfX0FvT0JpMWw0IHtcXG4gICAgICBkaXNwbGF5OiBjb250ZW50cztcXG4gICAgfVxcbiAgfVxcbiAgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fcm9vdF9fXFxcXCtiLS1qWmRPLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EuRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfX3dMUTVqN1BqIHtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xcbiAgfVxcbiAgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fcm9vdF9fXFxcXCtiLS1qWmRPLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fbGFiZWxfX3JUdWN5VkpaLCAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19yb290X19cXFxcK2ItLWpaZE8uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX18wRWtjWDdTYSAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19maWVsZF9fVGU1VzVUMFEsIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX3Jvb3RfX1xcXFwrYi0talpkTy5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfXzBFa2NYN1NhIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lucHV0Q29udGFpbmVyX19kdlVOU2c1MiwgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fcm9vdF9fXFxcXCtiLS1qWmRPLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faGVscFRleHRfX2FadHlZZTRRLCAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19yb290X19cXFxcK2ItLWpaZE8uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX18wRWtjWDdTYSAuRm9ybUxheW91dEN1c3RvbUZpZWxkX192YWxpZGF0aW9uVGV4dF9fZ2NTaHFlTzAge1xcbiAgICBncmlkLWFyZWE6IHVuc2V0O1xcbiAgfVxcbiAgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fcm9vdF9fXFxcXCtiLS1qWmRPLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fZmllbGRfX1RlNVc1VDBRLCAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19yb290X19cXFxcK2ItLWpaZE8uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX18wRWtjWDdTYSAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19pbnB1dENvbnRhaW5lcl9fZHZVTlNnNTIsIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX3Jvb3RfX1xcXFwrYi0talpkTy5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfXzBFa2NYN1NhIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2hlbHBUZXh0X19hWnR5WWU0USwgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fcm9vdF9fXFxcXCtiLS1qWmRPLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fdmFsaWRhdGlvblRleHRfX2djU2hxZU8wIHtcXG4gICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XFxuICB9XFxuICAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19yb290X19cXFxcK2ItLWpaZE8uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX18wRWtjWDdTYS5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2hhc1Jvb3RTbWFsbElucHV0X19Bb09CaTFsNCAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19maWVsZF9fVGU1VzVUMFEge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gIH1cXG59XFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fcm9vdF9fXFxcXCtiLS1qWmRPLCAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19yb290X19cXFxcK2ItLWpaZE86aG92ZXIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWN1c3RvbS0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jdXN0b20tLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jdXN0b20tLWRlZmF1bHRfX2JhY2tncm91bmQpO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY3VzdG9tLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWN1c3RvbS0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jdXN0b20tLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpO1xcbn1cXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19yb290X19cXFxcK2ItLWpaZE8uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3REaXNhYmxlZF9fYVdZRTd1dDIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWN1c3RvbS0tZGlzYWJsZWRfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1jdXN0b20tLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWN1c3RvbS0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tY3VzdG9tLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWN1c3RvbS0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWN1c3RvbS0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY3VzdG9tLS1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tY3VzdG9tLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1jdXN0b20tLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1jdXN0b20tLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWN1c3RvbS0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWN1c3RvbS0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19yb290X19cXFxcK2ItLWpaZE8gLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faW5wdXRfX1VIdjFDbGFJOmRpc2FibGVkIHtcXG4gIG9wYWNpdHk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19vcGFjaXR5KTtcXG4gIGN1cnNvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX2N1cnNvcik7XFxufVxcblxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2xhYmVsX19yVHVjeVZKWiB7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGRfX2xhYmVsX19jb2xvcikpO1xcbn1cXG5cXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RSZXF1aXJlZF9fWHA2MDQtV2YgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fbGFiZWxfX3JUdWN5VkpaIHtcXG4gIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX2xhYmVsX19jb2xvcikpO1xcbn1cXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RSZXF1aXJlZF9fWHA2MDQtV2YgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fbGFiZWxfX3JUdWN5VkpaOjphZnRlciB7XFxuICBjb250ZW50OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fc2lnbik7XFxuICBjb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX3NpZ25fX2NvbG9yKTtcXG59XFxuXFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX19CdXpqQVBXTywgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX19CdXpqQVBXTzpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdFN0YXRlSW52YWxpZF9fQnV6akFQV08gLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faW5wdXRfX1VIdjFDbGFJOmNoZWNrZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RTdGF0ZUludmFsaWRfX0J1empBUFdPLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290RGlzYWJsZWRfX2FXWUU3dXQyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX19CdXpqQVBXTyAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19pbnB1dF9fVUh2MUNsYUk6Y2hlY2tlZDpkaXNhYmxlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWQtZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcblxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX1lGaTF2QUlSLCAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RTdGF0ZVZhbGlkX19ZRmkxdkFJUjpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX1lGaTF2QUlSIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lucHV0X19VSHYxQ2xhSTpjaGVja2VkIHtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX1lGaTF2QUlSLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290RGlzYWJsZWRfX2FXWUU3dXQyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U3RhdGVWYWxpZF9fWUZpMXZBSVIgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faW5wdXRfX1VIdjFDbGFJOmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuXFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U3RhdGVXYXJuaW5nX19DSDNkNVNMTSwgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U3RhdGVXYXJuaW5nX19DSDNkNVNMTTpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdFN0YXRlV2FybmluZ19fQ0gzZDVTTE0gLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faW5wdXRfX1VIdjFDbGFJOmNoZWNrZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX0NIM2Q1U0xNLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290RGlzYWJsZWRfX2FXWUU3dXQyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U3RhdGVXYXJuaW5nX19DSDNkNVNMTSAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19pbnB1dF9fVUh2MUNsYUk6Y2hlY2tlZDpkaXNhYmxlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWQtZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcblxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdExheW91dFZlcnRpY2FsX19zcWt5UmRvMCxcXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX18wRWtjWDdTYSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBtaW4td2lkdGg6IDA7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdExheW91dFZlcnRpY2FsX19zcWt5UmRvMCAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19sYWJlbF9fclR1Y3lWSlosXFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fbGFiZWxfX3JUdWN5VkpaIHtcXG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCB2YXIoLS1ydWktZGltZW5zaW9uLXNwYWNlLTEpKTtcXG59XFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0VmVydGljYWxfX3Nxa3lSZG8wIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2hlbHBUZXh0X19hWnR5WWU0USxcXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fc3FreVJkbzAgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fdmFsaWRhdGlvblRleHRfX2djU2hxZU8wLFxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfXzBFa2NYN1NhIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2hlbHBUZXh0X19hWnR5WWU0USxcXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX18wRWtjWDdTYSAuRm9ybUxheW91dEN1c3RvbUZpZWxkX192YWxpZGF0aW9uVGV4dF9fZ2NTaHFlTzAge1xcbiAgcGFkZGluZy10b3A6IHZhcigtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXAsIHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMSkpO1xcbn1cXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fc3FreVJkbzAgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fZmllbGRfX1RlNVc1VDBRLFxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfXzBFa2NYN1NhIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2ZpZWxkX19UZTVXNVQwUSB7XFxuICB3aWR0aDogLXdlYmtpdC1taW4tY29udGVudDtcXG4gIHdpZHRoOiAtbW96LW1pbi1jb250ZW50O1xcbiAgd2lkdGg6IG1pbi1jb250ZW50O1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2Ege1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fd2lkdGgpIC13ZWJraXQtbWluLWNvbnRlbnQ7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3dpZHRoKSBtaW4tY29udGVudDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXFxcImxhYmVsIGZpZWxkXFxcIjtcXG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xcbiAgfVxcbiAgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fbGFiZWxfX3JUdWN5VkpaIHtcXG4gICAgZ3JpZC1hcmVhOiBsYWJlbDtcXG4gICAgYWxpZ24tc2VsZjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuICAgIG1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX21pbi13aWR0aCk7XFxuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15LCBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKSk7XFxuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15LCBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKSk7XFxuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMik7XFxuICAgIHRleHQtYWxpZ246IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX190ZXh0LWFsaWduKTtcXG4gIH1cXG4gIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfXzBFa2NYN1NhIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2ZpZWxkX19UZTVXNVQwUSB7XFxuICAgIGdyaWQtYXJlYTogZmllbGQ7XFxuICAgIGFsaWduLXNlbGY6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2ZpZWxkX192ZXJ0aWNhbC1hbGlnbm1lbnQpO1xcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2EgLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fbGFiZWxfX3JUdWN5VkpaIHtcXG4gICAgLW1zLWdyaWQtcm93OiAxO1xcbiAgICAtbXMtZ3JpZC1jb2x1bW46IDE7XFxuICB9XFxuICAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX18wRWtjWDdTYSAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19maWVsZF9fVGU1VzVUMFEge1xcbiAgICAtbXMtZ3JpZC1yb3c6IDE7XFxuICAgIC1tcy1ncmlkLWNvbHVtbjogMjtcXG4gIH1cXG59XFxuXFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0VmVydGljYWxfX3Nxa3lSZG8wIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2ZpZWxkX19UZTVXNVQwUSxcXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX18wRWtjWDdTYSAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19maWVsZF9fVGU1VzVUMFEge1xcbiAgd2lkdGg6IGF1dG87XFxufVxcblxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fd0xRNWo3UGogLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fZmllbGRfX1RlNVc1VDBRIHtcXG4gIGp1c3RpZnktc2VsZjogc3RyZXRjaDtcXG59XFxuXFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U2l6ZVNtYWxsX191ZmJTTnRleCB7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteSk7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteCk7XFxuICAtLXJ1aS1sb2NhbC1mb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX2ZvbnQtc2l6ZSk7XFxufVxcbi5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdFNpemVTbWFsbF9fdWZiU050ZXggLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faW5wdXRfX1VIdjFDbGFJIHtcXG4gIC0tcnVpLWxvY2FsLWhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zbWFsbF9faGVpZ2h0KTtcXG59XFxuXFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U2l6ZU1lZGl1bV9fXFxcXCtFbHZzTnVSIHtcXG4gIC0tcnVpLWxvY2FsLXBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX3BhZGRpbmcteSk7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19wYWRkaW5nLXgpO1xcbiAgLS1ydWktbG9jYWwtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fZm9udC1zaXplKTtcXG59XFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U2l6ZU1lZGl1bV9fXFxcXCtFbHZzTnVSIC5Gb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lucHV0X19VSHYxQ2xhSSB7XFxuICAtLXJ1aS1sb2NhbC1oZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19oZWlnaHQpO1xcbn1cXG5cXG4uRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RTaXplTGFyZ2VfXzdTWWprQ0ZHIHtcXG4gIC0tcnVpLWxvY2FsLXBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy15KTtcXG4gIC0tcnVpLWxvY2FsLXBhZGRpbmcteDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy14KTtcXG4gIC0tcnVpLWxvY2FsLWZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fZm9udC1zaXplKTtcXG59XFxuLkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U2l6ZUxhcmdlX183U1lqa0NGRyAuRm9ybUxheW91dEN1c3RvbUZpZWxkX19pbnB1dF9fVUh2MUNsYUkge1xcbiAgLS1ydWktbG9jYWwtaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWxhcmdlX19oZWlnaHQpO1xcbn1cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL2NvbXBvbmVudHMvRm9ybUxheW91dC9Gb3JtTGF5b3V0Q3VzdG9tRmllbGQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX2JveC1maWVsZC1sYXlvdXQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvX2JyZWFrcG9pbnQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX3ZhcmlhbnRzLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3RoZW1lL19mb3JtLWZpZWxkcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fZm91bmRhdGlvbi5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy9zZXR0aW5ncy9fZm9ybS1maWVsZHMuc2Nzc1wiLFwiPG5vIHNvdXJjZT5cIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL19ib3gtZmllbGQtc2l6ZXMuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFNQTtFQ3FMSSxtQkFBQTtBRHpMSjtBQzJMSTtFQUNJLFdBQUE7QUR6TFI7QUVLUTtFRHdMQTtJQUNJLFdBQUE7RUQxTFY7RUNvTVU7SUFFSSxhQUFBO0lBQ0EsOEJBQUE7SUFDQSxtQkFBQTtFRG5NZDtFQ3FNYztJQU5KO01BT1EsaUJBQUE7SURsTWhCO0VBQ0Y7RUNxTVU7SUFDSSw4QkFBQTtFRG5NZDtFQ3VNTTtJQUtJLGdCQUFBO0VEek1WO0VDNE1NO0lBSUksb0JBQUE7RUQ3TVY7RUNnTk07SUFDSSxjQUFBO0VEOU1WO0FBQ0Y7QUdpRFE7RUEvQkksK0RBQUE7RUFBQSw2RUFBQTtFQUFBLHlFQUFBO0VBQUEsaUdBQUE7RUFBQSx5RUFBQTtFQUFBLGlHQUFBO0FIVlo7QUcrRFE7RUE5Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FIZVo7QUc4Q0k7RUF0R0EsZ0RDa0JlO0VEakJmLDhDQ2dCYztBSjJDbEI7O0FBakVBO0VLTUksa0ZBQUE7QUwrREo7O0FBakVBO0VLTUksNEZBQUE7QUwrREo7QUs3REk7RUFDSSw2Q0RSUTtFQ1NSLGtERFJjO0FKdUV0Qjs7QUdQUTtFQS9CSSxnRUFBQTtFQUFBLDhFQUFBO0VBQUEsMEVBQUE7RUFBQSxrR0FBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7QUgrQ1o7QUdBUTtFQXhDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBSG9EWjtBR05RO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBSG9GWjtBR2hDUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBSGdHWjs7QUd4RVE7RUEvQkksOERBQUE7RUFBQSw0RUFBQTtFQUFBLHdFQUFBO0VBQUEsZ0dBQUE7RUFBQSx3RUFBQTtFQUFBLGdHQUFBO0FIZ0haO0FHakVRO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FIcUhaO0FHdkVRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBSHFKWjtBR2pHUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBSGlLWjs7QUd6SVE7RUEvQkksZ0VBQUE7RUFBQSw4RUFBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7RUFBQSwwRUFBQTtFQUFBLGtHQUFBO0FIaUxaO0FHbElRO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FIc0xaO0FHeElRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBSHNOWjtBR2xLUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBSGtPWjs7QUExUEE7O0VDb0NJLG9CQUFBO0VBQ0Esc0JBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtBRDJOSjtBQ3pOSTs7RUFDSSwyRUFBQTtBRDROUjtBQ3pOSTs7OztFQUVJLHdFQUFBO0FENk5SO0FDMU5JOztFQUNJLDBCQUFBO0VBQUEsdUJBQUE7RUFBQSxrQkFBQTtFQUNBLGVBQUE7QUQ2TlI7O0FFeFNRO0VGNEJSO0lDcURRLG9CQUFBO0lBQ0EseUZBQUE7SUFBQSxpRkFBQTtJQUNBLGtDQUFBO0lBQ0Esa0JBQUE7RUQ0Tk47RUMxTk07SUFDSSxnQkFBQTtJQUNBLHVFR3RFMEI7SUh1RTFCLDZERzlFaUI7SUhnR2IsMklBQUE7SUFDQSw4SUFBQTtJQUdKLDJDSzVHVztJTDZHWCwrREd0R2tCO0VKK1M1QjtFQ3RNTTtJQUNJLGdCQUFBO0lBQ0EsdUVHbEcwQjtJSG1HMUIsbUJBQUE7RUR3TVY7QUFDRjs7QU96VUE7RU5nR1E7SU1oR1IsZ0JBQUE7SUFBQSxtQkFBQTtFUG1VRTtFQ3RNTTtJTTdIUixnQkFBQTtJQUFBLG1CQUFBO0VQd1VFO0NPeFVGOztBUDBDQTs7RUFFSSxXQUFBO0FBa1NKOztBQS9SQTtFQUNJLHFCQUFBO0FBa1NKOztBQTlSQTtFUTlDSSxrRUFBQTtFQUNBLGtFQUFBO0VBR0ksa0VBQUE7QVI4VVI7QVE1VVE7RUFLUSw0REFBQTtBUjBVaEI7O0FBblNBO0VRbERJLG1FQUFBO0VBQ0EsbUVBQUE7RUFHSSxtRUFBQTtBUnVWUjtBUXJWUTtFQUtRLDZEQUFBO0FSbVZoQjs7QUF4U0E7RVF0REksa0VBQUE7RUFDQSxrRUFBQTtFQUdJLGtFQUFBO0FSZ1dSO0FROVZRO0VBS1EsNERBQUE7QVI0VmhCXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9mb3VuZGF0aW9uXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvYm94LWZpZWxkLWxheW91dFxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2JveC1maWVsZC1zaXplc1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL3ZhcmlhbnRzXFxcIjtcXG5cXG4vLyBGb3VuZGF0aW9uXFxuLnJvb3Qge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtbGF5b3V0LmluLWZvcm0tbGF5b3V0KCk7XFxuICAgIEBpbmNsdWRlIHZhcmlhbnRzLnZpc3VhbChjdXN0b20pO1xcbn1cXG5cXG4ubGFiZWwge1xcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLmxhYmVsKCk7XFxufVxcblxcbi5pc1Jvb3RSZXF1aXJlZCAubGFiZWwge1xcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLmxhYmVsLXJlcXVpcmVkKCk7XFxufVxcblxcbi8vIFN0YXRlc1xcbi5pc1Jvb3RTdGF0ZUludmFsaWQge1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52YWxpZGF0aW9uKGludmFsaWQpO1xcbn1cXG5cXG4uaXNSb290U3RhdGVWYWxpZCB7XFxuICAgIEBpbmNsdWRlIHZhcmlhbnRzLnZhbGlkYXRpb24odmFsaWQpO1xcbn1cXG5cXG4uaXNSb290U3RhdGVXYXJuaW5nIHtcXG4gICAgQGluY2x1ZGUgdmFyaWFudHMudmFsaWRhdGlvbih3YXJuaW5nKTtcXG59XFxuXFxuLy8gTGF5b3V0c1xcbi5pc1Jvb3RMYXlvdXRWZXJ0aWNhbCxcXG4uaXNSb290TGF5b3V0SG9yaXpvbnRhbCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1sYXlvdXQudmVydGljYWwoKTtcXG59XFxuXFxuLmlzUm9vdExheW91dEhvcml6b250YWwge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtbGF5b3V0Lmhvcml6b250YWwoKTtcXG59XFxuXFxuLmlzUm9vdExheW91dFZlcnRpY2FsIC5maWVsZCxcXG4uaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuZmllbGQge1xcbiAgICB3aWR0aDogYXV0bztcXG59XFxuXFxuLmlzUm9vdEZ1bGxXaWR0aCAuZmllbGQge1xcbiAgICBqdXN0aWZ5LXNlbGY6IHN0cmV0Y2g7XFxufVxcblxcbi8vIFNpemVzXFxuLmlzUm9vdFNpemVTbWFsbCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1zaXplcy5zaXplKHNtYWxsKTtcXG59XFxuXFxuLmlzUm9vdFNpemVNZWRpdW0ge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtc2l6ZXMuc2l6ZShtZWRpdW0pO1xcbn1cXG5cXG4uaXNSb290U2l6ZUxhcmdlIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLXNpemVzLnNpemUobGFyZ2UpO1xcbn1cXG5cIixcIi8vIDEuICBJbmxpbmUgZm9ybSBmaWVsZHMgYW5kIGZpZWxkcyB3aXRoIHZlcnRpY2FsIGxheW91dCB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgdGhleSBuZWVkLiBMYWJlbHNcXG4vLyAgICAgZG8gbm90IHdyYXAgdW50aWwgZm9yY2VkIGJ5IGNvbnRhaW5lciBvZiB0aGUgZmllbGQuIE1pbiBhbmQgbWF4IGxpbWl0cyBtYWtlIGV4dHJhIGxvbmcgd29yZHNcXG4vLyAgICAgYnJlYWsgaWYgbmVjZXNzYXJ5Llxcbi8vXFxuLy8gMi4gIEZvcm0gZmllbGRzIGluIGhvcml6b250YWwgbGF5b3V0IGFsc28gdGFrZSB1cCBvbmx5IGFzIG11Y2ggc3BhY2UgYXMgdGhleSBuZWVkLiBMYWJlbHMgZG8gbm90XFxuLy8gICAgIHdyYXAgdW50aWwgbGFiZWwgd2lkdGggbGltaXQgaXMgcmVhY2hlZCAoNTAgJSBvZiBhdmFpbGFibGUgaG9yaXpvbnRhbCBzcGFjZSBieSBkZWZhdWx0KS5cXG4vL1xcbi8vIDMuICBIZWxwIHRleHRzIGFuZCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGFyZSBhbGlnbmVkIGJlbG93IGlucHV0IGFuZCB3cmFwcGVkLiBUaGVpciB3aWR0aCBpcyBhbHdheXNcXG4vLyAgICAgbGltaXRlZCB0byB0aGUgd2lkdGggb2YgdGhlIGlucHV0IGZpZWxkIHNvIHRoZXkgZG9uJ3Qgc2hpZnQgYWRqYWNlbnQgZWxlbWVudHMgd2hlbiB0aGV5IHNob3dcXG4vLyAgICAgdXAuIFRoaXMgYXBwbGllcyB1bmxlc3MgdGhlIGZpZWxkIGlzIGluc2lkZSBGb3JtTGF5b3V0IChzZWUgMTApLlxcbi8vXFxuLy8gNC4gIERlZmluZSBncmlkIHNwYWNpbmcgYXMgcGFkZGluZyBvZiBjaGlsZCBlbGVtZW50cyBiZWNhdXNlIGdyaWQgYXJlYXMgbWFrZSByb3cgYW5kIGNvbHVtbiBnYXBzXFxuLy8gICAgIHNob3cgdXAgZXZlbiB3aGVuIG5vdCBuZWNlc3NhcnkuXFxuLy9cXG4vLyA1LiAgV2hlbiBpbnB1dCBzaXplIGlzIHNtYWxsIGFuZCBmb3JtIGZpZWxkIGxheW91dCBpcyBzZXQgdG8gaG9yaXpvbnRhbCwgZXhwYW5kIGhlbHAgdGV4dCBhbmRcXG4vLyAgICAgdmFsaWRhdGlvbiBtZXNzYWdlIG92ZXIgZnVsbCBmb3JtIGZpZWxkIHdpZHRoIHRvIGltcHJvdmUgdGhlaXIgcmVhZGFiaWxpdHkuIE90aGVyd2lzZSB0aGVcXG4vLyAgICAgdGV4dCB3b3VsZCBiZSBwYWNrZWQgaW50byBhIHZlcnkgbmFycm93IGNvbHVtbiBhbmQgaGFyZCB0byByZWFkLiBUbyBwcmV2ZW50IGhlbHAgdGV4dCBhbmRcXG4vLyAgICAgdmFsaWRhdGlvbiBtZXNzYWdlIGZyb20gZ3Jvd2luZyB0aGUgbGF5b3V0IG1vcmUgdGhhbiBuZWNlc3NhcnkgKGllLiB0aGUgc2l6ZSB3aXRob3V0XFxuLy8gICAgIGhlbHAvdmFsaWRhdGlvbiB0ZXh0KSwgYG1pbi1jb250ZW50YCBncmlkIHNpemluZyBtdXN0IGJlIHVzZWQgYWxvbmcgd2l0aCBkaXNhYmxlZCB3cmFwcGluZyBvZlxcbi8vICAgICBsYWJlbC5cXG4vL1xcbi8vIDYuICBGdWxsLXdpZHRoIGhvcml6b250YWwgZm9ybSBmaWVsZHMgcHJlZmVyIG5vdCB3cmFwcGluZyB0aGUgbGFiZWwgdW50aWwgYSBsaW1pdCBpcyByZWFjaGVkXFxuLy8gICAgICg1MCAlIG9mIGF2YWlsYWJsZSBob3Jpem9udGFsIHNwYWNlIGJ5IGRlZmF1bHQsIHNhbWUgYXMgaW4gMi4pLlxcbi8vXFxuLy8gNy4gIEp1c3RpZnkgaW5wdXRzIHRvIGBzdGFydGAgaW4gaG9yaXpvbnRhbCBsYXlvdXRzIHRvIGZpeCBwb3NpdGlvbmluZyBpc3N1ZXMgd2l0aCBTZWxlY3QgRmllbGRzLlxcbi8vICAgICBSZXZlcnRlZCBmb3IgZnVsbC13aWR0aCBmaWVsZHMuXFxuLy9cXG4vLyA4LiAgR3JpZCBzZXR0aW5ncyBhcmUgaW5oZXJpdGVkIGZyb20gaG9yaXpvbnRhbCBGb3JtTGF5b3V0IGFuZCBhcHBsaWVkIHVzaW5nIGBzdWJncmlkYC5cXG4vLyAgICAgQSBmYWxsYmFjayBpcyBzdXBwbGllZCB0byBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgYHN1YmdyaWRgIHlldC5cXG4vL1xcbi8vICAgICBDaHJvbWUgMTE3KyBzdXBwb3J0cyBgc3ViZ3JpZGAgYnV0IGl0IGRvZXNuJ3Qgd29yayBmb3IgYDxmaWVsZHNldD5gLiBUaGlzIGlzIHdoeSB3ZSBhbHdheXNcXG4vLyAgICAgdXNlIHRoZSBmYWxsYmFjayBmb3IgYDxmaWVsZHNldD5gLlxcbi8vXFxuLy8gICAgIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTE0NzMyNDJcXG4vLyAgICAgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LXVpLW9yZy9yZWFjdC11aS9pc3N1ZXMvMjMyXFxuLy9cXG4vLyA5LiAgSGVscCB0ZXh0cyBhbmQgdmFsaWRhdGlvbiBtZXNzYWdlcyBjYW4gdGFrZSB1cCBmdWxsIHdpZHRoIG9mIEZvcm1MYXlvdXQuIFRoZXJlIGlzIG5vIHJlYXNvblxcbi8vICAgICB0byBtYWtlIHRoZW0gd3JhcCBhcyB0aGV5IGNhbm5vdCBicmVhayBsYXlvdXQgb2YgRm9ybUxheW91dC5cXG4vL1xcbi8vIDEwLiBWaXN1YWxseSBhbGlnbiBsYWJlbCB0byBpbnB1dCBiYXNlbGluZS4gQWNoaWV2ZWQgd2l0aCBgcGFkZGluZy10b3BgIGFuZCBgcGFkZGluZy1ib3R0b21gIGR1ZVxcbi8vICAgICB0byB0d28gcmVhc29uczpcXG4vL1xcbi8vICAgICAqIGBhbGlnbi1pdGVtczogYmFzZWxpbmVgIGRvZXNuJ3Qgd29yayBmb3IgYmxhbmsgdGV4dCBpbnB1dHMgaW4gU2FmYXJpLiBTZWVcXG4vLyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Mjk2OCBhbmRcXG4vLyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LXVpLW9yZy9yZWFjdC11aS9pc3N1ZXMvMjY1Llxcbi8vXFxuLy8gICAgICogYGFsaWduLWl0ZW1zOiBiYXNlbGluZWAgZG9lc24ndCBhbGxvdyBzdWJzZXF1ZW50IHZlcnRpY2FsIGNlbnRlcmluZyBvZiB0YWxsIGlucHV0cyBhbmQvb3JcXG4vLyAgICAgICAgbXVsdGlsaW5lIGxhYmVscyAoc2VlIGB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC12ZXJ0aWNhbC1hbGlnbm1lbnRgIGFuZFxcbi8vICAgICAgICBgdGhlbWUuJGhvcml6b250YWwtZmllbGQtdmVydGljYWwtYWxpZ25tZW50YCkuXFxuLy9cXG4vLyAxMS4gUmVzZXQgYHdpZHRoYCBwcmV2aW91c2x5IHNldCBieSBpbmxpbmUgZmllbGQgbGF5b3V0IChzZWUgYF9pbmxpbmUtZmllbGQtbGF5b3V0LnNjc3NgKS5cXG4vL1xcbi8vIDEyLiBNYWtlIGZpZWxkcyBqdXN0IGFzIHdpZGUgYXMgbmVjZXNzYXJ5LiBGaWVsZHMgc2hvdWxkIGJlIGludGVyYWN0aXZlIG9ubHkgd2hlcmUgdGhlaXIgdmlzaWJsZVxcbi8vICAgICBjb250ZW50IGlzLlxcbi8vXFxuLy8gMTMuIExhYmVsIGFuZCBmaWVsZCBhcmUgdmVydGljYWxseSBhbGlnbmVkIHRvIHRvcCAoc3RhcnQpIGJ5IGRlZmF1bHQgKHNlZSAxMC4pLiBWZXJ0aWNhbFxcbi8vICAgICBhbGlnbm1lbnQgb2YgZWFjaCBibG9jayBjYW4gYmUgY2hhbmdlZCBieSB0aGVtZSBjb25maWd1cmF0aW9uLlxcblxcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm1zXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3JtLWZpZWxkc1xcXCIgYXMgc2V0dGluZ3M7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL3R5cG9ncmFwaHlcXFwiO1xcbkB1c2UgXFxcIi4uL2JyZWFrcG9pbnRcXFwiO1xcblxcbkBtaXhpbiB2ZXJ0aWNhbCgkaGFzLWxpc3Q6IGZhbHNlKSB7XFxuICAgIEBpZiAkaGFzLWxpc3Qge1xcbiAgICAgICAgLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwOiAje3NldHRpbmdzLiR2ZXJ0aWNhbC1pbm5lci1nYXAtbGFyZ2V9O1xcbiAgICB9XFxuXFxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyAvLyAxLlxcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBtaW4td2lkdGg6IDA7IC8vIDEuXFxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMS5cXG5cXG4gICAgLmxhYmVsIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCAje3NldHRpbmdzLiR2ZXJ0aWNhbC1pbm5lci1nYXB9KTtcXG4gICAgfVxcblxcbiAgICAuaGVscFRleHQsXFxuICAgIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tcnVpLWxvY2FsLXZlcnRpY2FsLWdhcCwgI3tzZXR0aW5ncy4kdmVydGljYWwtaW5uZXItZ2FwfSk7XFxuICAgIH1cXG5cXG4gICAgLmZpZWxkIHtcXG4gICAgICAgIHdpZHRoOiBtaW4tY29udGVudDsgLy8gMy5cXG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgLy8gMy5cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaG9yaXpvbnRhbCgkaGFzLW1pbi10YXAtdGFyZ2V0OiBmYWxzZSkge1xcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGZvcm1zLiRob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ncmlkOyAvLyAyLlxcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC13aWR0aCBtaW4tY29udGVudDsgLy8gMi5cXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFxcXCJsYWJlbCBmaWVsZFxcXCI7XFxuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7IC8vIDEwLiwgMTMuXFxuXFxuICAgICAgICAubGFiZWwge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogbGFiZWw7XFxuICAgICAgICAgICAgYWxpZ24tc2VsZjogdGhlbWUuJGhvcml6b250YWwtbGFiZWwtdmVydGljYWwtYWxpZ25tZW50OyAvLyAxMy5cXG4gICAgICAgICAgICBtaW4td2lkdGg6IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLW1pbi13aWR0aDtcXG5cXG4gICAgICAgICAgICAvLyAxMC5cXG4gICAgICAgICAgICBAaWYgJGhhcy1taW4tdGFwLXRhcmdldCB7XFxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOlxcbiAgICAgICAgICAgICAgICAgICAgY2FsYyhcXG4gICAgICAgICAgICAgICAgICAgICAgICAoI3t0aGVtZS4kY2hlY2stdGFwLXRhcmdldC1zaXplfSAtIDFyZW0gKiAje3R5cG9ncmFwaHkuJGxpbmUtaGVpZ2h0LWJhc2V9KVxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8gMlxcbiAgICAgICAgICAgICAgICAgICAgKTtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206XFxuICAgICAgICAgICAgICAgICAgICBjYWxjKFxcbiAgICAgICAgICAgICAgICAgICAgICAgICgje3RoZW1lLiRjaGVjay10YXAtdGFyZ2V0LXNpemV9IC0gMXJlbSAqICN7dHlwb2dyYXBoeS4kbGluZS1oZWlnaHQtYmFzZX0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgLyAyXFxuICAgICAgICAgICAgICAgICAgICApO1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAvLyAxMC4sIDEzLlxcbiAgICAgICAgICAgIEBlbHNlIHtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICN7dGhlbWUuJGhvcml6b250YWwtbGFiZWwtcGFkZGluZy15fTtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICN7dGhlbWUuJGhvcml6b250YWwtbGFiZWwtcGFkZGluZy15fTtcXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogc2V0dGluZ3MuJGhvcml6b250YWwtaW5uZXItZ2FwOyAvLyA0LlxcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXRleHQtYWxpZ247XFxuICAgICAgICB9XFxuXFxuICAgICAgICAuZmllbGQge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogZmllbGQ7XFxuICAgICAgICAgICAgYWxpZ24tc2VsZjogdGhlbWUuJGhvcml6b250YWwtZmllbGQtdmVydGljYWwtYWxpZ25tZW50OyAvLyAxMy5cXG4gICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0OyAvLyA3LlxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBob3Jpem9udGFsLXdpdGgtc21hbGwtaW5wdXQoKSB7XFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW4tY29udGVudCBtaW4tY29udGVudDsgLy8gNS5cXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XFxuICAgICAgICAgICAgXFxcImxhYmVsIGZpZWxkXFxcIlxcbiAgICAgICAgICAgIFxcXCJoZWxwdGV4dCBoZWxwdGV4dFxcXCJcXG4gICAgICAgICAgICBcXFwidmFsaWRhdGlvbnRleHQgdmFsaWRhdGlvbnRleHRcXFwiOyAvLyA1LlxcblxcbiAgICAgICAgLmxhYmVsIHtcXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLmZpZWxkIHtcXG4gICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50czsgLy8gNS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC5pbnB1dENvbnRhaW5lciB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBmaWVsZDsgLy8gNS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC5oZWxwVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBoZWxwdGV4dDsgLy8gNS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiB2YWxpZGF0aW9udGV4dDsgLy8gNS5cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gZnVsbC13aWR0aCgpIHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgd2lkdGg6IDEwMCU7XFxuXFxuICAgIC5maWVsZCxcXG4gICAgLmlucHV0Q29udGFpbmVyLFxcbiAgICAuaW5wdXQge1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgIH1cXG5cXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChmb3Jtcy4kaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwge1xcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XFxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB0aGVtZS4kaG9yaXpvbnRhbC1mdWxsLXdpZHRoLWxhYmVsLXdpZHRoIDFmcjsgLy8gNi5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuZmllbGQge1xcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogc3RyZXRjaDsgLy8gNy5cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaW4tZm9ybS1sYXlvdXQoJGlzLWZpZWxkc2V0OiBmYWxzZSkge1xcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0OyAvLyAxMi5cXG5cXG4gICAgLmZpZWxkIHtcXG4gICAgICAgIHdpZHRoOiBhdXRvOyAvLyA5LlxcbiAgICB9XFxuXFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgLm9wdGlvbkxhYmVsIHtcXG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgLy8gMTEuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAvLyA4LlxcbiAgICAgICAgQGlmICRpcy1maWVsZHNldCB7XFxuICAgICAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLFxcbiAgICAgICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbC5oYXNSb290U21hbGxJbnB1dCB7XFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0gQGVsc2Uge1xcbiAgICAgICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCxcXG4gICAgICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwuaGFzUm9vdFNtYWxsSW5wdXQge1xcbiAgICAgICAgICAgICAgICBncmlkOiBpbmhlcml0O1xcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XFxuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XFxuXFxuICAgICAgICAgICAgICAgIEBzdXBwb3J0cyBub3QgKGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZCkge1xcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLmlzUm9vdEZ1bGxXaWR0aCB7XFxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmxhYmVsLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaW5wdXRDb250YWluZXIsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmhlbHBUZXh0LFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiB1bnNldDsgLy8gOC5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuZmllbGQsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmlucHV0Q29udGFpbmVyLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5oZWxwVGV4dCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyOyAvLyA4LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLmhhc1Jvb3RTbWFsbElucHV0IC5maWVsZCB7XFxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vIDUuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXCIsXCJAdXNlIFxcXCJzYXNzOm1hcFxcXCI7XFxuQHVzZSBcXFwiLi4vc2V0dGluZ3MvYnJlYWtwb2ludHNcXFwiO1xcblxcbkBtaXhpbiB1cCgkYnJlYWtwb2ludCkge1xcbiAgICBAaWYgbm90IG1hcC5oYXMta2V5KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgYnJlYWtwb2ludCBzcGVjaWZpZWQhICN7JGJyZWFrcG9pbnR9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMoYnJlYWtwb2ludHMuJHZhbHVlcyl9XFxcIjtcXG4gICAgfSBAZWxzZSBpZiBtYXAuZ2V0KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSA9PSAwIHtcXG4gICAgICAgIEBjb250ZW50O1xcbiAgICB9IEBlbHNlIHtcXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSkge1xcbiAgICAgICAgICAgIEBjb250ZW50O1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiLFwiLy8gMS4gRHVlIHRvIGNvbXBsZXhpdHksIGl0J3MgZWFzaWVyIGFuZCBzYWZlciB0byByZXNvbHZlIHZhcmlhbnQgY3VzdG9tIHByb3BlcnRpZXMgZHluYW1pY2FsbHkgd2l0aFxcbi8vICAgIGEgbWl4aW4uIFRoaXMgd2F5IGl0J3MgYWxzbyBlYXNpZXIgdG8gbWFrZSB0aGVtaW5nIGFkanVzdG1lbnRzIHRvIGFsbCBzdXBwb3J0ZWQgbW9kaWZpY2F0aW9uc1xcbi8vICAgIGluIG9uZSBwbGFjZS4gR2VuZXJhdGVkIGN1c3RvbSBwcm9wZXJ0aWVzIGFyZSBjb25zdW1lZCBtYWlubHkgaW4gZm91bmRhdGlvbiBmaWVsZCBzdHlsZXMgKHNlZVxcbi8vICAgIGB0b29scy9mb3JtLWZpZWxkcy9fZm91bmRhdGlvbi5zY3NzYCBmb3IgbW9yZSkuXFxuLy9cXG4vLyAyLiBJbnRlcmFjdGlvbiBzdGF0ZXMgb3RoZXIgdGhhbiBgZGVmYXVsdGAgZGVmYXVsdCB0byB0aGUgYGRlZmF1bHRgIChzaWMhKSBzdGF0ZSBhcHBlYXJhbmNlIGlmXFxuLy8gICAgY29ycmVzcG9uZGluZyBjdXN0b20gcHJvcGVydGllcyBhcmUgbm90IHByb3ZpZGVkLlxcbi8vXFxuLy8gMy4gYC5pbnB1dDpmb2N1c2AgaXMgYWRkZWQganVzdCBpbiBjYXNlIGA6Zm9jdXMtd2l0aGluYCBkb2Vzbid0IHdvcmsuXFxuXFxuQHVzZSBcXFwic2FzczpsaXN0XFxcIjtcXG5AdXNlIFxcXCJzYXNzOm1hcFxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybS1maWVsZHNcXFwiIGFzIHNldHRpbmdzO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL2Zvcm0tZmllbGRzXFxcIiBhcyB0aGVtZTtcXG5cXG5AbWl4aW4gX2Rpc2FibGVkLXN0YXRlKCkge1xcbiAgICBvcGFjaXR5OiB0aGVtZS4kZGlzYWJsZWQtb3BhY2l0eTtcXG4gICAgY3Vyc29yOiB0aGVtZS4kZGlzYWJsZWQtY3Vyc29yO1xcbn1cXG5cXG4vLyAxLlxcbkBtaXhpbiBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCAkc3RhdGUpIHtcXG4gICAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKG1hcC5nZXQoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcywgJHR5cGUpKSwgJHZhcmlhbnQpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiSW52YWxpZCB2YXJpYW50IHNwZWNpZmllZCEgI3skdmFyaWFudH0gZG9lc24ndCBleGlzdC4gXFxcIlxcbiAgICAgICAgICAgICsgXFxcIkNob29zZSBvbmUgb2YgI3ttYXAua2V5cyhtYXAuZ2V0KHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMsICR0eXBlKSl9LlxcXCI7XFxuICAgIH1cXG5cXG4gICAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKHNldHRpbmdzLiR0aGVtZWFibGUtc3RhdGUtcHJvcGVydGllcyksICRzdGF0ZSkge1xcbiAgICAgICAgQGVycm9yIFxcXCJJbnZhbGlkIHN0YXRlIHNwZWNpZmllZCEgI3skc3RhdGV9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMoc2V0dGluZ3MuJHRoZW1lYWJsZS1zdGF0ZS1wcm9wZXJ0aWVzKX0uXFxcIjtcXG4gICAgfVxcblxcbiAgICAkcHJvcGVydGllczogbWFwLmdldChzZXR0aW5ncy4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXMsICRzdGF0ZSk7XFxuICAgICRpbmZpeDogJHR5cGU7XFxuICAgICRmYWxsYmFjay1zdGF0ZTogXFxcImRlZmF1bHRcXFwiO1xcblxcbiAgICBAaWYgJHR5cGUgPT0gXFxcInZhbGlkYXRpb25cXFwiIHtcXG4gICAgICAgICRpbmZpeDogJHZhcmlhbnQ7XFxuICAgIH1cXG5cXG4gICAgQGlmICR0eXBlICE9IFxcXCJ2YWxpZGF0aW9uXFxcIiBhbmQgJHZhcmlhbnQgIT0gXFxcImRlZmF1bHRcXFwiIHtcXG4gICAgICAgICRpbmZpeDogI3skdHlwZX0tLSN7JHZhcmlhbnR9O1xcbiAgICB9XFxuXFxuICAgIEBpZiAkc3RhdGUgPT0gXFxcImNoZWNrZWQtZGlzYWJsZWRcXFwiIHtcXG4gICAgICAgICRmYWxsYmFjay1zdGF0ZTogXFxcImNoZWNrZWRcXFwiO1xcbiAgICB9XFxuXFxuICAgIEBpZiAkc3RhdGUgPT0gXFxcImRlZmF1bHRcXFwiIHtcXG4gICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XFxuICAgICAgICAgICAgLS1ydWktbG9jYWwtI3skcHJvcGVydHl9OiB2YXIoLS1ydWktRm9ybUZpZWxkLS0jeyRpbmZpeH0tLSN7JHN0YXRlfV9fI3skcHJvcGVydHl9KTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICAvLyAyLlxcbiAgICBAZWxzZSB7XFxuICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xcbiAgICAgICAgICAgIC0tcnVpLWxvY2FsLSN7JHByb3BlcnR5fTpcXG4gICAgICAgICAgICAgICAgdmFyKFxcbiAgICAgICAgICAgICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS0jeyRpbmZpeH0tLSN7JHN0YXRlfV9fI3skcHJvcGVydHl9LFxcbiAgICAgICAgICAgICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tI3skaW5maXh9LS0jeyRmYWxsYmFjay1zdGF0ZX1fXyN7JHByb3BlcnR5fSlcXG4gICAgICAgICAgICAgICAgKTtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gX2dldC10aGVtZSgkdHlwZSwgJHZhcmlhbnQpIHtcXG4gICAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMpLCAkdHlwZSkge1xcbiAgICAgICAgQGVycm9yIFxcXCJJbnZhbGlkIHR5cGUgc3BlY2lmaWVkISAjeyR0eXBlfSBkb2Vzbid0IGV4aXN0LiBcXFwiXFxuICAgICAgICAgICAgKyBcXFwiQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMpfS5cXFwiO1xcbiAgICB9XFxuXFxuICAgICR0aGVtZWFibGUtc3RhdGVzOiBtYXAuZ2V0KG1hcC5nZXQoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcywgJHR5cGUpLCAkdmFyaWFudCk7XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiaG92ZXJcXFwiKSB7XFxuICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiZGVmYXVsdFxcXCIpO1xcblxcbiAgICAgICAgJjpob3ZlciB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImhvdmVyXFxcIik7XFxuICAgICAgICB9XFxuICAgIH0gQGVsc2Uge1xcbiAgICAgICAgJixcXG4gICAgICAgICY6aG92ZXIge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJkZWZhdWx0XFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJmb2N1c1xcXCIpIHtcXG4gICAgICAgIC8vIDMuXFxuICAgICAgICAmOmZvY3VzLXdpdGhpbixcXG4gICAgICAgICY6Zm9jdXMtd2l0aGluOmhvdmVyLFxcbiAgICAgICAgLmlucHV0OmZvY3VzIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiZm9jdXNcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImNoZWNrZWRcXFwiKSB7XFxuICAgICAgICAuaW5wdXQ6Y2hlY2tlZCB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImNoZWNrZWRcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImRpc2FibGVkXFxcIikge1xcbiAgICAgICAgJi5pc1Jvb3REaXNhYmxlZCB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImRpc2FibGVkXFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJjaGVja2VkLWRpc2FibGVkXFxcIikge1xcbiAgICAgICAgLmlucHV0OmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJjaGVja2VkLWRpc2FibGVkXFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIHZpc3VhbCgkdHlwZSwgJHZhcmlhbnQ6IFxcXCJkZWZhdWx0XFxcIiwgJGhhcy1jYXJldDogZmFsc2UpIHtcXG4gICAgQGluY2x1ZGUgX2dldC10aGVtZSgkdHlwZSwgJHZhcmlhbnQpO1xcblxcbiAgICAuaW5wdXQ6ZGlzYWJsZWQge1xcbiAgICAgICAgQGluY2x1ZGUgX2Rpc2FibGVkLXN0YXRlKCk7XFxuICAgIH1cXG5cXG4gICAgQGlmICR0eXBlID09IFxcXCJib3hcXFwiIGFuZCAkdmFyaWFudCA9PSBcXFwiZmlsbGVkXFxcIiB7XFxuICAgICAgICAuaW5wdXQge1xcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmICR0eXBlID09IFxcXCJib3hcXFwiIGFuZCAkdmFyaWFudCA9PSBcXFwib3V0bGluZVxcXCIgYW5kICRoYXMtY2FyZXQge1xcbiAgICAgICAgLmNhcmV0IHtcXG4gICAgICAgICAgICBib3JkZXItbGVmdDogdGhlbWUuJGJveC1ib3JkZXItd2lkdGggdGhlbWUuJGJveC1zZWxlY3QtY2FyZXQtYm9yZGVyLXN0eWxlIHZhcigtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3IpO1xcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLiRib3gtc2VsZWN0LWNhcmV0LWJhY2tncm91bmQ7XFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdERpc2FibGVkIC5jYXJldCB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2Rpc2FibGVkLXN0YXRlKCk7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIHZhbGlkYXRpb24oJHZhcmlhbnQpIHtcXG4gICAgQGluY2x1ZGUgX2dldC10aGVtZSh2YWxpZGF0aW9uLCAkdmFyaWFudCk7XFxufVxcblwiLFwiLy8gVmFyaWFudCBzcGVjaWZpYyB0aGVtZSBvcHRpb25zIGFyZSBvYnRhaW5lZCBkeW5hbWljYWxseSBiZWNhdXNlIHRoZXJlIGlzIHdheSB0b28gbWFueSBvZiB0aGVtIHRvXFxuLy8gbWFpbnRhaW4gbWFudWFsbHkuIFNlZSBgc2V0dGluZ3MvX2Zvcm0tZmllbGRzLnNjc3NgIGFuZCBgdG9vbHMvZm9ybS1maWVsZHMvX3ZhcmlhbnRzLnNjc3NgIGZvclxcbi8vIGRldGFpbHMuXFxuLy9cXG4vLyAxLiBEZWZhdWx0cyB0byB6ZXJvIHdoZW4gbmVpdGhlciBgLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15YCAob3B0aW9uYWwpIG5vclxcbi8vICAgIGAtLXJ1aS1sb2NhbC1wYWRkaW5nLXlgIChoYW5kbGVkIGJ5IHRoZSBgc2l6ZSgpYCBtaXhpbiBpbiBjYXNlIG9mIGJveCBmb3JtIGZpZWxkcywgc2VlXFxuLy8gICAgYF9ib3gtZmllbGQtc2l6ZXMuc2Nzc2ApIGlzIGRlZmluZWQuIFRoaXMgaXMgdXNlZnVsIGJlY2F1c2UgRm9ybUxheW91dEN1c3RvbUZpZWxkIG1heSBoYXZlIG5vXFxuLy8gICAgc2l6ZSBzcGVjaWZpZWQgdGhlcmVmb3JlIGl0cyBsYWJlbCBzaG91bGQgaGF2ZSBubyBwYWRkaW5nIGF0IHRoZSB0b3AuXFxuXFxuLy8gRm9ybXMgZmllbGRzOiBjb21tb24gcHJvcGVydGllc1xcbiRsYWJlbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZF9fbGFiZWxfX2NvbG9yKTtcXG4kbGFiZWwtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkX19sYWJlbF9fZm9udC1zaXplKTtcXG4kaGVscC10ZXh0LWZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXNpemUpO1xcbiRoZWxwLXRleHQtZm9udC1zdHlsZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXN0eWxlKTtcXG4kaGVscC10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2NvbG9yKTtcXG4kcmVxdWlyZWQtbGFiZWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19sYWJlbF9fY29sb3IpO1xcbiRyZXF1aXJlZC1zaWduOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fc2lnbik7XFxuJHJlcXVpcmVkLXNpZ24tY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19zaWduX19jb2xvcik7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGhvcml6b250YWwgbGF5b3V0XFxuJGhvcml6b250YWwtbGFiZWwtdGV4dC1hbGlnbjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3RleHQtYWxpZ24pO1xcbiRob3Jpem9udGFsLWxhYmVsLW1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX21pbi13aWR0aCk7XFxuJGhvcml6b250YWwtbGFiZWwtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX193aWR0aCk7XFxuJGhvcml6b250YWwtbGFiZWwtcGFkZGluZy15OlxcbiAgICB2YXIoXFxuICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19wYWRkaW5nLXksXFxuICAgICAgICBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKVxcbiAgICApOyAvLyAxLlxcbiRob3Jpem9udGFsLWxhYmVsLXZlcnRpY2FsLWFsaWdubWVudDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuJGhvcml6b250YWwtZmllbGQtdmVydGljYWwtYWxpZ25tZW50OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19maWVsZF9fdmVydGljYWwtYWxpZ25tZW50KTtcXG4kaG9yaXpvbnRhbC1mdWxsLXdpZHRoLWxhYmVsLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsLS1mdWxsLXdpZHRoX19sYWJlbF9fd2lkdGgpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBkaXNhYmxlZCBzdGF0ZVxcbiRkaXNhYmxlZC1jdXJzb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19jdXJzb3IpO1xcbiRkaXNhYmxlZC1vcGFjaXR5OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fb3BhY2l0eSk7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGJveCBmaWVsZHNcXG4kYm94LWJvcmRlci13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpO1xcbiRib3gtYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItcmFkaXVzKTtcXG4kYm94LWlucHV0LXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2lucHV0X193aWR0aCk7XFxuJGJveC1pbnB1dC1taW4td2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9faW5wdXRfX21pbi13aWR0aCk7XFxuJGJveC1wbGFjZWhvbGRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19wbGFjZWhvbGRlcl9fY29sb3IpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBib3ggZmllbGRzLCBjb21wb25lbnQgc3BlY2lmaWNcXG4kYm94LXNlbGVjdC1jYXJldC1ib3JkZXItc3R5bGU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc2VsZWN0X19jYXJldF9fYm9yZGVyLXN0eWxlKTtcXG4kYm94LXNlbGVjdC1jYXJldC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fY2FyZXRfX2JhY2tncm91bmQpO1xcbiRib3gtc2VsZWN0LW9wdGlvbi1kaXNhYmxlZC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zZWxlY3RfX29wdGlvbi0tZGlzYWJsZWRfX2NvbG9yKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogYm94IGZpZWxkIHNpemVzXFxuJGJveC1zaXplczogKFxcbiAgICBzbWFsbDogKFxcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19oZWlnaHQpLFxcbiAgICAgICAgcGFkZGluZy15OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19wYWRkaW5nLXkpLFxcbiAgICAgICAgcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19wYWRkaW5nLXgpLFxcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19mb250LXNpemUpLFxcbiAgICApLFxcbiAgICBtZWRpdW06IChcXG4gICAgICAgIGhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX2hlaWdodCksXFxuICAgICAgICBwYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19wYWRkaW5nLXkpLFxcbiAgICAgICAgcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fcGFkZGluZy14KSxcXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX2ZvbnQtc2l6ZSksXFxuICAgICksXFxuICAgIGxhcmdlOiAoXFxuICAgICAgICBoZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX2hlaWdodCksXFxuICAgICAgICBwYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX3BhZGRpbmcteSksXFxuICAgICAgICBwYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX3BhZGRpbmcteCksXFxuICAgICAgICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX2ZvbnQtc2l6ZSksXFxuICAgICksXFxuKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogY2hlY2sgZmllbGRzXFxuJGNoZWNrLWlucHV0LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dF9fc2l6ZSk7XFxuJGNoZWNrLWlucHV0LWJvcmRlci13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0X19ib3JkZXItd2lkdGgpO1xcbiRjaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLWZvY3VzX19ib3gtc2hhZG93KTtcXG4kY2hlY2stdGFwLXRhcmdldC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19fdGFwLXRhcmdldC1zaXplKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogY2hlY2sgZmllbGRzLCBjb21wb25lbnQgc3BlY2lmaWNcXG4kY2hlY2staW5wdXQtY2hlY2tib3gtYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1jaGVja2JveF9fYm9yZGVyLXJhZGl1cyk7XFxuJGNoZWNrLWlucHV0LWNoZWNrYm94LWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1jaGVja2JveC0tY2hlY2tlZF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXJhZGlvLWJvcmRlci1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tcmFkaW9fX2JvcmRlci1yYWRpdXMpO1xcbiRjaGVjay1pbnB1dC1yYWRpby1jaGVja2VkLWJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tcmFkaW8tLWNoZWNrZWRfX2JhY2tncm91bmQtaW1hZ2UpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlX193aWR0aCk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1ib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZV9fYm9yZGVyLXJhZGl1cyk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1iYWNrZ3JvdW5kLXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlX19iYWNrZ3JvdW5kLXNpemUpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtZGVmYXVsdC1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZS0tZGVmYXVsdF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1kZWZhdWx0LWJhY2tncm91bmQtcG9zaXRpb246XFxuICAgIHZhcihcXG4gICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWRlZmF1bHRfX2JhY2tncm91bmQtcG9zaXRpb25cXG4gICAgKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWNoZWNrZWRfX2JhY2tncm91bmQtaW1hZ2UpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtY2hlY2tlZC1iYWNrZ3JvdW5kLXBvc2l0aW9uOlxcbiAgICB2YXIoXFxuICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlLS1jaGVja2VkX19iYWNrZ3JvdW5kLXBvc2l0aW9uXFxuICAgICk7XFxuXCIsXCIvLyAxLiBEb24ndCBsZXQgdGV4dCBhbGlnbm1lbnQgYmUgYWZmZWN0ZWQgYnkgYSBwYXJlbnQuXFxuLy8gMi4gT3ZlcnJpZGUgZm91bmRhdGlvbiByZXNldC5cXG5cXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3JtLWZpZWxkc1xcXCIgYXMgc2V0dGluZ3M7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcblxcbkBtaXhpbiByb290KCkge1xcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAxLlxcbn1cXG5cXG5AbWl4aW4gZmllbGRzZXQoKSB7XFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyAyLlxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBsYWJlbCgpIHtcXG4gICAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCAje3RoZW1lLiRsYWJlbC1jb2xvcn0pO1xcbn1cXG5cXG5AbWl4aW4gbGFiZWwtcmVxdWlyZWQoKSB7XFxuICAgIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgI3t0aGVtZS4kcmVxdWlyZWQtbGFiZWwtY29sb3J9KTtcXG5cXG4gICAgJjo6YWZ0ZXIge1xcbiAgICAgICAgY29udGVudDogdGhlbWUuJHJlcXVpcmVkLXNpZ247XFxuICAgICAgICBjb2xvcjogdGhlbWUuJHJlcXVpcmVkLXNpZ24tY29sb3I7XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGhlbHAtdGV4dCgpIHtcXG4gICAgZm9udC1zdHlsZTogdGhlbWUuJGhlbHAtdGV4dC1mb250LXN0eWxlO1xcbiAgICBmb250LXNpemU6IHRoZW1lLiRoZWxwLXRleHQtZm9udC1zaXplO1xcbiAgICBsaW5lLWhlaWdodDogc2V0dGluZ3MuJGhlbHAtdGV4dC1saW5lLWhlaWdodDtcXG4gICAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCAje3RoZW1lLiRoZWxwLXRleHQtY29sb3J9KTtcXG59XFxuXCIsXCIvLyAxLiBJbnB1dCBgbGluZS1oZWlnaHRgIGlzIHNwZWNpZmllZCBpbiBgcmVtYCBzbyBpbnB1dHMgZG8gbm90IGJyZWFrIHdoZW4gdGhlaXIgZm9udCBzaXplIGdldHNcXG4vLyAgICBjaGFuZ2VkIGxhdGVyLlxcblxcbkB1c2UgXFxcInNhc3M6bWFwXFxcIjtcXG5AdXNlIFxcXCIuLi90aGVtZS90eXBvZ3JhcGh5XFxcIjtcXG5AdXNlIFxcXCIuLi90b29scy9zcGFjaW5nXFxcIjtcXG5cXG4kaGVscC10ZXh0LWxpbmUtaGVpZ2h0OiAxLjJyZW07XFxuXFxuJHZlcnRpY2FsLWlubmVyLWdhcDogc3BhY2luZy5vZigxKTtcXG4kdmVydGljYWwtaW5uZXItZ2FwLWxhcmdlOiBzcGFjaW5nLm9mKDIpO1xcbiR2ZXJ0aWNhbC1vdXRlci1zcGFjaW5nOiBzcGFjaW5nLm9mKDIpO1xcblxcbiRob3Jpem9udGFsLWlubmVyLWdhcDogc3BhY2luZy5vZigyKTtcXG4kaG9yaXpvbnRhbC1vdXRlci1zcGFjaW5nOiBzcGFjaW5nLm9mKDIpO1xcblxcbiRib3gtaW5wdXQtZm9udC1mYW1pbHk6IHR5cG9ncmFwaHkuJGZvbnQtZmFtaWx5LWJhc2U7XFxuJGJveC1pbnB1dC1mb250LXdlaWdodDogbWFwLmdldCh0eXBvZ3JhcGh5LiRmb250LXdlaWdodC12YWx1ZXMsIGRlZmF1bHQpO1xcbiRib3gtaW5wdXQtbGluZS1oZWlnaHQ6IDEuNXJlbTsgLy8gMS5cXG4kYm94LWZpZWxkLWNhcmV0LXNpemU6IDIuMjVyZW07XFxuJGJveC1maWVsZC1pbnB1dC1udW1iZXItYXJyb3dzLXdpZHRoOiAxLjVyZW07XFxuJGJveC1maWVsZC1ib3R0b20tbGluZS1oZWlnaHQ6IDJweDtcXG5cXG4kaW5saW5lLWZpZWxkLWlubmVyLWdhcDogc3BhY2luZy5vZigyKTtcXG5cXG4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzOiAoXFxuICAgIGJveDogKFxcbiAgICAgICAgZmlsbGVkOiAoZGVmYXVsdCwgaG92ZXIsIGZvY3VzLCBkaXNhYmxlZCksXFxuICAgICAgICBvdXRsaW5lOiAoZGVmYXVsdCwgaG92ZXIsIGZvY3VzLCBkaXNhYmxlZCksXFxuICAgICksXFxuICAgIGNoZWNrOiAoXFxuICAgICAgICBkZWZhdWx0OiAoZGVmYXVsdCwgY2hlY2tlZCwgZGlzYWJsZWQsIGNoZWNrZWQtZGlzYWJsZWQpLFxcbiAgICApLFxcbiAgICBjdXN0b206IChcXG4gICAgICAgIGRlZmF1bHQ6IChkZWZhdWx0LCBkaXNhYmxlZCksXFxuICAgICksXFxuICAgIHZhbGlkYXRpb246IChcXG4gICAgICAgIGludmFsaWQ6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICAgICB2YWxpZDogKGRlZmF1bHQsIGNoZWNrZWQsIGRpc2FibGVkLCBjaGVja2VkLWRpc2FibGVkKSxcXG4gICAgICAgIHdhcm5pbmc6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICksXFxuKTtcXG5cXG4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXM6IChcXG4gICAgZGVmYXVsdDogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGNoZWNrLWJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3csIHN1cnJvdW5kaW5nLXRleHQtY29sb3IpLFxcbiAgICBob3ZlcjogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGJveC1zaGFkb3cpLFxcbiAgICBmb2N1czogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGNoZWNrLWJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cpLFxcbiAgICBjaGVja2VkOiAoYm9yZGVyLWNvbG9yLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yKSxcXG4gICAgZGlzYWJsZWQ6IChjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93LCBzdXJyb3VuZGluZy10ZXh0LWNvbG9yKSxcXG4gICAgY2hlY2tlZC1kaXNhYmxlZDogKGJvcmRlci1jb2xvciwgY2hlY2stYmFja2dyb3VuZC1jb2xvciksXFxuKTtcXG5cIixudWxsLFwiQHVzZSBcXFwic2FzczptYXBcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL2Zvcm0tZmllbGRzXFxcIiBhcyB0aGVtZTtcXG5cXG5AbWl4aW4gc2l6ZSgkc2l6ZSwgJGhhcy1pbnB1dDogdHJ1ZSwgJGlzLW11bHRpbGluZTogZmFsc2UpIHtcXG4gICAgJHNpemUtcHJvcGVydGllczogbWFwLmdldCh0aGVtZS4kYm94LXNpemVzLCAkc2l6ZSk7XFxuXFxuICAgIC0tcnVpLWxvY2FsLXBhZGRpbmcteTogI3ttYXAuZ2V0KCRzaXplLXByb3BlcnRpZXMsIHBhZGRpbmcteSl9O1xcbiAgICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXg6ICN7bWFwLmdldCgkc2l6ZS1wcm9wZXJ0aWVzLCBwYWRkaW5nLXgpfTtcXG5cXG4gICAgQGlmICRoYXMtaW5wdXQge1xcbiAgICAgICAgLS1ydWktbG9jYWwtZm9udC1zaXplOiAje21hcC5nZXQoJHNpemUtcHJvcGVydGllcywgZm9udC1zaXplKX07XFxuXFxuICAgICAgICAuaW5wdXQge1xcbiAgICAgICAgICAgIEBpZiAkaXMtbXVsdGlsaW5lIHtcXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBtYXAuZ2V0KCRzaXplLXByb3BlcnRpZXMsIGhlaWdodCk7XFxuICAgICAgICAgICAgfSBAZWxzZSB7XFxuICAgICAgICAgICAgICAgIC0tcnVpLWxvY2FsLWhlaWdodDogI3ttYXAuZ2V0KCRzaXplLXByb3BlcnRpZXMsIGhlaWdodCl9O1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLmxvY2FscyA9IHtcblx0XCJyb290XCI6IFwiRm9ybUxheW91dEN1c3RvbUZpZWxkX19yb290X18rYi0talpkT1wiLFxuXHRcImZpZWxkXCI6IFwiRm9ybUxheW91dEN1c3RvbUZpZWxkX19maWVsZF9fVGU1VzVUMFFcIixcblx0XCJvcHRpb25MYWJlbFwiOiBcIkZvcm1MYXlvdXRDdXN0b21GaWVsZF9fb3B0aW9uTGFiZWxfX3pvWE1yWDREXCIsXG5cdFwiaXNSb290TGF5b3V0SG9yaXpvbnRhbFwiOiBcIkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fMEVrY1g3U2FcIixcblx0XCJoYXNSb290U21hbGxJbnB1dFwiOiBcIkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faGFzUm9vdFNtYWxsSW5wdXRfX0FvT0JpMWw0XCIsXG5cdFwiaXNSb290RnVsbFdpZHRoXCI6IFwiRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfX3dMUTVqN1BqXCIsXG5cdFwibGFiZWxcIjogXCJGb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2xhYmVsX19yVHVjeVZKWlwiLFxuXHRcImlucHV0Q29udGFpbmVyXCI6IFwiRm9ybUxheW91dEN1c3RvbUZpZWxkX19pbnB1dENvbnRhaW5lcl9fZHZVTlNnNTJcIixcblx0XCJoZWxwVGV4dFwiOiBcIkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faGVscFRleHRfX2FadHlZZTRRXCIsXG5cdFwidmFsaWRhdGlvblRleHRcIjogXCJGb3JtTGF5b3V0Q3VzdG9tRmllbGRfX3ZhbGlkYXRpb25UZXh0X19nY1NocWVPMFwiLFxuXHRcImlzUm9vdERpc2FibGVkXCI6IFwiRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3REaXNhYmxlZF9fYVdZRTd1dDJcIixcblx0XCJpbnB1dFwiOiBcIkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faW5wdXRfX1VIdjFDbGFJXCIsXG5cdFwiaXNSb290UmVxdWlyZWRcIjogXCJGb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdFJlcXVpcmVkX19YcDYwNC1XZlwiLFxuXHRcImlzUm9vdFN0YXRlSW52YWxpZFwiOiBcIkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX19CdXpqQVBXT1wiLFxuXHRcImlzUm9vdFN0YXRlVmFsaWRcIjogXCJGb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX1lGaTF2QUlSXCIsXG5cdFwiaXNSb290U3RhdGVXYXJuaW5nXCI6IFwiRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX0NIM2Q1U0xNXCIsXG5cdFwiaXNSb290TGF5b3V0VmVydGljYWxcIjogXCJGb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdExheW91dFZlcnRpY2FsX19zcWt5UmRvMFwiLFxuXHRcImlzUm9vdFNpemVTbWFsbFwiOiBcIkZvcm1MYXlvdXRDdXN0b21GaWVsZF9faXNSb290U2l6ZVNtYWxsX191ZmJTTnRleFwiLFxuXHRcImlzUm9vdFNpemVNZWRpdW1cIjogXCJGb3JtTGF5b3V0Q3VzdG9tRmllbGRfX2lzUm9vdFNpemVNZWRpdW1fXytFbHZzTnVSXCIsXG5cdFwiaXNSb290U2l6ZUxhcmdlXCI6IFwiRm9ybUxheW91dEN1c3RvbUZpZWxkX19pc1Jvb3RTaXplTGFyZ2VfXzdTWWprQ0ZHXCJcbn07XG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js?!./src/lib/components/FormLayout/FormLayoutCustomField.scss\n");
|
1067
1067
|
|
1068
1068
|
/***/ }),
|
1069
1069
|
|
@@ -1087,7 +1087,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
|
|
1087
1087
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
1088
1088
|
|
1089
1089
|
"use strict";
|
1090
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \".InputGroup__root__KF5mTk7E {\\n text-align: left;\\n}\\n.InputGroup__root__KF5mTk7E:not(:last-child) {\\n margin-bottom: 0;\\n}\\n\\n.InputGroup__legend__Rz6oRRMC {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n.InputGroup__label__l-M4vej5 {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__label__color));\\n}\\n\\n.InputGroup__inputGroup__6H42TAHn {\\n --rui-local-inner-border-radius: var(--rui-InputGroup__inner-border-radius);\\n display: flex;\\n gap: var(--rui-InputGroup__gap);\\n}\\n\\n.InputGroup__validationText__d4zuEZ0r {\\n padding-left: 0;\\n list-style: none;\\n font-style: var(--rui-FormField__help-text__font-style);\\n font-size: var(--rui-FormField__help-text__font-size);\\n line-height: 1.2rem;\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__help-text__color));\\n}\\n.InputGroup__validationText__d4zuEZ0r:not(:last-child) {\\n margin-bottom: 0;\\n}\\n\\n.InputGroup__isRootStateInvalid__pipk0quX, .InputGroup__isRootStateInvalid__pipk0quX:hover {\\n --rui-local-color: var(--rui-FormField--invalid--default__color);\\n --rui-local-border-color: var(--rui-FormField--invalid--default__border-color);\\n --rui-local-background: var(--rui-FormField--invalid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--invalid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--invalid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--invalid--default__surrounding-text-color);\\n}\\n.InputGroup__isRootStateInvalid__pipk0quX .InputGroup__input__y\\\\+WfaM2A:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n}\\n.InputGroup__isRootStateInvalid__pipk0quX.InputGroup__isRootDisabled__LS6NyPkj {\\n --rui-local-color:\\n var(\\n --rui-FormField--invalid--disabled__color,\\n var(--rui-FormField--invalid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--disabled__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--invalid--disabled__background,\\n var(--rui-FormField--invalid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--disabled__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--invalid--disabled__box-shadow,\\n var(--rui-FormField--invalid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--invalid--disabled__surrounding-text-color,\\n var(--rui-FormField--invalid--default__surrounding-text-color)\\n );\\n}\\n.InputGroup__isRootStateInvalid__pipk0quX .InputGroup__input__y\\\\+WfaM2A:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__border-color,\\n var(--rui-FormField--invalid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__check-background-color,\\n var(--rui-FormField--invalid--checked__check-background-color)\\n );\\n}\\n\\n.InputGroup__isRootStateValid__pKasegHQ, .InputGroup__isRootStateValid__pKasegHQ:hover {\\n --rui-local-color: var(--rui-FormField--valid--default__color);\\n --rui-local-border-color: var(--rui-FormField--valid--default__border-color);\\n --rui-local-background: var(--rui-FormField--valid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--valid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--valid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--valid--default__surrounding-text-color);\\n}\\n.InputGroup__isRootStateValid__pKasegHQ .InputGroup__input__y\\\\+WfaM2A:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n}\\n.InputGroup__isRootStateValid__pKasegHQ.InputGroup__isRootDisabled__LS6NyPkj {\\n --rui-local-color:\\n var(\\n --rui-FormField--valid--disabled__color,\\n var(--rui-FormField--valid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--disabled__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--valid--disabled__background,\\n var(--rui-FormField--valid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--disabled__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--valid--disabled__box-shadow,\\n var(--rui-FormField--valid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--valid--disabled__surrounding-text-color,\\n var(--rui-FormField--valid--default__surrounding-text-color)\\n );\\n}\\n.InputGroup__isRootStateValid__pKasegHQ .InputGroup__input__y\\\\+WfaM2A:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked-disabled__border-color,\\n var(--rui-FormField--valid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked-disabled__check-background-color,\\n var(--rui-FormField--valid--checked__check-background-color)\\n );\\n}\\n\\n.InputGroup__isRootStateWarning__d0Zow5gL, .InputGroup__isRootStateWarning__d0Zow5gL:hover {\\n --rui-local-color: var(--rui-FormField--warning--default__color);\\n --rui-local-border-color: var(--rui-FormField--warning--default__border-color);\\n --rui-local-background: var(--rui-FormField--warning--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--warning--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--warning--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--warning--default__surrounding-text-color);\\n}\\n.InputGroup__isRootStateWarning__d0Zow5gL .InputGroup__input__y\\\\+WfaM2A:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n}\\n.InputGroup__isRootStateWarning__d0Zow5gL.InputGroup__isRootDisabled__LS6NyPkj {\\n --rui-local-color:\\n var(\\n --rui-FormField--warning--disabled__color,\\n var(--rui-FormField--warning--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--disabled__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--warning--disabled__background,\\n var(--rui-FormField--warning--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--disabled__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--warning--disabled__box-shadow,\\n var(--rui-FormField--warning--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--warning--disabled__surrounding-text-color,\\n var(--rui-FormField--warning--default__surrounding-text-color)\\n );\\n}\\n.InputGroup__isRootStateWarning__d0Zow5gL .InputGroup__input__y\\\\+WfaM2A:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked-disabled__border-color,\\n var(--rui-FormField--warning--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked-disabled__check-background-color,\\n var(--rui-FormField--warning--checked__check-background-color)\\n );\\n}\\n\\n.InputGroup__isLabelHidden__6-o\\\\+BBcu {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n.InputGroup__isRootLayoutVertical__IgYuHN\\\\+1,\\n.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw {\\n display: inline-flex;\\n flex-direction: column;\\n min-width: 0;\\n max-width: 100%;\\n}\\n.InputGroup__isRootLayoutVertical__IgYuHN\\\\+1 .InputGroup__label__l-M4vej5,\\n.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__label__l-M4vej5 {\\n padding-bottom: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.InputGroup__isRootLayoutVertical__IgYuHN\\\\+1 .InputGroup__helpText__Er4dNetW,\\n.InputGroup__isRootLayoutVertical__IgYuHN\\\\+1 .InputGroup__validationText__d4zuEZ0r,\\n.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__helpText__Er4dNetW,\\n.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__validationText__d4zuEZ0r {\\n padding-top: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.InputGroup__isRootLayoutVertical__IgYuHN\\\\+1 .InputGroup__field__CK0aVc1f,\\n.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__field__CK0aVc1f {\\n width: -webkit-min-content;\\n width: -moz-min-content;\\n width: min-content;\\n max-width: 100%;\\n}\\n\\n.InputGroup__isRootLayoutVertical__IgYuHN\\\\+1 .InputGroup__field__CK0aVc1f,\\n.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__field__CK0aVc1f {\\n max-width: none;\\n}\\n\\n@media (min-width: 48em) {\\n .InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw {\\n display: inline-grid;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) -webkit-min-content;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) min-content;\\n grid-template-areas: \\\"label field\\\";\\n align-items: start;\\n }\\n .InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__label__l-M4vej5 {\\n grid-area: label;\\n align-self: var(--rui-FormField--horizontal__label__vertical-alignment);\\n min-width: var(--rui-FormField--horizontal__label__min-width);\\n padding-top: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-bottom: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-right: var(--rui-dimension-space-2);\\n text-align: var(--rui-FormField--horizontal__label__text-align);\\n }\\n .InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__field__CK0aVc1f {\\n grid-area: field;\\n align-self: var(--rui-FormField--horizontal__field__vertical-alignment);\\n justify-self: start;\\n }\\n}\\n\\n@media (min-width: 48em) {\\n .InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__label__l-M4vej5 {\\n -ms-grid-row: 1;\\n -ms-grid-column: 1;\\n }\\n .InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__field__CK0aVc1f {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n}\\n\\n.InputGroup__isRootInFormLayout__bkXed5TE {\\n justify-self: start;\\n}\\n.InputGroup__isRootInFormLayout__bkXed5TE .InputGroup__field__CK0aVc1f {\\n width: auto;\\n}\\n@media (min-width: 48em) {\\n .InputGroup__isRootInFormLayout__bkXed5TE .InputGroup__optionLabel__kVfnhcwl {\\n width: auto;\\n }\\n .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw, .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw.InputGroup__hasRootSmallInput__17bjqqp9 {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n }\\n @supports not (grid-template-columns: subgrid) {\\n .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw, .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw.InputGroup__hasRootSmallInput__17bjqqp9 {\\n display: contents;\\n }\\n }\\n .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw.InputGroup__isRootFullWidth__HW03\\\\+al6 {\\n grid-template-columns: subgrid;\\n }\\n .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__label__l-M4vej5, .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__field__CK0aVc1f, .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__inputContainer__qdsHssmH, .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__helpText__Er4dNetW, .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__validationText__d4zuEZ0r {\\n grid-area: unset;\\n }\\n .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__field__CK0aVc1f, .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__inputContainer__qdsHssmH, .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__helpText__Er4dNetW, .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__validationText__d4zuEZ0r {\\n grid-column-start: 2;\\n }\\n .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw.InputGroup__hasRootSmallInput__17bjqqp9 .InputGroup__field__CK0aVc1f {\\n display: block;\\n }\\n}\\n\\n.InputGroup__isRootSizeSmall__D3KbNXo3 {\\n --rui-local-padding-y: var(--rui-FormField--box--small__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--small__padding-x);\\n}\\n\\n.InputGroup__isRootSizeMedium__CKy\\\\+O8RL {\\n --rui-local-padding-y: var(--rui-FormField--box--medium__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--medium__padding-x);\\n}\\n\\n.InputGroup__isRootSizeLarge__Fl3vxZiY {\\n --rui-local-padding-y: var(--rui-FormField--box--large__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--large__padding-x);\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/lib/components/InputGroup/InputGroup.scss\",\"webpack://./src/lib/styles/tools/form-fields/_foundation.scss\",\"webpack://./src/lib/styles/tools/_accessibility.scss\",\"webpack://./src/lib/components/InputGroup/_theme.scss\",\"webpack://./src/lib/styles/tools/_reset.scss\",\"webpack://./src/lib/styles/theme/_form-fields.scss\",\"webpack://./src/lib/styles/settings/_form-fields.scss\",\"webpack://./src/lib/styles/tools/form-fields/_variants.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-layout.scss\",\"webpack://./src/lib/styles/tools/_breakpoint.scss\",\"<no source>\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-sizes.scss\"],\"names\":[],\"mappings\":\"AAeA;ECRI,gBAAA;ADLJ;ACSI;EACI,gBAAA;ADPR;;AAgBA;EEZI,kBAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,SAAA;AFAJ;;AAUA;ECTI,kFAAA;ADGJ;;AAUA;EACI,2EAAA;EAEA,aAAA;EACA,+BGlCE;AH0BN;;AAYA;EIbI,eAAA;EACA,gBAAA;EHIA,uDIjBmB;EJkBnB,qDInBkB;EJoBlB,mBKzBoB;EL0BpB,sFAAA;ADEJ;AIPI;EACI,gBAAA;AJSR;;AO2CQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;APHZ;AOkDQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;APEZ;AO4CQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;APkCZ;AOkBQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AP8CZ;;AOtBQ;EA/BI,8DAAA;EAAA,4EAAA;EAAA,wEAAA;EAAA,gGAAA;EAAA,wEAAA;EAAA,gGAAA;AP8DZ;AOfQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;APmEZ;AOrBQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;APmGZ;AO/CQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AP+GZ;;AOvFQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;AP+HZ;AOhFQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;APoIZ;AOtFQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;APoKZ;AOhHQ;EApDI;;;;OAAA;EAAA;;;;OAAA;APgLZ;;AAhLA;EEhDI,kBAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,SAAA;AFoOJ;;AAtLA;;EQGI,oBAAA;EACA,sBAAA;EACA,YAAA;EACA,eAAA;ARwLJ;AQtLI;;EACI,2EAAA;ARyLR;AQtLI;;;;EAEI,wEAAA;AR0LR;AQvLI;;EACI,0BAAA;EAAA,uBAAA;EAAA,kBAAA;EACA,eAAA;AR0LR;;AAxMA;;EAEI,eAAA;AA2MJ;;AStQQ;ET8DR;IQeQ,oBAAA;IACA,yFAAA;IAAA,iFAAA;IACA,kCAAA;IACA,kBAAA;ER8LN;EQ5LM;IACI,gBAAA;IACA,uEHlE0B;IGmE1B,6DH1EiB;IG4Fb,2IAAA;IACA,8IAAA;IAGJ,2CFxGW;IEyGX,+DHlGkB;EL6Q5B;EQxKM;IACI,gBAAA;IACA,uEH9F0B;IG+F1B,mBAAA;ER0KV;AACF;;AUvSA;EF4FQ;IE5FR,gBAAA;IAAA,mBAAA;EViSE;EQxKM;IEzHR,gBAAA;IAAA,mBAAA;EVsSE;CUtSF;;AV4EA;EQ2GI,mBAAA;ARoHJ;AQlHI;EACI,WAAA;ARoHR;ASpSQ;EDoLA;IACI,WAAA;ERmHV;EQhHM;IAEI,aAAA;IACA,8BAAA;IACA,mBAAA;ERiHV;EQ/GU;IANJ;MAOQ,iBAAA;IRkHZ;EACF;EQ/GM;IACI,8BAAA;ERiHV;EQ9GM;IAKI,gBAAA;ER4GV;EQzGM;IAII,oBAAA;ERwGV;EQrGM;IACI,cAAA;ERuGV;AACF;;AAxPA;EW3EI,kEAAA;EACA,kEAAA;AXuUJ;;AAzPA;EW/EI,mEAAA;EACA,mEAAA;AX4UJ;;AA1PA;EWnFI,kEAAA;EACA,kEAAA;AXiVJ\",\"sourcesContent\":[\"// 1. The class name is intentionally singular because it's targeted by other mixins too.\\n// 2. Use a block-level display mode to prevent extra white space below grouped inputs in Safari.\\n// 3. Prevent individual inputs from overlapping inside narrow containers.\\n// 4. Legends are tricky to style, let's use a `div` instead.\\n// https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset#styling_with_css\\n\\n@use \\\"../../styles/tools/form-fields/box-field-elements\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-layout\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-sizes\\\";\\n@use \\\"../../styles/tools/form-fields/foundation\\\";\\n@use \\\"../../styles/tools/form-fields/variants\\\";\\n@use \\\"../../styles/tools/accessibility\\\";\\n@use \\\"../../styles/tools/reset\\\";\\n@use \\\"theme\\\";\\n\\n.root {\\n @include foundation.root();\\n @include foundation.fieldset();\\n}\\n\\n// 4.\\n.legend {\\n @include accessibility.hide-text();\\n}\\n\\n// 4.\\n.label {\\n @include foundation.label();\\n}\\n\\n.inputGroup {\\n --rui-local-inner-border-radius: #{theme.$inner-border-radius};\\n\\n display: flex; // 2.\\n gap: theme.$gap;\\n}\\n\\n// 1.\\n.validationText {\\n @include reset.list();\\n @include foundation.help-text();\\n}\\n\\n// States\\n.isRootStateInvalid {\\n @include variants.validation(invalid);\\n}\\n\\n.isRootStateValid {\\n @include variants.validation(valid);\\n}\\n\\n.isRootStateWarning {\\n @include variants.validation(warning);\\n}\\n\\n// Invisible label\\n.isLabelHidden {\\n @include accessibility.hide-text();\\n}\\n\\n// Layouts\\n.isRootLayoutVertical,\\n.isRootLayoutHorizontal {\\n @include box-field-layout.vertical();\\n}\\n\\n.isRootLayoutVertical .field,\\n.isRootLayoutHorizontal .field {\\n max-width: none; // 3.\\n}\\n\\n.isRootLayoutHorizontal {\\n @include box-field-layout.horizontal();\\n}\\n\\n.isRootInFormLayout {\\n @include box-field-layout.in-form-layout();\\n}\\n\\n// Sizes\\n.isRootSizeSmall {\\n @include box-field-sizes.size(small, $has-input: false);\\n}\\n\\n.isRootSizeMedium {\\n @include box-field-sizes.size(medium, $has-input: false);\\n}\\n\\n.isRootSizeLarge {\\n @include box-field-sizes.size(large, $has-input: false);\\n}\\n\",\"// 1. Don't let text alignment be affected by a parent.\\n// 2. Override foundation reset.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin root() {\\n text-align: left; // 1.\\n}\\n\\n@mixin fieldset() {\\n &:not(:last-child) {\\n margin-bottom: 0; // 2.\\n }\\n}\\n\\n@mixin label() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$label-color});\\n}\\n\\n@mixin label-required() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$required-label-color});\\n\\n &::after {\\n content: theme.$required-sign;\\n color: theme.$required-sign-color;\\n }\\n}\\n\\n@mixin help-text() {\\n font-style: theme.$help-text-font-style;\\n font-size: theme.$help-text-font-size;\\n line-height: settings.$help-text-line-height;\\n color: var(--rui-local-surrounding-text-color, #{theme.$help-text-color});\\n}\\n\",\"// 1. Screen readers only, inspired by Bootstrap.\\n// https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss\\n//\\n// 2. Make tap target big enough to improve accessibility on touch screens.\\n\\n@use \\\"../theme/accessibility\\\" as theme;\\n\\n// 1.\\n@mixin hide-text() {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n@mixin unhide-text() {\\n position: unset;\\n width: unset;\\n height: unset;\\n overflow: unset;\\n clip: unset;\\n white-space: unset;\\n}\\n\\n// 2.\\n@mixin min-tap-target($size: theme.$tap-target-size, $center: true) {\\n position: relative;\\n\\n &::before {\\n content: \\\"\\\";\\n position: absolute;\\n width: $size;\\n height: $size;\\n\\n @if $center {\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n }\\n }\\n}\\n\\n@mixin focus-ring() {\\n &:focus-visible {\\n outline: theme.$focus-outline;\\n outline-offset: theme.$focus-outline-offset;\\n box-shadow: theme.$focus-box-shadow;\\n }\\n}\\n\",\"$gap: var(--rui-InputGroup__gap);\\n$inner-border-radius: var(--rui-InputGroup__inner-border-radius);\\n\",\"@mixin button() {\\n appearance: none;\\n display: inline-flex;\\n flex: none;\\n align-items: center;\\n justify-content: center;\\n padding: 0;\\n border: 0;\\n border-radius: 0;\\n background: none;\\n box-shadow: none;\\n cursor: pointer;\\n}\\n\\n@mixin link() {\\n text-decoration: none;\\n color: inherit;\\n\\n &:hover,\\n &:focus {\\n text-decoration: none;\\n }\\n}\\n\\n@mixin list() {\\n padding-left: 0;\\n list-style: none;\\n\\n &:not(:last-child) {\\n margin-bottom: 0;\\n }\\n}\\n\",\"// Variant specific theme options are obtained dynamically because there is way too many of them to\\n// maintain manually. See `settings/_form-fields.scss` and `tools/form-fields/_variants.scss` for\\n// details.\\n//\\n// 1. Defaults to zero when neither `--rui-FormField--horizontal__label__padding-y` (optional) nor\\n// `--rui-local-padding-y` (handled by the `size()` mixin in case of box form fields, see\\n// `_box-field-sizes.scss`) is defined. This is useful because FormLayoutCustomField may have no\\n// size specified therefore its label should have no padding at the top.\\n\\n// Forms fields: common properties\\n$label-color: var(--rui-FormField__label__color);\\n$label-font-size: var(--rui-FormField__label__font-size);\\n$help-text-font-size: var(--rui-FormField__help-text__font-size);\\n$help-text-font-style: var(--rui-FormField__help-text__font-style);\\n$help-text-color: var(--rui-FormField__help-text__color);\\n$required-label-color: var(--rui-FormField--required__label__color);\\n$required-sign: var(--rui-FormField--required__sign);\\n$required-sign-color: var(--rui-FormField--required__sign__color);\\n\\n// Form fields: horizontal layout\\n$horizontal-label-text-align: var(--rui-FormField--horizontal__label__text-align);\\n$horizontal-label-min-width: var(--rui-FormField--horizontal__label__min-width);\\n$horizontal-label-width: var(--rui-FormField--horizontal__label__width);\\n$horizontal-label-padding-y:\\n var(\\n --rui-FormField--horizontal__label__padding-y,\\n calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y))\\n ); // 1.\\n$horizontal-label-vertical-alignment: var(--rui-FormField--horizontal__label__vertical-alignment);\\n$horizontal-field-vertical-alignment: var(--rui-FormField--horizontal__field__vertical-alignment);\\n$horizontal-full-width-label-width: var(--rui-FormField--horizontal--full-width__label__width);\\n\\n// Form fields: disabled state\\n$disabled-cursor: var(--rui-FormField--disabled__cursor);\\n$disabled-opacity: var(--rui-FormField--disabled__opacity);\\n\\n// Form fields: box fields\\n$box-border-width: var(--rui-FormField--box__border-width);\\n$box-border-radius: var(--rui-FormField--box__border-radius);\\n$box-input-width: var(--rui-FormField--box__input__width);\\n$box-input-min-width: var(--rui-FormField--box__input__min-width);\\n$box-placeholder-color: var(--rui-FormField--box__placeholder__color);\\n\\n// Form fields: box fields, component specific\\n$box-select-caret-border-style: var(--rui-FormField--box--select__caret__border-style);\\n$box-select-caret-background: var(--rui-FormField--box--select__caret__background);\\n$box-select-option-disabled-color: var(--rui-FormField--box--select__option--disabled__color);\\n\\n// Form fields: box field sizes\\n$box-sizes: (\\n small: (\\n height: var(--rui-FormField--box--small__height),\\n padding-y: var(--rui-FormField--box--small__padding-y),\\n padding-x: var(--rui-FormField--box--small__padding-x),\\n font-size: var(--rui-FormField--box--small__font-size),\\n ),\\n medium: (\\n height: var(--rui-FormField--box--medium__height),\\n padding-y: var(--rui-FormField--box--medium__padding-y),\\n padding-x: var(--rui-FormField--box--medium__padding-x),\\n font-size: var(--rui-FormField--box--medium__font-size),\\n ),\\n large: (\\n height: var(--rui-FormField--box--large__height),\\n padding-y: var(--rui-FormField--box--large__padding-y),\\n padding-x: var(--rui-FormField--box--large__padding-x),\\n font-size: var(--rui-FormField--box--large__font-size),\\n ),\\n);\\n\\n// Form fields: check fields\\n$check-input-size: var(--rui-FormField--check__input__size);\\n$check-input-border-width: var(--rui-FormField--check__input__border-width);\\n$check-input-focus-box-shadow: var(--rui-FormField--check__input--focus__box-shadow);\\n$check-tap-target-size: var(--rui-FormField--check__tap-target-size);\\n\\n// Form fields: check fields, component specific\\n$check-input-checkbox-border-radius: var(--rui-FormField--check__input--checkbox__border-radius);\\n$check-input-checkbox-checked-background-image: var(--rui-FormField--check__input--checkbox--checked__background-image);\\n$check-input-radio-border-radius: var(--rui-FormField--check__input--radio__border-radius);\\n$check-input-radio-checked-background-image: var(--rui-FormField--check__input--radio--checked__background-image);\\n$check-input-toggle-width: var(--rui-FormField--check__input--toggle__width);\\n$check-input-toggle-border-radius: var(--rui-FormField--check__input--toggle__border-radius);\\n$check-input-toggle-background-size: var(--rui-FormField--check__input--toggle__background-size);\\n$check-input-toggle-default-background-image: var(--rui-FormField--check__input--toggle--default__background-image);\\n$check-input-toggle-default-background-position:\\n var(\\n --rui-FormField--check__input--toggle--default__background-position\\n );\\n$check-input-toggle-checked-background-image: var(--rui-FormField--check__input--toggle--checked__background-image);\\n$check-input-toggle-checked-background-position:\\n var(\\n --rui-FormField--check__input--toggle--checked__background-position\\n );\\n\",\"// 1. Input `line-height` is specified in `rem` so inputs do not break when their font size gets\\n// changed later.\\n\\n@use \\\"sass:map\\\";\\n@use \\\"../theme/typography\\\";\\n@use \\\"../tools/spacing\\\";\\n\\n$help-text-line-height: 1.2rem;\\n\\n$vertical-inner-gap: spacing.of(1);\\n$vertical-inner-gap-large: spacing.of(2);\\n$vertical-outer-spacing: spacing.of(2);\\n\\n$horizontal-inner-gap: spacing.of(2);\\n$horizontal-outer-spacing: spacing.of(2);\\n\\n$box-input-font-family: typography.$font-family-base;\\n$box-input-font-weight: map.get(typography.$font-weight-values, default);\\n$box-input-line-height: 1.5rem; // 1.\\n$box-field-caret-size: 2.25rem;\\n$box-field-input-number-arrows-width: 1.5rem;\\n$box-field-bottom-line-height: 2px;\\n\\n$inline-field-inner-gap: spacing.of(2);\\n\\n$themeable-variant-states: (\\n box: (\\n filled: (default, hover, focus, disabled),\\n outline: (default, hover, focus, disabled),\\n ),\\n check: (\\n default: (default, checked, disabled, checked-disabled),\\n ),\\n custom: (\\n default: (default, disabled),\\n ),\\n validation: (\\n invalid: (default, checked, disabled, checked-disabled),\\n valid: (default, checked, disabled, checked-disabled),\\n warning: (default, checked, disabled, checked-disabled),\\n ),\\n);\\n\\n$themeable-state-properties: (\\n default: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n hover: (color, border-color, background, box-shadow),\\n focus: (color, border-color, background, check-background-color, box-shadow),\\n checked: (border-color, check-background-color),\\n disabled: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n checked-disabled: (border-color, check-background-color),\\n);\\n\",\"// 1. Due to complexity, it's easier and safer to resolve variant custom properties dynamically with\\n// a mixin. This way it's also easier to make theming adjustments to all supported modifications\\n// in one place. Generated custom properties are consumed mainly in foundation field styles (see\\n// `tools/form-fields/_foundation.scss` for more).\\n//\\n// 2. Interaction states other than `default` default to the `default` (sic!) state appearance if\\n// corresponding custom properties are not provided.\\n//\\n// 3. `.input:focus` is added just in case `:focus-within` doesn't work.\\n\\n@use \\\"sass:list\\\";\\n@use \\\"sass:map\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin _disabled-state() {\\n opacity: theme.$disabled-opacity;\\n cursor: theme.$disabled-cursor;\\n}\\n\\n// 1.\\n@mixin _generate-custom-properties($type, $variant, $state) {\\n @if not list.index(map.keys(map.get(settings.$themeable-variant-states, $type)), $variant) {\\n @error \\\"Invalid variant specified! #{$variant} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(map.get(settings.$themeable-variant-states, $type))}.\\\";\\n }\\n\\n @if not list.index(map.keys(settings.$themeable-state-properties), $state) {\\n @error \\\"Invalid state specified! #{$state} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-state-properties)}.\\\";\\n }\\n\\n $properties: map.get(settings.$themeable-state-properties, $state);\\n $infix: $type;\\n $fallback-state: \\\"default\\\";\\n\\n @if $type == \\\"validation\\\" {\\n $infix: $variant;\\n }\\n\\n @if $type != \\\"validation\\\" and $variant != \\\"default\\\" {\\n $infix: #{$type}--#{$variant};\\n }\\n\\n @if $state == \\\"checked-disabled\\\" {\\n $fallback-state: \\\"checked\\\";\\n }\\n\\n @if $state == \\\"default\\\" {\\n @each $property in $properties {\\n --rui-local-#{$property}: var(--rui-FormField--#{$infix}--#{$state}__#{$property});\\n }\\n }\\n\\n // 2.\\n @else {\\n @each $property in $properties {\\n --rui-local-#{$property}:\\n var(\\n --rui-FormField--#{$infix}--#{$state}__#{$property},\\n var(--rui-FormField--#{$infix}--#{$fallback-state}__#{$property})\\n );\\n }\\n }\\n}\\n\\n@mixin _get-theme($type, $variant) {\\n @if not list.index(map.keys(settings.$themeable-variant-states), $type) {\\n @error \\\"Invalid type specified! #{$type} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-variant-states)}.\\\";\\n }\\n\\n $themeable-states: map.get(map.get(settings.$themeable-variant-states, $type), $variant);\\n\\n @if list.index($themeable-states, \\\"hover\\\") {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"hover\\\");\\n }\\n } @else {\\n &,\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"focus\\\") {\\n // 3.\\n &:focus-within,\\n &:focus-within:hover,\\n .input:focus {\\n @include _generate-custom-properties($type, $variant, \\\"focus\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked\\\") {\\n .input:checked {\\n @include _generate-custom-properties($type, $variant, \\\"checked\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"disabled\\\") {\\n &.isRootDisabled {\\n @include _generate-custom-properties($type, $variant, \\\"disabled\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked-disabled\\\") {\\n .input:checked:disabled {\\n @include _generate-custom-properties($type, $variant, \\\"checked-disabled\\\");\\n }\\n }\\n}\\n\\n@mixin visual($type, $variant: \\\"default\\\", $has-caret: false) {\\n @include _get-theme($type, $variant);\\n\\n .input:disabled {\\n @include _disabled-state();\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"filled\\\" {\\n .input {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n }\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"outline\\\" and $has-caret {\\n .caret {\\n border-left: theme.$box-border-width theme.$box-select-caret-border-style var(--rui-local-border-color);\\n background: theme.$box-select-caret-background;\\n }\\n\\n &.isRootDisabled .caret {\\n @include _disabled-state();\\n }\\n }\\n}\\n\\n@mixin validation($variant) {\\n @include _get-theme(validation, $variant);\\n}\\n\",\"// 1. Inline form fields and fields with vertical layout take up as much space as they need. Labels\\n// do not wrap until forced by container of the field. Min and max limits make extra long words\\n// break if necessary.\\n//\\n// 2. Form fields in horizontal layout also take up only as much space as they need. Labels do not\\n// wrap until label width limit is reached (50 % of available horizontal space by default).\\n//\\n// 3. Help texts and validation messages are aligned below input and wrapped. Their width is always\\n// limited to the width of the input field so they don't shift adjacent elements when they show\\n// up. This applies unless the field is inside FormLayout (see 10).\\n//\\n// 4. Define grid spacing as padding of child elements because grid areas make row and column gaps\\n// show up even when not necessary.\\n//\\n// 5. When input size is small and form field layout is set to horizontal, expand help text and\\n// validation message over full form field width to improve their readability. Otherwise the\\n// text would be packed into a very narrow column and hard to read. To prevent help text and\\n// validation message from growing the layout more than necessary (ie. the size without\\n// help/validation text), `min-content` grid sizing must be used along with disabled wrapping of\\n// label.\\n//\\n// 6. Full-width horizontal form fields prefer not wrapping the label until a limit is reached\\n// (50 % of available horizontal space by default, same as in 2.).\\n//\\n// 7. Justify inputs to `start` in horizontal layouts to fix positioning issues with Select Fields.\\n// Reverted for full-width fields.\\n//\\n// 8. Grid settings are inherited from horizontal FormLayout and applied using `subgrid`.\\n// A fallback is supplied to browsers that don't support `subgrid` yet. See FormLayout styles\\n// for more.\\n// https://github.com/react-ui-org/react-ui/issues/232\\n//\\n// 9. Help texts and validation messages can take up full width of FormLayout. There is no reason\\n// to make them wrap as they cannot break layout of FormLayout.\\n//\\n// 10. Visually align label to input baseline. Achieved with `padding-top` and `padding-bottom` due\\n// to two reasons:\\n//\\n// * `align-items: baseline` doesn't work for blank text inputs in Safari. See\\n// https://bugs.webkit.org/show_bug.cgi?id=142968 and\\n// https://github.com/react-ui-org/react-ui/issues/265.\\n//\\n// * `align-items: baseline` doesn't allow subsequent vertical centering of tall inputs and/or\\n// multiline labels (see `theme.$horizontal-label-vertical-alignment` and\\n// `theme.$horizontal-field-vertical-alignment`).\\n//\\n// 11. Reset `width` previously set by inline field layout (see `_inline-field-layout.scss`).\\n//\\n// 12. Make fields just as wide as necessary. Fields should be interactive only where their visible\\n// content is.\\n//\\n// 13. Label and field are vertically aligned to top (start) by default (see 10.). Vertical\\n// alignment of each block can be changed by theme configuration.\\n\\n@use \\\"../../settings/forms\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../theme/typography\\\";\\n@use \\\"../breakpoint\\\";\\n\\n@mixin vertical($has-list: false) {\\n @if $has-list {\\n --rui-local-vertical-gap: #{settings.$vertical-inner-gap-large};\\n }\\n\\n display: inline-flex; // 1.\\n flex-direction: column;\\n min-width: 0; // 1.\\n max-width: 100%; // 1.\\n\\n .label {\\n padding-bottom: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .helpText,\\n .validationText {\\n padding-top: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .field {\\n width: min-content; // 3.\\n max-width: 100%; // 3.\\n }\\n}\\n\\n@mixin horizontal($has-min-tap-target: false) {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n display: inline-grid; // 2.\\n grid-template-columns: theme.$horizontal-label-width min-content; // 2.\\n grid-template-areas: \\\"label field\\\";\\n align-items: start; // 10., 13.\\n\\n .label {\\n grid-area: label;\\n align-self: theme.$horizontal-label-vertical-alignment; // 13.\\n min-width: theme.$horizontal-label-min-width;\\n\\n // 10.\\n @if $has-min-tap-target {\\n padding-top:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n padding-bottom:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n }\\n\\n // 10., 13.\\n @else {\\n padding-top: #{theme.$horizontal-label-padding-y};\\n padding-bottom: #{theme.$horizontal-label-padding-y};\\n }\\n\\n padding-right: settings.$horizontal-inner-gap; // 4.\\n text-align: theme.$horizontal-label-text-align;\\n }\\n\\n .field {\\n grid-area: field;\\n align-self: theme.$horizontal-field-vertical-alignment; // 13.\\n justify-self: start; // 7.\\n }\\n }\\n}\\n\\n@mixin horizontal-with-small-input() {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n grid-template-columns: min-content min-content; // 5.\\n grid-template-areas:\\n \\\"label field\\\"\\n \\\"helptext helptext\\\"\\n \\\"validationtext validationtext\\\"; // 5.\\n\\n .label {\\n white-space: nowrap; // 5.\\n }\\n\\n .field {\\n display: contents; // 5.\\n }\\n\\n .inputContainer {\\n grid-area: field; // 5.\\n }\\n\\n .helpText {\\n grid-area: helptext; // 5.\\n }\\n\\n .validationText {\\n grid-area: validationtext; // 5.\\n }\\n }\\n}\\n\\n@mixin full-width() {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n\\n .field,\\n .inputContainer,\\n .input {\\n width: 100%;\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n &.isRootLayoutHorizontal {\\n display: grid;\\n grid-template-columns: theme.$horizontal-full-width-label-width 1fr; // 6.\\n }\\n\\n &.isRootLayoutHorizontal .field {\\n justify-self: stretch; // 7.\\n }\\n }\\n}\\n\\n@mixin in-form-layout() {\\n justify-self: start; // 12.\\n\\n .field {\\n width: auto; // 9.\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n .optionLabel {\\n width: auto; // 11.\\n }\\n\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n grid: inherit; // 8.\\n grid-template-columns: subgrid; // 8.\\n grid-column: span 2; // 8.\\n\\n @supports not (grid-template-columns: subgrid) {\\n display: contents; // 8.\\n }\\n }\\n\\n &.isRootLayoutHorizontal.isRootFullWidth {\\n grid-template-columns: subgrid; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .label,\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-area: unset; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-column-start: 2; // 8.\\n }\\n\\n &.isRootLayoutHorizontal.hasRootSmallInput .field {\\n display: block; // 5.\\n }\\n }\\n}\\n\",\"@use \\\"sass:map\\\";\\n@use \\\"../settings/breakpoints\\\";\\n\\n@mixin up($breakpoint) {\\n @if not map.has-key(breakpoints.$values, $breakpoint) {\\n @error \\\"Invalid breakpoint specified! #{$breakpoint} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(breakpoints.$values)}\\\";\\n } @else if map.get(breakpoints.$values, $breakpoint) == 0 {\\n @content;\\n } @else {\\n @media (min-width: map.get(breakpoints.$values, $breakpoint)) {\\n @content;\\n }\\n }\\n}\\n\",null,\"@use \\\"sass:map\\\";\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin size($size, $has-input: true, $is-multiline: false) {\\n $size-properties: map.get(theme.$box-sizes, $size);\\n\\n --rui-local-padding-y: #{map.get($size-properties, padding-y)};\\n --rui-local-padding-x: #{map.get($size-properties, padding-x)};\\n\\n @if $has-input {\\n --rui-local-font-size: #{map.get($size-properties, font-size)};\\n\\n .input {\\n @if $is-multiline {\\n height: auto;\\n min-height: map.get($size-properties, height);\\n } @else {\\n --rui-local-height: #{map.get($size-properties, height)};\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"InputGroup__root__KF5mTk7E\",\n\t\"legend\": \"InputGroup__legend__Rz6oRRMC\",\n\t\"label\": \"InputGroup__label__l-M4vej5\",\n\t\"inputGroup\": \"InputGroup__inputGroup__6H42TAHn\",\n\t\"validationText\": \"InputGroup__validationText__d4zuEZ0r\",\n\t\"isRootStateInvalid\": \"InputGroup__isRootStateInvalid__pipk0quX\",\n\t\"input\": \"InputGroup__input__y+WfaM2A\",\n\t\"isRootDisabled\": \"InputGroup__isRootDisabled__LS6NyPkj\",\n\t\"isRootStateValid\": \"InputGroup__isRootStateValid__pKasegHQ\",\n\t\"isRootStateWarning\": \"InputGroup__isRootStateWarning__d0Zow5gL\",\n\t\"isLabelHidden\": \"InputGroup__isLabelHidden__6-o+BBcu\",\n\t\"isRootLayoutVertical\": \"InputGroup__isRootLayoutVertical__IgYuHN+1\",\n\t\"isRootLayoutHorizontal\": \"InputGroup__isRootLayoutHorizontal__tiDh8+nw\",\n\t\"helpText\": \"InputGroup__helpText__Er4dNetW\",\n\t\"field\": \"InputGroup__field__CK0aVc1f\",\n\t\"isRootInFormLayout\": \"InputGroup__isRootInFormLayout__bkXed5TE\",\n\t\"optionLabel\": \"InputGroup__optionLabel__kVfnhcwl\",\n\t\"hasRootSmallInput\": \"InputGroup__hasRootSmallInput__17bjqqp9\",\n\t\"isRootFullWidth\": \"InputGroup__isRootFullWidth__HW03+al6\",\n\t\"inputContainer\": \"InputGroup__inputContainer__qdsHssmH\",\n\t\"isRootSizeSmall\": \"InputGroup__isRootSizeSmall__D3KbNXo3\",\n\t\"isRootSizeMedium\": \"InputGroup__isRootSizeMedium__CKy+O8RL\",\n\t\"isRootSizeLarge\": \"InputGroup__isRootSizeLarge__Fl3vxZiY\"\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vc3JjL2xpYi9jb21wb25lbnRzL0lucHV0R3JvdXAvSW5wdXRHcm91cC5zY3NzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2xpYi9jb21wb25lbnRzL0lucHV0R3JvdXAvSW5wdXRHcm91cC5zY3NzPzFjMjMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIuSW5wdXRHcm91cF9fcm9vdF9fS0Y1bVRrN0Uge1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxuLklucHV0R3JvdXBfX3Jvb3RfX0tGNW1UazdFOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG59XFxuXFxuLklucHV0R3JvdXBfX2xlZ2VuZF9fUno2b1JSTUMge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgd2lkdGg6IDFweDtcXG4gIGhlaWdodDogMXB4O1xcbiAgcGFkZGluZzogMDtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIGJvcmRlcjogMDtcXG59XFxuXFxuLklucHV0R3JvdXBfX2xhYmVsX19sLU00dmVqNSB7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGRfX2xhYmVsX19jb2xvcikpO1xcbn1cXG5cXG4uSW5wdXRHcm91cF9faW5wdXRHcm91cF9fNkg0MlRBSG4ge1xcbiAgLS1ydWktbG9jYWwtaW5uZXItYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUlucHV0R3JvdXBfX2lubmVyLWJvcmRlci1yYWRpdXMpO1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGdhcDogdmFyKC0tcnVpLUlucHV0R3JvdXBfX2dhcCk7XFxufVxcblxcbi5JbnB1dEdyb3VwX192YWxpZGF0aW9uVGV4dF9fZDR6dUVaMHIge1xcbiAgcGFkZGluZy1sZWZ0OiAwO1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG4gIGZvbnQtc3R5bGU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fZm9udC1zdHlsZSk7XFxuICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fZm9udC1zaXplKTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjJyZW07XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fY29sb3IpKTtcXG59XFxuLklucHV0R3JvdXBfX3ZhbGlkYXRpb25UZXh0X19kNHp1RVowcjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gIG1hcmdpbi1ib3R0b206IDA7XFxufVxcblxcbi5JbnB1dEdyb3VwX19pc1Jvb3RTdGF0ZUludmFsaWRfX3BpcGswcXVYLCAuSW5wdXRHcm91cF9faXNSb290U3RhdGVJbnZhbGlkX19waXBrMHF1WDpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5JbnB1dEdyb3VwX19pc1Jvb3RTdGF0ZUludmFsaWRfX3BpcGswcXVYIC5JbnB1dEdyb3VwX19pbnB1dF9feVxcXFwrV2ZhTTJBOmNoZWNrZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uSW5wdXRHcm91cF9faXNSb290U3RhdGVJbnZhbGlkX19waXBrMHF1WC5JbnB1dEdyb3VwX19pc1Jvb3REaXNhYmxlZF9fTFM2TnlQa2oge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uSW5wdXRHcm91cF9faXNSb290U3RhdGVJbnZhbGlkX19waXBrMHF1WCAuSW5wdXRHcm91cF9faW5wdXRfX3lcXFxcK1dmYU0yQTpjaGVja2VkOmRpc2FibGVkIHtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWQtZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuXFxuLklucHV0R3JvdXBfX2lzUm9vdFN0YXRlVmFsaWRfX3BLYXNlZ0hRLCAuSW5wdXRHcm91cF9faXNSb290U3RhdGVWYWxpZF9fcEthc2VnSFE6aG92ZXIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JhY2tncm91bmQpO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpO1xcbn1cXG4uSW5wdXRHcm91cF9faXNSb290U3RhdGVWYWxpZF9fcEthc2VnSFEgLklucHV0R3JvdXBfX2lucHV0X195XFxcXCtXZmFNMkE6Y2hlY2tlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uSW5wdXRHcm91cF9faXNSb290U3RhdGVWYWxpZF9fcEthc2VnSFEuSW5wdXRHcm91cF9faXNSb290RGlzYWJsZWRfX0xTNk55UGtqIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLklucHV0R3JvdXBfX2lzUm9vdFN0YXRlVmFsaWRfX3BLYXNlZ0hRIC5JbnB1dEdyb3VwX19pbnB1dF9feVxcXFwrV2ZhTTJBOmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuXFxuLklucHV0R3JvdXBfX2lzUm9vdFN0YXRlV2FybmluZ19fZDBab3c1Z0wsIC5JbnB1dEdyb3VwX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX2QwWm93NWdMOmhvdmVyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19iYWNrZ3JvdW5kKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKTtcXG59XFxuLklucHV0R3JvdXBfX2lzUm9vdFN0YXRlV2FybmluZ19fZDBab3c1Z0wgLklucHV0R3JvdXBfX2lucHV0X195XFxcXCtXZmFNMkE6Y2hlY2tlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5JbnB1dEdyb3VwX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX2QwWm93NWdMLklucHV0R3JvdXBfX2lzUm9vdERpc2FibGVkX19MUzZOeVBraiB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19zdXJyb3VuZGluZy10ZXh0LWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5JbnB1dEdyb3VwX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX2QwWm93NWdMIC5JbnB1dEdyb3VwX19pbnB1dF9feVxcXFwrV2ZhTTJBOmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG5cXG4uSW5wdXRHcm91cF9faXNMYWJlbEhpZGRlbl9fNi1vXFxcXCtCQmN1IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxcHg7XFxuICBoZWlnaHQ6IDFweDtcXG4gIHBhZGRpbmc6IDA7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBib3JkZXI6IDA7XFxufVxcblxcbi5JbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fSWdZdUhOXFxcXCsxLFxcbi5JbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX190aURoOFxcXFwrbncge1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgbWluLXdpZHRoOiAwO1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG4uSW5wdXRHcm91cF9faXNSb290TGF5b3V0VmVydGljYWxfX0lnWXVITlxcXFwrMSAuSW5wdXRHcm91cF9fbGFiZWxfX2wtTTR2ZWo1LFxcbi5JbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX190aURoOFxcXFwrbncgLklucHV0R3JvdXBfX2xhYmVsX19sLU00dmVqNSB7XFxuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcnVpLWxvY2FsLXZlcnRpY2FsLWdhcCwgdmFyKC0tcnVpLWRpbWVuc2lvbi1zcGFjZS0xKSk7XFxufVxcbi5JbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fSWdZdUhOXFxcXCsxIC5JbnB1dEdyb3VwX19oZWxwVGV4dF9fRXI0ZE5ldFcsXFxuLklucHV0R3JvdXBfX2lzUm9vdExheW91dFZlcnRpY2FsX19JZ1l1SE5cXFxcKzEgLklucHV0R3JvdXBfX3ZhbGlkYXRpb25UZXh0X19kNHp1RVowcixcXG4uSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253IC5JbnB1dEdyb3VwX19oZWxwVGV4dF9fRXI0ZE5ldFcsXFxuLklucHV0R3JvdXBfX2lzUm9vdExheW91dEhvcml6b250YWxfX3RpRGg4XFxcXCtudyAuSW5wdXRHcm91cF9fdmFsaWRhdGlvblRleHRfX2Q0enVFWjByIHtcXG4gIHBhZGRpbmctdG9wOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCB2YXIoLS1ydWktZGltZW5zaW9uLXNwYWNlLTEpKTtcXG59XFxuLklucHV0R3JvdXBfX2lzUm9vdExheW91dFZlcnRpY2FsX19JZ1l1SE5cXFxcKzEgLklucHV0R3JvdXBfX2ZpZWxkX19DSzBhVmMxZixcXG4uSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253IC5JbnB1dEdyb3VwX19maWVsZF9fQ0swYVZjMWYge1xcbiAgd2lkdGg6IC13ZWJraXQtbWluLWNvbnRlbnQ7XFxuICB3aWR0aDogLW1vei1taW4tY29udGVudDtcXG4gIHdpZHRoOiBtaW4tY29udGVudDtcXG4gIG1heC13aWR0aDogMTAwJTtcXG59XFxuXFxuLklucHV0R3JvdXBfX2lzUm9vdExheW91dFZlcnRpY2FsX19JZ1l1SE5cXFxcKzEgLklucHV0R3JvdXBfX2ZpZWxkX19DSzBhVmMxZixcXG4uSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253IC5JbnB1dEdyb3VwX19maWVsZF9fQ0swYVZjMWYge1xcbiAgbWF4LXdpZHRoOiBub25lO1xcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLklucHV0R3JvdXBfX2lzUm9vdExheW91dEhvcml6b250YWxfX3RpRGg4XFxcXCtudyB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX193aWR0aCkgLXdlYmtpdC1taW4tY29udGVudDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fd2lkdGgpIG1pbi1jb250ZW50O1xcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcXFwibGFiZWwgZmllbGRcXFwiO1xcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XFxuICB9XFxuICAuSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253IC5JbnB1dEdyb3VwX19sYWJlbF9fbC1NNHZlajUge1xcbiAgICBncmlkLWFyZWE6IGxhYmVsO1xcbiAgICBhbGlnbi1zZWxmOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fdmVydGljYWwtYWxpZ25tZW50KTtcXG4gICAgbWluLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fbWluLXdpZHRoKTtcXG4gICAgcGFkZGluZy10b3A6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19wYWRkaW5nLXksIGNhbGModmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpICsgdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteSkpKTtcXG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19wYWRkaW5nLXksIGNhbGModmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpICsgdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteSkpKTtcXG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcnVpLWRpbWVuc2lvbi1zcGFjZS0yKTtcXG4gICAgdGV4dC1hbGlnbjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3RleHQtYWxpZ24pO1xcbiAgfVxcbiAgLklucHV0R3JvdXBfX2lzUm9vdExheW91dEhvcml6b250YWxfX3RpRGg4XFxcXCtudyAuSW5wdXRHcm91cF9fZmllbGRfX0NLMGFWYzFmIHtcXG4gICAgZ3JpZC1hcmVhOiBmaWVsZDtcXG4gICAgYWxpZ24tc2VsZjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fZmllbGRfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XFxuICAuSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253IC5JbnB1dEdyb3VwX19sYWJlbF9fbC1NNHZlajUge1xcbiAgICAtbXMtZ3JpZC1yb3c6IDE7XFxuICAgIC1tcy1ncmlkLWNvbHVtbjogMTtcXG4gIH1cXG4gIC5JbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX190aURoOFxcXFwrbncgLklucHV0R3JvdXBfX2ZpZWxkX19DSzBhVmMxZiB7XFxuICAgIC1tcy1ncmlkLXJvdzogMTtcXG4gICAgLW1zLWdyaWQtY29sdW1uOiAyO1xcbiAgfVxcbn1cXG5cXG4uSW5wdXRHcm91cF9faXNSb290SW5Gb3JtTGF5b3V0X19ia1hlZDVURSB7XFxuICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xcbn1cXG4uSW5wdXRHcm91cF9faXNSb290SW5Gb3JtTGF5b3V0X19ia1hlZDVURSAuSW5wdXRHcm91cF9fZmllbGRfX0NLMGFWYzFmIHtcXG4gIHdpZHRoOiBhdXRvO1xcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLklucHV0R3JvdXBfX2lzUm9vdEluRm9ybUxheW91dF9fYmtYZWQ1VEUgLklucHV0R3JvdXBfX29wdGlvbkxhYmVsX19rVmZuaGN3bCB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcbiAgLklucHV0R3JvdXBfX2lzUm9vdEluRm9ybUxheW91dF9fYmtYZWQ1VEUuSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253LCAuSW5wdXRHcm91cF9faXNSb290SW5Gb3JtTGF5b3V0X19ia1hlZDVURS5JbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX190aURoOFxcXFwrbncuSW5wdXRHcm91cF9faGFzUm9vdFNtYWxsSW5wdXRfXzE3YmpxcXA5IHtcXG4gICAgZ3JpZDogaW5oZXJpdDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xcbiAgfVxcbiAgQHN1cHBvcnRzIG5vdCAoZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkKSB7XFxuICAgIC5JbnB1dEdyb3VwX19pc1Jvb3RJbkZvcm1MYXlvdXRfX2JrWGVkNVRFLklucHV0R3JvdXBfX2lzUm9vdExheW91dEhvcml6b250YWxfX3RpRGg4XFxcXCtudywgLklucHV0R3JvdXBfX2lzUm9vdEluRm9ybUxheW91dF9fYmtYZWQ1VEUuSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253LklucHV0R3JvdXBfX2hhc1Jvb3RTbWFsbElucHV0X18xN2JqcXFwOSB7XFxuICAgICAgZGlzcGxheTogY29udGVudHM7XFxuICAgIH1cXG4gIH1cXG4gIC5JbnB1dEdyb3VwX19pc1Jvb3RJbkZvcm1MYXlvdXRfX2JrWGVkNVRFLklucHV0R3JvdXBfX2lzUm9vdExheW91dEhvcml6b250YWxfX3RpRGg4XFxcXCtudy5JbnB1dEdyb3VwX19pc1Jvb3RGdWxsV2lkdGhfX0hXMDNcXFxcK2FsNiB7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDtcXG4gIH1cXG4gIC5JbnB1dEdyb3VwX19pc1Jvb3RJbkZvcm1MYXlvdXRfX2JrWGVkNVRFLklucHV0R3JvdXBfX2lzUm9vdExheW91dEhvcml6b250YWxfX3RpRGg4XFxcXCtudyAuSW5wdXRHcm91cF9fbGFiZWxfX2wtTTR2ZWo1LCAuSW5wdXRHcm91cF9faXNSb290SW5Gb3JtTGF5b3V0X19ia1hlZDVURS5JbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX190aURoOFxcXFwrbncgLklucHV0R3JvdXBfX2ZpZWxkX19DSzBhVmMxZiwgLklucHV0R3JvdXBfX2lzUm9vdEluRm9ybUxheW91dF9fYmtYZWQ1VEUuSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253IC5JbnB1dEdyb3VwX19pbnB1dENvbnRhaW5lcl9fcWRzSHNzbUgsIC5JbnB1dEdyb3VwX19pc1Jvb3RJbkZvcm1MYXlvdXRfX2JrWGVkNVRFLklucHV0R3JvdXBfX2lzUm9vdExheW91dEhvcml6b250YWxfX3RpRGg4XFxcXCtudyAuSW5wdXRHcm91cF9faGVscFRleHRfX0VyNGROZXRXLCAuSW5wdXRHcm91cF9faXNSb290SW5Gb3JtTGF5b3V0X19ia1hlZDVURS5JbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX190aURoOFxcXFwrbncgLklucHV0R3JvdXBfX3ZhbGlkYXRpb25UZXh0X19kNHp1RVowciB7XFxuICAgIGdyaWQtYXJlYTogdW5zZXQ7XFxuICB9XFxuICAuSW5wdXRHcm91cF9faXNSb290SW5Gb3JtTGF5b3V0X19ia1hlZDVURS5JbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX190aURoOFxcXFwrbncgLklucHV0R3JvdXBfX2ZpZWxkX19DSzBhVmMxZiwgLklucHV0R3JvdXBfX2lzUm9vdEluRm9ybUxheW91dF9fYmtYZWQ1VEUuSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253IC5JbnB1dEdyb3VwX19pbnB1dENvbnRhaW5lcl9fcWRzSHNzbUgsIC5JbnB1dEdyb3VwX19pc1Jvb3RJbkZvcm1MYXlvdXRfX2JrWGVkNVRFLklucHV0R3JvdXBfX2lzUm9vdExheW91dEhvcml6b250YWxfX3RpRGg4XFxcXCtudyAuSW5wdXRHcm91cF9faGVscFRleHRfX0VyNGROZXRXLCAuSW5wdXRHcm91cF9faXNSb290SW5Gb3JtTGF5b3V0X19ia1hlZDVURS5JbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX190aURoOFxcXFwrbncgLklucHV0R3JvdXBfX3ZhbGlkYXRpb25UZXh0X19kNHp1RVowciB7XFxuICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyO1xcbiAgfVxcbiAgLklucHV0R3JvdXBfX2lzUm9vdEluRm9ybUxheW91dF9fYmtYZWQ1VEUuSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253LklucHV0R3JvdXBfX2hhc1Jvb3RTbWFsbElucHV0X18xN2JqcXFwOSAuSW5wdXRHcm91cF9fZmllbGRfX0NLMGFWYzFmIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxufVxcblxcbi5JbnB1dEdyb3VwX19pc1Jvb3RTaXplU21hbGxfX0QzS2JOWG8zIHtcXG4gIC0tcnVpLWxvY2FsLXBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zbWFsbF9fcGFkZGluZy15KTtcXG4gIC0tcnVpLWxvY2FsLXBhZGRpbmcteDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zbWFsbF9fcGFkZGluZy14KTtcXG59XFxuXFxuLklucHV0R3JvdXBfX2lzUm9vdFNpemVNZWRpdW1fX0NLeVxcXFwrTzhSTCB7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19wYWRkaW5nLXkpO1xcbiAgLS1ydWktbG9jYWwtcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fcGFkZGluZy14KTtcXG59XFxuXFxuLklucHV0R3JvdXBfX2lzUm9vdFNpemVMYXJnZV9fRmwzdnhaaVkge1xcbiAgLS1ydWktbG9jYWwtcGFkZGluZy15OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWxhcmdlX19wYWRkaW5nLXkpO1xcbiAgLS1ydWktbG9jYWwtcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWxhcmdlX19wYWRkaW5nLXgpO1xcbn1cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL2NvbXBvbmVudHMvSW5wdXRHcm91cC9JbnB1dEdyb3VwLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL19mb3VuZGF0aW9uLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL19hY2Nlc3NpYmlsaXR5LnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvY29tcG9uZW50cy9JbnB1dEdyb3VwL190aGVtZS5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9fcmVzZXQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdGhlbWUvX2Zvcm0tZmllbGRzLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3NldHRpbmdzL19mb3JtLWZpZWxkcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fdmFyaWFudHMuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX2JveC1maWVsZC1sYXlvdXQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvX2JyZWFrcG9pbnQuc2Nzc1wiLFwiPG5vIHNvdXJjZT5cIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL19ib3gtZmllbGQtc2l6ZXMuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFlQTtFQ1JJLGdCQUFBO0FETEo7QUNTSTtFQUNJLGdCQUFBO0FEUFI7O0FBZ0JBO0VFWkksa0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBO0FGQUo7O0FBVUE7RUNUSSxrRkFBQTtBREdKOztBQVVBO0VBQ0ksMkVBQUE7RUFFQSxhQUFBO0VBQ0EsK0JHbENFO0FIMEJOOztBQVlBO0VJYkksZUFBQTtFQUNBLGdCQUFBO0VISUEsdURJakJtQjtFSmtCbkIscURJbkJrQjtFSm9CbEIsbUJLekJvQjtFTDBCcEIsc0ZBQUE7QURFSjtBSVBJO0VBQ0ksZ0JBQUE7QUpTUjs7QU8yQ1E7RUEvQkksZ0VBQUE7RUFBQSw4RUFBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7RUFBQSwwRUFBQTtFQUFBLGtHQUFBO0FQSFo7QU9rRFE7RUF4Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVBFWjtBTzRDUTtFQTlDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVBrQ1o7QU9rQlE7RUFwREk7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVA4Q1o7O0FPdEJRO0VBL0JJLDhEQUFBO0VBQUEsNEVBQUE7RUFBQSx3RUFBQTtFQUFBLGdHQUFBO0VBQUEsd0VBQUE7RUFBQSxnR0FBQTtBUDhEWjtBT2ZRO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FQbUVaO0FPckJRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUG1HWjtBTy9DUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUCtHWjs7QU92RlE7RUEvQkksZ0VBQUE7RUFBQSw4RUFBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7RUFBQSwwRUFBQTtFQUFBLGtHQUFBO0FQK0haO0FPaEZRO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FQb0laO0FPdEZRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUG9LWjtBT2hIUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUGdMWjs7QUFoTEE7RUVoREksa0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBO0FGb09KOztBQXRMQTs7RVFHSSxvQkFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QVJ3TEo7QVF0TEk7O0VBQ0ksMkVBQUE7QVJ5TFI7QVF0TEk7Ozs7RUFFSSx3RUFBQTtBUjBMUjtBUXZMSTs7RUFDSSwwQkFBQTtFQUFBLHVCQUFBO0VBQUEsa0JBQUE7RUFDQSxlQUFBO0FSMExSOztBQXhNQTs7RUFFSSxlQUFBO0FBMk1KOztBU3RRUTtFVDhEUjtJUWVRLG9CQUFBO0lBQ0EseUZBQUE7SUFBQSxpRkFBQTtJQUNBLGtDQUFBO0lBQ0Esa0JBQUE7RVI4TE47RVE1TE07SUFDSSxnQkFBQTtJQUNBLHVFSGxFMEI7SUdtRTFCLDZESDFFaUI7SUc0RmIsMklBQUE7SUFDQSw4SUFBQTtJQUdKLDJDRnhHVztJRXlHWCwrREhsR2tCO0VMNlE1QjtFUXhLTTtJQUNJLGdCQUFBO0lBQ0EsdUVIOUYwQjtJRytGMUIsbUJBQUE7RVIwS1Y7QUFDRjs7QVV2U0E7RUY0RlE7SUU1RlIsZ0JBQUE7SUFBQSxtQkFBQTtFVmlTRTtFUXhLTTtJRXpIUixnQkFBQTtJQUFBLG1CQUFBO0VWc1NFO0NVdFNGOztBVjRFQTtFUTJHSSxtQkFBQTtBUm9ISjtBUWxISTtFQUNJLFdBQUE7QVJvSFI7QVNwU1E7RURvTEE7SUFDSSxXQUFBO0VSbUhWO0VRaEhNO0lBRUksYUFBQTtJQUNBLDhCQUFBO0lBQ0EsbUJBQUE7RVJpSFY7RVEvR1U7SUFOSjtNQU9RLGlCQUFBO0lSa0haO0VBQ0Y7RVEvR007SUFDSSw4QkFBQTtFUmlIVjtFUTlHTTtJQUtJLGdCQUFBO0VSNEdWO0VRekdNO0lBSUksb0JBQUE7RVJ3R1Y7RVFyR007SUFDSSxjQUFBO0VSdUdWO0FBQ0Y7O0FBeFBBO0VXM0VJLGtFQUFBO0VBQ0Esa0VBQUE7QVh1VUo7O0FBelBBO0VXL0VJLG1FQUFBO0VBQ0EsbUVBQUE7QVg0VUo7O0FBMVBBO0VXbkZJLGtFQUFBO0VBQ0Esa0VBQUE7QVhpVkpcIixcInNvdXJjZXNDb250ZW50XCI6W1wiLy8gMS4gVGhlIGNsYXNzIG5hbWUgaXMgaW50ZW50aW9uYWxseSBzaW5ndWxhciBiZWNhdXNlIGl0J3MgdGFyZ2V0ZWQgYnkgb3RoZXIgbWl4aW5zIHRvby5cXG4vLyAyLiBVc2UgYSBibG9jay1sZXZlbCBkaXNwbGF5IG1vZGUgdG8gcHJldmVudCBleHRyYSB3aGl0ZSBzcGFjZSBiZWxvdyBncm91cGVkIGlucHV0cyBpbiBTYWZhcmkuXFxuLy8gMy4gUHJldmVudCBpbmRpdmlkdWFsIGlucHV0cyBmcm9tIG92ZXJsYXBwaW5nIGluc2lkZSBuYXJyb3cgY29udGFpbmVycy5cXG4vLyA0LiBMZWdlbmRzIGFyZSB0cmlja3kgdG8gc3R5bGUsIGxldCdzIHVzZSBhIGBkaXZgIGluc3RlYWQuXFxuLy8gICAgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRNTC9FbGVtZW50L2ZpZWxkc2V0I3N0eWxpbmdfd2l0aF9jc3NcXG5cXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvYm94LWZpZWxkLWVsZW1lbnRzXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvYm94LWZpZWxkLWxheW91dFxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2JveC1maWVsZC1zaXplc1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2ZvdW5kYXRpb25cXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy92YXJpYW50c1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2FjY2Vzc2liaWxpdHlcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9yZXNldFxcXCI7XFxuQHVzZSBcXFwidGhlbWVcXFwiO1xcblxcbi5yb290IHtcXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi5yb290KCk7XFxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24uZmllbGRzZXQoKTtcXG59XFxuXFxuLy8gNC5cXG4ubGVnZW5kIHtcXG4gICAgQGluY2x1ZGUgYWNjZXNzaWJpbGl0eS5oaWRlLXRleHQoKTtcXG59XFxuXFxuLy8gNC5cXG4ubGFiZWwge1xcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLmxhYmVsKCk7XFxufVxcblxcbi5pbnB1dEdyb3VwIHtcXG4gICAgLS1ydWktbG9jYWwtaW5uZXItYm9yZGVyLXJhZGl1czogI3t0aGVtZS4kaW5uZXItYm9yZGVyLXJhZGl1c307XFxuXFxuICAgIGRpc3BsYXk6IGZsZXg7IC8vIDIuXFxuICAgIGdhcDogdGhlbWUuJGdhcDtcXG59XFxuXFxuLy8gMS5cXG4udmFsaWRhdGlvblRleHQge1xcbiAgICBAaW5jbHVkZSByZXNldC5saXN0KCk7XFxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24uaGVscC10ZXh0KCk7XFxufVxcblxcbi8vIFN0YXRlc1xcbi5pc1Jvb3RTdGF0ZUludmFsaWQge1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52YWxpZGF0aW9uKGludmFsaWQpO1xcbn1cXG5cXG4uaXNSb290U3RhdGVWYWxpZCB7XFxuICAgIEBpbmNsdWRlIHZhcmlhbnRzLnZhbGlkYXRpb24odmFsaWQpO1xcbn1cXG5cXG4uaXNSb290U3RhdGVXYXJuaW5nIHtcXG4gICAgQGluY2x1ZGUgdmFyaWFudHMudmFsaWRhdGlvbih3YXJuaW5nKTtcXG59XFxuXFxuLy8gSW52aXNpYmxlIGxhYmVsXFxuLmlzTGFiZWxIaWRkZW4ge1xcbiAgICBAaW5jbHVkZSBhY2Nlc3NpYmlsaXR5LmhpZGUtdGV4dCgpO1xcbn1cXG5cXG4vLyBMYXlvdXRzXFxuLmlzUm9vdExheW91dFZlcnRpY2FsLFxcbi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWxheW91dC52ZXJ0aWNhbCgpO1xcbn1cXG5cXG4uaXNSb290TGF5b3V0VmVydGljYWwgLmZpZWxkLFxcbi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCB7XFxuICAgIG1heC13aWR0aDogbm9uZTsgLy8gMy5cXG59XFxuXFxuLmlzUm9vdExheW91dEhvcml6b250YWwge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtbGF5b3V0Lmhvcml6b250YWwoKTtcXG59XFxuXFxuLmlzUm9vdEluRm9ybUxheW91dCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1sYXlvdXQuaW4tZm9ybS1sYXlvdXQoKTtcXG59XFxuXFxuLy8gU2l6ZXNcXG4uaXNSb290U2l6ZVNtYWxsIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLXNpemVzLnNpemUoc21hbGwsICRoYXMtaW5wdXQ6IGZhbHNlKTtcXG59XFxuXFxuLmlzUm9vdFNpemVNZWRpdW0ge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtc2l6ZXMuc2l6ZShtZWRpdW0sICRoYXMtaW5wdXQ6IGZhbHNlKTtcXG59XFxuXFxuLmlzUm9vdFNpemVMYXJnZSB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1zaXplcy5zaXplKGxhcmdlLCAkaGFzLWlucHV0OiBmYWxzZSk7XFxufVxcblwiLFwiLy8gMS4gRG9uJ3QgbGV0IHRleHQgYWxpZ25tZW50IGJlIGFmZmVjdGVkIGJ5IGEgcGFyZW50Llxcbi8vIDIuIE92ZXJyaWRlIGZvdW5kYXRpb24gcmVzZXQuXFxuXFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybS1maWVsZHNcXFwiIGFzIHNldHRpbmdzO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL2Zvcm0tZmllbGRzXFxcIiBhcyB0aGVtZTtcXG5cXG5AbWl4aW4gcm9vdCgpIHtcXG4gICAgdGV4dC1hbGlnbjogbGVmdDsgLy8gMS5cXG59XFxuXFxuQG1peGluIGZpZWxkc2V0KCkge1xcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gMi5cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gbGFiZWwoKSB7XFxuICAgIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgI3t0aGVtZS4kbGFiZWwtY29sb3J9KTtcXG59XFxuXFxuQG1peGluIGxhYmVsLXJlcXVpcmVkKCkge1xcbiAgICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsICN7dGhlbWUuJHJlcXVpcmVkLWxhYmVsLWNvbG9yfSk7XFxuXFxuICAgICY6OmFmdGVyIHtcXG4gICAgICAgIGNvbnRlbnQ6IHRoZW1lLiRyZXF1aXJlZC1zaWduO1xcbiAgICAgICAgY29sb3I6IHRoZW1lLiRyZXF1aXJlZC1zaWduLWNvbG9yO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBoZWxwLXRleHQoKSB7XFxuICAgIGZvbnQtc3R5bGU6IHRoZW1lLiRoZWxwLXRleHQtZm9udC1zdHlsZTtcXG4gICAgZm9udC1zaXplOiB0aGVtZS4kaGVscC10ZXh0LWZvbnQtc2l6ZTtcXG4gICAgbGluZS1oZWlnaHQ6IHNldHRpbmdzLiRoZWxwLXRleHQtbGluZS1oZWlnaHQ7XFxuICAgIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgI3t0aGVtZS4kaGVscC10ZXh0LWNvbG9yfSk7XFxufVxcblwiLFwiLy8gMS4gU2NyZWVuIHJlYWRlcnMgb25seSwgaW5zcGlyZWQgYnkgQm9vdHN0cmFwLlxcbi8vICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzXFxuLy9cXG4vLyAyLiBNYWtlIHRhcCB0YXJnZXQgYmlnIGVub3VnaCB0byBpbXByb3ZlIGFjY2Vzc2liaWxpdHkgb24gdG91Y2ggc2NyZWVucy5cXG5cXG5AdXNlIFxcXCIuLi90aGVtZS9hY2Nlc3NpYmlsaXR5XFxcIiBhcyB0aGVtZTtcXG5cXG4vLyAxLlxcbkBtaXhpbiBoaWRlLXRleHQoKSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDFweDtcXG4gICAgaGVpZ2h0OiAxcHg7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICAgIGJvcmRlcjogMDtcXG59XFxuXFxuQG1peGluIHVuaGlkZS10ZXh0KCkge1xcbiAgICBwb3NpdGlvbjogdW5zZXQ7XFxuICAgIHdpZHRoOiB1bnNldDtcXG4gICAgaGVpZ2h0OiB1bnNldDtcXG4gICAgb3ZlcmZsb3c6IHVuc2V0O1xcbiAgICBjbGlwOiB1bnNldDtcXG4gICAgd2hpdGUtc3BhY2U6IHVuc2V0O1xcbn1cXG5cXG4vLyAyLlxcbkBtaXhpbiBtaW4tdGFwLXRhcmdldCgkc2l6ZTogdGhlbWUuJHRhcC10YXJnZXQtc2l6ZSwgJGNlbnRlcjogdHJ1ZSkge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuXFxuICAgICY6OmJlZm9yZSB7XFxuICAgICAgICBjb250ZW50OiBcXFwiXFxcIjtcXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcXG4gICAgICAgIGhlaWdodDogJHNpemU7XFxuXFxuICAgICAgICBAaWYgJGNlbnRlciB7XFxuICAgICAgICAgICAgdG9wOiA1MCU7XFxuICAgICAgICAgICAgbGVmdDogNTAlO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBmb2N1cy1yaW5nKCkge1xcbiAgICAmOmZvY3VzLXZpc2libGUge1xcbiAgICAgICAgb3V0bGluZTogdGhlbWUuJGZvY3VzLW91dGxpbmU7XFxuICAgICAgICBvdXRsaW5lLW9mZnNldDogdGhlbWUuJGZvY3VzLW91dGxpbmUtb2Zmc2V0O1xcbiAgICAgICAgYm94LXNoYWRvdzogdGhlbWUuJGZvY3VzLWJveC1zaGFkb3c7XFxuICAgIH1cXG59XFxuXCIsXCIkZ2FwOiB2YXIoLS1ydWktSW5wdXRHcm91cF9fZ2FwKTtcXG4kaW5uZXItYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUlucHV0R3JvdXBfX2lubmVyLWJvcmRlci1yYWRpdXMpO1xcblwiLFwiQG1peGluIGJ1dHRvbigpIHtcXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAgIGZsZXg6IG5vbmU7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICBib3JkZXI6IDA7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIGJhY2tncm91bmQ6IG5vbmU7XFxuICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuQG1peGluIGxpbmsoKSB7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgY29sb3I6IGluaGVyaXQ7XFxuXFxuICAgICY6aG92ZXIsXFxuICAgICY6Zm9jdXMge1xcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBsaXN0KCkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XFxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XFxuXFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICB9XFxufVxcblwiLFwiLy8gVmFyaWFudCBzcGVjaWZpYyB0aGVtZSBvcHRpb25zIGFyZSBvYnRhaW5lZCBkeW5hbWljYWxseSBiZWNhdXNlIHRoZXJlIGlzIHdheSB0b28gbWFueSBvZiB0aGVtIHRvXFxuLy8gbWFpbnRhaW4gbWFudWFsbHkuIFNlZSBgc2V0dGluZ3MvX2Zvcm0tZmllbGRzLnNjc3NgIGFuZCBgdG9vbHMvZm9ybS1maWVsZHMvX3ZhcmlhbnRzLnNjc3NgIGZvclxcbi8vIGRldGFpbHMuXFxuLy9cXG4vLyAxLiBEZWZhdWx0cyB0byB6ZXJvIHdoZW4gbmVpdGhlciBgLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15YCAob3B0aW9uYWwpIG5vclxcbi8vICAgIGAtLXJ1aS1sb2NhbC1wYWRkaW5nLXlgIChoYW5kbGVkIGJ5IHRoZSBgc2l6ZSgpYCBtaXhpbiBpbiBjYXNlIG9mIGJveCBmb3JtIGZpZWxkcywgc2VlXFxuLy8gICAgYF9ib3gtZmllbGQtc2l6ZXMuc2Nzc2ApIGlzIGRlZmluZWQuIFRoaXMgaXMgdXNlZnVsIGJlY2F1c2UgRm9ybUxheW91dEN1c3RvbUZpZWxkIG1heSBoYXZlIG5vXFxuLy8gICAgc2l6ZSBzcGVjaWZpZWQgdGhlcmVmb3JlIGl0cyBsYWJlbCBzaG91bGQgaGF2ZSBubyBwYWRkaW5nIGF0IHRoZSB0b3AuXFxuXFxuLy8gRm9ybXMgZmllbGRzOiBjb21tb24gcHJvcGVydGllc1xcbiRsYWJlbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZF9fbGFiZWxfX2NvbG9yKTtcXG4kbGFiZWwtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkX19sYWJlbF9fZm9udC1zaXplKTtcXG4kaGVscC10ZXh0LWZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXNpemUpO1xcbiRoZWxwLXRleHQtZm9udC1zdHlsZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXN0eWxlKTtcXG4kaGVscC10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2NvbG9yKTtcXG4kcmVxdWlyZWQtbGFiZWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19sYWJlbF9fY29sb3IpO1xcbiRyZXF1aXJlZC1zaWduOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fc2lnbik7XFxuJHJlcXVpcmVkLXNpZ24tY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19zaWduX19jb2xvcik7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGhvcml6b250YWwgbGF5b3V0XFxuJGhvcml6b250YWwtbGFiZWwtdGV4dC1hbGlnbjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3RleHQtYWxpZ24pO1xcbiRob3Jpem9udGFsLWxhYmVsLW1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX21pbi13aWR0aCk7XFxuJGhvcml6b250YWwtbGFiZWwtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX193aWR0aCk7XFxuJGhvcml6b250YWwtbGFiZWwtcGFkZGluZy15OlxcbiAgICB2YXIoXFxuICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19wYWRkaW5nLXksXFxuICAgICAgICBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKVxcbiAgICApOyAvLyAxLlxcbiRob3Jpem9udGFsLWxhYmVsLXZlcnRpY2FsLWFsaWdubWVudDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuJGhvcml6b250YWwtZmllbGQtdmVydGljYWwtYWxpZ25tZW50OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19maWVsZF9fdmVydGljYWwtYWxpZ25tZW50KTtcXG4kaG9yaXpvbnRhbC1mdWxsLXdpZHRoLWxhYmVsLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsLS1mdWxsLXdpZHRoX19sYWJlbF9fd2lkdGgpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBkaXNhYmxlZCBzdGF0ZVxcbiRkaXNhYmxlZC1jdXJzb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19jdXJzb3IpO1xcbiRkaXNhYmxlZC1vcGFjaXR5OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fb3BhY2l0eSk7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGJveCBmaWVsZHNcXG4kYm94LWJvcmRlci13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpO1xcbiRib3gtYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItcmFkaXVzKTtcXG4kYm94LWlucHV0LXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2lucHV0X193aWR0aCk7XFxuJGJveC1pbnB1dC1taW4td2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9faW5wdXRfX21pbi13aWR0aCk7XFxuJGJveC1wbGFjZWhvbGRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19wbGFjZWhvbGRlcl9fY29sb3IpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBib3ggZmllbGRzLCBjb21wb25lbnQgc3BlY2lmaWNcXG4kYm94LXNlbGVjdC1jYXJldC1ib3JkZXItc3R5bGU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc2VsZWN0X19jYXJldF9fYm9yZGVyLXN0eWxlKTtcXG4kYm94LXNlbGVjdC1jYXJldC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fY2FyZXRfX2JhY2tncm91bmQpO1xcbiRib3gtc2VsZWN0LW9wdGlvbi1kaXNhYmxlZC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zZWxlY3RfX29wdGlvbi0tZGlzYWJsZWRfX2NvbG9yKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogYm94IGZpZWxkIHNpemVzXFxuJGJveC1zaXplczogKFxcbiAgICBzbWFsbDogKFxcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19oZWlnaHQpLFxcbiAgICAgICAgcGFkZGluZy15OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19wYWRkaW5nLXkpLFxcbiAgICAgICAgcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19wYWRkaW5nLXgpLFxcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19mb250LXNpemUpLFxcbiAgICApLFxcbiAgICBtZWRpdW06IChcXG4gICAgICAgIGhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX2hlaWdodCksXFxuICAgICAgICBwYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19wYWRkaW5nLXkpLFxcbiAgICAgICAgcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fcGFkZGluZy14KSxcXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX2ZvbnQtc2l6ZSksXFxuICAgICksXFxuICAgIGxhcmdlOiAoXFxuICAgICAgICBoZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX2hlaWdodCksXFxuICAgICAgICBwYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX3BhZGRpbmcteSksXFxuICAgICAgICBwYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX3BhZGRpbmcteCksXFxuICAgICAgICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX2ZvbnQtc2l6ZSksXFxuICAgICksXFxuKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogY2hlY2sgZmllbGRzXFxuJGNoZWNrLWlucHV0LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dF9fc2l6ZSk7XFxuJGNoZWNrLWlucHV0LWJvcmRlci13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0X19ib3JkZXItd2lkdGgpO1xcbiRjaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLWZvY3VzX19ib3gtc2hhZG93KTtcXG4kY2hlY2stdGFwLXRhcmdldC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19fdGFwLXRhcmdldC1zaXplKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogY2hlY2sgZmllbGRzLCBjb21wb25lbnQgc3BlY2lmaWNcXG4kY2hlY2staW5wdXQtY2hlY2tib3gtYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1jaGVja2JveF9fYm9yZGVyLXJhZGl1cyk7XFxuJGNoZWNrLWlucHV0LWNoZWNrYm94LWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1jaGVja2JveC0tY2hlY2tlZF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXJhZGlvLWJvcmRlci1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tcmFkaW9fX2JvcmRlci1yYWRpdXMpO1xcbiRjaGVjay1pbnB1dC1yYWRpby1jaGVja2VkLWJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tcmFkaW8tLWNoZWNrZWRfX2JhY2tncm91bmQtaW1hZ2UpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlX193aWR0aCk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1ib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZV9fYm9yZGVyLXJhZGl1cyk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1iYWNrZ3JvdW5kLXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlX19iYWNrZ3JvdW5kLXNpemUpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtZGVmYXVsdC1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZS0tZGVmYXVsdF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1kZWZhdWx0LWJhY2tncm91bmQtcG9zaXRpb246XFxuICAgIHZhcihcXG4gICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWRlZmF1bHRfX2JhY2tncm91bmQtcG9zaXRpb25cXG4gICAgKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWNoZWNrZWRfX2JhY2tncm91bmQtaW1hZ2UpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtY2hlY2tlZC1iYWNrZ3JvdW5kLXBvc2l0aW9uOlxcbiAgICB2YXIoXFxuICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlLS1jaGVja2VkX19iYWNrZ3JvdW5kLXBvc2l0aW9uXFxuICAgICk7XFxuXCIsXCIvLyAxLiBJbnB1dCBgbGluZS1oZWlnaHRgIGlzIHNwZWNpZmllZCBpbiBgcmVtYCBzbyBpbnB1dHMgZG8gbm90IGJyZWFrIHdoZW4gdGhlaXIgZm9udCBzaXplIGdldHNcXG4vLyAgICBjaGFuZ2VkIGxhdGVyLlxcblxcbkB1c2UgXFxcInNhc3M6bWFwXFxcIjtcXG5AdXNlIFxcXCIuLi90aGVtZS90eXBvZ3JhcGh5XFxcIjtcXG5AdXNlIFxcXCIuLi90b29scy9zcGFjaW5nXFxcIjtcXG5cXG4kaGVscC10ZXh0LWxpbmUtaGVpZ2h0OiAxLjJyZW07XFxuXFxuJHZlcnRpY2FsLWlubmVyLWdhcDogc3BhY2luZy5vZigxKTtcXG4kdmVydGljYWwtaW5uZXItZ2FwLWxhcmdlOiBzcGFjaW5nLm9mKDIpO1xcbiR2ZXJ0aWNhbC1vdXRlci1zcGFjaW5nOiBzcGFjaW5nLm9mKDIpO1xcblxcbiRob3Jpem9udGFsLWlubmVyLWdhcDogc3BhY2luZy5vZigyKTtcXG4kaG9yaXpvbnRhbC1vdXRlci1zcGFjaW5nOiBzcGFjaW5nLm9mKDIpO1xcblxcbiRib3gtaW5wdXQtZm9udC1mYW1pbHk6IHR5cG9ncmFwaHkuJGZvbnQtZmFtaWx5LWJhc2U7XFxuJGJveC1pbnB1dC1mb250LXdlaWdodDogbWFwLmdldCh0eXBvZ3JhcGh5LiRmb250LXdlaWdodC12YWx1ZXMsIGRlZmF1bHQpO1xcbiRib3gtaW5wdXQtbGluZS1oZWlnaHQ6IDEuNXJlbTsgLy8gMS5cXG4kYm94LWZpZWxkLWNhcmV0LXNpemU6IDIuMjVyZW07XFxuJGJveC1maWVsZC1pbnB1dC1udW1iZXItYXJyb3dzLXdpZHRoOiAxLjVyZW07XFxuJGJveC1maWVsZC1ib3R0b20tbGluZS1oZWlnaHQ6IDJweDtcXG5cXG4kaW5saW5lLWZpZWxkLWlubmVyLWdhcDogc3BhY2luZy5vZigyKTtcXG5cXG4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzOiAoXFxuICAgIGJveDogKFxcbiAgICAgICAgZmlsbGVkOiAoZGVmYXVsdCwgaG92ZXIsIGZvY3VzLCBkaXNhYmxlZCksXFxuICAgICAgICBvdXRsaW5lOiAoZGVmYXVsdCwgaG92ZXIsIGZvY3VzLCBkaXNhYmxlZCksXFxuICAgICksXFxuICAgIGNoZWNrOiAoXFxuICAgICAgICBkZWZhdWx0OiAoZGVmYXVsdCwgY2hlY2tlZCwgZGlzYWJsZWQsIGNoZWNrZWQtZGlzYWJsZWQpLFxcbiAgICApLFxcbiAgICBjdXN0b206IChcXG4gICAgICAgIGRlZmF1bHQ6IChkZWZhdWx0LCBkaXNhYmxlZCksXFxuICAgICksXFxuICAgIHZhbGlkYXRpb246IChcXG4gICAgICAgIGludmFsaWQ6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICAgICB2YWxpZDogKGRlZmF1bHQsIGNoZWNrZWQsIGRpc2FibGVkLCBjaGVja2VkLWRpc2FibGVkKSxcXG4gICAgICAgIHdhcm5pbmc6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICksXFxuKTtcXG5cXG4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXM6IChcXG4gICAgZGVmYXVsdDogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGNoZWNrLWJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3csIHN1cnJvdW5kaW5nLXRleHQtY29sb3IpLFxcbiAgICBob3ZlcjogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGJveC1zaGFkb3cpLFxcbiAgICBmb2N1czogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGNoZWNrLWJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cpLFxcbiAgICBjaGVja2VkOiAoYm9yZGVyLWNvbG9yLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yKSxcXG4gICAgZGlzYWJsZWQ6IChjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93LCBzdXJyb3VuZGluZy10ZXh0LWNvbG9yKSxcXG4gICAgY2hlY2tlZC1kaXNhYmxlZDogKGJvcmRlci1jb2xvciwgY2hlY2stYmFja2dyb3VuZC1jb2xvciksXFxuKTtcXG5cIixcIi8vIDEuIER1ZSB0byBjb21wbGV4aXR5LCBpdCdzIGVhc2llciBhbmQgc2FmZXIgdG8gcmVzb2x2ZSB2YXJpYW50IGN1c3RvbSBwcm9wZXJ0aWVzIGR5bmFtaWNhbGx5IHdpdGhcXG4vLyAgICBhIG1peGluLiBUaGlzIHdheSBpdCdzIGFsc28gZWFzaWVyIHRvIG1ha2UgdGhlbWluZyBhZGp1c3RtZW50cyB0byBhbGwgc3VwcG9ydGVkIG1vZGlmaWNhdGlvbnNcXG4vLyAgICBpbiBvbmUgcGxhY2UuIEdlbmVyYXRlZCBjdXN0b20gcHJvcGVydGllcyBhcmUgY29uc3VtZWQgbWFpbmx5IGluIGZvdW5kYXRpb24gZmllbGQgc3R5bGVzIChzZWVcXG4vLyAgICBgdG9vbHMvZm9ybS1maWVsZHMvX2ZvdW5kYXRpb24uc2Nzc2AgZm9yIG1vcmUpLlxcbi8vXFxuLy8gMi4gSW50ZXJhY3Rpb24gc3RhdGVzIG90aGVyIHRoYW4gYGRlZmF1bHRgIGRlZmF1bHQgdG8gdGhlIGBkZWZhdWx0YCAoc2ljISkgc3RhdGUgYXBwZWFyYW5jZSBpZlxcbi8vICAgIGNvcnJlc3BvbmRpbmcgY3VzdG9tIHByb3BlcnRpZXMgYXJlIG5vdCBwcm92aWRlZC5cXG4vL1xcbi8vIDMuIGAuaW5wdXQ6Zm9jdXNgIGlzIGFkZGVkIGp1c3QgaW4gY2FzZSBgOmZvY3VzLXdpdGhpbmAgZG9lc24ndCB3b3JrLlxcblxcbkB1c2UgXFxcInNhc3M6bGlzdFxcXCI7XFxuQHVzZSBcXFwic2FzczptYXBcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm0tZmllbGRzXFxcIiBhcyBzZXR0aW5ncztcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuXFxuQG1peGluIF9kaXNhYmxlZC1zdGF0ZSgpIHtcXG4gICAgb3BhY2l0eTogdGhlbWUuJGRpc2FibGVkLW9wYWNpdHk7XFxuICAgIGN1cnNvcjogdGhlbWUuJGRpc2FibGVkLWN1cnNvcjtcXG59XFxuXFxuLy8gMS5cXG5AbWl4aW4gX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgJHN0YXRlKSB7XFxuICAgIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cyhtYXAuZ2V0KHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMsICR0eXBlKSksICR2YXJpYW50KSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgdmFyaWFudCBzcGVjaWZpZWQhICN7JHZhcmlhbnR9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMobWFwLmdldChzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzLCAkdHlwZSkpfS5cXFwiO1xcbiAgICB9XFxuXFxuICAgIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXMpLCAkc3RhdGUpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiSW52YWxpZCBzdGF0ZSBzcGVjaWZpZWQhICN7JHN0YXRlfSBkb2Vzbid0IGV4aXN0LiBcXFwiXFxuICAgICAgICAgICAgKyBcXFwiQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKHNldHRpbmdzLiR0aGVtZWFibGUtc3RhdGUtcHJvcGVydGllcyl9LlxcXCI7XFxuICAgIH1cXG5cXG4gICAgJHByb3BlcnRpZXM6IG1hcC5nZXQoc2V0dGluZ3MuJHRoZW1lYWJsZS1zdGF0ZS1wcm9wZXJ0aWVzLCAkc3RhdGUpO1xcbiAgICAkaW5maXg6ICR0eXBlO1xcbiAgICAkZmFsbGJhY2stc3RhdGU6IFxcXCJkZWZhdWx0XFxcIjtcXG5cXG4gICAgQGlmICR0eXBlID09IFxcXCJ2YWxpZGF0aW9uXFxcIiB7XFxuICAgICAgICAkaW5maXg6ICR2YXJpYW50O1xcbiAgICB9XFxuXFxuICAgIEBpZiAkdHlwZSAhPSBcXFwidmFsaWRhdGlvblxcXCIgYW5kICR2YXJpYW50ICE9IFxcXCJkZWZhdWx0XFxcIiB7XFxuICAgICAgICAkaW5maXg6ICN7JHR5cGV9LS0jeyR2YXJpYW50fTtcXG4gICAgfVxcblxcbiAgICBAaWYgJHN0YXRlID09IFxcXCJjaGVja2VkLWRpc2FibGVkXFxcIiB7XFxuICAgICAgICAkZmFsbGJhY2stc3RhdGU6IFxcXCJjaGVja2VkXFxcIjtcXG4gICAgfVxcblxcbiAgICBAaWYgJHN0YXRlID09IFxcXCJkZWZhdWx0XFxcIiB7XFxuICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xcbiAgICAgICAgICAgIC0tcnVpLWxvY2FsLSN7JHByb3BlcnR5fTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tI3skaW5maXh9LS0jeyRzdGF0ZX1fXyN7JHByb3BlcnR5fSk7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgLy8gMi5cXG4gICAgQGVsc2Uge1xcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcXG4gICAgICAgICAgICAtLXJ1aS1sb2NhbC0jeyRwcm9wZXJ0eX06XFxuICAgICAgICAgICAgICAgIHZhcihcXG4gICAgICAgICAgICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tI3skaW5maXh9LS0jeyRzdGF0ZX1fXyN7JHByb3BlcnR5fSxcXG4gICAgICAgICAgICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLSN7JGluZml4fS0tI3skZmFsbGJhY2stc3RhdGV9X18jeyRwcm9wZXJ0eX0pXFxuICAgICAgICAgICAgICAgICk7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIF9nZXQtdGhlbWUoJHR5cGUsICR2YXJpYW50KSB7XFxuICAgIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzKSwgJHR5cGUpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiSW52YWxpZCB0eXBlIHNwZWNpZmllZCEgI3skdHlwZX0gZG9lc24ndCBleGlzdC4gXFxcIlxcbiAgICAgICAgICAgICsgXFxcIkNob29zZSBvbmUgb2YgI3ttYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzKX0uXFxcIjtcXG4gICAgfVxcblxcbiAgICAkdGhlbWVhYmxlLXN0YXRlczogbWFwLmdldChtYXAuZ2V0KHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMsICR0eXBlKSwgJHZhcmlhbnQpO1xcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImhvdmVyXFxcIikge1xcbiAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImRlZmF1bHRcXFwiKTtcXG5cXG4gICAgICAgICY6aG92ZXIge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJob3ZlclxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9IEBlbHNlIHtcXG4gICAgICAgICYsXFxuICAgICAgICAmOmhvdmVyIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiZGVmYXVsdFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiZm9jdXNcXFwiKSB7XFxuICAgICAgICAvLyAzLlxcbiAgICAgICAgJjpmb2N1cy13aXRoaW4sXFxuICAgICAgICAmOmZvY3VzLXdpdGhpbjpob3ZlcixcXG4gICAgICAgIC5pbnB1dDpmb2N1cyB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImZvY3VzXFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJjaGVja2VkXFxcIikge1xcbiAgICAgICAgLmlucHV0OmNoZWNrZWQge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJjaGVja2VkXFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJkaXNhYmxlZFxcXCIpIHtcXG4gICAgICAgICYuaXNSb290RGlzYWJsZWQge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJkaXNhYmxlZFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiY2hlY2tlZC1kaXNhYmxlZFxcXCIpIHtcXG4gICAgICAgIC5pbnB1dDpjaGVja2VkOmRpc2FibGVkIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiY2hlY2tlZC1kaXNhYmxlZFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiB2aXN1YWwoJHR5cGUsICR2YXJpYW50OiBcXFwiZGVmYXVsdFxcXCIsICRoYXMtY2FyZXQ6IGZhbHNlKSB7XFxuICAgIEBpbmNsdWRlIF9nZXQtdGhlbWUoJHR5cGUsICR2YXJpYW50KTtcXG5cXG4gICAgLmlucHV0OmRpc2FibGVkIHtcXG4gICAgICAgIEBpbmNsdWRlIF9kaXNhYmxlZC1zdGF0ZSgpO1xcbiAgICB9XFxuXFxuICAgIEBpZiAkdHlwZSA9PSBcXFwiYm94XFxcIiBhbmQgJHZhcmlhbnQgPT0gXFxcImZpbGxlZFxcXCIge1xcbiAgICAgICAgLmlucHV0IHtcXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiAkdHlwZSA9PSBcXFwiYm94XFxcIiBhbmQgJHZhcmlhbnQgPT0gXFxcIm91dGxpbmVcXFwiIGFuZCAkaGFzLWNhcmV0IHtcXG4gICAgICAgIC5jYXJldCB7XFxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRoZW1lLiRib3gtYm9yZGVyLXdpZHRoIHRoZW1lLiRib3gtc2VsZWN0LWNhcmV0LWJvcmRlci1zdHlsZSB2YXIoLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yKTtcXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0aGVtZS4kYm94LXNlbGVjdC1jYXJldC1iYWNrZ3JvdW5kO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3REaXNhYmxlZCAuY2FyZXQge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9kaXNhYmxlZC1zdGF0ZSgpO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiB2YWxpZGF0aW9uKCR2YXJpYW50KSB7XFxuICAgIEBpbmNsdWRlIF9nZXQtdGhlbWUodmFsaWRhdGlvbiwgJHZhcmlhbnQpO1xcbn1cXG5cIixcIi8vIDEuICBJbmxpbmUgZm9ybSBmaWVsZHMgYW5kIGZpZWxkcyB3aXRoIHZlcnRpY2FsIGxheW91dCB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgdGhleSBuZWVkLiBMYWJlbHNcXG4vLyAgICAgZG8gbm90IHdyYXAgdW50aWwgZm9yY2VkIGJ5IGNvbnRhaW5lciBvZiB0aGUgZmllbGQuIE1pbiBhbmQgbWF4IGxpbWl0cyBtYWtlIGV4dHJhIGxvbmcgd29yZHNcXG4vLyAgICAgYnJlYWsgaWYgbmVjZXNzYXJ5Llxcbi8vXFxuLy8gMi4gIEZvcm0gZmllbGRzIGluIGhvcml6b250YWwgbGF5b3V0IGFsc28gdGFrZSB1cCBvbmx5IGFzIG11Y2ggc3BhY2UgYXMgdGhleSBuZWVkLiBMYWJlbHMgZG8gbm90XFxuLy8gICAgIHdyYXAgdW50aWwgbGFiZWwgd2lkdGggbGltaXQgaXMgcmVhY2hlZCAoNTAgJSBvZiBhdmFpbGFibGUgaG9yaXpvbnRhbCBzcGFjZSBieSBkZWZhdWx0KS5cXG4vL1xcbi8vIDMuICBIZWxwIHRleHRzIGFuZCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGFyZSBhbGlnbmVkIGJlbG93IGlucHV0IGFuZCB3cmFwcGVkLiBUaGVpciB3aWR0aCBpcyBhbHdheXNcXG4vLyAgICAgbGltaXRlZCB0byB0aGUgd2lkdGggb2YgdGhlIGlucHV0IGZpZWxkIHNvIHRoZXkgZG9uJ3Qgc2hpZnQgYWRqYWNlbnQgZWxlbWVudHMgd2hlbiB0aGV5IHNob3dcXG4vLyAgICAgdXAuIFRoaXMgYXBwbGllcyB1bmxlc3MgdGhlIGZpZWxkIGlzIGluc2lkZSBGb3JtTGF5b3V0IChzZWUgMTApLlxcbi8vXFxuLy8gNC4gIERlZmluZSBncmlkIHNwYWNpbmcgYXMgcGFkZGluZyBvZiBjaGlsZCBlbGVtZW50cyBiZWNhdXNlIGdyaWQgYXJlYXMgbWFrZSByb3cgYW5kIGNvbHVtbiBnYXBzXFxuLy8gICAgIHNob3cgdXAgZXZlbiB3aGVuIG5vdCBuZWNlc3NhcnkuXFxuLy9cXG4vLyA1LiAgV2hlbiBpbnB1dCBzaXplIGlzIHNtYWxsIGFuZCBmb3JtIGZpZWxkIGxheW91dCBpcyBzZXQgdG8gaG9yaXpvbnRhbCwgZXhwYW5kIGhlbHAgdGV4dCBhbmRcXG4vLyAgICAgdmFsaWRhdGlvbiBtZXNzYWdlIG92ZXIgZnVsbCBmb3JtIGZpZWxkIHdpZHRoIHRvIGltcHJvdmUgdGhlaXIgcmVhZGFiaWxpdHkuIE90aGVyd2lzZSB0aGVcXG4vLyAgICAgdGV4dCB3b3VsZCBiZSBwYWNrZWQgaW50byBhIHZlcnkgbmFycm93IGNvbHVtbiBhbmQgaGFyZCB0byByZWFkLiBUbyBwcmV2ZW50IGhlbHAgdGV4dCBhbmRcXG4vLyAgICAgdmFsaWRhdGlvbiBtZXNzYWdlIGZyb20gZ3Jvd2luZyB0aGUgbGF5b3V0IG1vcmUgdGhhbiBuZWNlc3NhcnkgKGllLiB0aGUgc2l6ZSB3aXRob3V0XFxuLy8gICAgIGhlbHAvdmFsaWRhdGlvbiB0ZXh0KSwgYG1pbi1jb250ZW50YCBncmlkIHNpemluZyBtdXN0IGJlIHVzZWQgYWxvbmcgd2l0aCBkaXNhYmxlZCB3cmFwcGluZyBvZlxcbi8vICAgICBsYWJlbC5cXG4vL1xcbi8vIDYuICBGdWxsLXdpZHRoIGhvcml6b250YWwgZm9ybSBmaWVsZHMgcHJlZmVyIG5vdCB3cmFwcGluZyB0aGUgbGFiZWwgdW50aWwgYSBsaW1pdCBpcyByZWFjaGVkXFxuLy8gICAgICg1MCAlIG9mIGF2YWlsYWJsZSBob3Jpem9udGFsIHNwYWNlIGJ5IGRlZmF1bHQsIHNhbWUgYXMgaW4gMi4pLlxcbi8vXFxuLy8gNy4gIEp1c3RpZnkgaW5wdXRzIHRvIGBzdGFydGAgaW4gaG9yaXpvbnRhbCBsYXlvdXRzIHRvIGZpeCBwb3NpdGlvbmluZyBpc3N1ZXMgd2l0aCBTZWxlY3QgRmllbGRzLlxcbi8vICAgICBSZXZlcnRlZCBmb3IgZnVsbC13aWR0aCBmaWVsZHMuXFxuLy9cXG4vLyA4LiAgR3JpZCBzZXR0aW5ncyBhcmUgaW5oZXJpdGVkIGZyb20gaG9yaXpvbnRhbCBGb3JtTGF5b3V0IGFuZCBhcHBsaWVkIHVzaW5nIGBzdWJncmlkYC5cXG4vLyAgICAgQSBmYWxsYmFjayBpcyBzdXBwbGllZCB0byBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgYHN1YmdyaWRgIHlldC4gU2VlIEZvcm1MYXlvdXQgc3R5bGVzXFxuLy8gICAgIGZvciBtb3JlLlxcbi8vICAgICBodHRwczovL2dpdGh1Yi5jb20vcmVhY3QtdWktb3JnL3JlYWN0LXVpL2lzc3Vlcy8yMzJcXG4vL1xcbi8vIDkuICBIZWxwIHRleHRzIGFuZCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGNhbiB0YWtlIHVwIGZ1bGwgd2lkdGggb2YgRm9ybUxheW91dC4gVGhlcmUgaXMgbm8gcmVhc29uXFxuLy8gICAgIHRvIG1ha2UgdGhlbSB3cmFwIGFzIHRoZXkgY2Fubm90IGJyZWFrIGxheW91dCBvZiBGb3JtTGF5b3V0Llxcbi8vXFxuLy8gMTAuIFZpc3VhbGx5IGFsaWduIGxhYmVsIHRvIGlucHV0IGJhc2VsaW5lLiBBY2hpZXZlZCB3aXRoIGBwYWRkaW5nLXRvcGAgYW5kIGBwYWRkaW5nLWJvdHRvbWAgZHVlXFxuLy8gICAgIHRvIHR3byByZWFzb25zOlxcbi8vXFxuLy8gICAgICogYGFsaWduLWl0ZW1zOiBiYXNlbGluZWAgZG9lc24ndCB3b3JrIGZvciBibGFuayB0ZXh0IGlucHV0cyBpbiBTYWZhcmkuIFNlZVxcbi8vICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyOTY4IGFuZFxcbi8vICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vcmVhY3QtdWktb3JnL3JlYWN0LXVpL2lzc3Vlcy8yNjUuXFxuLy9cXG4vLyAgICAgKiBgYWxpZ24taXRlbXM6IGJhc2VsaW5lYCBkb2Vzbid0IGFsbG93IHN1YnNlcXVlbnQgdmVydGljYWwgY2VudGVyaW5nIG9mIHRhbGwgaW5wdXRzIGFuZC9vclxcbi8vICAgICAgICBtdWx0aWxpbmUgbGFiZWxzIChzZWUgYHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXZlcnRpY2FsLWFsaWdubWVudGAgYW5kXFxuLy8gICAgICAgIGB0aGVtZS4kaG9yaXpvbnRhbC1maWVsZC12ZXJ0aWNhbC1hbGlnbm1lbnRgKS5cXG4vL1xcbi8vIDExLiBSZXNldCBgd2lkdGhgIHByZXZpb3VzbHkgc2V0IGJ5IGlubGluZSBmaWVsZCBsYXlvdXQgKHNlZSBgX2lubGluZS1maWVsZC1sYXlvdXQuc2Nzc2ApLlxcbi8vXFxuLy8gMTIuIE1ha2UgZmllbGRzIGp1c3QgYXMgd2lkZSBhcyBuZWNlc3NhcnkuIEZpZWxkcyBzaG91bGQgYmUgaW50ZXJhY3RpdmUgb25seSB3aGVyZSB0aGVpciB2aXNpYmxlXFxuLy8gICAgIGNvbnRlbnQgaXMuXFxuLy9cXG4vLyAxMy4gTGFiZWwgYW5kIGZpZWxkIGFyZSB2ZXJ0aWNhbGx5IGFsaWduZWQgdG8gdG9wIChzdGFydCkgYnkgZGVmYXVsdCAoc2VlIDEwLikuIFZlcnRpY2FsXFxuLy8gICAgIGFsaWdubWVudCBvZiBlYWNoIGJsb2NrIGNhbiBiZSBjaGFuZ2VkIGJ5IHRoZW1lIGNvbmZpZ3VyYXRpb24uXFxuXFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybXNcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm0tZmllbGRzXFxcIiBhcyBzZXR0aW5ncztcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvdHlwb2dyYXBoeVxcXCI7XFxuQHVzZSBcXFwiLi4vYnJlYWtwb2ludFxcXCI7XFxuXFxuQG1peGluIHZlcnRpY2FsKCRoYXMtbGlzdDogZmFsc2UpIHtcXG4gICAgQGlmICRoYXMtbGlzdCB7XFxuICAgICAgICAtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXA6ICN7c2V0dGluZ3MuJHZlcnRpY2FsLWlubmVyLWdhcC1sYXJnZX07XFxuICAgIH1cXG5cXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IC8vIDEuXFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIG1pbi13aWR0aDogMDsgLy8gMS5cXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxLlxcblxcbiAgICAubGFiZWwge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXAsICN7c2V0dGluZ3MuJHZlcnRpY2FsLWlubmVyLWdhcH0pO1xcbiAgICB9XFxuXFxuICAgIC5oZWxwVGV4dCxcXG4gICAgLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCAje3NldHRpbmdzLiR2ZXJ0aWNhbC1pbm5lci1nYXB9KTtcXG4gICAgfVxcblxcbiAgICAuZmllbGQge1xcbiAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50OyAvLyAzLlxcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAzLlxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBob3Jpem9udGFsKCRoYXMtbWluLXRhcC10YXJnZXQ6IGZhbHNlKSB7XFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWdyaWQ7IC8vIDIuXFxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXdpZHRoIG1pbi1jb250ZW50OyAvLyAyLlxcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXFxcImxhYmVsIGZpZWxkXFxcIjtcXG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDsgLy8gMTAuLCAxMy5cXG5cXG4gICAgICAgIC5sYWJlbCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBsYWJlbDtcXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC12ZXJ0aWNhbC1hbGlnbm1lbnQ7IC8vIDEzLlxcbiAgICAgICAgICAgIG1pbi13aWR0aDogdGhlbWUuJGhvcml6b250YWwtbGFiZWwtbWluLXdpZHRoO1xcblxcbiAgICAgICAgICAgIC8vIDEwLlxcbiAgICAgICAgICAgIEBpZiAkaGFzLW1pbi10YXAtdGFyZ2V0IHtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6XFxuICAgICAgICAgICAgICAgICAgICBjYWxjKFxcbiAgICAgICAgICAgICAgICAgICAgICAgICgje3RoZW1lLiRjaGVjay10YXAtdGFyZ2V0LXNpemV9IC0gMXJlbSAqICN7dHlwb2dyYXBoeS4kbGluZS1oZWlnaHQtYmFzZX0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgLyAyXFxuICAgICAgICAgICAgICAgICAgICApO1xcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpcXG4gICAgICAgICAgICAgICAgICAgIGNhbGMoXFxuICAgICAgICAgICAgICAgICAgICAgICAgKCN7dGhlbWUuJGNoZWNrLXRhcC10YXJnZXQtc2l6ZX0gLSAxcmVtICogI3t0eXBvZ3JhcGh5LiRsaW5lLWhlaWdodC1iYXNlfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAvIDJcXG4gICAgICAgICAgICAgICAgICAgICk7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIC8vIDEwLiwgMTMuXFxuICAgICAgICAgICAgQGVsc2Uge1xcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogI3t0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC1wYWRkaW5nLXl9O1xcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogI3t0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC1wYWRkaW5nLXl9O1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzZXR0aW5ncy4kaG9yaXpvbnRhbC1pbm5lci1nYXA7IC8vIDQuXFxuICAgICAgICAgICAgdGV4dC1hbGlnbjogdGhlbWUuJGhvcml6b250YWwtbGFiZWwtdGV4dC1hbGlnbjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC5maWVsZCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBmaWVsZDtcXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiB0aGVtZS4kaG9yaXpvbnRhbC1maWVsZC12ZXJ0aWNhbC1hbGlnbm1lbnQ7IC8vIDEzLlxcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7IC8vIDcuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGhvcml6b250YWwtd2l0aC1zbWFsbC1pbnB1dCgpIHtcXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChmb3Jtcy4kaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XFxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbi1jb250ZW50IG1pbi1jb250ZW50OyAvLyA1LlxcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcXG4gICAgICAgICAgICBcXFwibGFiZWwgZmllbGRcXFwiXFxuICAgICAgICAgICAgXFxcImhlbHB0ZXh0IGhlbHB0ZXh0XFxcIlxcbiAgICAgICAgICAgIFxcXCJ2YWxpZGF0aW9udGV4dCB2YWxpZGF0aW9udGV4dFxcXCI7IC8vIDUuXFxuXFxuICAgICAgICAubGFiZWwge1xcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIDUuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAuZmllbGQge1xcbiAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzOyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLmlucHV0Q29udGFpbmVyIHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IGZpZWxkOyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLmhlbHBUZXh0IHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IGhlbHB0ZXh0OyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IHZhbGlkYXRpb250ZXh0OyAvLyA1LlxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBmdWxsLXdpZHRoKCkge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICB3aWR0aDogMTAwJTtcXG5cXG4gICAgLmZpZWxkLFxcbiAgICAuaW5wdXRDb250YWluZXIsXFxuICAgIC5pbnB1dCB7XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgfVxcblxcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGZvcm1zLiRob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCB7XFxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHRoZW1lLiRob3Jpem9udGFsLWZ1bGwtd2lkdGgtbGFiZWwtd2lkdGggMWZyOyAvLyA2LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCB7XFxuICAgICAgICAgICAganVzdGlmeS1zZWxmOiBzdHJldGNoOyAvLyA3LlxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbi1mb3JtLWxheW91dCgpIHtcXG4gICAganVzdGlmeS1zZWxmOiBzdGFydDsgLy8gMTIuXFxuXFxuICAgIC5maWVsZCB7XFxuICAgICAgICB3aWR0aDogYXV0bzsgLy8gOS5cXG4gICAgfVxcblxcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGZvcm1zLiRob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcXG4gICAgICAgIC5vcHRpb25MYWJlbCB7XFxuICAgICAgICAgICAgd2lkdGg6IGF1dG87IC8vIDExLlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLmhhc1Jvb3RTbWFsbElucHV0IHtcXG4gICAgICAgICAgICBncmlkOiBpbmhlcml0OyAvLyA4LlxcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDsgLy8gOC5cXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyOyAvLyA4LlxcblxcbiAgICAgICAgICAgIEBzdXBwb3J0cyBub3QgKGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZCkge1xcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50czsgLy8gOC5cXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwuaXNSb290RnVsbFdpZHRoIHtcXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7IC8vIDguXFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmxhYmVsLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaW5wdXRDb250YWluZXIsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmhlbHBUZXh0LFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiB1bnNldDsgLy8gOC5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuZmllbGQsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmlucHV0Q29udGFpbmVyLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5oZWxwVGV4dCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyOyAvLyA4LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLmhhc1Jvb3RTbWFsbElucHV0IC5maWVsZCB7XFxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vIDUuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXCIsXCJAdXNlIFxcXCJzYXNzOm1hcFxcXCI7XFxuQHVzZSBcXFwiLi4vc2V0dGluZ3MvYnJlYWtwb2ludHNcXFwiO1xcblxcbkBtaXhpbiB1cCgkYnJlYWtwb2ludCkge1xcbiAgICBAaWYgbm90IG1hcC5oYXMta2V5KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgYnJlYWtwb2ludCBzcGVjaWZpZWQhICN7JGJyZWFrcG9pbnR9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMoYnJlYWtwb2ludHMuJHZhbHVlcyl9XFxcIjtcXG4gICAgfSBAZWxzZSBpZiBtYXAuZ2V0KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSA9PSAwIHtcXG4gICAgICAgIEBjb250ZW50O1xcbiAgICB9IEBlbHNlIHtcXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSkge1xcbiAgICAgICAgICAgIEBjb250ZW50O1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiLG51bGwsXCJAdXNlIFxcXCJzYXNzOm1hcFxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcblxcbkBtaXhpbiBzaXplKCRzaXplLCAkaGFzLWlucHV0OiB0cnVlLCAkaXMtbXVsdGlsaW5lOiBmYWxzZSkge1xcbiAgICAkc2l6ZS1wcm9wZXJ0aWVzOiBtYXAuZ2V0KHRoZW1lLiRib3gtc2l6ZXMsICRzaXplKTtcXG5cXG4gICAgLS1ydWktbG9jYWwtcGFkZGluZy15OiAje21hcC5nZXQoJHNpemUtcHJvcGVydGllcywgcGFkZGluZy15KX07XFxuICAgIC0tcnVpLWxvY2FsLXBhZGRpbmcteDogI3ttYXAuZ2V0KCRzaXplLXByb3BlcnRpZXMsIHBhZGRpbmcteCl9O1xcblxcbiAgICBAaWYgJGhhcy1pbnB1dCB7XFxuICAgICAgICAtLXJ1aS1sb2NhbC1mb250LXNpemU6ICN7bWFwLmdldCgkc2l6ZS1wcm9wZXJ0aWVzLCBmb250LXNpemUpfTtcXG5cXG4gICAgICAgIC5pbnB1dCB7XFxuICAgICAgICAgICAgQGlmICRpcy1tdWx0aWxpbmUge1xcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XFxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IG1hcC5nZXQoJHNpemUtcHJvcGVydGllcywgaGVpZ2h0KTtcXG4gICAgICAgICAgICB9IEBlbHNlIHtcXG4gICAgICAgICAgICAgICAgLS1ydWktbG9jYWwtaGVpZ2h0OiAje21hcC5nZXQoJHNpemUtcHJvcGVydGllcywgaGVpZ2h0KX07XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ubG9jYWxzID0ge1xuXHRcInJvb3RcIjogXCJJbnB1dEdyb3VwX19yb290X19LRjVtVGs3RVwiLFxuXHRcImxlZ2VuZFwiOiBcIklucHV0R3JvdXBfX2xlZ2VuZF9fUno2b1JSTUNcIixcblx0XCJsYWJlbFwiOiBcIklucHV0R3JvdXBfX2xhYmVsX19sLU00dmVqNVwiLFxuXHRcImlucHV0R3JvdXBcIjogXCJJbnB1dEdyb3VwX19pbnB1dEdyb3VwX182SDQyVEFIblwiLFxuXHRcInZhbGlkYXRpb25UZXh0XCI6IFwiSW5wdXRHcm91cF9fdmFsaWRhdGlvblRleHRfX2Q0enVFWjByXCIsXG5cdFwiaXNSb290U3RhdGVJbnZhbGlkXCI6IFwiSW5wdXRHcm91cF9faXNSb290U3RhdGVJbnZhbGlkX19waXBrMHF1WFwiLFxuXHRcImlucHV0XCI6IFwiSW5wdXRHcm91cF9faW5wdXRfX3krV2ZhTTJBXCIsXG5cdFwiaXNSb290RGlzYWJsZWRcIjogXCJJbnB1dEdyb3VwX19pc1Jvb3REaXNhYmxlZF9fTFM2TnlQa2pcIixcblx0XCJpc1Jvb3RTdGF0ZVZhbGlkXCI6IFwiSW5wdXRHcm91cF9faXNSb290U3RhdGVWYWxpZF9fcEthc2VnSFFcIixcblx0XCJpc1Jvb3RTdGF0ZVdhcm5pbmdcIjogXCJJbnB1dEdyb3VwX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX2QwWm93NWdMXCIsXG5cdFwiaXNMYWJlbEhpZGRlblwiOiBcIklucHV0R3JvdXBfX2lzTGFiZWxIaWRkZW5fXzYtbytCQmN1XCIsXG5cdFwiaXNSb290TGF5b3V0VmVydGljYWxcIjogXCJJbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fSWdZdUhOKzFcIixcblx0XCJpc1Jvb3RMYXlvdXRIb3Jpem9udGFsXCI6IFwiSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDgrbndcIixcblx0XCJoZWxwVGV4dFwiOiBcIklucHV0R3JvdXBfX2hlbHBUZXh0X19FcjRkTmV0V1wiLFxuXHRcImZpZWxkXCI6IFwiSW5wdXRHcm91cF9fZmllbGRfX0NLMGFWYzFmXCIsXG5cdFwiaXNSb290SW5Gb3JtTGF5b3V0XCI6IFwiSW5wdXRHcm91cF9faXNSb290SW5Gb3JtTGF5b3V0X19ia1hlZDVURVwiLFxuXHRcIm9wdGlvbkxhYmVsXCI6IFwiSW5wdXRHcm91cF9fb3B0aW9uTGFiZWxfX2tWZm5oY3dsXCIsXG5cdFwiaGFzUm9vdFNtYWxsSW5wdXRcIjogXCJJbnB1dEdyb3VwX19oYXNSb290U21hbGxJbnB1dF9fMTdianFxcDlcIixcblx0XCJpc1Jvb3RGdWxsV2lkdGhcIjogXCJJbnB1dEdyb3VwX19pc1Jvb3RGdWxsV2lkdGhfX0hXMDMrYWw2XCIsXG5cdFwiaW5wdXRDb250YWluZXJcIjogXCJJbnB1dEdyb3VwX19pbnB1dENvbnRhaW5lcl9fcWRzSHNzbUhcIixcblx0XCJpc1Jvb3RTaXplU21hbGxcIjogXCJJbnB1dEdyb3VwX19pc1Jvb3RTaXplU21hbGxfX0QzS2JOWG8zXCIsXG5cdFwiaXNSb290U2l6ZU1lZGl1bVwiOiBcIklucHV0R3JvdXBfX2lzUm9vdFNpemVNZWRpdW1fX0NLeStPOFJMXCIsXG5cdFwiaXNSb290U2l6ZUxhcmdlXCI6IFwiSW5wdXRHcm91cF9faXNSb290U2l6ZUxhcmdlX19GbDN2eFppWVwiXG59O1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js?!./src/lib/components/InputGroup/InputGroup.scss\n");
|
1090
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \".InputGroup__root__KF5mTk7E {\\n text-align: left;\\n}\\n.InputGroup__root__KF5mTk7E:not(:last-child) {\\n margin-bottom: 0;\\n}\\n\\n.InputGroup__legend__Rz6oRRMC {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n.InputGroup__label__l-M4vej5 {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__label__color));\\n}\\n\\n.InputGroup__inputGroup__6H42TAHn {\\n --rui-local-inner-border-radius: var(--rui-InputGroup__inner-border-radius);\\n display: flex;\\n gap: var(--rui-InputGroup__gap);\\n}\\n\\n.InputGroup__validationText__d4zuEZ0r {\\n padding-left: 0;\\n list-style: none;\\n font-style: var(--rui-FormField__help-text__font-style);\\n font-size: var(--rui-FormField__help-text__font-size);\\n line-height: 1.2rem;\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__help-text__color));\\n}\\n.InputGroup__validationText__d4zuEZ0r:not(:last-child) {\\n margin-bottom: 0;\\n}\\n\\n.InputGroup__isRootStateInvalid__pipk0quX, .InputGroup__isRootStateInvalid__pipk0quX:hover {\\n --rui-local-color: var(--rui-FormField--invalid--default__color);\\n --rui-local-border-color: var(--rui-FormField--invalid--default__border-color);\\n --rui-local-background: var(--rui-FormField--invalid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--invalid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--invalid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--invalid--default__surrounding-text-color);\\n}\\n.InputGroup__isRootStateInvalid__pipk0quX .InputGroup__input__y\\\\+WfaM2A:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n}\\n.InputGroup__isRootStateInvalid__pipk0quX.InputGroup__isRootDisabled__LS6NyPkj {\\n --rui-local-color:\\n var(\\n --rui-FormField--invalid--disabled__color,\\n var(--rui-FormField--invalid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--disabled__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--invalid--disabled__background,\\n var(--rui-FormField--invalid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--disabled__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--invalid--disabled__box-shadow,\\n var(--rui-FormField--invalid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--invalid--disabled__surrounding-text-color,\\n var(--rui-FormField--invalid--default__surrounding-text-color)\\n );\\n}\\n.InputGroup__isRootStateInvalid__pipk0quX .InputGroup__input__y\\\\+WfaM2A:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__border-color,\\n var(--rui-FormField--invalid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__check-background-color,\\n var(--rui-FormField--invalid--checked__check-background-color)\\n );\\n}\\n\\n.InputGroup__isRootStateValid__pKasegHQ, .InputGroup__isRootStateValid__pKasegHQ:hover {\\n --rui-local-color: var(--rui-FormField--valid--default__color);\\n --rui-local-border-color: var(--rui-FormField--valid--default__border-color);\\n --rui-local-background: var(--rui-FormField--valid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--valid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--valid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--valid--default__surrounding-text-color);\\n}\\n.InputGroup__isRootStateValid__pKasegHQ .InputGroup__input__y\\\\+WfaM2A:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n}\\n.InputGroup__isRootStateValid__pKasegHQ.InputGroup__isRootDisabled__LS6NyPkj {\\n --rui-local-color:\\n var(\\n --rui-FormField--valid--disabled__color,\\n var(--rui-FormField--valid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--disabled__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--valid--disabled__background,\\n var(--rui-FormField--valid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--disabled__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--valid--disabled__box-shadow,\\n var(--rui-FormField--valid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--valid--disabled__surrounding-text-color,\\n var(--rui-FormField--valid--default__surrounding-text-color)\\n );\\n}\\n.InputGroup__isRootStateValid__pKasegHQ .InputGroup__input__y\\\\+WfaM2A:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked-disabled__border-color,\\n var(--rui-FormField--valid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked-disabled__check-background-color,\\n var(--rui-FormField--valid--checked__check-background-color)\\n );\\n}\\n\\n.InputGroup__isRootStateWarning__d0Zow5gL, .InputGroup__isRootStateWarning__d0Zow5gL:hover {\\n --rui-local-color: var(--rui-FormField--warning--default__color);\\n --rui-local-border-color: var(--rui-FormField--warning--default__border-color);\\n --rui-local-background: var(--rui-FormField--warning--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--warning--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--warning--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--warning--default__surrounding-text-color);\\n}\\n.InputGroup__isRootStateWarning__d0Zow5gL .InputGroup__input__y\\\\+WfaM2A:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n}\\n.InputGroup__isRootStateWarning__d0Zow5gL.InputGroup__isRootDisabled__LS6NyPkj {\\n --rui-local-color:\\n var(\\n --rui-FormField--warning--disabled__color,\\n var(--rui-FormField--warning--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--disabled__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--warning--disabled__background,\\n var(--rui-FormField--warning--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--disabled__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--warning--disabled__box-shadow,\\n var(--rui-FormField--warning--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--warning--disabled__surrounding-text-color,\\n var(--rui-FormField--warning--default__surrounding-text-color)\\n );\\n}\\n.InputGroup__isRootStateWarning__d0Zow5gL .InputGroup__input__y\\\\+WfaM2A:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked-disabled__border-color,\\n var(--rui-FormField--warning--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked-disabled__check-background-color,\\n var(--rui-FormField--warning--checked__check-background-color)\\n );\\n}\\n\\n.InputGroup__isLabelHidden__6-o\\\\+BBcu {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n.InputGroup__isRootLayoutVertical__IgYuHN\\\\+1,\\n.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw {\\n display: inline-flex;\\n flex-direction: column;\\n min-width: 0;\\n max-width: 100%;\\n}\\n.InputGroup__isRootLayoutVertical__IgYuHN\\\\+1 .InputGroup__label__l-M4vej5,\\n.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__label__l-M4vej5 {\\n padding-bottom: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.InputGroup__isRootLayoutVertical__IgYuHN\\\\+1 .InputGroup__helpText__Er4dNetW,\\n.InputGroup__isRootLayoutVertical__IgYuHN\\\\+1 .InputGroup__validationText__d4zuEZ0r,\\n.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__helpText__Er4dNetW,\\n.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__validationText__d4zuEZ0r {\\n padding-top: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.InputGroup__isRootLayoutVertical__IgYuHN\\\\+1 .InputGroup__field__CK0aVc1f,\\n.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__field__CK0aVc1f {\\n width: -webkit-min-content;\\n width: -moz-min-content;\\n width: min-content;\\n max-width: 100%;\\n}\\n\\n.InputGroup__isRootLayoutVertical__IgYuHN\\\\+1 .InputGroup__field__CK0aVc1f,\\n.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__field__CK0aVc1f {\\n max-width: none;\\n}\\n\\n@media (min-width: 48em) {\\n .InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw {\\n display: inline-grid;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) -webkit-min-content;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) min-content;\\n grid-template-areas: \\\"label field\\\";\\n align-items: start;\\n }\\n .InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__label__l-M4vej5 {\\n grid-area: label;\\n align-self: var(--rui-FormField--horizontal__label__vertical-alignment);\\n min-width: var(--rui-FormField--horizontal__label__min-width);\\n padding-top: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-bottom: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-right: var(--rui-dimension-space-2);\\n text-align: var(--rui-FormField--horizontal__label__text-align);\\n }\\n .InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__field__CK0aVc1f {\\n grid-area: field;\\n align-self: var(--rui-FormField--horizontal__field__vertical-alignment);\\n justify-self: start;\\n }\\n}\\n\\n@media (min-width: 48em) {\\n .InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__label__l-M4vej5 {\\n -ms-grid-row: 1;\\n -ms-grid-column: 1;\\n }\\n .InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__field__CK0aVc1f {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n}\\n\\n.InputGroup__isRootInFormLayout__bkXed5TE {\\n justify-self: start;\\n}\\n.InputGroup__isRootInFormLayout__bkXed5TE .InputGroup__field__CK0aVc1f {\\n width: auto;\\n}\\n@media (min-width: 48em) {\\n .InputGroup__isRootInFormLayout__bkXed5TE .InputGroup__optionLabel__kVfnhcwl {\\n width: auto;\\n }\\n .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw, .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw.InputGroup__hasRootSmallInput__17bjqqp9 {\\n display: contents;\\n }\\n .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__label__l-M4vej5, .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__field__CK0aVc1f, .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__inputContainer__qdsHssmH, .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__helpText__Er4dNetW, .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__validationText__d4zuEZ0r {\\n grid-area: unset;\\n }\\n .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__field__CK0aVc1f, .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__inputContainer__qdsHssmH, .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__helpText__Er4dNetW, .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw .InputGroup__validationText__d4zuEZ0r {\\n grid-column-start: 2;\\n }\\n .InputGroup__isRootInFormLayout__bkXed5TE.InputGroup__isRootLayoutHorizontal__tiDh8\\\\+nw.InputGroup__hasRootSmallInput__17bjqqp9 .InputGroup__field__CK0aVc1f {\\n display: block;\\n }\\n}\\n\\n.InputGroup__isRootSizeSmall__D3KbNXo3 {\\n --rui-local-padding-y: var(--rui-FormField--box--small__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--small__padding-x);\\n}\\n\\n.InputGroup__isRootSizeMedium__CKy\\\\+O8RL {\\n --rui-local-padding-y: var(--rui-FormField--box--medium__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--medium__padding-x);\\n}\\n\\n.InputGroup__isRootSizeLarge__Fl3vxZiY {\\n --rui-local-padding-y: var(--rui-FormField--box--large__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--large__padding-x);\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/lib/components/InputGroup/InputGroup.scss\",\"webpack://./src/lib/styles/tools/form-fields/_foundation.scss\",\"webpack://./src/lib/styles/tools/_accessibility.scss\",\"webpack://./src/lib/components/InputGroup/_theme.scss\",\"webpack://./src/lib/styles/tools/_reset.scss\",\"webpack://./src/lib/styles/theme/_form-fields.scss\",\"webpack://./src/lib/styles/settings/_form-fields.scss\",\"webpack://./src/lib/styles/tools/form-fields/_variants.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-layout.scss\",\"webpack://./src/lib/styles/tools/_breakpoint.scss\",\"<no source>\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-sizes.scss\"],\"names\":[],\"mappings\":\"AAeA;ECRI,gBAAA;ADLJ;ACSI;EACI,gBAAA;ADPR;;AAgBA;EEZI,kBAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,SAAA;AFAJ;;AAUA;ECTI,kFAAA;ADGJ;;AAUA;EACI,2EAAA;EAEA,aAAA;EACA,+BGlCE;AH0BN;;AAYA;EIbI,eAAA;EACA,gBAAA;EHIA,uDIjBmB;EJkBnB,qDInBkB;EJoBlB,mBKzBoB;EL0BpB,sFAAA;ADEJ;AIPI;EACI,gBAAA;AJSR;;AO2CQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;APHZ;AOkDQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;APEZ;AO4CQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;APkCZ;AOkBQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AP8CZ;;AOtBQ;EA/BI,8DAAA;EAAA,4EAAA;EAAA,wEAAA;EAAA,gGAAA;EAAA,wEAAA;EAAA,gGAAA;AP8DZ;AOfQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;APmEZ;AOrBQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;APmGZ;AO/CQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AP+GZ;;AOvFQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;AP+HZ;AOhFQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;APoIZ;AOtFQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;APoKZ;AOhHQ;EApDI;;;;OAAA;EAAA;;;;OAAA;APgLZ;;AAhLA;EEhDI,kBAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,SAAA;AFoOJ;;AAtLA;;EQOI,oBAAA;EACA,sBAAA;EACA,YAAA;EACA,eAAA;ARoLJ;AQlLI;;EACI,2EAAA;ARqLR;AQlLI;;;;EAEI,wEAAA;ARsLR;AQnLI;;EACI,0BAAA;EAAA,uBAAA;EAAA,kBAAA;EACA,eAAA;ARsLR;;AAxMA;;EAEI,eAAA;AA2MJ;;AStQQ;ET8DR;IQmBQ,oBAAA;IACA,yFAAA;IAAA,iFAAA;IACA,kCAAA;IACA,kBAAA;ER0LN;EQxLM;IACI,gBAAA;IACA,uEHtE0B;IGuE1B,6DH9EiB;IGgGb,2IAAA;IACA,8IAAA;IAGJ,2CF5GW;IE6GX,+DHtGkB;EL6Q5B;EQpKM;IACI,gBAAA;IACA,uEHlG0B;IGmG1B,mBAAA;ERsKV;AACF;;AUvSA;EFgGQ;IEhGR,gBAAA;IAAA,mBAAA;EViSE;EQpKM;IE7HR,gBAAA;IAAA,mBAAA;EVsSE;CUtSF;;AV4EA;EQ+GI,mBAAA;ARgHJ;AQ9GI;EACI,WAAA;ARgHR;ASpSQ;EDwLA;IACI,WAAA;ER+GV;EQ1GU;IAEI,iBAAA;ER2Gd;EQxFM;IAKI,gBAAA;ERsFV;EQnFM;IAII,oBAAA;ERkFV;EQ/EM;IACI,cAAA;ERiFV;AACF;;AA9OA;EW3EI,kEAAA;EACA,kEAAA;AX6TJ;;AA/OA;EW/EI,mEAAA;EACA,mEAAA;AXkUJ;;AAhPA;EWnFI,kEAAA;EACA,kEAAA;AXuUJ\",\"sourcesContent\":[\"// 1. The class name is intentionally singular because it's targeted by other mixins too.\\n// 2. Use a block-level display mode to prevent extra white space below grouped inputs in Safari.\\n// 3. Prevent individual inputs from overlapping inside narrow containers.\\n// 4. Legends are tricky to style, let's use a `div` instead.\\n// https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset#styling_with_css\\n\\n@use \\\"../../styles/tools/form-fields/box-field-elements\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-layout\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-sizes\\\";\\n@use \\\"../../styles/tools/form-fields/foundation\\\";\\n@use \\\"../../styles/tools/form-fields/variants\\\";\\n@use \\\"../../styles/tools/accessibility\\\";\\n@use \\\"../../styles/tools/reset\\\";\\n@use \\\"theme\\\";\\n\\n.root {\\n @include foundation.root();\\n @include foundation.fieldset();\\n}\\n\\n// 4.\\n.legend {\\n @include accessibility.hide-text();\\n}\\n\\n// 4.\\n.label {\\n @include foundation.label();\\n}\\n\\n.inputGroup {\\n --rui-local-inner-border-radius: #{theme.$inner-border-radius};\\n\\n display: flex; // 2.\\n gap: theme.$gap;\\n}\\n\\n// 1.\\n.validationText {\\n @include reset.list();\\n @include foundation.help-text();\\n}\\n\\n// States\\n.isRootStateInvalid {\\n @include variants.validation(invalid);\\n}\\n\\n.isRootStateValid {\\n @include variants.validation(valid);\\n}\\n\\n.isRootStateWarning {\\n @include variants.validation(warning);\\n}\\n\\n// Invisible label\\n.isLabelHidden {\\n @include accessibility.hide-text();\\n}\\n\\n// Layouts\\n.isRootLayoutVertical,\\n.isRootLayoutHorizontal {\\n @include box-field-layout.vertical();\\n}\\n\\n.isRootLayoutVertical .field,\\n.isRootLayoutHorizontal .field {\\n max-width: none; // 3.\\n}\\n\\n.isRootLayoutHorizontal {\\n @include box-field-layout.horizontal();\\n}\\n\\n.isRootInFormLayout {\\n @include box-field-layout.in-form-layout($is-fieldset: true);\\n}\\n\\n// Sizes\\n.isRootSizeSmall {\\n @include box-field-sizes.size(small, $has-input: false);\\n}\\n\\n.isRootSizeMedium {\\n @include box-field-sizes.size(medium, $has-input: false);\\n}\\n\\n.isRootSizeLarge {\\n @include box-field-sizes.size(large, $has-input: false);\\n}\\n\",\"// 1. Don't let text alignment be affected by a parent.\\n// 2. Override foundation reset.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin root() {\\n text-align: left; // 1.\\n}\\n\\n@mixin fieldset() {\\n &:not(:last-child) {\\n margin-bottom: 0; // 2.\\n }\\n}\\n\\n@mixin label() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$label-color});\\n}\\n\\n@mixin label-required() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$required-label-color});\\n\\n &::after {\\n content: theme.$required-sign;\\n color: theme.$required-sign-color;\\n }\\n}\\n\\n@mixin help-text() {\\n font-style: theme.$help-text-font-style;\\n font-size: theme.$help-text-font-size;\\n line-height: settings.$help-text-line-height;\\n color: var(--rui-local-surrounding-text-color, #{theme.$help-text-color});\\n}\\n\",\"// 1. Screen readers only, inspired by Bootstrap.\\n// https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss\\n//\\n// 2. Make tap target big enough to improve accessibility on touch screens.\\n\\n@use \\\"../theme/accessibility\\\" as theme;\\n\\n// 1.\\n@mixin hide-text() {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n@mixin unhide-text() {\\n position: unset;\\n width: unset;\\n height: unset;\\n overflow: unset;\\n clip: unset;\\n white-space: unset;\\n}\\n\\n// 2.\\n@mixin min-tap-target($size: theme.$tap-target-size, $center: true) {\\n position: relative;\\n\\n &::before {\\n content: \\\"\\\";\\n position: absolute;\\n width: $size;\\n height: $size;\\n\\n @if $center {\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n }\\n }\\n}\\n\\n@mixin focus-ring() {\\n &:focus-visible {\\n outline: theme.$focus-outline;\\n outline-offset: theme.$focus-outline-offset;\\n box-shadow: theme.$focus-box-shadow;\\n }\\n}\\n\",\"$gap: var(--rui-InputGroup__gap);\\n$inner-border-radius: var(--rui-InputGroup__inner-border-radius);\\n\",\"@mixin button() {\\n appearance: none;\\n display: inline-flex;\\n flex: none;\\n align-items: center;\\n justify-content: center;\\n padding: 0;\\n border: 0;\\n border-radius: 0;\\n background: none;\\n box-shadow: none;\\n cursor: pointer;\\n}\\n\\n@mixin link() {\\n text-decoration: none;\\n color: inherit;\\n\\n &:hover,\\n &:focus {\\n text-decoration: none;\\n }\\n}\\n\\n@mixin list() {\\n padding-left: 0;\\n list-style: none;\\n\\n &:not(:last-child) {\\n margin-bottom: 0;\\n }\\n}\\n\",\"// Variant specific theme options are obtained dynamically because there is way too many of them to\\n// maintain manually. See `settings/_form-fields.scss` and `tools/form-fields/_variants.scss` for\\n// details.\\n//\\n// 1. Defaults to zero when neither `--rui-FormField--horizontal__label__padding-y` (optional) nor\\n// `--rui-local-padding-y` (handled by the `size()` mixin in case of box form fields, see\\n// `_box-field-sizes.scss`) is defined. This is useful because FormLayoutCustomField may have no\\n// size specified therefore its label should have no padding at the top.\\n\\n// Forms fields: common properties\\n$label-color: var(--rui-FormField__label__color);\\n$label-font-size: var(--rui-FormField__label__font-size);\\n$help-text-font-size: var(--rui-FormField__help-text__font-size);\\n$help-text-font-style: var(--rui-FormField__help-text__font-style);\\n$help-text-color: var(--rui-FormField__help-text__color);\\n$required-label-color: var(--rui-FormField--required__label__color);\\n$required-sign: var(--rui-FormField--required__sign);\\n$required-sign-color: var(--rui-FormField--required__sign__color);\\n\\n// Form fields: horizontal layout\\n$horizontal-label-text-align: var(--rui-FormField--horizontal__label__text-align);\\n$horizontal-label-min-width: var(--rui-FormField--horizontal__label__min-width);\\n$horizontal-label-width: var(--rui-FormField--horizontal__label__width);\\n$horizontal-label-padding-y:\\n var(\\n --rui-FormField--horizontal__label__padding-y,\\n calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y))\\n ); // 1.\\n$horizontal-label-vertical-alignment: var(--rui-FormField--horizontal__label__vertical-alignment);\\n$horizontal-field-vertical-alignment: var(--rui-FormField--horizontal__field__vertical-alignment);\\n$horizontal-full-width-label-width: var(--rui-FormField--horizontal--full-width__label__width);\\n\\n// Form fields: disabled state\\n$disabled-cursor: var(--rui-FormField--disabled__cursor);\\n$disabled-opacity: var(--rui-FormField--disabled__opacity);\\n\\n// Form fields: box fields\\n$box-border-width: var(--rui-FormField--box__border-width);\\n$box-border-radius: var(--rui-FormField--box__border-radius);\\n$box-input-width: var(--rui-FormField--box__input__width);\\n$box-input-min-width: var(--rui-FormField--box__input__min-width);\\n$box-placeholder-color: var(--rui-FormField--box__placeholder__color);\\n\\n// Form fields: box fields, component specific\\n$box-select-caret-border-style: var(--rui-FormField--box--select__caret__border-style);\\n$box-select-caret-background: var(--rui-FormField--box--select__caret__background);\\n$box-select-option-disabled-color: var(--rui-FormField--box--select__option--disabled__color);\\n\\n// Form fields: box field sizes\\n$box-sizes: (\\n small: (\\n height: var(--rui-FormField--box--small__height),\\n padding-y: var(--rui-FormField--box--small__padding-y),\\n padding-x: var(--rui-FormField--box--small__padding-x),\\n font-size: var(--rui-FormField--box--small__font-size),\\n ),\\n medium: (\\n height: var(--rui-FormField--box--medium__height),\\n padding-y: var(--rui-FormField--box--medium__padding-y),\\n padding-x: var(--rui-FormField--box--medium__padding-x),\\n font-size: var(--rui-FormField--box--medium__font-size),\\n ),\\n large: (\\n height: var(--rui-FormField--box--large__height),\\n padding-y: var(--rui-FormField--box--large__padding-y),\\n padding-x: var(--rui-FormField--box--large__padding-x),\\n font-size: var(--rui-FormField--box--large__font-size),\\n ),\\n);\\n\\n// Form fields: check fields\\n$check-input-size: var(--rui-FormField--check__input__size);\\n$check-input-border-width: var(--rui-FormField--check__input__border-width);\\n$check-input-focus-box-shadow: var(--rui-FormField--check__input--focus__box-shadow);\\n$check-tap-target-size: var(--rui-FormField--check__tap-target-size);\\n\\n// Form fields: check fields, component specific\\n$check-input-checkbox-border-radius: var(--rui-FormField--check__input--checkbox__border-radius);\\n$check-input-checkbox-checked-background-image: var(--rui-FormField--check__input--checkbox--checked__background-image);\\n$check-input-radio-border-radius: var(--rui-FormField--check__input--radio__border-radius);\\n$check-input-radio-checked-background-image: var(--rui-FormField--check__input--radio--checked__background-image);\\n$check-input-toggle-width: var(--rui-FormField--check__input--toggle__width);\\n$check-input-toggle-border-radius: var(--rui-FormField--check__input--toggle__border-radius);\\n$check-input-toggle-background-size: var(--rui-FormField--check__input--toggle__background-size);\\n$check-input-toggle-default-background-image: var(--rui-FormField--check__input--toggle--default__background-image);\\n$check-input-toggle-default-background-position:\\n var(\\n --rui-FormField--check__input--toggle--default__background-position\\n );\\n$check-input-toggle-checked-background-image: var(--rui-FormField--check__input--toggle--checked__background-image);\\n$check-input-toggle-checked-background-position:\\n var(\\n --rui-FormField--check__input--toggle--checked__background-position\\n );\\n\",\"// 1. Input `line-height` is specified in `rem` so inputs do not break when their font size gets\\n// changed later.\\n\\n@use \\\"sass:map\\\";\\n@use \\\"../theme/typography\\\";\\n@use \\\"../tools/spacing\\\";\\n\\n$help-text-line-height: 1.2rem;\\n\\n$vertical-inner-gap: spacing.of(1);\\n$vertical-inner-gap-large: spacing.of(2);\\n$vertical-outer-spacing: spacing.of(2);\\n\\n$horizontal-inner-gap: spacing.of(2);\\n$horizontal-outer-spacing: spacing.of(2);\\n\\n$box-input-font-family: typography.$font-family-base;\\n$box-input-font-weight: map.get(typography.$font-weight-values, default);\\n$box-input-line-height: 1.5rem; // 1.\\n$box-field-caret-size: 2.25rem;\\n$box-field-input-number-arrows-width: 1.5rem;\\n$box-field-bottom-line-height: 2px;\\n\\n$inline-field-inner-gap: spacing.of(2);\\n\\n$themeable-variant-states: (\\n box: (\\n filled: (default, hover, focus, disabled),\\n outline: (default, hover, focus, disabled),\\n ),\\n check: (\\n default: (default, checked, disabled, checked-disabled),\\n ),\\n custom: (\\n default: (default, disabled),\\n ),\\n validation: (\\n invalid: (default, checked, disabled, checked-disabled),\\n valid: (default, checked, disabled, checked-disabled),\\n warning: (default, checked, disabled, checked-disabled),\\n ),\\n);\\n\\n$themeable-state-properties: (\\n default: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n hover: (color, border-color, background, box-shadow),\\n focus: (color, border-color, background, check-background-color, box-shadow),\\n checked: (border-color, check-background-color),\\n disabled: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n checked-disabled: (border-color, check-background-color),\\n);\\n\",\"// 1. Due to complexity, it's easier and safer to resolve variant custom properties dynamically with\\n// a mixin. This way it's also easier to make theming adjustments to all supported modifications\\n// in one place. Generated custom properties are consumed mainly in foundation field styles (see\\n// `tools/form-fields/_foundation.scss` for more).\\n//\\n// 2. Interaction states other than `default` default to the `default` (sic!) state appearance if\\n// corresponding custom properties are not provided.\\n//\\n// 3. `.input:focus` is added just in case `:focus-within` doesn't work.\\n\\n@use \\\"sass:list\\\";\\n@use \\\"sass:map\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin _disabled-state() {\\n opacity: theme.$disabled-opacity;\\n cursor: theme.$disabled-cursor;\\n}\\n\\n// 1.\\n@mixin _generate-custom-properties($type, $variant, $state) {\\n @if not list.index(map.keys(map.get(settings.$themeable-variant-states, $type)), $variant) {\\n @error \\\"Invalid variant specified! #{$variant} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(map.get(settings.$themeable-variant-states, $type))}.\\\";\\n }\\n\\n @if not list.index(map.keys(settings.$themeable-state-properties), $state) {\\n @error \\\"Invalid state specified! #{$state} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-state-properties)}.\\\";\\n }\\n\\n $properties: map.get(settings.$themeable-state-properties, $state);\\n $infix: $type;\\n $fallback-state: \\\"default\\\";\\n\\n @if $type == \\\"validation\\\" {\\n $infix: $variant;\\n }\\n\\n @if $type != \\\"validation\\\" and $variant != \\\"default\\\" {\\n $infix: #{$type}--#{$variant};\\n }\\n\\n @if $state == \\\"checked-disabled\\\" {\\n $fallback-state: \\\"checked\\\";\\n }\\n\\n @if $state == \\\"default\\\" {\\n @each $property in $properties {\\n --rui-local-#{$property}: var(--rui-FormField--#{$infix}--#{$state}__#{$property});\\n }\\n }\\n\\n // 2.\\n @else {\\n @each $property in $properties {\\n --rui-local-#{$property}:\\n var(\\n --rui-FormField--#{$infix}--#{$state}__#{$property},\\n var(--rui-FormField--#{$infix}--#{$fallback-state}__#{$property})\\n );\\n }\\n }\\n}\\n\\n@mixin _get-theme($type, $variant) {\\n @if not list.index(map.keys(settings.$themeable-variant-states), $type) {\\n @error \\\"Invalid type specified! #{$type} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-variant-states)}.\\\";\\n }\\n\\n $themeable-states: map.get(map.get(settings.$themeable-variant-states, $type), $variant);\\n\\n @if list.index($themeable-states, \\\"hover\\\") {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"hover\\\");\\n }\\n } @else {\\n &,\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"focus\\\") {\\n // 3.\\n &:focus-within,\\n &:focus-within:hover,\\n .input:focus {\\n @include _generate-custom-properties($type, $variant, \\\"focus\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked\\\") {\\n .input:checked {\\n @include _generate-custom-properties($type, $variant, \\\"checked\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"disabled\\\") {\\n &.isRootDisabled {\\n @include _generate-custom-properties($type, $variant, \\\"disabled\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked-disabled\\\") {\\n .input:checked:disabled {\\n @include _generate-custom-properties($type, $variant, \\\"checked-disabled\\\");\\n }\\n }\\n}\\n\\n@mixin visual($type, $variant: \\\"default\\\", $has-caret: false) {\\n @include _get-theme($type, $variant);\\n\\n .input:disabled {\\n @include _disabled-state();\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"filled\\\" {\\n .input {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n }\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"outline\\\" and $has-caret {\\n .caret {\\n border-left: theme.$box-border-width theme.$box-select-caret-border-style var(--rui-local-border-color);\\n background: theme.$box-select-caret-background;\\n }\\n\\n &.isRootDisabled .caret {\\n @include _disabled-state();\\n }\\n }\\n}\\n\\n@mixin validation($variant) {\\n @include _get-theme(validation, $variant);\\n}\\n\",\"// 1. Inline form fields and fields with vertical layout take up as much space as they need. Labels\\n// do not wrap until forced by container of the field. Min and max limits make extra long words\\n// break if necessary.\\n//\\n// 2. Form fields in horizontal layout also take up only as much space as they need. Labels do not\\n// wrap until label width limit is reached (50 % of available horizontal space by default).\\n//\\n// 3. Help texts and validation messages are aligned below input and wrapped. Their width is always\\n// limited to the width of the input field so they don't shift adjacent elements when they show\\n// up. This applies unless the field is inside FormLayout (see 10).\\n//\\n// 4. Define grid spacing as padding of child elements because grid areas make row and column gaps\\n// show up even when not necessary.\\n//\\n// 5. When input size is small and form field layout is set to horizontal, expand help text and\\n// validation message over full form field width to improve their readability. Otherwise the\\n// text would be packed into a very narrow column and hard to read. To prevent help text and\\n// validation message from growing the layout more than necessary (ie. the size without\\n// help/validation text), `min-content` grid sizing must be used along with disabled wrapping of\\n// label.\\n//\\n// 6. Full-width horizontal form fields prefer not wrapping the label until a limit is reached\\n// (50 % of available horizontal space by default, same as in 2.).\\n//\\n// 7. Justify inputs to `start` in horizontal layouts to fix positioning issues with Select Fields.\\n// Reverted for full-width fields.\\n//\\n// 8. Grid settings are inherited from horizontal FormLayout and applied using `subgrid`.\\n// A fallback is supplied to browsers that don't support `subgrid` yet.\\n//\\n// Chrome 117+ supports `subgrid` but it doesn't work for `<fieldset>`. This is why we always\\n// use the fallback for `<fieldset>`.\\n//\\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1473242\\n// https://github.com/react-ui-org/react-ui/issues/232\\n//\\n// 9. Help texts and validation messages can take up full width of FormLayout. There is no reason\\n// to make them wrap as they cannot break layout of FormLayout.\\n//\\n// 10. Visually align label to input baseline. Achieved with `padding-top` and `padding-bottom` due\\n// to two reasons:\\n//\\n// * `align-items: baseline` doesn't work for blank text inputs in Safari. See\\n// https://bugs.webkit.org/show_bug.cgi?id=142968 and\\n// https://github.com/react-ui-org/react-ui/issues/265.\\n//\\n// * `align-items: baseline` doesn't allow subsequent vertical centering of tall inputs and/or\\n// multiline labels (see `theme.$horizontal-label-vertical-alignment` and\\n// `theme.$horizontal-field-vertical-alignment`).\\n//\\n// 11. Reset `width` previously set by inline field layout (see `_inline-field-layout.scss`).\\n//\\n// 12. Make fields just as wide as necessary. Fields should be interactive only where their visible\\n// content is.\\n//\\n// 13. Label and field are vertically aligned to top (start) by default (see 10.). Vertical\\n// alignment of each block can be changed by theme configuration.\\n\\n@use \\\"../../settings/forms\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../theme/typography\\\";\\n@use \\\"../breakpoint\\\";\\n\\n@mixin vertical($has-list: false) {\\n @if $has-list {\\n --rui-local-vertical-gap: #{settings.$vertical-inner-gap-large};\\n }\\n\\n display: inline-flex; // 1.\\n flex-direction: column;\\n min-width: 0; // 1.\\n max-width: 100%; // 1.\\n\\n .label {\\n padding-bottom: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .helpText,\\n .validationText {\\n padding-top: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .field {\\n width: min-content; // 3.\\n max-width: 100%; // 3.\\n }\\n}\\n\\n@mixin horizontal($has-min-tap-target: false) {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n display: inline-grid; // 2.\\n grid-template-columns: theme.$horizontal-label-width min-content; // 2.\\n grid-template-areas: \\\"label field\\\";\\n align-items: start; // 10., 13.\\n\\n .label {\\n grid-area: label;\\n align-self: theme.$horizontal-label-vertical-alignment; // 13.\\n min-width: theme.$horizontal-label-min-width;\\n\\n // 10.\\n @if $has-min-tap-target {\\n padding-top:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n padding-bottom:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n }\\n\\n // 10., 13.\\n @else {\\n padding-top: #{theme.$horizontal-label-padding-y};\\n padding-bottom: #{theme.$horizontal-label-padding-y};\\n }\\n\\n padding-right: settings.$horizontal-inner-gap; // 4.\\n text-align: theme.$horizontal-label-text-align;\\n }\\n\\n .field {\\n grid-area: field;\\n align-self: theme.$horizontal-field-vertical-alignment; // 13.\\n justify-self: start; // 7.\\n }\\n }\\n}\\n\\n@mixin horizontal-with-small-input() {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n grid-template-columns: min-content min-content; // 5.\\n grid-template-areas:\\n \\\"label field\\\"\\n \\\"helptext helptext\\\"\\n \\\"validationtext validationtext\\\"; // 5.\\n\\n .label {\\n white-space: nowrap; // 5.\\n }\\n\\n .field {\\n display: contents; // 5.\\n }\\n\\n .inputContainer {\\n grid-area: field; // 5.\\n }\\n\\n .helpText {\\n grid-area: helptext; // 5.\\n }\\n\\n .validationText {\\n grid-area: validationtext; // 5.\\n }\\n }\\n}\\n\\n@mixin full-width() {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n\\n .field,\\n .inputContainer,\\n .input {\\n width: 100%;\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n &.isRootLayoutHorizontal {\\n display: grid;\\n grid-template-columns: theme.$horizontal-full-width-label-width 1fr; // 6.\\n }\\n\\n &.isRootLayoutHorizontal .field {\\n justify-self: stretch; // 7.\\n }\\n }\\n}\\n\\n@mixin in-form-layout($is-fieldset: false) {\\n justify-self: start; // 12.\\n\\n .field {\\n width: auto; // 9.\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n .optionLabel {\\n width: auto; // 11.\\n }\\n\\n // 8.\\n @if $is-fieldset {\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n display: contents;\\n }\\n } @else {\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n\\n @supports not (grid-template-columns: subgrid) {\\n display: contents;\\n }\\n }\\n\\n &.isRootLayoutHorizontal.isRootFullWidth {\\n grid-template-columns: subgrid;\\n }\\n }\\n\\n &.isRootLayoutHorizontal .label,\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-area: unset; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-column-start: 2; // 8.\\n }\\n\\n &.isRootLayoutHorizontal.hasRootSmallInput .field {\\n display: block; // 5.\\n }\\n }\\n}\\n\",\"@use \\\"sass:map\\\";\\n@use \\\"../settings/breakpoints\\\";\\n\\n@mixin up($breakpoint) {\\n @if not map.has-key(breakpoints.$values, $breakpoint) {\\n @error \\\"Invalid breakpoint specified! #{$breakpoint} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(breakpoints.$values)}\\\";\\n } @else if map.get(breakpoints.$values, $breakpoint) == 0 {\\n @content;\\n } @else {\\n @media (min-width: map.get(breakpoints.$values, $breakpoint)) {\\n @content;\\n }\\n }\\n}\\n\",null,\"@use \\\"sass:map\\\";\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin size($size, $has-input: true, $is-multiline: false) {\\n $size-properties: map.get(theme.$box-sizes, $size);\\n\\n --rui-local-padding-y: #{map.get($size-properties, padding-y)};\\n --rui-local-padding-x: #{map.get($size-properties, padding-x)};\\n\\n @if $has-input {\\n --rui-local-font-size: #{map.get($size-properties, font-size)};\\n\\n .input {\\n @if $is-multiline {\\n height: auto;\\n min-height: map.get($size-properties, height);\\n } @else {\\n --rui-local-height: #{map.get($size-properties, height)};\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"InputGroup__root__KF5mTk7E\",\n\t\"legend\": \"InputGroup__legend__Rz6oRRMC\",\n\t\"label\": \"InputGroup__label__l-M4vej5\",\n\t\"inputGroup\": \"InputGroup__inputGroup__6H42TAHn\",\n\t\"validationText\": \"InputGroup__validationText__d4zuEZ0r\",\n\t\"isRootStateInvalid\": \"InputGroup__isRootStateInvalid__pipk0quX\",\n\t\"input\": \"InputGroup__input__y+WfaM2A\",\n\t\"isRootDisabled\": \"InputGroup__isRootDisabled__LS6NyPkj\",\n\t\"isRootStateValid\": \"InputGroup__isRootStateValid__pKasegHQ\",\n\t\"isRootStateWarning\": \"InputGroup__isRootStateWarning__d0Zow5gL\",\n\t\"isLabelHidden\": \"InputGroup__isLabelHidden__6-o+BBcu\",\n\t\"isRootLayoutVertical\": \"InputGroup__isRootLayoutVertical__IgYuHN+1\",\n\t\"isRootLayoutHorizontal\": \"InputGroup__isRootLayoutHorizontal__tiDh8+nw\",\n\t\"helpText\": \"InputGroup__helpText__Er4dNetW\",\n\t\"field\": \"InputGroup__field__CK0aVc1f\",\n\t\"isRootInFormLayout\": \"InputGroup__isRootInFormLayout__bkXed5TE\",\n\t\"optionLabel\": \"InputGroup__optionLabel__kVfnhcwl\",\n\t\"hasRootSmallInput\": \"InputGroup__hasRootSmallInput__17bjqqp9\",\n\t\"inputContainer\": \"InputGroup__inputContainer__qdsHssmH\",\n\t\"isRootSizeSmall\": \"InputGroup__isRootSizeSmall__D3KbNXo3\",\n\t\"isRootSizeMedium\": \"InputGroup__isRootSizeMedium__CKy+O8RL\",\n\t\"isRootSizeLarge\": \"InputGroup__isRootSizeLarge__Fl3vxZiY\"\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vc3JjL2xpYi9jb21wb25lbnRzL0lucHV0R3JvdXAvSW5wdXRHcm91cC5zY3NzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2xpYi9jb21wb25lbnRzL0lucHV0R3JvdXAvSW5wdXRHcm91cC5zY3NzPzFjMjMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIuSW5wdXRHcm91cF9fcm9vdF9fS0Y1bVRrN0Uge1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxuLklucHV0R3JvdXBfX3Jvb3RfX0tGNW1UazdFOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG59XFxuXFxuLklucHV0R3JvdXBfX2xlZ2VuZF9fUno2b1JSTUMge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgd2lkdGg6IDFweDtcXG4gIGhlaWdodDogMXB4O1xcbiAgcGFkZGluZzogMDtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIGJvcmRlcjogMDtcXG59XFxuXFxuLklucHV0R3JvdXBfX2xhYmVsX19sLU00dmVqNSB7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGRfX2xhYmVsX19jb2xvcikpO1xcbn1cXG5cXG4uSW5wdXRHcm91cF9faW5wdXRHcm91cF9fNkg0MlRBSG4ge1xcbiAgLS1ydWktbG9jYWwtaW5uZXItYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUlucHV0R3JvdXBfX2lubmVyLWJvcmRlci1yYWRpdXMpO1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGdhcDogdmFyKC0tcnVpLUlucHV0R3JvdXBfX2dhcCk7XFxufVxcblxcbi5JbnB1dEdyb3VwX192YWxpZGF0aW9uVGV4dF9fZDR6dUVaMHIge1xcbiAgcGFkZGluZy1sZWZ0OiAwO1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG4gIGZvbnQtc3R5bGU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fZm9udC1zdHlsZSk7XFxuICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fZm9udC1zaXplKTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjJyZW07XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fY29sb3IpKTtcXG59XFxuLklucHV0R3JvdXBfX3ZhbGlkYXRpb25UZXh0X19kNHp1RVowcjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gIG1hcmdpbi1ib3R0b206IDA7XFxufVxcblxcbi5JbnB1dEdyb3VwX19pc1Jvb3RTdGF0ZUludmFsaWRfX3BpcGswcXVYLCAuSW5wdXRHcm91cF9faXNSb290U3RhdGVJbnZhbGlkX19waXBrMHF1WDpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5JbnB1dEdyb3VwX19pc1Jvb3RTdGF0ZUludmFsaWRfX3BpcGswcXVYIC5JbnB1dEdyb3VwX19pbnB1dF9feVxcXFwrV2ZhTTJBOmNoZWNrZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uSW5wdXRHcm91cF9faXNSb290U3RhdGVJbnZhbGlkX19waXBrMHF1WC5JbnB1dEdyb3VwX19pc1Jvb3REaXNhYmxlZF9fTFM2TnlQa2oge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uSW5wdXRHcm91cF9faXNSb290U3RhdGVJbnZhbGlkX19waXBrMHF1WCAuSW5wdXRHcm91cF9faW5wdXRfX3lcXFxcK1dmYU0yQTpjaGVja2VkOmRpc2FibGVkIHtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWQtZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuXFxuLklucHV0R3JvdXBfX2lzUm9vdFN0YXRlVmFsaWRfX3BLYXNlZ0hRLCAuSW5wdXRHcm91cF9faXNSb290U3RhdGVWYWxpZF9fcEthc2VnSFE6aG92ZXIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JhY2tncm91bmQpO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpO1xcbn1cXG4uSW5wdXRHcm91cF9faXNSb290U3RhdGVWYWxpZF9fcEthc2VnSFEgLklucHV0R3JvdXBfX2lucHV0X195XFxcXCtXZmFNMkE6Y2hlY2tlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uSW5wdXRHcm91cF9faXNSb290U3RhdGVWYWxpZF9fcEthc2VnSFEuSW5wdXRHcm91cF9faXNSb290RGlzYWJsZWRfX0xTNk55UGtqIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLklucHV0R3JvdXBfX2lzUm9vdFN0YXRlVmFsaWRfX3BLYXNlZ0hRIC5JbnB1dEdyb3VwX19pbnB1dF9feVxcXFwrV2ZhTTJBOmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuXFxuLklucHV0R3JvdXBfX2lzUm9vdFN0YXRlV2FybmluZ19fZDBab3c1Z0wsIC5JbnB1dEdyb3VwX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX2QwWm93NWdMOmhvdmVyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19iYWNrZ3JvdW5kKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKTtcXG59XFxuLklucHV0R3JvdXBfX2lzUm9vdFN0YXRlV2FybmluZ19fZDBab3c1Z0wgLklucHV0R3JvdXBfX2lucHV0X195XFxcXCtXZmFNMkE6Y2hlY2tlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5JbnB1dEdyb3VwX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX2QwWm93NWdMLklucHV0R3JvdXBfX2lzUm9vdERpc2FibGVkX19MUzZOeVBraiB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19zdXJyb3VuZGluZy10ZXh0LWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5JbnB1dEdyb3VwX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX2QwWm93NWdMIC5JbnB1dEdyb3VwX19pbnB1dF9feVxcXFwrV2ZhTTJBOmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG5cXG4uSW5wdXRHcm91cF9faXNMYWJlbEhpZGRlbl9fNi1vXFxcXCtCQmN1IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxcHg7XFxuICBoZWlnaHQ6IDFweDtcXG4gIHBhZGRpbmc6IDA7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBib3JkZXI6IDA7XFxufVxcblxcbi5JbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fSWdZdUhOXFxcXCsxLFxcbi5JbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX190aURoOFxcXFwrbncge1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgbWluLXdpZHRoOiAwO1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG4uSW5wdXRHcm91cF9faXNSb290TGF5b3V0VmVydGljYWxfX0lnWXVITlxcXFwrMSAuSW5wdXRHcm91cF9fbGFiZWxfX2wtTTR2ZWo1LFxcbi5JbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX190aURoOFxcXFwrbncgLklucHV0R3JvdXBfX2xhYmVsX19sLU00dmVqNSB7XFxuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcnVpLWxvY2FsLXZlcnRpY2FsLWdhcCwgdmFyKC0tcnVpLWRpbWVuc2lvbi1zcGFjZS0xKSk7XFxufVxcbi5JbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fSWdZdUhOXFxcXCsxIC5JbnB1dEdyb3VwX19oZWxwVGV4dF9fRXI0ZE5ldFcsXFxuLklucHV0R3JvdXBfX2lzUm9vdExheW91dFZlcnRpY2FsX19JZ1l1SE5cXFxcKzEgLklucHV0R3JvdXBfX3ZhbGlkYXRpb25UZXh0X19kNHp1RVowcixcXG4uSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253IC5JbnB1dEdyb3VwX19oZWxwVGV4dF9fRXI0ZE5ldFcsXFxuLklucHV0R3JvdXBfX2lzUm9vdExheW91dEhvcml6b250YWxfX3RpRGg4XFxcXCtudyAuSW5wdXRHcm91cF9fdmFsaWRhdGlvblRleHRfX2Q0enVFWjByIHtcXG4gIHBhZGRpbmctdG9wOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCB2YXIoLS1ydWktZGltZW5zaW9uLXNwYWNlLTEpKTtcXG59XFxuLklucHV0R3JvdXBfX2lzUm9vdExheW91dFZlcnRpY2FsX19JZ1l1SE5cXFxcKzEgLklucHV0R3JvdXBfX2ZpZWxkX19DSzBhVmMxZixcXG4uSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253IC5JbnB1dEdyb3VwX19maWVsZF9fQ0swYVZjMWYge1xcbiAgd2lkdGg6IC13ZWJraXQtbWluLWNvbnRlbnQ7XFxuICB3aWR0aDogLW1vei1taW4tY29udGVudDtcXG4gIHdpZHRoOiBtaW4tY29udGVudDtcXG4gIG1heC13aWR0aDogMTAwJTtcXG59XFxuXFxuLklucHV0R3JvdXBfX2lzUm9vdExheW91dFZlcnRpY2FsX19JZ1l1SE5cXFxcKzEgLklucHV0R3JvdXBfX2ZpZWxkX19DSzBhVmMxZixcXG4uSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253IC5JbnB1dEdyb3VwX19maWVsZF9fQ0swYVZjMWYge1xcbiAgbWF4LXdpZHRoOiBub25lO1xcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLklucHV0R3JvdXBfX2lzUm9vdExheW91dEhvcml6b250YWxfX3RpRGg4XFxcXCtudyB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX193aWR0aCkgLXdlYmtpdC1taW4tY29udGVudDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fd2lkdGgpIG1pbi1jb250ZW50O1xcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcXFwibGFiZWwgZmllbGRcXFwiO1xcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XFxuICB9XFxuICAuSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253IC5JbnB1dEdyb3VwX19sYWJlbF9fbC1NNHZlajUge1xcbiAgICBncmlkLWFyZWE6IGxhYmVsO1xcbiAgICBhbGlnbi1zZWxmOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fdmVydGljYWwtYWxpZ25tZW50KTtcXG4gICAgbWluLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fbWluLXdpZHRoKTtcXG4gICAgcGFkZGluZy10b3A6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19wYWRkaW5nLXksIGNhbGModmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpICsgdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteSkpKTtcXG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19wYWRkaW5nLXksIGNhbGModmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpICsgdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteSkpKTtcXG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcnVpLWRpbWVuc2lvbi1zcGFjZS0yKTtcXG4gICAgdGV4dC1hbGlnbjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3RleHQtYWxpZ24pO1xcbiAgfVxcbiAgLklucHV0R3JvdXBfX2lzUm9vdExheW91dEhvcml6b250YWxfX3RpRGg4XFxcXCtudyAuSW5wdXRHcm91cF9fZmllbGRfX0NLMGFWYzFmIHtcXG4gICAgZ3JpZC1hcmVhOiBmaWVsZDtcXG4gICAgYWxpZ24tc2VsZjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fZmllbGRfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XFxuICAuSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253IC5JbnB1dEdyb3VwX19sYWJlbF9fbC1NNHZlajUge1xcbiAgICAtbXMtZ3JpZC1yb3c6IDE7XFxuICAgIC1tcy1ncmlkLWNvbHVtbjogMTtcXG4gIH1cXG4gIC5JbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX190aURoOFxcXFwrbncgLklucHV0R3JvdXBfX2ZpZWxkX19DSzBhVmMxZiB7XFxuICAgIC1tcy1ncmlkLXJvdzogMTtcXG4gICAgLW1zLWdyaWQtY29sdW1uOiAyO1xcbiAgfVxcbn1cXG5cXG4uSW5wdXRHcm91cF9faXNSb290SW5Gb3JtTGF5b3V0X19ia1hlZDVURSB7XFxuICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xcbn1cXG4uSW5wdXRHcm91cF9faXNSb290SW5Gb3JtTGF5b3V0X19ia1hlZDVURSAuSW5wdXRHcm91cF9fZmllbGRfX0NLMGFWYzFmIHtcXG4gIHdpZHRoOiBhdXRvO1xcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLklucHV0R3JvdXBfX2lzUm9vdEluRm9ybUxheW91dF9fYmtYZWQ1VEUgLklucHV0R3JvdXBfX29wdGlvbkxhYmVsX19rVmZuaGN3bCB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcbiAgLklucHV0R3JvdXBfX2lzUm9vdEluRm9ybUxheW91dF9fYmtYZWQ1VEUuSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253LCAuSW5wdXRHcm91cF9faXNSb290SW5Gb3JtTGF5b3V0X19ia1hlZDVURS5JbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX190aURoOFxcXFwrbncuSW5wdXRHcm91cF9faGFzUm9vdFNtYWxsSW5wdXRfXzE3YmpxcXA5IHtcXG4gICAgZGlzcGxheTogY29udGVudHM7XFxuICB9XFxuICAuSW5wdXRHcm91cF9faXNSb290SW5Gb3JtTGF5b3V0X19ia1hlZDVURS5JbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX190aURoOFxcXFwrbncgLklucHV0R3JvdXBfX2xhYmVsX19sLU00dmVqNSwgLklucHV0R3JvdXBfX2lzUm9vdEluRm9ybUxheW91dF9fYmtYZWQ1VEUuSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253IC5JbnB1dEdyb3VwX19maWVsZF9fQ0swYVZjMWYsIC5JbnB1dEdyb3VwX19pc1Jvb3RJbkZvcm1MYXlvdXRfX2JrWGVkNVRFLklucHV0R3JvdXBfX2lzUm9vdExheW91dEhvcml6b250YWxfX3RpRGg4XFxcXCtudyAuSW5wdXRHcm91cF9faW5wdXRDb250YWluZXJfX3Fkc0hzc21ILCAuSW5wdXRHcm91cF9faXNSb290SW5Gb3JtTGF5b3V0X19ia1hlZDVURS5JbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX190aURoOFxcXFwrbncgLklucHV0R3JvdXBfX2hlbHBUZXh0X19FcjRkTmV0VywgLklucHV0R3JvdXBfX2lzUm9vdEluRm9ybUxheW91dF9fYmtYZWQ1VEUuSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253IC5JbnB1dEdyb3VwX192YWxpZGF0aW9uVGV4dF9fZDR6dUVaMHIge1xcbiAgICBncmlkLWFyZWE6IHVuc2V0O1xcbiAgfVxcbiAgLklucHV0R3JvdXBfX2lzUm9vdEluRm9ybUxheW91dF9fYmtYZWQ1VEUuSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253IC5JbnB1dEdyb3VwX19maWVsZF9fQ0swYVZjMWYsIC5JbnB1dEdyb3VwX19pc1Jvb3RJbkZvcm1MYXlvdXRfX2JrWGVkNVRFLklucHV0R3JvdXBfX2lzUm9vdExheW91dEhvcml6b250YWxfX3RpRGg4XFxcXCtudyAuSW5wdXRHcm91cF9faW5wdXRDb250YWluZXJfX3Fkc0hzc21ILCAuSW5wdXRHcm91cF9faXNSb290SW5Gb3JtTGF5b3V0X19ia1hlZDVURS5JbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX190aURoOFxcXFwrbncgLklucHV0R3JvdXBfX2hlbHBUZXh0X19FcjRkTmV0VywgLklucHV0R3JvdXBfX2lzUm9vdEluRm9ybUxheW91dF9fYmtYZWQ1VEUuSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDhcXFxcK253IC5JbnB1dEdyb3VwX192YWxpZGF0aW9uVGV4dF9fZDR6dUVaMHIge1xcbiAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcXG4gIH1cXG4gIC5JbnB1dEdyb3VwX19pc1Jvb3RJbkZvcm1MYXlvdXRfX2JrWGVkNVRFLklucHV0R3JvdXBfX2lzUm9vdExheW91dEhvcml6b250YWxfX3RpRGg4XFxcXCtudy5JbnB1dEdyb3VwX19oYXNSb290U21hbGxJbnB1dF9fMTdianFxcDkgLklucHV0R3JvdXBfX2ZpZWxkX19DSzBhVmMxZiB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgfVxcbn1cXG5cXG4uSW5wdXRHcm91cF9faXNSb290U2l6ZVNtYWxsX19EM0tiTlhvMyB7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteSk7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteCk7XFxufVxcblxcbi5JbnB1dEdyb3VwX19pc1Jvb3RTaXplTWVkaXVtX19DS3lcXFxcK084Ukwge1xcbiAgLS1ydWktbG9jYWwtcGFkZGluZy15OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fcGFkZGluZy15KTtcXG4gIC0tcnVpLWxvY2FsLXBhZGRpbmcteDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX3BhZGRpbmcteCk7XFxufVxcblxcbi5JbnB1dEdyb3VwX19pc1Jvb3RTaXplTGFyZ2VfX0ZsM3Z4WmlZIHtcXG4gIC0tcnVpLWxvY2FsLXBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy15KTtcXG4gIC0tcnVpLWxvY2FsLXBhZGRpbmcteDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy14KTtcXG59XCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vc3JjL2xpYi9jb21wb25lbnRzL0lucHV0R3JvdXAvSW5wdXRHcm91cC5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fZm91bmRhdGlvbi5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9fYWNjZXNzaWJpbGl0eS5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL2NvbXBvbmVudHMvSW5wdXRHcm91cC9fdGhlbWUuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvX3Jlc2V0LnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3RoZW1lL19mb3JtLWZpZWxkcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy9zZXR0aW5ncy9fZm9ybS1maWVsZHMuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX3ZhcmlhbnRzLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL19ib3gtZmllbGQtbGF5b3V0LnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL19icmVha3BvaW50LnNjc3NcIixcIjxubyBzb3VyY2U+XCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fYm94LWZpZWxkLXNpemVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBZUE7RUNSSSxnQkFBQTtBRExKO0FDU0k7RUFDSSxnQkFBQTtBRFBSOztBQWdCQTtFRVpJLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0VBQ0EsZ0JBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFBO0VBQ0EsU0FBQTtBRkFKOztBQVVBO0VDVEksa0ZBQUE7QURHSjs7QUFVQTtFQUNJLDJFQUFBO0VBRUEsYUFBQTtFQUNBLCtCR2xDRTtBSDBCTjs7QUFZQTtFSWJJLGVBQUE7RUFDQSxnQkFBQTtFSElBLHVESWpCbUI7RUprQm5CLHFESW5Ca0I7RUpvQmxCLG1CS3pCb0I7RUwwQnBCLHNGQUFBO0FERUo7QUlQSTtFQUNJLGdCQUFBO0FKU1I7O0FPMkNRO0VBL0JJLGdFQUFBO0VBQUEsOEVBQUE7RUFBQSwwRUFBQTtFQUFBLGtHQUFBO0VBQUEsMEVBQUE7RUFBQSxrR0FBQTtBUEhaO0FPa0RRO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FQRVo7QU80Q1E7RUE5Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FQa0NaO0FPa0JRO0VBcERJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FQOENaOztBT3RCUTtFQS9CSSw4REFBQTtFQUFBLDRFQUFBO0VBQUEsd0VBQUE7RUFBQSxnR0FBQTtFQUFBLHdFQUFBO0VBQUEsZ0dBQUE7QVA4RFo7QU9mUTtFQXhDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUG1FWjtBT3JCUTtFQTlDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVBtR1o7QU8vQ1E7RUFwREk7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVArR1o7O0FPdkZRO0VBL0JJLGdFQUFBO0VBQUEsOEVBQUE7RUFBQSwwRUFBQTtFQUFBLGtHQUFBO0VBQUEsMEVBQUE7RUFBQSxrR0FBQTtBUCtIWjtBT2hGUTtFQXhDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUG9JWjtBT3RGUTtFQTlDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVBvS1o7QU9oSFE7RUFwREk7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVBnTFo7O0FBaExBO0VFaERJLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0VBQ0EsZ0JBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFBO0VBQ0EsU0FBQTtBRm9PSjs7QUF0TEE7O0VRT0ksb0JBQUE7RUFDQSxzQkFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0FSb0xKO0FRbExJOztFQUNJLDJFQUFBO0FScUxSO0FRbExJOzs7O0VBRUksd0VBQUE7QVJzTFI7QVFuTEk7O0VBQ0ksMEJBQUE7RUFBQSx1QkFBQTtFQUFBLGtCQUFBO0VBQ0EsZUFBQTtBUnNMUjs7QUF4TUE7O0VBRUksZUFBQTtBQTJNSjs7QVN0UVE7RVQ4RFI7SVFtQlEsb0JBQUE7SUFDQSx5RkFBQTtJQUFBLGlGQUFBO0lBQ0Esa0NBQUE7SUFDQSxrQkFBQTtFUjBMTjtFUXhMTTtJQUNJLGdCQUFBO0lBQ0EsdUVIdEUwQjtJR3VFMUIsNkRIOUVpQjtJR2dHYiwySUFBQTtJQUNBLDhJQUFBO0lBR0osMkNGNUdXO0lFNkdYLCtESHRHa0I7RUw2UTVCO0VRcEtNO0lBQ0ksZ0JBQUE7SUFDQSx1RUhsRzBCO0lHbUcxQixtQkFBQTtFUnNLVjtBQUNGOztBVXZTQTtFRmdHUTtJRWhHUixnQkFBQTtJQUFBLG1CQUFBO0VWaVNFO0VRcEtNO0lFN0hSLGdCQUFBO0lBQUEsbUJBQUE7RVZzU0U7Q1V0U0Y7O0FWNEVBO0VRK0dJLG1CQUFBO0FSZ0hKO0FROUdJO0VBQ0ksV0FBQTtBUmdIUjtBU3BTUTtFRHdMQTtJQUNJLFdBQUE7RVIrR1Y7RVExR1U7SUFFSSxpQkFBQTtFUjJHZDtFUXhGTTtJQUtJLGdCQUFBO0VSc0ZWO0VRbkZNO0lBSUksb0JBQUE7RVJrRlY7RVEvRU07SUFDSSxjQUFBO0VSaUZWO0FBQ0Y7O0FBOU9BO0VXM0VJLGtFQUFBO0VBQ0Esa0VBQUE7QVg2VEo7O0FBL09BO0VXL0VJLG1FQUFBO0VBQ0EsbUVBQUE7QVhrVUo7O0FBaFBBO0VXbkZJLGtFQUFBO0VBQ0Esa0VBQUE7QVh1VUpcIixcInNvdXJjZXNDb250ZW50XCI6W1wiLy8gMS4gVGhlIGNsYXNzIG5hbWUgaXMgaW50ZW50aW9uYWxseSBzaW5ndWxhciBiZWNhdXNlIGl0J3MgdGFyZ2V0ZWQgYnkgb3RoZXIgbWl4aW5zIHRvby5cXG4vLyAyLiBVc2UgYSBibG9jay1sZXZlbCBkaXNwbGF5IG1vZGUgdG8gcHJldmVudCBleHRyYSB3aGl0ZSBzcGFjZSBiZWxvdyBncm91cGVkIGlucHV0cyBpbiBTYWZhcmkuXFxuLy8gMy4gUHJldmVudCBpbmRpdmlkdWFsIGlucHV0cyBmcm9tIG92ZXJsYXBwaW5nIGluc2lkZSBuYXJyb3cgY29udGFpbmVycy5cXG4vLyA0LiBMZWdlbmRzIGFyZSB0cmlja3kgdG8gc3R5bGUsIGxldCdzIHVzZSBhIGBkaXZgIGluc3RlYWQuXFxuLy8gICAgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRNTC9FbGVtZW50L2ZpZWxkc2V0I3N0eWxpbmdfd2l0aF9jc3NcXG5cXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvYm94LWZpZWxkLWVsZW1lbnRzXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvYm94LWZpZWxkLWxheW91dFxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2JveC1maWVsZC1zaXplc1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2ZvdW5kYXRpb25cXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy92YXJpYW50c1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2FjY2Vzc2liaWxpdHlcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9yZXNldFxcXCI7XFxuQHVzZSBcXFwidGhlbWVcXFwiO1xcblxcbi5yb290IHtcXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi5yb290KCk7XFxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24uZmllbGRzZXQoKTtcXG59XFxuXFxuLy8gNC5cXG4ubGVnZW5kIHtcXG4gICAgQGluY2x1ZGUgYWNjZXNzaWJpbGl0eS5oaWRlLXRleHQoKTtcXG59XFxuXFxuLy8gNC5cXG4ubGFiZWwge1xcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLmxhYmVsKCk7XFxufVxcblxcbi5pbnB1dEdyb3VwIHtcXG4gICAgLS1ydWktbG9jYWwtaW5uZXItYm9yZGVyLXJhZGl1czogI3t0aGVtZS4kaW5uZXItYm9yZGVyLXJhZGl1c307XFxuXFxuICAgIGRpc3BsYXk6IGZsZXg7IC8vIDIuXFxuICAgIGdhcDogdGhlbWUuJGdhcDtcXG59XFxuXFxuLy8gMS5cXG4udmFsaWRhdGlvblRleHQge1xcbiAgICBAaW5jbHVkZSByZXNldC5saXN0KCk7XFxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24uaGVscC10ZXh0KCk7XFxufVxcblxcbi8vIFN0YXRlc1xcbi5pc1Jvb3RTdGF0ZUludmFsaWQge1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52YWxpZGF0aW9uKGludmFsaWQpO1xcbn1cXG5cXG4uaXNSb290U3RhdGVWYWxpZCB7XFxuICAgIEBpbmNsdWRlIHZhcmlhbnRzLnZhbGlkYXRpb24odmFsaWQpO1xcbn1cXG5cXG4uaXNSb290U3RhdGVXYXJuaW5nIHtcXG4gICAgQGluY2x1ZGUgdmFyaWFudHMudmFsaWRhdGlvbih3YXJuaW5nKTtcXG59XFxuXFxuLy8gSW52aXNpYmxlIGxhYmVsXFxuLmlzTGFiZWxIaWRkZW4ge1xcbiAgICBAaW5jbHVkZSBhY2Nlc3NpYmlsaXR5LmhpZGUtdGV4dCgpO1xcbn1cXG5cXG4vLyBMYXlvdXRzXFxuLmlzUm9vdExheW91dFZlcnRpY2FsLFxcbi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWxheW91dC52ZXJ0aWNhbCgpO1xcbn1cXG5cXG4uaXNSb290TGF5b3V0VmVydGljYWwgLmZpZWxkLFxcbi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCB7XFxuICAgIG1heC13aWR0aDogbm9uZTsgLy8gMy5cXG59XFxuXFxuLmlzUm9vdExheW91dEhvcml6b250YWwge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtbGF5b3V0Lmhvcml6b250YWwoKTtcXG59XFxuXFxuLmlzUm9vdEluRm9ybUxheW91dCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1sYXlvdXQuaW4tZm9ybS1sYXlvdXQoJGlzLWZpZWxkc2V0OiB0cnVlKTtcXG59XFxuXFxuLy8gU2l6ZXNcXG4uaXNSb290U2l6ZVNtYWxsIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLXNpemVzLnNpemUoc21hbGwsICRoYXMtaW5wdXQ6IGZhbHNlKTtcXG59XFxuXFxuLmlzUm9vdFNpemVNZWRpdW0ge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtc2l6ZXMuc2l6ZShtZWRpdW0sICRoYXMtaW5wdXQ6IGZhbHNlKTtcXG59XFxuXFxuLmlzUm9vdFNpemVMYXJnZSB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1zaXplcy5zaXplKGxhcmdlLCAkaGFzLWlucHV0OiBmYWxzZSk7XFxufVxcblwiLFwiLy8gMS4gRG9uJ3QgbGV0IHRleHQgYWxpZ25tZW50IGJlIGFmZmVjdGVkIGJ5IGEgcGFyZW50Llxcbi8vIDIuIE92ZXJyaWRlIGZvdW5kYXRpb24gcmVzZXQuXFxuXFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybS1maWVsZHNcXFwiIGFzIHNldHRpbmdzO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL2Zvcm0tZmllbGRzXFxcIiBhcyB0aGVtZTtcXG5cXG5AbWl4aW4gcm9vdCgpIHtcXG4gICAgdGV4dC1hbGlnbjogbGVmdDsgLy8gMS5cXG59XFxuXFxuQG1peGluIGZpZWxkc2V0KCkge1xcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gMi5cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gbGFiZWwoKSB7XFxuICAgIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgI3t0aGVtZS4kbGFiZWwtY29sb3J9KTtcXG59XFxuXFxuQG1peGluIGxhYmVsLXJlcXVpcmVkKCkge1xcbiAgICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsICN7dGhlbWUuJHJlcXVpcmVkLWxhYmVsLWNvbG9yfSk7XFxuXFxuICAgICY6OmFmdGVyIHtcXG4gICAgICAgIGNvbnRlbnQ6IHRoZW1lLiRyZXF1aXJlZC1zaWduO1xcbiAgICAgICAgY29sb3I6IHRoZW1lLiRyZXF1aXJlZC1zaWduLWNvbG9yO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBoZWxwLXRleHQoKSB7XFxuICAgIGZvbnQtc3R5bGU6IHRoZW1lLiRoZWxwLXRleHQtZm9udC1zdHlsZTtcXG4gICAgZm9udC1zaXplOiB0aGVtZS4kaGVscC10ZXh0LWZvbnQtc2l6ZTtcXG4gICAgbGluZS1oZWlnaHQ6IHNldHRpbmdzLiRoZWxwLXRleHQtbGluZS1oZWlnaHQ7XFxuICAgIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgI3t0aGVtZS4kaGVscC10ZXh0LWNvbG9yfSk7XFxufVxcblwiLFwiLy8gMS4gU2NyZWVuIHJlYWRlcnMgb25seSwgaW5zcGlyZWQgYnkgQm9vdHN0cmFwLlxcbi8vICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzXFxuLy9cXG4vLyAyLiBNYWtlIHRhcCB0YXJnZXQgYmlnIGVub3VnaCB0byBpbXByb3ZlIGFjY2Vzc2liaWxpdHkgb24gdG91Y2ggc2NyZWVucy5cXG5cXG5AdXNlIFxcXCIuLi90aGVtZS9hY2Nlc3NpYmlsaXR5XFxcIiBhcyB0aGVtZTtcXG5cXG4vLyAxLlxcbkBtaXhpbiBoaWRlLXRleHQoKSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDFweDtcXG4gICAgaGVpZ2h0OiAxcHg7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICAgIGJvcmRlcjogMDtcXG59XFxuXFxuQG1peGluIHVuaGlkZS10ZXh0KCkge1xcbiAgICBwb3NpdGlvbjogdW5zZXQ7XFxuICAgIHdpZHRoOiB1bnNldDtcXG4gICAgaGVpZ2h0OiB1bnNldDtcXG4gICAgb3ZlcmZsb3c6IHVuc2V0O1xcbiAgICBjbGlwOiB1bnNldDtcXG4gICAgd2hpdGUtc3BhY2U6IHVuc2V0O1xcbn1cXG5cXG4vLyAyLlxcbkBtaXhpbiBtaW4tdGFwLXRhcmdldCgkc2l6ZTogdGhlbWUuJHRhcC10YXJnZXQtc2l6ZSwgJGNlbnRlcjogdHJ1ZSkge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuXFxuICAgICY6OmJlZm9yZSB7XFxuICAgICAgICBjb250ZW50OiBcXFwiXFxcIjtcXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcXG4gICAgICAgIGhlaWdodDogJHNpemU7XFxuXFxuICAgICAgICBAaWYgJGNlbnRlciB7XFxuICAgICAgICAgICAgdG9wOiA1MCU7XFxuICAgICAgICAgICAgbGVmdDogNTAlO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBmb2N1cy1yaW5nKCkge1xcbiAgICAmOmZvY3VzLXZpc2libGUge1xcbiAgICAgICAgb3V0bGluZTogdGhlbWUuJGZvY3VzLW91dGxpbmU7XFxuICAgICAgICBvdXRsaW5lLW9mZnNldDogdGhlbWUuJGZvY3VzLW91dGxpbmUtb2Zmc2V0O1xcbiAgICAgICAgYm94LXNoYWRvdzogdGhlbWUuJGZvY3VzLWJveC1zaGFkb3c7XFxuICAgIH1cXG59XFxuXCIsXCIkZ2FwOiB2YXIoLS1ydWktSW5wdXRHcm91cF9fZ2FwKTtcXG4kaW5uZXItYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUlucHV0R3JvdXBfX2lubmVyLWJvcmRlci1yYWRpdXMpO1xcblwiLFwiQG1peGluIGJ1dHRvbigpIHtcXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAgIGZsZXg6IG5vbmU7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICBib3JkZXI6IDA7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIGJhY2tncm91bmQ6IG5vbmU7XFxuICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuQG1peGluIGxpbmsoKSB7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgY29sb3I6IGluaGVyaXQ7XFxuXFxuICAgICY6aG92ZXIsXFxuICAgICY6Zm9jdXMge1xcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBsaXN0KCkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XFxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XFxuXFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICB9XFxufVxcblwiLFwiLy8gVmFyaWFudCBzcGVjaWZpYyB0aGVtZSBvcHRpb25zIGFyZSBvYnRhaW5lZCBkeW5hbWljYWxseSBiZWNhdXNlIHRoZXJlIGlzIHdheSB0b28gbWFueSBvZiB0aGVtIHRvXFxuLy8gbWFpbnRhaW4gbWFudWFsbHkuIFNlZSBgc2V0dGluZ3MvX2Zvcm0tZmllbGRzLnNjc3NgIGFuZCBgdG9vbHMvZm9ybS1maWVsZHMvX3ZhcmlhbnRzLnNjc3NgIGZvclxcbi8vIGRldGFpbHMuXFxuLy9cXG4vLyAxLiBEZWZhdWx0cyB0byB6ZXJvIHdoZW4gbmVpdGhlciBgLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15YCAob3B0aW9uYWwpIG5vclxcbi8vICAgIGAtLXJ1aS1sb2NhbC1wYWRkaW5nLXlgIChoYW5kbGVkIGJ5IHRoZSBgc2l6ZSgpYCBtaXhpbiBpbiBjYXNlIG9mIGJveCBmb3JtIGZpZWxkcywgc2VlXFxuLy8gICAgYF9ib3gtZmllbGQtc2l6ZXMuc2Nzc2ApIGlzIGRlZmluZWQuIFRoaXMgaXMgdXNlZnVsIGJlY2F1c2UgRm9ybUxheW91dEN1c3RvbUZpZWxkIG1heSBoYXZlIG5vXFxuLy8gICAgc2l6ZSBzcGVjaWZpZWQgdGhlcmVmb3JlIGl0cyBsYWJlbCBzaG91bGQgaGF2ZSBubyBwYWRkaW5nIGF0IHRoZSB0b3AuXFxuXFxuLy8gRm9ybXMgZmllbGRzOiBjb21tb24gcHJvcGVydGllc1xcbiRsYWJlbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZF9fbGFiZWxfX2NvbG9yKTtcXG4kbGFiZWwtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkX19sYWJlbF9fZm9udC1zaXplKTtcXG4kaGVscC10ZXh0LWZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXNpemUpO1xcbiRoZWxwLXRleHQtZm9udC1zdHlsZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXN0eWxlKTtcXG4kaGVscC10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2NvbG9yKTtcXG4kcmVxdWlyZWQtbGFiZWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19sYWJlbF9fY29sb3IpO1xcbiRyZXF1aXJlZC1zaWduOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fc2lnbik7XFxuJHJlcXVpcmVkLXNpZ24tY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19zaWduX19jb2xvcik7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGhvcml6b250YWwgbGF5b3V0XFxuJGhvcml6b250YWwtbGFiZWwtdGV4dC1hbGlnbjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3RleHQtYWxpZ24pO1xcbiRob3Jpem9udGFsLWxhYmVsLW1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX21pbi13aWR0aCk7XFxuJGhvcml6b250YWwtbGFiZWwtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX193aWR0aCk7XFxuJGhvcml6b250YWwtbGFiZWwtcGFkZGluZy15OlxcbiAgICB2YXIoXFxuICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19wYWRkaW5nLXksXFxuICAgICAgICBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKVxcbiAgICApOyAvLyAxLlxcbiRob3Jpem9udGFsLWxhYmVsLXZlcnRpY2FsLWFsaWdubWVudDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuJGhvcml6b250YWwtZmllbGQtdmVydGljYWwtYWxpZ25tZW50OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19maWVsZF9fdmVydGljYWwtYWxpZ25tZW50KTtcXG4kaG9yaXpvbnRhbC1mdWxsLXdpZHRoLWxhYmVsLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsLS1mdWxsLXdpZHRoX19sYWJlbF9fd2lkdGgpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBkaXNhYmxlZCBzdGF0ZVxcbiRkaXNhYmxlZC1jdXJzb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19jdXJzb3IpO1xcbiRkaXNhYmxlZC1vcGFjaXR5OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fb3BhY2l0eSk7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGJveCBmaWVsZHNcXG4kYm94LWJvcmRlci13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpO1xcbiRib3gtYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItcmFkaXVzKTtcXG4kYm94LWlucHV0LXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2lucHV0X193aWR0aCk7XFxuJGJveC1pbnB1dC1taW4td2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9faW5wdXRfX21pbi13aWR0aCk7XFxuJGJveC1wbGFjZWhvbGRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19wbGFjZWhvbGRlcl9fY29sb3IpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBib3ggZmllbGRzLCBjb21wb25lbnQgc3BlY2lmaWNcXG4kYm94LXNlbGVjdC1jYXJldC1ib3JkZXItc3R5bGU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc2VsZWN0X19jYXJldF9fYm9yZGVyLXN0eWxlKTtcXG4kYm94LXNlbGVjdC1jYXJldC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fY2FyZXRfX2JhY2tncm91bmQpO1xcbiRib3gtc2VsZWN0LW9wdGlvbi1kaXNhYmxlZC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zZWxlY3RfX29wdGlvbi0tZGlzYWJsZWRfX2NvbG9yKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogYm94IGZpZWxkIHNpemVzXFxuJGJveC1zaXplczogKFxcbiAgICBzbWFsbDogKFxcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19oZWlnaHQpLFxcbiAgICAgICAgcGFkZGluZy15OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19wYWRkaW5nLXkpLFxcbiAgICAgICAgcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19wYWRkaW5nLXgpLFxcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19mb250LXNpemUpLFxcbiAgICApLFxcbiAgICBtZWRpdW06IChcXG4gICAgICAgIGhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX2hlaWdodCksXFxuICAgICAgICBwYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19wYWRkaW5nLXkpLFxcbiAgICAgICAgcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fcGFkZGluZy14KSxcXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX2ZvbnQtc2l6ZSksXFxuICAgICksXFxuICAgIGxhcmdlOiAoXFxuICAgICAgICBoZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX2hlaWdodCksXFxuICAgICAgICBwYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX3BhZGRpbmcteSksXFxuICAgICAgICBwYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX3BhZGRpbmcteCksXFxuICAgICAgICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX2ZvbnQtc2l6ZSksXFxuICAgICksXFxuKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogY2hlY2sgZmllbGRzXFxuJGNoZWNrLWlucHV0LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dF9fc2l6ZSk7XFxuJGNoZWNrLWlucHV0LWJvcmRlci13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0X19ib3JkZXItd2lkdGgpO1xcbiRjaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLWZvY3VzX19ib3gtc2hhZG93KTtcXG4kY2hlY2stdGFwLXRhcmdldC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19fdGFwLXRhcmdldC1zaXplKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogY2hlY2sgZmllbGRzLCBjb21wb25lbnQgc3BlY2lmaWNcXG4kY2hlY2staW5wdXQtY2hlY2tib3gtYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1jaGVja2JveF9fYm9yZGVyLXJhZGl1cyk7XFxuJGNoZWNrLWlucHV0LWNoZWNrYm94LWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1jaGVja2JveC0tY2hlY2tlZF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXJhZGlvLWJvcmRlci1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tcmFkaW9fX2JvcmRlci1yYWRpdXMpO1xcbiRjaGVjay1pbnB1dC1yYWRpby1jaGVja2VkLWJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tcmFkaW8tLWNoZWNrZWRfX2JhY2tncm91bmQtaW1hZ2UpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlX193aWR0aCk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1ib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZV9fYm9yZGVyLXJhZGl1cyk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1iYWNrZ3JvdW5kLXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlX19iYWNrZ3JvdW5kLXNpemUpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtZGVmYXVsdC1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZS0tZGVmYXVsdF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1kZWZhdWx0LWJhY2tncm91bmQtcG9zaXRpb246XFxuICAgIHZhcihcXG4gICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWRlZmF1bHRfX2JhY2tncm91bmQtcG9zaXRpb25cXG4gICAgKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWNoZWNrZWRfX2JhY2tncm91bmQtaW1hZ2UpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtY2hlY2tlZC1iYWNrZ3JvdW5kLXBvc2l0aW9uOlxcbiAgICB2YXIoXFxuICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlLS1jaGVja2VkX19iYWNrZ3JvdW5kLXBvc2l0aW9uXFxuICAgICk7XFxuXCIsXCIvLyAxLiBJbnB1dCBgbGluZS1oZWlnaHRgIGlzIHNwZWNpZmllZCBpbiBgcmVtYCBzbyBpbnB1dHMgZG8gbm90IGJyZWFrIHdoZW4gdGhlaXIgZm9udCBzaXplIGdldHNcXG4vLyAgICBjaGFuZ2VkIGxhdGVyLlxcblxcbkB1c2UgXFxcInNhc3M6bWFwXFxcIjtcXG5AdXNlIFxcXCIuLi90aGVtZS90eXBvZ3JhcGh5XFxcIjtcXG5AdXNlIFxcXCIuLi90b29scy9zcGFjaW5nXFxcIjtcXG5cXG4kaGVscC10ZXh0LWxpbmUtaGVpZ2h0OiAxLjJyZW07XFxuXFxuJHZlcnRpY2FsLWlubmVyLWdhcDogc3BhY2luZy5vZigxKTtcXG4kdmVydGljYWwtaW5uZXItZ2FwLWxhcmdlOiBzcGFjaW5nLm9mKDIpO1xcbiR2ZXJ0aWNhbC1vdXRlci1zcGFjaW5nOiBzcGFjaW5nLm9mKDIpO1xcblxcbiRob3Jpem9udGFsLWlubmVyLWdhcDogc3BhY2luZy5vZigyKTtcXG4kaG9yaXpvbnRhbC1vdXRlci1zcGFjaW5nOiBzcGFjaW5nLm9mKDIpO1xcblxcbiRib3gtaW5wdXQtZm9udC1mYW1pbHk6IHR5cG9ncmFwaHkuJGZvbnQtZmFtaWx5LWJhc2U7XFxuJGJveC1pbnB1dC1mb250LXdlaWdodDogbWFwLmdldCh0eXBvZ3JhcGh5LiRmb250LXdlaWdodC12YWx1ZXMsIGRlZmF1bHQpO1xcbiRib3gtaW5wdXQtbGluZS1oZWlnaHQ6IDEuNXJlbTsgLy8gMS5cXG4kYm94LWZpZWxkLWNhcmV0LXNpemU6IDIuMjVyZW07XFxuJGJveC1maWVsZC1pbnB1dC1udW1iZXItYXJyb3dzLXdpZHRoOiAxLjVyZW07XFxuJGJveC1maWVsZC1ib3R0b20tbGluZS1oZWlnaHQ6IDJweDtcXG5cXG4kaW5saW5lLWZpZWxkLWlubmVyLWdhcDogc3BhY2luZy5vZigyKTtcXG5cXG4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzOiAoXFxuICAgIGJveDogKFxcbiAgICAgICAgZmlsbGVkOiAoZGVmYXVsdCwgaG92ZXIsIGZvY3VzLCBkaXNhYmxlZCksXFxuICAgICAgICBvdXRsaW5lOiAoZGVmYXVsdCwgaG92ZXIsIGZvY3VzLCBkaXNhYmxlZCksXFxuICAgICksXFxuICAgIGNoZWNrOiAoXFxuICAgICAgICBkZWZhdWx0OiAoZGVmYXVsdCwgY2hlY2tlZCwgZGlzYWJsZWQsIGNoZWNrZWQtZGlzYWJsZWQpLFxcbiAgICApLFxcbiAgICBjdXN0b206IChcXG4gICAgICAgIGRlZmF1bHQ6IChkZWZhdWx0LCBkaXNhYmxlZCksXFxuICAgICksXFxuICAgIHZhbGlkYXRpb246IChcXG4gICAgICAgIGludmFsaWQ6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICAgICB2YWxpZDogKGRlZmF1bHQsIGNoZWNrZWQsIGRpc2FibGVkLCBjaGVja2VkLWRpc2FibGVkKSxcXG4gICAgICAgIHdhcm5pbmc6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICksXFxuKTtcXG5cXG4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXM6IChcXG4gICAgZGVmYXVsdDogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGNoZWNrLWJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3csIHN1cnJvdW5kaW5nLXRleHQtY29sb3IpLFxcbiAgICBob3ZlcjogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGJveC1zaGFkb3cpLFxcbiAgICBmb2N1czogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGNoZWNrLWJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cpLFxcbiAgICBjaGVja2VkOiAoYm9yZGVyLWNvbG9yLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yKSxcXG4gICAgZGlzYWJsZWQ6IChjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93LCBzdXJyb3VuZGluZy10ZXh0LWNvbG9yKSxcXG4gICAgY2hlY2tlZC1kaXNhYmxlZDogKGJvcmRlci1jb2xvciwgY2hlY2stYmFja2dyb3VuZC1jb2xvciksXFxuKTtcXG5cIixcIi8vIDEuIER1ZSB0byBjb21wbGV4aXR5LCBpdCdzIGVhc2llciBhbmQgc2FmZXIgdG8gcmVzb2x2ZSB2YXJpYW50IGN1c3RvbSBwcm9wZXJ0aWVzIGR5bmFtaWNhbGx5IHdpdGhcXG4vLyAgICBhIG1peGluLiBUaGlzIHdheSBpdCdzIGFsc28gZWFzaWVyIHRvIG1ha2UgdGhlbWluZyBhZGp1c3RtZW50cyB0byBhbGwgc3VwcG9ydGVkIG1vZGlmaWNhdGlvbnNcXG4vLyAgICBpbiBvbmUgcGxhY2UuIEdlbmVyYXRlZCBjdXN0b20gcHJvcGVydGllcyBhcmUgY29uc3VtZWQgbWFpbmx5IGluIGZvdW5kYXRpb24gZmllbGQgc3R5bGVzIChzZWVcXG4vLyAgICBgdG9vbHMvZm9ybS1maWVsZHMvX2ZvdW5kYXRpb24uc2Nzc2AgZm9yIG1vcmUpLlxcbi8vXFxuLy8gMi4gSW50ZXJhY3Rpb24gc3RhdGVzIG90aGVyIHRoYW4gYGRlZmF1bHRgIGRlZmF1bHQgdG8gdGhlIGBkZWZhdWx0YCAoc2ljISkgc3RhdGUgYXBwZWFyYW5jZSBpZlxcbi8vICAgIGNvcnJlc3BvbmRpbmcgY3VzdG9tIHByb3BlcnRpZXMgYXJlIG5vdCBwcm92aWRlZC5cXG4vL1xcbi8vIDMuIGAuaW5wdXQ6Zm9jdXNgIGlzIGFkZGVkIGp1c3QgaW4gY2FzZSBgOmZvY3VzLXdpdGhpbmAgZG9lc24ndCB3b3JrLlxcblxcbkB1c2UgXFxcInNhc3M6bGlzdFxcXCI7XFxuQHVzZSBcXFwic2FzczptYXBcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm0tZmllbGRzXFxcIiBhcyBzZXR0aW5ncztcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuXFxuQG1peGluIF9kaXNhYmxlZC1zdGF0ZSgpIHtcXG4gICAgb3BhY2l0eTogdGhlbWUuJGRpc2FibGVkLW9wYWNpdHk7XFxuICAgIGN1cnNvcjogdGhlbWUuJGRpc2FibGVkLWN1cnNvcjtcXG59XFxuXFxuLy8gMS5cXG5AbWl4aW4gX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgJHN0YXRlKSB7XFxuICAgIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cyhtYXAuZ2V0KHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMsICR0eXBlKSksICR2YXJpYW50KSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgdmFyaWFudCBzcGVjaWZpZWQhICN7JHZhcmlhbnR9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMobWFwLmdldChzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzLCAkdHlwZSkpfS5cXFwiO1xcbiAgICB9XFxuXFxuICAgIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXMpLCAkc3RhdGUpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiSW52YWxpZCBzdGF0ZSBzcGVjaWZpZWQhICN7JHN0YXRlfSBkb2Vzbid0IGV4aXN0LiBcXFwiXFxuICAgICAgICAgICAgKyBcXFwiQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKHNldHRpbmdzLiR0aGVtZWFibGUtc3RhdGUtcHJvcGVydGllcyl9LlxcXCI7XFxuICAgIH1cXG5cXG4gICAgJHByb3BlcnRpZXM6IG1hcC5nZXQoc2V0dGluZ3MuJHRoZW1lYWJsZS1zdGF0ZS1wcm9wZXJ0aWVzLCAkc3RhdGUpO1xcbiAgICAkaW5maXg6ICR0eXBlO1xcbiAgICAkZmFsbGJhY2stc3RhdGU6IFxcXCJkZWZhdWx0XFxcIjtcXG5cXG4gICAgQGlmICR0eXBlID09IFxcXCJ2YWxpZGF0aW9uXFxcIiB7XFxuICAgICAgICAkaW5maXg6ICR2YXJpYW50O1xcbiAgICB9XFxuXFxuICAgIEBpZiAkdHlwZSAhPSBcXFwidmFsaWRhdGlvblxcXCIgYW5kICR2YXJpYW50ICE9IFxcXCJkZWZhdWx0XFxcIiB7XFxuICAgICAgICAkaW5maXg6ICN7JHR5cGV9LS0jeyR2YXJpYW50fTtcXG4gICAgfVxcblxcbiAgICBAaWYgJHN0YXRlID09IFxcXCJjaGVja2VkLWRpc2FibGVkXFxcIiB7XFxuICAgICAgICAkZmFsbGJhY2stc3RhdGU6IFxcXCJjaGVja2VkXFxcIjtcXG4gICAgfVxcblxcbiAgICBAaWYgJHN0YXRlID09IFxcXCJkZWZhdWx0XFxcIiB7XFxuICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xcbiAgICAgICAgICAgIC0tcnVpLWxvY2FsLSN7JHByb3BlcnR5fTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tI3skaW5maXh9LS0jeyRzdGF0ZX1fXyN7JHByb3BlcnR5fSk7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgLy8gMi5cXG4gICAgQGVsc2Uge1xcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcXG4gICAgICAgICAgICAtLXJ1aS1sb2NhbC0jeyRwcm9wZXJ0eX06XFxuICAgICAgICAgICAgICAgIHZhcihcXG4gICAgICAgICAgICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tI3skaW5maXh9LS0jeyRzdGF0ZX1fXyN7JHByb3BlcnR5fSxcXG4gICAgICAgICAgICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLSN7JGluZml4fS0tI3skZmFsbGJhY2stc3RhdGV9X18jeyRwcm9wZXJ0eX0pXFxuICAgICAgICAgICAgICAgICk7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIF9nZXQtdGhlbWUoJHR5cGUsICR2YXJpYW50KSB7XFxuICAgIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzKSwgJHR5cGUpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiSW52YWxpZCB0eXBlIHNwZWNpZmllZCEgI3skdHlwZX0gZG9lc24ndCBleGlzdC4gXFxcIlxcbiAgICAgICAgICAgICsgXFxcIkNob29zZSBvbmUgb2YgI3ttYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzKX0uXFxcIjtcXG4gICAgfVxcblxcbiAgICAkdGhlbWVhYmxlLXN0YXRlczogbWFwLmdldChtYXAuZ2V0KHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMsICR0eXBlKSwgJHZhcmlhbnQpO1xcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImhvdmVyXFxcIikge1xcbiAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImRlZmF1bHRcXFwiKTtcXG5cXG4gICAgICAgICY6aG92ZXIge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJob3ZlclxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9IEBlbHNlIHtcXG4gICAgICAgICYsXFxuICAgICAgICAmOmhvdmVyIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiZGVmYXVsdFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiZm9jdXNcXFwiKSB7XFxuICAgICAgICAvLyAzLlxcbiAgICAgICAgJjpmb2N1cy13aXRoaW4sXFxuICAgICAgICAmOmZvY3VzLXdpdGhpbjpob3ZlcixcXG4gICAgICAgIC5pbnB1dDpmb2N1cyB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImZvY3VzXFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJjaGVja2VkXFxcIikge1xcbiAgICAgICAgLmlucHV0OmNoZWNrZWQge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJjaGVja2VkXFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJkaXNhYmxlZFxcXCIpIHtcXG4gICAgICAgICYuaXNSb290RGlzYWJsZWQge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJkaXNhYmxlZFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiY2hlY2tlZC1kaXNhYmxlZFxcXCIpIHtcXG4gICAgICAgIC5pbnB1dDpjaGVja2VkOmRpc2FibGVkIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiY2hlY2tlZC1kaXNhYmxlZFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiB2aXN1YWwoJHR5cGUsICR2YXJpYW50OiBcXFwiZGVmYXVsdFxcXCIsICRoYXMtY2FyZXQ6IGZhbHNlKSB7XFxuICAgIEBpbmNsdWRlIF9nZXQtdGhlbWUoJHR5cGUsICR2YXJpYW50KTtcXG5cXG4gICAgLmlucHV0OmRpc2FibGVkIHtcXG4gICAgICAgIEBpbmNsdWRlIF9kaXNhYmxlZC1zdGF0ZSgpO1xcbiAgICB9XFxuXFxuICAgIEBpZiAkdHlwZSA9PSBcXFwiYm94XFxcIiBhbmQgJHZhcmlhbnQgPT0gXFxcImZpbGxlZFxcXCIge1xcbiAgICAgICAgLmlucHV0IHtcXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiAkdHlwZSA9PSBcXFwiYm94XFxcIiBhbmQgJHZhcmlhbnQgPT0gXFxcIm91dGxpbmVcXFwiIGFuZCAkaGFzLWNhcmV0IHtcXG4gICAgICAgIC5jYXJldCB7XFxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRoZW1lLiRib3gtYm9yZGVyLXdpZHRoIHRoZW1lLiRib3gtc2VsZWN0LWNhcmV0LWJvcmRlci1zdHlsZSB2YXIoLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yKTtcXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0aGVtZS4kYm94LXNlbGVjdC1jYXJldC1iYWNrZ3JvdW5kO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3REaXNhYmxlZCAuY2FyZXQge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9kaXNhYmxlZC1zdGF0ZSgpO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiB2YWxpZGF0aW9uKCR2YXJpYW50KSB7XFxuICAgIEBpbmNsdWRlIF9nZXQtdGhlbWUodmFsaWRhdGlvbiwgJHZhcmlhbnQpO1xcbn1cXG5cIixcIi8vIDEuICBJbmxpbmUgZm9ybSBmaWVsZHMgYW5kIGZpZWxkcyB3aXRoIHZlcnRpY2FsIGxheW91dCB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgdGhleSBuZWVkLiBMYWJlbHNcXG4vLyAgICAgZG8gbm90IHdyYXAgdW50aWwgZm9yY2VkIGJ5IGNvbnRhaW5lciBvZiB0aGUgZmllbGQuIE1pbiBhbmQgbWF4IGxpbWl0cyBtYWtlIGV4dHJhIGxvbmcgd29yZHNcXG4vLyAgICAgYnJlYWsgaWYgbmVjZXNzYXJ5Llxcbi8vXFxuLy8gMi4gIEZvcm0gZmllbGRzIGluIGhvcml6b250YWwgbGF5b3V0IGFsc28gdGFrZSB1cCBvbmx5IGFzIG11Y2ggc3BhY2UgYXMgdGhleSBuZWVkLiBMYWJlbHMgZG8gbm90XFxuLy8gICAgIHdyYXAgdW50aWwgbGFiZWwgd2lkdGggbGltaXQgaXMgcmVhY2hlZCAoNTAgJSBvZiBhdmFpbGFibGUgaG9yaXpvbnRhbCBzcGFjZSBieSBkZWZhdWx0KS5cXG4vL1xcbi8vIDMuICBIZWxwIHRleHRzIGFuZCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGFyZSBhbGlnbmVkIGJlbG93IGlucHV0IGFuZCB3cmFwcGVkLiBUaGVpciB3aWR0aCBpcyBhbHdheXNcXG4vLyAgICAgbGltaXRlZCB0byB0aGUgd2lkdGggb2YgdGhlIGlucHV0IGZpZWxkIHNvIHRoZXkgZG9uJ3Qgc2hpZnQgYWRqYWNlbnQgZWxlbWVudHMgd2hlbiB0aGV5IHNob3dcXG4vLyAgICAgdXAuIFRoaXMgYXBwbGllcyB1bmxlc3MgdGhlIGZpZWxkIGlzIGluc2lkZSBGb3JtTGF5b3V0IChzZWUgMTApLlxcbi8vXFxuLy8gNC4gIERlZmluZSBncmlkIHNwYWNpbmcgYXMgcGFkZGluZyBvZiBjaGlsZCBlbGVtZW50cyBiZWNhdXNlIGdyaWQgYXJlYXMgbWFrZSByb3cgYW5kIGNvbHVtbiBnYXBzXFxuLy8gICAgIHNob3cgdXAgZXZlbiB3aGVuIG5vdCBuZWNlc3NhcnkuXFxuLy9cXG4vLyA1LiAgV2hlbiBpbnB1dCBzaXplIGlzIHNtYWxsIGFuZCBmb3JtIGZpZWxkIGxheW91dCBpcyBzZXQgdG8gaG9yaXpvbnRhbCwgZXhwYW5kIGhlbHAgdGV4dCBhbmRcXG4vLyAgICAgdmFsaWRhdGlvbiBtZXNzYWdlIG92ZXIgZnVsbCBmb3JtIGZpZWxkIHdpZHRoIHRvIGltcHJvdmUgdGhlaXIgcmVhZGFiaWxpdHkuIE90aGVyd2lzZSB0aGVcXG4vLyAgICAgdGV4dCB3b3VsZCBiZSBwYWNrZWQgaW50byBhIHZlcnkgbmFycm93IGNvbHVtbiBhbmQgaGFyZCB0byByZWFkLiBUbyBwcmV2ZW50IGhlbHAgdGV4dCBhbmRcXG4vLyAgICAgdmFsaWRhdGlvbiBtZXNzYWdlIGZyb20gZ3Jvd2luZyB0aGUgbGF5b3V0IG1vcmUgdGhhbiBuZWNlc3NhcnkgKGllLiB0aGUgc2l6ZSB3aXRob3V0XFxuLy8gICAgIGhlbHAvdmFsaWRhdGlvbiB0ZXh0KSwgYG1pbi1jb250ZW50YCBncmlkIHNpemluZyBtdXN0IGJlIHVzZWQgYWxvbmcgd2l0aCBkaXNhYmxlZCB3cmFwcGluZyBvZlxcbi8vICAgICBsYWJlbC5cXG4vL1xcbi8vIDYuICBGdWxsLXdpZHRoIGhvcml6b250YWwgZm9ybSBmaWVsZHMgcHJlZmVyIG5vdCB3cmFwcGluZyB0aGUgbGFiZWwgdW50aWwgYSBsaW1pdCBpcyByZWFjaGVkXFxuLy8gICAgICg1MCAlIG9mIGF2YWlsYWJsZSBob3Jpem9udGFsIHNwYWNlIGJ5IGRlZmF1bHQsIHNhbWUgYXMgaW4gMi4pLlxcbi8vXFxuLy8gNy4gIEp1c3RpZnkgaW5wdXRzIHRvIGBzdGFydGAgaW4gaG9yaXpvbnRhbCBsYXlvdXRzIHRvIGZpeCBwb3NpdGlvbmluZyBpc3N1ZXMgd2l0aCBTZWxlY3QgRmllbGRzLlxcbi8vICAgICBSZXZlcnRlZCBmb3IgZnVsbC13aWR0aCBmaWVsZHMuXFxuLy9cXG4vLyA4LiAgR3JpZCBzZXR0aW5ncyBhcmUgaW5oZXJpdGVkIGZyb20gaG9yaXpvbnRhbCBGb3JtTGF5b3V0IGFuZCBhcHBsaWVkIHVzaW5nIGBzdWJncmlkYC5cXG4vLyAgICAgQSBmYWxsYmFjayBpcyBzdXBwbGllZCB0byBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgYHN1YmdyaWRgIHlldC5cXG4vL1xcbi8vICAgICBDaHJvbWUgMTE3KyBzdXBwb3J0cyBgc3ViZ3JpZGAgYnV0IGl0IGRvZXNuJ3Qgd29yayBmb3IgYDxmaWVsZHNldD5gLiBUaGlzIGlzIHdoeSB3ZSBhbHdheXNcXG4vLyAgICAgdXNlIHRoZSBmYWxsYmFjayBmb3IgYDxmaWVsZHNldD5gLlxcbi8vXFxuLy8gICAgIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTE0NzMyNDJcXG4vLyAgICAgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LXVpLW9yZy9yZWFjdC11aS9pc3N1ZXMvMjMyXFxuLy9cXG4vLyA5LiAgSGVscCB0ZXh0cyBhbmQgdmFsaWRhdGlvbiBtZXNzYWdlcyBjYW4gdGFrZSB1cCBmdWxsIHdpZHRoIG9mIEZvcm1MYXlvdXQuIFRoZXJlIGlzIG5vIHJlYXNvblxcbi8vICAgICB0byBtYWtlIHRoZW0gd3JhcCBhcyB0aGV5IGNhbm5vdCBicmVhayBsYXlvdXQgb2YgRm9ybUxheW91dC5cXG4vL1xcbi8vIDEwLiBWaXN1YWxseSBhbGlnbiBsYWJlbCB0byBpbnB1dCBiYXNlbGluZS4gQWNoaWV2ZWQgd2l0aCBgcGFkZGluZy10b3BgIGFuZCBgcGFkZGluZy1ib3R0b21gIGR1ZVxcbi8vICAgICB0byB0d28gcmVhc29uczpcXG4vL1xcbi8vICAgICAqIGBhbGlnbi1pdGVtczogYmFzZWxpbmVgIGRvZXNuJ3Qgd29yayBmb3IgYmxhbmsgdGV4dCBpbnB1dHMgaW4gU2FmYXJpLiBTZWVcXG4vLyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Mjk2OCBhbmRcXG4vLyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LXVpLW9yZy9yZWFjdC11aS9pc3N1ZXMvMjY1Llxcbi8vXFxuLy8gICAgICogYGFsaWduLWl0ZW1zOiBiYXNlbGluZWAgZG9lc24ndCBhbGxvdyBzdWJzZXF1ZW50IHZlcnRpY2FsIGNlbnRlcmluZyBvZiB0YWxsIGlucHV0cyBhbmQvb3JcXG4vLyAgICAgICAgbXVsdGlsaW5lIGxhYmVscyAoc2VlIGB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC12ZXJ0aWNhbC1hbGlnbm1lbnRgIGFuZFxcbi8vICAgICAgICBgdGhlbWUuJGhvcml6b250YWwtZmllbGQtdmVydGljYWwtYWxpZ25tZW50YCkuXFxuLy9cXG4vLyAxMS4gUmVzZXQgYHdpZHRoYCBwcmV2aW91c2x5IHNldCBieSBpbmxpbmUgZmllbGQgbGF5b3V0IChzZWUgYF9pbmxpbmUtZmllbGQtbGF5b3V0LnNjc3NgKS5cXG4vL1xcbi8vIDEyLiBNYWtlIGZpZWxkcyBqdXN0IGFzIHdpZGUgYXMgbmVjZXNzYXJ5LiBGaWVsZHMgc2hvdWxkIGJlIGludGVyYWN0aXZlIG9ubHkgd2hlcmUgdGhlaXIgdmlzaWJsZVxcbi8vICAgICBjb250ZW50IGlzLlxcbi8vXFxuLy8gMTMuIExhYmVsIGFuZCBmaWVsZCBhcmUgdmVydGljYWxseSBhbGlnbmVkIHRvIHRvcCAoc3RhcnQpIGJ5IGRlZmF1bHQgKHNlZSAxMC4pLiBWZXJ0aWNhbFxcbi8vICAgICBhbGlnbm1lbnQgb2YgZWFjaCBibG9jayBjYW4gYmUgY2hhbmdlZCBieSB0aGVtZSBjb25maWd1cmF0aW9uLlxcblxcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm1zXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3JtLWZpZWxkc1xcXCIgYXMgc2V0dGluZ3M7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL3R5cG9ncmFwaHlcXFwiO1xcbkB1c2UgXFxcIi4uL2JyZWFrcG9pbnRcXFwiO1xcblxcbkBtaXhpbiB2ZXJ0aWNhbCgkaGFzLWxpc3Q6IGZhbHNlKSB7XFxuICAgIEBpZiAkaGFzLWxpc3Qge1xcbiAgICAgICAgLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwOiAje3NldHRpbmdzLiR2ZXJ0aWNhbC1pbm5lci1nYXAtbGFyZ2V9O1xcbiAgICB9XFxuXFxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyAvLyAxLlxcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBtaW4td2lkdGg6IDA7IC8vIDEuXFxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMS5cXG5cXG4gICAgLmxhYmVsIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCAje3NldHRpbmdzLiR2ZXJ0aWNhbC1pbm5lci1nYXB9KTtcXG4gICAgfVxcblxcbiAgICAuaGVscFRleHQsXFxuICAgIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tcnVpLWxvY2FsLXZlcnRpY2FsLWdhcCwgI3tzZXR0aW5ncy4kdmVydGljYWwtaW5uZXItZ2FwfSk7XFxuICAgIH1cXG5cXG4gICAgLmZpZWxkIHtcXG4gICAgICAgIHdpZHRoOiBtaW4tY29udGVudDsgLy8gMy5cXG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgLy8gMy5cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaG9yaXpvbnRhbCgkaGFzLW1pbi10YXAtdGFyZ2V0OiBmYWxzZSkge1xcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGZvcm1zLiRob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ncmlkOyAvLyAyLlxcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC13aWR0aCBtaW4tY29udGVudDsgLy8gMi5cXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFxcXCJsYWJlbCBmaWVsZFxcXCI7XFxuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7IC8vIDEwLiwgMTMuXFxuXFxuICAgICAgICAubGFiZWwge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogbGFiZWw7XFxuICAgICAgICAgICAgYWxpZ24tc2VsZjogdGhlbWUuJGhvcml6b250YWwtbGFiZWwtdmVydGljYWwtYWxpZ25tZW50OyAvLyAxMy5cXG4gICAgICAgICAgICBtaW4td2lkdGg6IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLW1pbi13aWR0aDtcXG5cXG4gICAgICAgICAgICAvLyAxMC5cXG4gICAgICAgICAgICBAaWYgJGhhcy1taW4tdGFwLXRhcmdldCB7XFxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOlxcbiAgICAgICAgICAgICAgICAgICAgY2FsYyhcXG4gICAgICAgICAgICAgICAgICAgICAgICAoI3t0aGVtZS4kY2hlY2stdGFwLXRhcmdldC1zaXplfSAtIDFyZW0gKiAje3R5cG9ncmFwaHkuJGxpbmUtaGVpZ2h0LWJhc2V9KVxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8gMlxcbiAgICAgICAgICAgICAgICAgICAgKTtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206XFxuICAgICAgICAgICAgICAgICAgICBjYWxjKFxcbiAgICAgICAgICAgICAgICAgICAgICAgICgje3RoZW1lLiRjaGVjay10YXAtdGFyZ2V0LXNpemV9IC0gMXJlbSAqICN7dHlwb2dyYXBoeS4kbGluZS1oZWlnaHQtYmFzZX0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgLyAyXFxuICAgICAgICAgICAgICAgICAgICApO1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAvLyAxMC4sIDEzLlxcbiAgICAgICAgICAgIEBlbHNlIHtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICN7dGhlbWUuJGhvcml6b250YWwtbGFiZWwtcGFkZGluZy15fTtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICN7dGhlbWUuJGhvcml6b250YWwtbGFiZWwtcGFkZGluZy15fTtcXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogc2V0dGluZ3MuJGhvcml6b250YWwtaW5uZXItZ2FwOyAvLyA0LlxcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXRleHQtYWxpZ247XFxuICAgICAgICB9XFxuXFxuICAgICAgICAuZmllbGQge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogZmllbGQ7XFxuICAgICAgICAgICAgYWxpZ24tc2VsZjogdGhlbWUuJGhvcml6b250YWwtZmllbGQtdmVydGljYWwtYWxpZ25tZW50OyAvLyAxMy5cXG4gICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0OyAvLyA3LlxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBob3Jpem9udGFsLXdpdGgtc21hbGwtaW5wdXQoKSB7XFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW4tY29udGVudCBtaW4tY29udGVudDsgLy8gNS5cXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XFxuICAgICAgICAgICAgXFxcImxhYmVsIGZpZWxkXFxcIlxcbiAgICAgICAgICAgIFxcXCJoZWxwdGV4dCBoZWxwdGV4dFxcXCJcXG4gICAgICAgICAgICBcXFwidmFsaWRhdGlvbnRleHQgdmFsaWRhdGlvbnRleHRcXFwiOyAvLyA1LlxcblxcbiAgICAgICAgLmxhYmVsIHtcXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLmZpZWxkIHtcXG4gICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50czsgLy8gNS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC5pbnB1dENvbnRhaW5lciB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBmaWVsZDsgLy8gNS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC5oZWxwVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBoZWxwdGV4dDsgLy8gNS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiB2YWxpZGF0aW9udGV4dDsgLy8gNS5cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gZnVsbC13aWR0aCgpIHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgd2lkdGg6IDEwMCU7XFxuXFxuICAgIC5maWVsZCxcXG4gICAgLmlucHV0Q29udGFpbmVyLFxcbiAgICAuaW5wdXQge1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgIH1cXG5cXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChmb3Jtcy4kaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwge1xcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XFxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB0aGVtZS4kaG9yaXpvbnRhbC1mdWxsLXdpZHRoLWxhYmVsLXdpZHRoIDFmcjsgLy8gNi5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuZmllbGQge1xcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogc3RyZXRjaDsgLy8gNy5cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaW4tZm9ybS1sYXlvdXQoJGlzLWZpZWxkc2V0OiBmYWxzZSkge1xcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0OyAvLyAxMi5cXG5cXG4gICAgLmZpZWxkIHtcXG4gICAgICAgIHdpZHRoOiBhdXRvOyAvLyA5LlxcbiAgICB9XFxuXFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgLm9wdGlvbkxhYmVsIHtcXG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgLy8gMTEuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAvLyA4LlxcbiAgICAgICAgQGlmICRpcy1maWVsZHNldCB7XFxuICAgICAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLFxcbiAgICAgICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbC5oYXNSb290U21hbGxJbnB1dCB7XFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0gQGVsc2Uge1xcbiAgICAgICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCxcXG4gICAgICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwuaGFzUm9vdFNtYWxsSW5wdXQge1xcbiAgICAgICAgICAgICAgICBncmlkOiBpbmhlcml0O1xcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XFxuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XFxuXFxuICAgICAgICAgICAgICAgIEBzdXBwb3J0cyBub3QgKGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZCkge1xcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLmlzUm9vdEZ1bGxXaWR0aCB7XFxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmxhYmVsLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaW5wdXRDb250YWluZXIsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmhlbHBUZXh0LFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiB1bnNldDsgLy8gOC5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuZmllbGQsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmlucHV0Q29udGFpbmVyLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5oZWxwVGV4dCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyOyAvLyA4LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLmhhc1Jvb3RTbWFsbElucHV0IC5maWVsZCB7XFxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vIDUuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXCIsXCJAdXNlIFxcXCJzYXNzOm1hcFxcXCI7XFxuQHVzZSBcXFwiLi4vc2V0dGluZ3MvYnJlYWtwb2ludHNcXFwiO1xcblxcbkBtaXhpbiB1cCgkYnJlYWtwb2ludCkge1xcbiAgICBAaWYgbm90IG1hcC5oYXMta2V5KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgYnJlYWtwb2ludCBzcGVjaWZpZWQhICN7JGJyZWFrcG9pbnR9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMoYnJlYWtwb2ludHMuJHZhbHVlcyl9XFxcIjtcXG4gICAgfSBAZWxzZSBpZiBtYXAuZ2V0KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSA9PSAwIHtcXG4gICAgICAgIEBjb250ZW50O1xcbiAgICB9IEBlbHNlIHtcXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSkge1xcbiAgICAgICAgICAgIEBjb250ZW50O1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiLG51bGwsXCJAdXNlIFxcXCJzYXNzOm1hcFxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcblxcbkBtaXhpbiBzaXplKCRzaXplLCAkaGFzLWlucHV0OiB0cnVlLCAkaXMtbXVsdGlsaW5lOiBmYWxzZSkge1xcbiAgICAkc2l6ZS1wcm9wZXJ0aWVzOiBtYXAuZ2V0KHRoZW1lLiRib3gtc2l6ZXMsICRzaXplKTtcXG5cXG4gICAgLS1ydWktbG9jYWwtcGFkZGluZy15OiAje21hcC5nZXQoJHNpemUtcHJvcGVydGllcywgcGFkZGluZy15KX07XFxuICAgIC0tcnVpLWxvY2FsLXBhZGRpbmcteDogI3ttYXAuZ2V0KCRzaXplLXByb3BlcnRpZXMsIHBhZGRpbmcteCl9O1xcblxcbiAgICBAaWYgJGhhcy1pbnB1dCB7XFxuICAgICAgICAtLXJ1aS1sb2NhbC1mb250LXNpemU6ICN7bWFwLmdldCgkc2l6ZS1wcm9wZXJ0aWVzLCBmb250LXNpemUpfTtcXG5cXG4gICAgICAgIC5pbnB1dCB7XFxuICAgICAgICAgICAgQGlmICRpcy1tdWx0aWxpbmUge1xcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XFxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IG1hcC5nZXQoJHNpemUtcHJvcGVydGllcywgaGVpZ2h0KTtcXG4gICAgICAgICAgICB9IEBlbHNlIHtcXG4gICAgICAgICAgICAgICAgLS1ydWktbG9jYWwtaGVpZ2h0OiAje21hcC5nZXQoJHNpemUtcHJvcGVydGllcywgaGVpZ2h0KX07XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ubG9jYWxzID0ge1xuXHRcInJvb3RcIjogXCJJbnB1dEdyb3VwX19yb290X19LRjVtVGs3RVwiLFxuXHRcImxlZ2VuZFwiOiBcIklucHV0R3JvdXBfX2xlZ2VuZF9fUno2b1JSTUNcIixcblx0XCJsYWJlbFwiOiBcIklucHV0R3JvdXBfX2xhYmVsX19sLU00dmVqNVwiLFxuXHRcImlucHV0R3JvdXBcIjogXCJJbnB1dEdyb3VwX19pbnB1dEdyb3VwX182SDQyVEFIblwiLFxuXHRcInZhbGlkYXRpb25UZXh0XCI6IFwiSW5wdXRHcm91cF9fdmFsaWRhdGlvblRleHRfX2Q0enVFWjByXCIsXG5cdFwiaXNSb290U3RhdGVJbnZhbGlkXCI6IFwiSW5wdXRHcm91cF9faXNSb290U3RhdGVJbnZhbGlkX19waXBrMHF1WFwiLFxuXHRcImlucHV0XCI6IFwiSW5wdXRHcm91cF9faW5wdXRfX3krV2ZhTTJBXCIsXG5cdFwiaXNSb290RGlzYWJsZWRcIjogXCJJbnB1dEdyb3VwX19pc1Jvb3REaXNhYmxlZF9fTFM2TnlQa2pcIixcblx0XCJpc1Jvb3RTdGF0ZVZhbGlkXCI6IFwiSW5wdXRHcm91cF9faXNSb290U3RhdGVWYWxpZF9fcEthc2VnSFFcIixcblx0XCJpc1Jvb3RTdGF0ZVdhcm5pbmdcIjogXCJJbnB1dEdyb3VwX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX2QwWm93NWdMXCIsXG5cdFwiaXNMYWJlbEhpZGRlblwiOiBcIklucHV0R3JvdXBfX2lzTGFiZWxIaWRkZW5fXzYtbytCQmN1XCIsXG5cdFwiaXNSb290TGF5b3V0VmVydGljYWxcIjogXCJJbnB1dEdyb3VwX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fSWdZdUhOKzFcIixcblx0XCJpc1Jvb3RMYXlvdXRIb3Jpem9udGFsXCI6IFwiSW5wdXRHcm91cF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fdGlEaDgrbndcIixcblx0XCJoZWxwVGV4dFwiOiBcIklucHV0R3JvdXBfX2hlbHBUZXh0X19FcjRkTmV0V1wiLFxuXHRcImZpZWxkXCI6IFwiSW5wdXRHcm91cF9fZmllbGRfX0NLMGFWYzFmXCIsXG5cdFwiaXNSb290SW5Gb3JtTGF5b3V0XCI6IFwiSW5wdXRHcm91cF9faXNSb290SW5Gb3JtTGF5b3V0X19ia1hlZDVURVwiLFxuXHRcIm9wdGlvbkxhYmVsXCI6IFwiSW5wdXRHcm91cF9fb3B0aW9uTGFiZWxfX2tWZm5oY3dsXCIsXG5cdFwiaGFzUm9vdFNtYWxsSW5wdXRcIjogXCJJbnB1dEdyb3VwX19oYXNSb290U21hbGxJbnB1dF9fMTdianFxcDlcIixcblx0XCJpbnB1dENvbnRhaW5lclwiOiBcIklucHV0R3JvdXBfX2lucHV0Q29udGFpbmVyX19xZHNIc3NtSFwiLFxuXHRcImlzUm9vdFNpemVTbWFsbFwiOiBcIklucHV0R3JvdXBfX2lzUm9vdFNpemVTbWFsbF9fRDNLYk5YbzNcIixcblx0XCJpc1Jvb3RTaXplTWVkaXVtXCI6IFwiSW5wdXRHcm91cF9faXNSb290U2l6ZU1lZGl1bV9fQ0t5K084UkxcIixcblx0XCJpc1Jvb3RTaXplTGFyZ2VcIjogXCJJbnB1dEdyb3VwX19pc1Jvb3RTaXplTGFyZ2VfX0ZsM3Z4WmlZXCJcbn07XG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js?!./src/lib/components/InputGroup/InputGroup.scss\n");
|
1091
1091
|
|
1092
1092
|
/***/ }),
|
1093
1093
|
|
@@ -1219,7 +1219,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
|
|
1219
1219
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
1220
1220
|
|
1221
1221
|
"use strict";
|
1222
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \".Radio__root__A3RXzYdi {\\n text-align: left;\\n}\\n.Radio__root__A3RXzYdi:not(:last-child) {\\n margin-bottom: 0;\\n}\\n.Radio__root__A3RXzYdi, .Radio__root__A3RXzYdi:hover {\\n --rui-local-color: var(--rui-FormField--check--default__color);\\n --rui-local-border-color: var(--rui-FormField--check--default__border-color);\\n --rui-local-background: var(--rui-FormField--check--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--check--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--check--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--check--default__surrounding-text-color);\\n}\\n.Radio__root__A3RXzYdi .Radio__input__sQTEZYVc:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--check--checked__border-color,\\n var(--rui-FormField--check--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--check--checked__check-background-color,\\n var(--rui-FormField--check--default__check-background-color)\\n );\\n}\\n.Radio__root__A3RXzYdi.Radio__isRootDisabled__ZPElhkir {\\n --rui-local-color:\\n var(\\n --rui-FormField--check--disabled__color,\\n var(--rui-FormField--check--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--check--disabled__border-color,\\n var(--rui-FormField--check--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--check--disabled__background,\\n var(--rui-FormField--check--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--check--disabled__check-background-color,\\n var(--rui-FormField--check--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--check--disabled__box-shadow,\\n var(--rui-FormField--check--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--check--disabled__surrounding-text-color,\\n var(--rui-FormField--check--default__surrounding-text-color)\\n );\\n}\\n.Radio__root__A3RXzYdi .Radio__input__sQTEZYVc:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--check--checked-disabled__border-color,\\n var(--rui-FormField--check--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--check--checked-disabled__check-background-color,\\n var(--rui-FormField--check--checked__check-background-color)\\n );\\n}\\n.Radio__root__A3RXzYdi .Radio__input__sQTEZYVc:disabled {\\n opacity: var(--rui-FormField--disabled__opacity);\\n cursor: var(--rui-FormField--disabled__cursor);\\n}\\n\\n.Radio__legend__Z4e1dJQi {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n.Radio__label__f35zvSUK,\\n.Radio__optionLabel__iPsUuRGk {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__label__color));\\n}\\n\\n.Radio__options__57qvbidB {\\n padding-left: 0;\\n list-style: none;\\n}\\n.Radio__options__57qvbidB:not(:last-child) {\\n margin-bottom: 0;\\n}\\n\\n.Radio__option__SDhGUiiD {\\n display: flex;\\n align-items: flex-start;\\n min-width: 0;\\n flex-direction: row;\\n position: relative;\\n min-height: var(--rui-FormField--check__tap-target-size);\\n padding-top: calc((var(--rui-FormField--check__tap-target-size) - 1rem * var(--rui-line-height-base)) / 2);\\n}\\n.Radio__option__SDhGUiiD .Radio__input__sQTEZYVc {\\n flex: none;\\n}\\n.Radio__option__SDhGUiiD .Radio__label__f35zvSUK,\\n.Radio__option__SDhGUiiD .Radio__optionLabel__iPsUuRGk {\\n width: -webkit-max-content;\\n width: -moz-max-content;\\n width: max-content;\\n margin-left: var(--rui-dimension-space-2);\\n}\\n.Radio__option__SDhGUiiD::before {\\n content: \\\"\\\";\\n position: absolute;\\n width: var(--rui-FormField--check__tap-target-size);\\n height: var(--rui-FormField--check__tap-target-size);\\n}\\n.Radio__option__SDhGUiiD::before {\\n top: 0;\\n left: calc((var(--rui-FormField--check__input__size) - var(--rui-FormField--check__tap-target-size)) / 2);\\n}\\n\\n.Radio__input__sQTEZYVc {\\n transition-property: background-color, background-position, box-shadow;\\n transition-duration: 150ms;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n width: var(--rui-FormField--check__input__size);\\n height: var(--rui-FormField--check__input__size);\\n margin-top: calc((1rem * var(--rui-line-height-base) - var(--rui-FormField--check__input__size)) / 2);\\n border: var(--rui-FormField--check__input__border-width) solid var(--rui-local-border-color);\\n background-position: center;\\n background-size: contain;\\n background-repeat: no-repeat;\\n background-color: var(--rui-local-check-background-color);\\n -webkit-print-color-adjust: exact;\\n color-adjust: exact;\\n border-radius: var(--rui-FormField--check__input--radio__border-radius);\\n}\\n@media (prefers-reduced-motion: reduce) {\\n .Radio__input__sQTEZYVc {\\n transition-property: background-color, background-position, box-shadow;\\n }\\n}\\n.Radio__input__sQTEZYVc:focus, .Radio__input__sQTEZYVc:checked:focus {\\n box-shadow: var(--rui-FormField--check__input--focus__box-shadow);\\n}\\n.Radio__input__sQTEZYVc:checked {\\n background-image: var(--rui-FormField--check__input--radio--checked__background-image);\\n}\\n\\n.Radio__helpText__Y9I7w\\\\+bM,\\n.Radio__validationText__5UE2Hw-Y {\\n font-style: var(--rui-FormField__help-text__font-style);\\n font-size: var(--rui-FormField__help-text__font-size);\\n line-height: 1.2rem;\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__help-text__color));\\n}\\n\\n.Radio__isRootRequired__jvsxk3AM .Radio__label__f35zvSUK {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField--required__label__color));\\n}\\n.Radio__isRootRequired__jvsxk3AM .Radio__label__f35zvSUK::after {\\n content: var(--rui-FormField--required__sign);\\n color: var(--rui-FormField--required__sign__color);\\n}\\n\\n.Radio__isRootStateInvalid__AI6K0sYH, .Radio__isRootStateInvalid__AI6K0sYH:hover {\\n --rui-local-color: var(--rui-FormField--invalid--default__color);\\n --rui-local-border-color: var(--rui-FormField--invalid--default__border-color);\\n --rui-local-background: var(--rui-FormField--invalid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--invalid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--invalid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--invalid--default__surrounding-text-color);\\n}\\n.Radio__isRootStateInvalid__AI6K0sYH .Radio__input__sQTEZYVc:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n}\\n.Radio__isRootStateInvalid__AI6K0sYH.Radio__isRootDisabled__ZPElhkir {\\n --rui-local-color:\\n var(\\n --rui-FormField--invalid--disabled__color,\\n var(--rui-FormField--invalid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--disabled__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--invalid--disabled__background,\\n var(--rui-FormField--invalid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--disabled__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--invalid--disabled__box-shadow,\\n var(--rui-FormField--invalid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--invalid--disabled__surrounding-text-color,\\n var(--rui-FormField--invalid--default__surrounding-text-color)\\n );\\n}\\n.Radio__isRootStateInvalid__AI6K0sYH .Radio__input__sQTEZYVc:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__border-color,\\n var(--rui-FormField--invalid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__check-background-color,\\n var(--rui-FormField--invalid--checked__check-background-color)\\n );\\n}\\n\\n.Radio__isRootStateValid__VRY0vq5f, .Radio__isRootStateValid__VRY0vq5f:hover {\\n --rui-local-color: var(--rui-FormField--valid--default__color);\\n --rui-local-border-color: var(--rui-FormField--valid--default__border-color);\\n --rui-local-background: var(--rui-FormField--valid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--valid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--valid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--valid--default__surrounding-text-color);\\n}\\n.Radio__isRootStateValid__VRY0vq5f .Radio__input__sQTEZYVc:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n}\\n.Radio__isRootStateValid__VRY0vq5f.Radio__isRootDisabled__ZPElhkir {\\n --rui-local-color:\\n var(\\n --rui-FormField--valid--disabled__color,\\n var(--rui-FormField--valid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--disabled__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--valid--disabled__background,\\n var(--rui-FormField--valid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--disabled__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--valid--disabled__box-shadow,\\n var(--rui-FormField--valid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--valid--disabled__surrounding-text-color,\\n var(--rui-FormField--valid--default__surrounding-text-color)\\n );\\n}\\n.Radio__isRootStateValid__VRY0vq5f .Radio__input__sQTEZYVc:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked-disabled__border-color,\\n var(--rui-FormField--valid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked-disabled__check-background-color,\\n var(--rui-FormField--valid--checked__check-background-color)\\n );\\n}\\n\\n.Radio__isRootStateWarning__fQm9KZZr, .Radio__isRootStateWarning__fQm9KZZr:hover {\\n --rui-local-color: var(--rui-FormField--warning--default__color);\\n --rui-local-border-color: var(--rui-FormField--warning--default__border-color);\\n --rui-local-background: var(--rui-FormField--warning--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--warning--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--warning--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--warning--default__surrounding-text-color);\\n}\\n.Radio__isRootStateWarning__fQm9KZZr .Radio__input__sQTEZYVc:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n}\\n.Radio__isRootStateWarning__fQm9KZZr.Radio__isRootDisabled__ZPElhkir {\\n --rui-local-color:\\n var(\\n --rui-FormField--warning--disabled__color,\\n var(--rui-FormField--warning--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--disabled__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--warning--disabled__background,\\n var(--rui-FormField--warning--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--disabled__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--warning--disabled__box-shadow,\\n var(--rui-FormField--warning--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--warning--disabled__surrounding-text-color,\\n var(--rui-FormField--warning--default__surrounding-text-color)\\n );\\n}\\n.Radio__isRootStateWarning__fQm9KZZr .Radio__input__sQTEZYVc:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked-disabled__border-color,\\n var(--rui-FormField--warning--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked-disabled__check-background-color,\\n var(--rui-FormField--warning--checked__check-background-color)\\n );\\n}\\n\\n.Radio__isLabelHidden__Bp0Pg8M8 {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n.Radio__isRootLayoutVertical__NjfDP4F2,\\n.Radio__isRootLayoutHorizontal__5K0Th3NA {\\n --rui-local-vertical-gap: var(--rui-dimension-space-2);\\n display: inline-flex;\\n flex-direction: column;\\n min-width: 0;\\n max-width: 100%;\\n}\\n.Radio__isRootLayoutVertical__NjfDP4F2 .Radio__label__f35zvSUK,\\n.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__label__f35zvSUK {\\n padding-bottom: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.Radio__isRootLayoutVertical__NjfDP4F2 .Radio__helpText__Y9I7w\\\\+bM,\\n.Radio__isRootLayoutVertical__NjfDP4F2 .Radio__validationText__5UE2Hw-Y,\\n.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__helpText__Y9I7w\\\\+bM,\\n.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__validationText__5UE2Hw-Y {\\n padding-top: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.Radio__isRootLayoutVertical__NjfDP4F2 .Radio__field__zeis\\\\+79s,\\n.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__field__zeis\\\\+79s {\\n width: -webkit-min-content;\\n width: -moz-min-content;\\n width: min-content;\\n max-width: 100%;\\n}\\n\\n@media (min-width: 48em) {\\n .Radio__isRootLayoutHorizontal__5K0Th3NA {\\n display: inline-grid;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) -webkit-min-content;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) min-content;\\n grid-template-areas: \\\"label field\\\";\\n align-items: start;\\n }\\n .Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__label__f35zvSUK {\\n grid-area: label;\\n align-self: var(--rui-FormField--horizontal__label__vertical-alignment);\\n min-width: var(--rui-FormField--horizontal__label__min-width);\\n padding-top: calc((var(--rui-FormField--check__tap-target-size) - 1rem * var(--rui-line-height-base)) / 2);\\n padding-bottom: calc((var(--rui-FormField--check__tap-target-size) - 1rem * var(--rui-line-height-base)) / 2);\\n padding-right: var(--rui-dimension-space-2);\\n text-align: var(--rui-FormField--horizontal__label__text-align);\\n }\\n .Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__field__zeis\\\\+79s {\\n grid-area: field;\\n align-self: var(--rui-FormField--horizontal__field__vertical-alignment);\\n justify-self: start;\\n }\\n}\\n\\n@media (min-width: 48em) {\\n .Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__label__f35zvSUK {\\n -ms-grid-row: 1;\\n -ms-grid-column: 1;\\n }\\n .Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__field__zeis\\\\+79s {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n}\\n\\n.Radio__isRootFullWidth__e0bpfhAX {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n}\\n.Radio__isRootFullWidth__e0bpfhAX .Radio__field__zeis\\\\+79s,\\n.Radio__isRootFullWidth__e0bpfhAX .Radio__inputContainer__89ci0hgD,\\n.Radio__isRootFullWidth__e0bpfhAX .Radio__input__sQTEZYVc {\\n width: 100%;\\n}\\n@media (min-width: 48em) {\\n .Radio__isRootFullWidth__e0bpfhAX.Radio__isRootLayoutHorizontal__5K0Th3NA {\\n display: grid;\\n grid-template-columns: var(--rui-FormField--horizontal--full-width__label__width) 1fr;\\n }\\n .Radio__isRootFullWidth__e0bpfhAX.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__field__zeis\\\\+79s {\\n justify-self: stretch;\\n }\\n}\\n\\n.Radio__isRootInFormLayout__eVw9Z\\\\+6E {\\n justify-self: start;\\n}\\n.Radio__isRootInFormLayout__eVw9Z\\\\+6E .Radio__field__zeis\\\\+79s {\\n width: auto;\\n}\\n@media (min-width: 48em) {\\n .Radio__isRootInFormLayout__eVw9Z\\\\+6E .Radio__optionLabel__iPsUuRGk {\\n width: auto;\\n }\\n .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA, .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA.Radio__hasRootSmallInput__rJWsKGxr {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n }\\n @supports not (grid-template-columns: subgrid) {\\n .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA, .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA.Radio__hasRootSmallInput__rJWsKGxr {\\n display: contents;\\n }\\n }\\n .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA.Radio__isRootFullWidth__e0bpfhAX {\\n grid-template-columns: subgrid;\\n }\\n .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__label__f35zvSUK, .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__field__zeis\\\\+79s, .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__inputContainer__89ci0hgD, .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__helpText__Y9I7w\\\\+bM, .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__validationText__5UE2Hw-Y {\\n grid-area: unset;\\n }\\n .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__field__zeis\\\\+79s, .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__inputContainer__89ci0hgD, .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__helpText__Y9I7w\\\\+bM, .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__validationText__5UE2Hw-Y {\\n grid-column-start: 2;\\n }\\n .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA.Radio__hasRootSmallInput__rJWsKGxr .Radio__field__zeis\\\\+79s {\\n display: block;\\n }\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/lib/components/Radio/Radio.scss\",\"webpack://./src/lib/styles/tools/form-fields/_foundation.scss\",\"webpack://./src/lib/styles/tools/form-fields/_variants.scss\",\"webpack://./src/lib/styles/theme/_form-fields.scss\",\"webpack://./src/lib/styles/tools/_accessibility.scss\",\"webpack://./src/lib/styles/tools/_reset.scss\",\"webpack://./src/lib/styles/tools/form-fields/_inline-field-layout.scss\",\"webpack://./src/lib/styles/tools/form-fields/_inline-field-elements.scss\",\"webpack://./src/lib/styles/settings/_form-fields.scss\",\"webpack://./src/lib/styles/tools/_transition.scss\",\"webpack://./src/lib/styles/settings/_animations.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-layout.scss\",\"webpack://./src/lib/styles/tools/_breakpoint.scss\",\"<no source>\"],\"names\":[],\"mappings\":\"AAcA;ECPI,gBAAA;ADLJ;ACSI;EACI,gBAAA;ADPR;AE4EQ;EA/BI,8DAAA;EAAA,4EAAA;EAAA,wEAAA;EAAA,gGAAA;EAAA,wEAAA;EAAA,gGAAA;AFrCZ;AEoFQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AFhCZ;AE8EQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AFAZ;AEoDQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AFYZ;AEiDI;EAtGA,gDCkBe;EDjBf,8CCgBc;AHwClB;;AApDA;EIZI,kBAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,SAAA;AJoEJ;;AA1DA;;ECTI,kFAAA;ADwEJ;;AA1DA;EKNI,eAAA;EACA,gBAAA;ALoEJ;AKlEI;EACI,gBAAA;ALoER;;AA9DA;EMJI,aAAA;EACA,uBAAA;EACA,YAAA;EAGI,mBAAA;EFNJ,kBAAA;EG+CA,wDJHoB;EIIpB,0GAAA;AP6BJ;AMjEI;EACI,UAAA;ANmER;AMhEI;;EAEI,0BAAA;EAAA,uBAAA;EAAA,kBAAA;EACA,yCE1BiB;AR4FzB;AInFI;EACI,WAAA;EACA,kBAAA;EACA,mDDuCgB;ECtChB,oDDsCgB;AH+CxB;AOzCI;EACI,MAAA;EACA,yGATgB;APoDxB;;AArFA;ESiBQ,sEAPY;EAQZ,0BAf2B;EAgB3B,wDC3DmB;EHmBvB,wBAAA;KAAA,qBAAA;UAAA,gBAAA;EACA,+CJmDe;EIlDf,gDJkDe;EIjDf,qGAAA;EACA,4FAAA;EACA,2BAAA;EACA,wBAAA;EACA,4BAAA;EACA,yDAAA;EACA,iCAAA;UAAA,mBAAA;EAgBI,uEJmC0B;AH+DlC;AShFY;ETtBZ;ISuBgB,sEARgB;ET2F9B;AACF;AOrHI;EAEI,iEJyCuB;AH6E/B;AOxGQ;EACI,sFJiCiC;AHyE7C;;AA7GA;;ECdI,uDEjBmB;EFkBnB,qDEnBkB;EFoBlB,mBOzBoB;EP0BpB,sFAAA;ADgIJ;;AAhHA;EC5BI,4FAAA;ADgJJ;AC9II;EACI,6CERQ;EFSR,kDERc;AHwJtB;;AExFQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;AFgIZ;AEjFQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AFqIZ;AEvFQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AFqKZ;AEjHQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AFiLZ;;AEzJQ;EA/BI,8DAAA;EAAA,4EAAA;EAAA,wEAAA;EAAA,gGAAA;EAAA,wEAAA;EAAA,gGAAA;AFiMZ;AElJQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AFsMZ;AExJQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AFsOZ;AElLQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AFkPZ;;AE1NQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;AFkQZ;AEnNQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AFuQZ;AEzNQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AFuSZ;AEnPQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AFmTZ;;AAzSA;EI1DI,kBAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,SAAA;AJuWJ;;AA/SA;;EWVQ,sDAAA;EAGJ,oBAAA;EACA,sBAAA;EACA,YAAA;EACA,eAAA;AX4TJ;AW1TI;;EACI,2EAAA;AX6TR;AW1TI;;;;EAEI,wEAAA;AX8TR;AW3TI;;EACI,0BAAA;EAAA,uBAAA;EAAA,kBAAA;EACA,eAAA;AX8TR;;AYrYQ;EZmER;IWUQ,oBAAA;IACA,yFAAA;IAAA,iFAAA;IACA,kCAAA;IACA,kBAAA;EX6TN;EW3TM;IACI,gBAAA;IACA,uERlE0B;IQmE1B,6DR1EiB;IQ8Eb,0GACI;IAIJ,6GACI;IAYR,2CHxGW;IGyGX,+DRlGkB;EH4Y5B;EWvSM;IACI,gBAAA;IACA,uER9F0B;IQ+F1B,mBAAA;EXySV;AACF;;AataA;EF4FQ;IE5FR,gBAAA;IAAA,mBAAA;EbgaE;EWvSM;IEzHR,gBAAA;IAAA,mBAAA;EbqaE;CaraF;;AbiFA;EW+EI,aAAA;EACA,sBAAA;EACA,WAAA;AX0QJ;AWxQI;;;EAGI,WAAA;AX0QR;AYvaQ;EDiKA;IACI,aAAA;IACA,qFAAA;EXyQV;EWtQM;IACI,qBAAA;EXwQV;AACF;;AArWA;EWkGI,mBAAA;AXuQJ;AWrQI;EACI,WAAA;AXuQR;AYvbQ;EDoLA;IACI,WAAA;EXsQV;EWnQM;IAEI,aAAA;IACA,8BAAA;IACA,mBAAA;EXoQV;EWlQU;IANJ;MAOQ,iBAAA;IXqQZ;EACF;EWlQM;IACI,8BAAA;EXoQV;EWjQM;IAKI,gBAAA;EX+PV;EW5PM;IAII,oBAAA;EX2PV;EWxPM;IACI,cAAA;EX0PV;AACF\",\"sourcesContent\":[\"// 1. Legends are tricky to style, let's use a `div` instead.\\n// https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset#styling_with_css\\n\\n@use \\\"../../styles/tools/form-fields/box-field-elements\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-layout\\\";\\n@use \\\"../../styles/tools/form-fields/foundation\\\";\\n@use \\\"../../styles/tools/form-fields/inline-field-elements\\\";\\n@use \\\"../../styles/tools/form-fields/inline-field-layout\\\";\\n@use \\\"../../styles/tools/form-fields/variants\\\";\\n@use \\\"../../styles/tools/accessibility\\\";\\n@use \\\"../../styles/tools/reset\\\";\\n@use \\\"../../styles/tools/spacing\\\";\\n\\n// Foundation\\n.root {\\n @include foundation.root();\\n @include foundation.fieldset();\\n @include variants.visual(check);\\n}\\n\\n// 1.\\n.legend {\\n @include accessibility.hide-text();\\n}\\n\\n// 1.\\n.label,\\n.optionLabel {\\n @include foundation.label();\\n}\\n\\n.options {\\n @include reset.list();\\n}\\n\\n.option {\\n @include inline-field-layout.field($type: radio);\\n @include inline-field-elements.min-tap-target($type: radio);\\n}\\n\\n.input {\\n @include inline-field-elements.check-input($type: radio);\\n}\\n\\n.helpText,\\n.validationText {\\n @include foundation.help-text();\\n}\\n\\n.isRootRequired .label {\\n @include foundation.label-required();\\n}\\n\\n// States\\n.isRootStateInvalid {\\n @include variants.validation(invalid);\\n}\\n\\n.isRootStateValid {\\n @include variants.validation(valid);\\n}\\n\\n.isRootStateWarning {\\n @include variants.validation(warning);\\n}\\n\\n// Invisible label\\n.isLabelHidden {\\n @include accessibility.hide-text();\\n}\\n\\n// Layouts\\n.isRootLayoutVertical,\\n.isRootLayoutHorizontal {\\n @include box-field-layout.vertical($has-list: true);\\n}\\n\\n.isRootLayoutHorizontal {\\n @include box-field-layout.horizontal($has-min-tap-target: true);\\n}\\n\\n.isRootFullWidth {\\n @include box-field-layout.full-width();\\n}\\n\\n.isRootInFormLayout {\\n @include box-field-layout.in-form-layout();\\n}\\n\",\"// 1. Don't let text alignment be affected by a parent.\\n// 2. Override foundation reset.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin root() {\\n text-align: left; // 1.\\n}\\n\\n@mixin fieldset() {\\n &:not(:last-child) {\\n margin-bottom: 0; // 2.\\n }\\n}\\n\\n@mixin label() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$label-color});\\n}\\n\\n@mixin label-required() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$required-label-color});\\n\\n &::after {\\n content: theme.$required-sign;\\n color: theme.$required-sign-color;\\n }\\n}\\n\\n@mixin help-text() {\\n font-style: theme.$help-text-font-style;\\n font-size: theme.$help-text-font-size;\\n line-height: settings.$help-text-line-height;\\n color: var(--rui-local-surrounding-text-color, #{theme.$help-text-color});\\n}\\n\",\"// 1. Due to complexity, it's easier and safer to resolve variant custom properties dynamically with\\n// a mixin. This way it's also easier to make theming adjustments to all supported modifications\\n// in one place. Generated custom properties are consumed mainly in foundation field styles (see\\n// `tools/form-fields/_foundation.scss` for more).\\n//\\n// 2. Interaction states other than `default` default to the `default` (sic!) state appearance if\\n// corresponding custom properties are not provided.\\n//\\n// 3. `.input:focus` is added just in case `:focus-within` doesn't work.\\n\\n@use \\\"sass:list\\\";\\n@use \\\"sass:map\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin _disabled-state() {\\n opacity: theme.$disabled-opacity;\\n cursor: theme.$disabled-cursor;\\n}\\n\\n// 1.\\n@mixin _generate-custom-properties($type, $variant, $state) {\\n @if not list.index(map.keys(map.get(settings.$themeable-variant-states, $type)), $variant) {\\n @error \\\"Invalid variant specified! #{$variant} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(map.get(settings.$themeable-variant-states, $type))}.\\\";\\n }\\n\\n @if not list.index(map.keys(settings.$themeable-state-properties), $state) {\\n @error \\\"Invalid state specified! #{$state} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-state-properties)}.\\\";\\n }\\n\\n $properties: map.get(settings.$themeable-state-properties, $state);\\n $infix: $type;\\n $fallback-state: \\\"default\\\";\\n\\n @if $type == \\\"validation\\\" {\\n $infix: $variant;\\n }\\n\\n @if $type != \\\"validation\\\" and $variant != \\\"default\\\" {\\n $infix: #{$type}--#{$variant};\\n }\\n\\n @if $state == \\\"checked-disabled\\\" {\\n $fallback-state: \\\"checked\\\";\\n }\\n\\n @if $state == \\\"default\\\" {\\n @each $property in $properties {\\n --rui-local-#{$property}: var(--rui-FormField--#{$infix}--#{$state}__#{$property});\\n }\\n }\\n\\n // 2.\\n @else {\\n @each $property in $properties {\\n --rui-local-#{$property}:\\n var(\\n --rui-FormField--#{$infix}--#{$state}__#{$property},\\n var(--rui-FormField--#{$infix}--#{$fallback-state}__#{$property})\\n );\\n }\\n }\\n}\\n\\n@mixin _get-theme($type, $variant) {\\n @if not list.index(map.keys(settings.$themeable-variant-states), $type) {\\n @error \\\"Invalid type specified! #{$type} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-variant-states)}.\\\";\\n }\\n\\n $themeable-states: map.get(map.get(settings.$themeable-variant-states, $type), $variant);\\n\\n @if list.index($themeable-states, \\\"hover\\\") {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"hover\\\");\\n }\\n } @else {\\n &,\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"focus\\\") {\\n // 3.\\n &:focus-within,\\n &:focus-within:hover,\\n .input:focus {\\n @include _generate-custom-properties($type, $variant, \\\"focus\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked\\\") {\\n .input:checked {\\n @include _generate-custom-properties($type, $variant, \\\"checked\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"disabled\\\") {\\n &.isRootDisabled {\\n @include _generate-custom-properties($type, $variant, \\\"disabled\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked-disabled\\\") {\\n .input:checked:disabled {\\n @include _generate-custom-properties($type, $variant, \\\"checked-disabled\\\");\\n }\\n }\\n}\\n\\n@mixin visual($type, $variant: \\\"default\\\", $has-caret: false) {\\n @include _get-theme($type, $variant);\\n\\n .input:disabled {\\n @include _disabled-state();\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"filled\\\" {\\n .input {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n }\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"outline\\\" and $has-caret {\\n .caret {\\n border-left: theme.$box-border-width theme.$box-select-caret-border-style var(--rui-local-border-color);\\n background: theme.$box-select-caret-background;\\n }\\n\\n &.isRootDisabled .caret {\\n @include _disabled-state();\\n }\\n }\\n}\\n\\n@mixin validation($variant) {\\n @include _get-theme(validation, $variant);\\n}\\n\",\"// Variant specific theme options are obtained dynamically because there is way too many of them to\\n// maintain manually. See `settings/_form-fields.scss` and `tools/form-fields/_variants.scss` for\\n// details.\\n//\\n// 1. Defaults to zero when neither `--rui-FormField--horizontal__label__padding-y` (optional) nor\\n// `--rui-local-padding-y` (handled by the `size()` mixin in case of box form fields, see\\n// `_box-field-sizes.scss`) is defined. This is useful because FormLayoutCustomField may have no\\n// size specified therefore its label should have no padding at the top.\\n\\n// Forms fields: common properties\\n$label-color: var(--rui-FormField__label__color);\\n$label-font-size: var(--rui-FormField__label__font-size);\\n$help-text-font-size: var(--rui-FormField__help-text__font-size);\\n$help-text-font-style: var(--rui-FormField__help-text__font-style);\\n$help-text-color: var(--rui-FormField__help-text__color);\\n$required-label-color: var(--rui-FormField--required__label__color);\\n$required-sign: var(--rui-FormField--required__sign);\\n$required-sign-color: var(--rui-FormField--required__sign__color);\\n\\n// Form fields: horizontal layout\\n$horizontal-label-text-align: var(--rui-FormField--horizontal__label__text-align);\\n$horizontal-label-min-width: var(--rui-FormField--horizontal__label__min-width);\\n$horizontal-label-width: var(--rui-FormField--horizontal__label__width);\\n$horizontal-label-padding-y:\\n var(\\n --rui-FormField--horizontal__label__padding-y,\\n calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y))\\n ); // 1.\\n$horizontal-label-vertical-alignment: var(--rui-FormField--horizontal__label__vertical-alignment);\\n$horizontal-field-vertical-alignment: var(--rui-FormField--horizontal__field__vertical-alignment);\\n$horizontal-full-width-label-width: var(--rui-FormField--horizontal--full-width__label__width);\\n\\n// Form fields: disabled state\\n$disabled-cursor: var(--rui-FormField--disabled__cursor);\\n$disabled-opacity: var(--rui-FormField--disabled__opacity);\\n\\n// Form fields: box fields\\n$box-border-width: var(--rui-FormField--box__border-width);\\n$box-border-radius: var(--rui-FormField--box__border-radius);\\n$box-input-width: var(--rui-FormField--box__input__width);\\n$box-input-min-width: var(--rui-FormField--box__input__min-width);\\n$box-placeholder-color: var(--rui-FormField--box__placeholder__color);\\n\\n// Form fields: box fields, component specific\\n$box-select-caret-border-style: var(--rui-FormField--box--select__caret__border-style);\\n$box-select-caret-background: var(--rui-FormField--box--select__caret__background);\\n$box-select-option-disabled-color: var(--rui-FormField--box--select__option--disabled__color);\\n\\n// Form fields: box field sizes\\n$box-sizes: (\\n small: (\\n height: var(--rui-FormField--box--small__height),\\n padding-y: var(--rui-FormField--box--small__padding-y),\\n padding-x: var(--rui-FormField--box--small__padding-x),\\n font-size: var(--rui-FormField--box--small__font-size),\\n ),\\n medium: (\\n height: var(--rui-FormField--box--medium__height),\\n padding-y: var(--rui-FormField--box--medium__padding-y),\\n padding-x: var(--rui-FormField--box--medium__padding-x),\\n font-size: var(--rui-FormField--box--medium__font-size),\\n ),\\n large: (\\n height: var(--rui-FormField--box--large__height),\\n padding-y: var(--rui-FormField--box--large__padding-y),\\n padding-x: var(--rui-FormField--box--large__padding-x),\\n font-size: var(--rui-FormField--box--large__font-size),\\n ),\\n);\\n\\n// Form fields: check fields\\n$check-input-size: var(--rui-FormField--check__input__size);\\n$check-input-border-width: var(--rui-FormField--check__input__border-width);\\n$check-input-focus-box-shadow: var(--rui-FormField--check__input--focus__box-shadow);\\n$check-tap-target-size: var(--rui-FormField--check__tap-target-size);\\n\\n// Form fields: check fields, component specific\\n$check-input-checkbox-border-radius: var(--rui-FormField--check__input--checkbox__border-radius);\\n$check-input-checkbox-checked-background-image: var(--rui-FormField--check__input--checkbox--checked__background-image);\\n$check-input-radio-border-radius: var(--rui-FormField--check__input--radio__border-radius);\\n$check-input-radio-checked-background-image: var(--rui-FormField--check__input--radio--checked__background-image);\\n$check-input-toggle-width: var(--rui-FormField--check__input--toggle__width);\\n$check-input-toggle-border-radius: var(--rui-FormField--check__input--toggle__border-radius);\\n$check-input-toggle-background-size: var(--rui-FormField--check__input--toggle__background-size);\\n$check-input-toggle-default-background-image: var(--rui-FormField--check__input--toggle--default__background-image);\\n$check-input-toggle-default-background-position:\\n var(\\n --rui-FormField--check__input--toggle--default__background-position\\n );\\n$check-input-toggle-checked-background-image: var(--rui-FormField--check__input--toggle--checked__background-image);\\n$check-input-toggle-checked-background-position:\\n var(\\n --rui-FormField--check__input--toggle--checked__background-position\\n );\\n\",\"// 1. Screen readers only, inspired by Bootstrap.\\n// https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss\\n//\\n// 2. Make tap target big enough to improve accessibility on touch screens.\\n\\n@use \\\"../theme/accessibility\\\" as theme;\\n\\n// 1.\\n@mixin hide-text() {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n@mixin unhide-text() {\\n position: unset;\\n width: unset;\\n height: unset;\\n overflow: unset;\\n clip: unset;\\n white-space: unset;\\n}\\n\\n// 2.\\n@mixin min-tap-target($size: theme.$tap-target-size, $center: true) {\\n position: relative;\\n\\n &::before {\\n content: \\\"\\\";\\n position: absolute;\\n width: $size;\\n height: $size;\\n\\n @if $center {\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n }\\n }\\n}\\n\\n@mixin focus-ring() {\\n &:focus-visible {\\n outline: theme.$focus-outline;\\n outline-offset: theme.$focus-outline-offset;\\n box-shadow: theme.$focus-box-shadow;\\n }\\n}\\n\",\"@mixin button() {\\n appearance: none;\\n display: inline-flex;\\n flex: none;\\n align-items: center;\\n justify-content: center;\\n padding: 0;\\n border: 0;\\n border-radius: 0;\\n background: none;\\n box-shadow: none;\\n cursor: pointer;\\n}\\n\\n@mixin link() {\\n text-decoration: none;\\n color: inherit;\\n\\n &:hover,\\n &:focus {\\n text-decoration: none;\\n }\\n}\\n\\n@mixin list() {\\n padding-left: 0;\\n list-style: none;\\n\\n &:not(:last-child) {\\n margin-bottom: 0;\\n }\\n}\\n\",\"// 1. Inline form fields and fields with vertical layout take up as much space as they need. Labels\\n// do not wrap until forced by container of the field. Min and max limits make extra long words\\n// break if necessary.\\n//\\n// 2. Retain multiline field layout and make the field fit parent layout using `inline-grid`\\n// (`inline-flex` cannot do the job).\\n//\\n// 3. Make fields just as wide as necessary. Fields should be interactive only where their visible\\n// content is.\\n\\n@use \\\"../../settings/forms\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../theme/typography\\\";\\n@use \\\"../breakpoint\\\";\\n\\n@mixin root() {\\n display: inline-flex; // 1.\\n flex-wrap: wrap;\\n align-items: baseline;\\n width: min-content;\\n min-width: 0; // 1.\\n max-width: 100%; // 1.\\n\\n .helpText,\\n .validationText {\\n padding-top: settings.$vertical-inner-gap;\\n }\\n}\\n\\n@mixin field($type) {\\n display: flex; // 1.\\n align-items: flex-start;\\n min-width: 0; // 1.\\n\\n @if $type == \\\"radio\\\" {\\n flex-direction: row;\\n } @else {\\n flex-direction: row-reverse;\\n justify-content: flex-end;\\n }\\n\\n .input {\\n flex: none;\\n }\\n\\n .label,\\n .optionLabel {\\n width: max-content; // 1.\\n margin-left: settings.$inline-field-inner-gap;\\n }\\n}\\n\\n@mixin has-label-before() {\\n .field {\\n flex-direction: row;\\n }\\n\\n .label,\\n .optionLabel {\\n margin-right: settings.$inline-field-inner-gap;\\n margin-left: 0;\\n }\\n}\\n\\n@mixin in-form-layout() {\\n display: inline-grid; // 2.\\n justify-self: start; // 3.\\n width: auto; // 2., 3.\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n &.isRootLayoutHorizontal {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n\\n @supports not (grid-template-columns: subgrid) {\\n display: contents;\\n }\\n }\\n\\n &.isRootLayoutHorizontal .field {\\n display: contents;\\n }\\n\\n &.isRootLayoutHorizontal .label {\\n grid-column-start: 1;\\n width: auto;\\n padding-right: settings.$horizontal-inner-gap;\\n margin-left: 0;\\n text-align: theme.$horizontal-label-text-align;\\n }\\n\\n &.isRootLayoutHorizontal .input,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-column-start: 2;\\n }\\n\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n width: auto;\\n max-width: 100%;\\n\\n @supports not (grid-template-columns: subgrid) {\\n margin-top: calc(-1 * var(--rui-FormLayout__row-gap));\\n }\\n }\\n\\n &.isRootLayoutHorizontal.hasRootLabelBefore .label {\\n margin-right: 0;\\n }\\n }\\n}\\n\",\"// Custom input styling inspired by Bootstrap 5.\\n//\\n// 1. Keep themed appearance for print.\\n//\\n// 2. Make tap target of inline fields big enough to improve their accessibility on touch screens.\\n//\\n// 3. Reset extra space previously added to symmetrically pad the field in FormLayout context as\\n// there already is a sufficient row gap provided by FormLayout.\\n//\\n// 4. Destroy tap target when subgrid is not supported.\\n\\n@use \\\"../../theme/typography\\\";\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../tools/accessibility\\\";\\n@use \\\"../transition\\\";\\n\\n@mixin check-input($type) {\\n @include transition.add((background-color, background-position, box-shadow));\\n\\n appearance: none;\\n width: theme.$check-input-size;\\n height: theme.$check-input-size;\\n margin-top: calc((1rem * #{typography.$line-height-base} - #{theme.$check-input-size}) / 2);\\n border: theme.$check-input-border-width solid var(--rui-local-border-color);\\n background-position: center;\\n background-size: contain;\\n background-repeat: no-repeat;\\n background-color: var(--rui-local-check-background-color);\\n color-adjust: exact; // 1.\\n\\n &:focus,\\n &:checked:focus {\\n box-shadow: theme.$check-input-focus-box-shadow;\\n }\\n\\n @if $type == \\\"checkbox\\\" {\\n border-radius: theme.$check-input-checkbox-border-radius;\\n\\n &:checked {\\n background-image: theme.$check-input-checkbox-checked-background-image;\\n }\\n }\\n\\n @if $type == \\\"radio\\\" {\\n border-radius: theme.$check-input-radio-border-radius;\\n\\n &:checked {\\n background-image: theme.$check-input-radio-checked-background-image;\\n }\\n }\\n\\n @if $type == \\\"toggle\\\" {\\n width: theme.$check-input-toggle-width;\\n border-radius: theme.$check-input-toggle-border-radius;\\n background-image: theme.$check-input-toggle-default-background-image;\\n background-position: theme.$check-input-toggle-default-background-position;\\n background-size: theme.$check-input-toggle-background-size;\\n\\n &:checked {\\n background-image: theme.$check-input-toggle-checked-background-image;\\n background-position: theme.$check-input-toggle-checked-background-position;\\n }\\n }\\n}\\n\\n// 2.\\n@mixin min-tap-target($type) {\\n $input-width: theme.$check-input-size;\\n\\n @if $type == \\\"toggle\\\" {\\n $input-width: theme.$check-input-toggle-width;\\n }\\n\\n $tap-target-offset: calc((#{$input-width} - #{theme.$check-tap-target-size}) / 2);\\n\\n @include accessibility.min-tap-target($size: theme.$check-tap-target-size, $center: false);\\n\\n min-height: theme.$check-tap-target-size;\\n padding-top: calc((#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base}) / 2);\\n\\n &::before {\\n top: 0;\\n left: $tap-target-offset;\\n }\\n\\n @if $type == \\\"checkbox\\\" or $type == \\\"toggle\\\" {\\n &.hasRootLabelBefore::before {\\n right: $tap-target-offset;\\n left: auto;\\n }\\n\\n // 3.\\n &.isRootInFormLayout {\\n min-height: 0;\\n padding-top: 0;\\n\\n &::before {\\n top: calc((1rem * #{typography.$line-height-base} - #{theme.$check-tap-target-size}) / 2);\\n }\\n }\\n\\n &.isRootInFormLayout.isRootLayoutHorizontal::before {\\n grid-column-start: 2;\\n\\n // 4.\\n @supports not (grid-template-columns: subgrid) {\\n display: none;\\n }\\n }\\n }\\n}\\n\",\"// 1. Input `line-height` is specified in `rem` so inputs do not break when their font size gets\\n// changed later.\\n\\n@use \\\"sass:map\\\";\\n@use \\\"../theme/typography\\\";\\n@use \\\"../tools/spacing\\\";\\n\\n$help-text-line-height: 1.2rem;\\n\\n$vertical-inner-gap: spacing.of(1);\\n$vertical-inner-gap-large: spacing.of(2);\\n$vertical-outer-spacing: spacing.of(2);\\n\\n$horizontal-inner-gap: spacing.of(2);\\n$horizontal-outer-spacing: spacing.of(2);\\n\\n$box-input-font-family: typography.$font-family-base;\\n$box-input-font-weight: map.get(typography.$font-weight-values, default);\\n$box-input-line-height: 1.5rem; // 1.\\n$box-field-caret-size: 2.25rem;\\n$box-field-input-number-arrows-width: 1.5rem;\\n$box-field-bottom-line-height: 2px;\\n\\n$inline-field-inner-gap: spacing.of(2);\\n\\n$themeable-variant-states: (\\n box: (\\n filled: (default, hover, focus, disabled),\\n outline: (default, hover, focus, disabled),\\n ),\\n check: (\\n default: (default, checked, disabled, checked-disabled),\\n ),\\n custom: (\\n default: (default, disabled),\\n ),\\n validation: (\\n invalid: (default, checked, disabled, checked-disabled),\\n valid: (default, checked, disabled, checked-disabled),\\n warning: (default, checked, disabled, checked-disabled),\\n ),\\n);\\n\\n$themeable-state-properties: (\\n default: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n hover: (color, border-color, background, box-shadow),\\n focus: (color, border-color, background, check-background-color, box-shadow),\\n checked: (border-color, check-background-color),\\n disabled: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n checked-disabled: (border-color, check-background-color),\\n);\\n\",\"@use \\\"sass:list\\\";\\n@use \\\"sass:meta\\\";\\n@use \\\"sass:string\\\";\\n@use \\\"../settings/animations\\\";\\n\\n$_allowed-transitions: (\\n border-color,\\n background-color,\\n background-position,\\n box-shadow,\\n color,\\n opacity,\\n transform,\\n visibility,\\n);\\n\\n$_reduced-motion-disallowed-transitions: (transform);\\n\\n@function _validate-transitions($properties) {\\n @each $property in $properties {\\n $is-allowed: list.index($_allowed-transitions, $property);\\n\\n @if not $is-allowed {\\n @return false;\\n }\\n }\\n\\n @return true;\\n}\\n\\n@function _reduce-motion-transitions($properties) {\\n $reduced-properties: ();\\n $separator: list.separator($properties);\\n\\n @each $property in $properties {\\n @if not list.index($_reduced-motion-disallowed-transitions, $property) {\\n $reduced-properties: list.append($reduced-properties, $property, $separator: $separator);\\n }\\n }\\n\\n @return $reduced-properties;\\n}\\n\\n@mixin add($properties, $duration: 150ms) {\\n $property-list: ();\\n\\n @if meta.type-of($properties) != \\\"string\\\" and meta.type-of($properties) != \\\"list\\\" {\\n @error \\\"Transition properties must be a string or a Sass list, `#{$properties}` given.\\\";\\n }\\n\\n $property-list: list.join($property-list, $properties);\\n\\n @if not _validate-transitions($property-list) {\\n @error \\\"Only [#{$_allowed-transitions}] transitions are allowed, [#{$properties}] given.\\\";\\n } @else {\\n $reduced-property-list: _reduce-motion-transitions($property-list);\\n\\n transition-property: $property-list;\\n transition-duration: $duration;\\n transition-timing-function: animations.$standard-timing-function;\\n\\n @if list.length($reduced-property-list) > 0 {\\n @media (prefers-reduced-motion: reduce) {\\n transition-property: $reduced-property-list;\\n }\\n }\\n }\\n}\\n\",\"$standard-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n\",\"// 1. Inline form fields and fields with vertical layout take up as much space as they need. Labels\\n// do not wrap until forced by container of the field. Min and max limits make extra long words\\n// break if necessary.\\n//\\n// 2. Form fields in horizontal layout also take up only as much space as they need. Labels do not\\n// wrap until label width limit is reached (50 % of available horizontal space by default).\\n//\\n// 3. Help texts and validation messages are aligned below input and wrapped. Their width is always\\n// limited to the width of the input field so they don't shift adjacent elements when they show\\n// up. This applies unless the field is inside FormLayout (see 10).\\n//\\n// 4. Define grid spacing as padding of child elements because grid areas make row and column gaps\\n// show up even when not necessary.\\n//\\n// 5. When input size is small and form field layout is set to horizontal, expand help text and\\n// validation message over full form field width to improve their readability. Otherwise the\\n// text would be packed into a very narrow column and hard to read. To prevent help text and\\n// validation message from growing the layout more than necessary (ie. the size without\\n// help/validation text), `min-content` grid sizing must be used along with disabled wrapping of\\n// label.\\n//\\n// 6. Full-width horizontal form fields prefer not wrapping the label until a limit is reached\\n// (50 % of available horizontal space by default, same as in 2.).\\n//\\n// 7. Justify inputs to `start` in horizontal layouts to fix positioning issues with Select Fields.\\n// Reverted for full-width fields.\\n//\\n// 8. Grid settings are inherited from horizontal FormLayout and applied using `subgrid`.\\n// A fallback is supplied to browsers that don't support `subgrid` yet. See FormLayout styles\\n// for more.\\n// https://github.com/react-ui-org/react-ui/issues/232\\n//\\n// 9. Help texts and validation messages can take up full width of FormLayout. There is no reason\\n// to make them wrap as they cannot break layout of FormLayout.\\n//\\n// 10. Visually align label to input baseline. Achieved with `padding-top` and `padding-bottom` due\\n// to two reasons:\\n//\\n// * `align-items: baseline` doesn't work for blank text inputs in Safari. See\\n// https://bugs.webkit.org/show_bug.cgi?id=142968 and\\n// https://github.com/react-ui-org/react-ui/issues/265.\\n//\\n// * `align-items: baseline` doesn't allow subsequent vertical centering of tall inputs and/or\\n// multiline labels (see `theme.$horizontal-label-vertical-alignment` and\\n// `theme.$horizontal-field-vertical-alignment`).\\n//\\n// 11. Reset `width` previously set by inline field layout (see `_inline-field-layout.scss`).\\n//\\n// 12. Make fields just as wide as necessary. Fields should be interactive only where their visible\\n// content is.\\n//\\n// 13. Label and field are vertically aligned to top (start) by default (see 10.). Vertical\\n// alignment of each block can be changed by theme configuration.\\n\\n@use \\\"../../settings/forms\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../theme/typography\\\";\\n@use \\\"../breakpoint\\\";\\n\\n@mixin vertical($has-list: false) {\\n @if $has-list {\\n --rui-local-vertical-gap: #{settings.$vertical-inner-gap-large};\\n }\\n\\n display: inline-flex; // 1.\\n flex-direction: column;\\n min-width: 0; // 1.\\n max-width: 100%; // 1.\\n\\n .label {\\n padding-bottom: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .helpText,\\n .validationText {\\n padding-top: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .field {\\n width: min-content; // 3.\\n max-width: 100%; // 3.\\n }\\n}\\n\\n@mixin horizontal($has-min-tap-target: false) {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n display: inline-grid; // 2.\\n grid-template-columns: theme.$horizontal-label-width min-content; // 2.\\n grid-template-areas: \\\"label field\\\";\\n align-items: start; // 10., 13.\\n\\n .label {\\n grid-area: label;\\n align-self: theme.$horizontal-label-vertical-alignment; // 13.\\n min-width: theme.$horizontal-label-min-width;\\n\\n // 10.\\n @if $has-min-tap-target {\\n padding-top:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n padding-bottom:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n }\\n\\n // 10., 13.\\n @else {\\n padding-top: #{theme.$horizontal-label-padding-y};\\n padding-bottom: #{theme.$horizontal-label-padding-y};\\n }\\n\\n padding-right: settings.$horizontal-inner-gap; // 4.\\n text-align: theme.$horizontal-label-text-align;\\n }\\n\\n .field {\\n grid-area: field;\\n align-self: theme.$horizontal-field-vertical-alignment; // 13.\\n justify-self: start; // 7.\\n }\\n }\\n}\\n\\n@mixin horizontal-with-small-input() {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n grid-template-columns: min-content min-content; // 5.\\n grid-template-areas:\\n \\\"label field\\\"\\n \\\"helptext helptext\\\"\\n \\\"validationtext validationtext\\\"; // 5.\\n\\n .label {\\n white-space: nowrap; // 5.\\n }\\n\\n .field {\\n display: contents; // 5.\\n }\\n\\n .inputContainer {\\n grid-area: field; // 5.\\n }\\n\\n .helpText {\\n grid-area: helptext; // 5.\\n }\\n\\n .validationText {\\n grid-area: validationtext; // 5.\\n }\\n }\\n}\\n\\n@mixin full-width() {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n\\n .field,\\n .inputContainer,\\n .input {\\n width: 100%;\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n &.isRootLayoutHorizontal {\\n display: grid;\\n grid-template-columns: theme.$horizontal-full-width-label-width 1fr; // 6.\\n }\\n\\n &.isRootLayoutHorizontal .field {\\n justify-self: stretch; // 7.\\n }\\n }\\n}\\n\\n@mixin in-form-layout() {\\n justify-self: start; // 12.\\n\\n .field {\\n width: auto; // 9.\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n .optionLabel {\\n width: auto; // 11.\\n }\\n\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n grid: inherit; // 8.\\n grid-template-columns: subgrid; // 8.\\n grid-column: span 2; // 8.\\n\\n @supports not (grid-template-columns: subgrid) {\\n display: contents; // 8.\\n }\\n }\\n\\n &.isRootLayoutHorizontal.isRootFullWidth {\\n grid-template-columns: subgrid; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .label,\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-area: unset; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-column-start: 2; // 8.\\n }\\n\\n &.isRootLayoutHorizontal.hasRootSmallInput .field {\\n display: block; // 5.\\n }\\n }\\n}\\n\",\"@use \\\"sass:map\\\";\\n@use \\\"../settings/breakpoints\\\";\\n\\n@mixin up($breakpoint) {\\n @if not map.has-key(breakpoints.$values, $breakpoint) {\\n @error \\\"Invalid breakpoint specified! #{$breakpoint} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(breakpoints.$values)}\\\";\\n } @else if map.get(breakpoints.$values, $breakpoint) == 0 {\\n @content;\\n } @else {\\n @media (min-width: map.get(breakpoints.$values, $breakpoint)) {\\n @content;\\n }\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"Radio__root__A3RXzYdi\",\n\t\"input\": \"Radio__input__sQTEZYVc\",\n\t\"isRootDisabled\": \"Radio__isRootDisabled__ZPElhkir\",\n\t\"legend\": \"Radio__legend__Z4e1dJQi\",\n\t\"label\": \"Radio__label__f35zvSUK\",\n\t\"optionLabel\": \"Radio__optionLabel__iPsUuRGk\",\n\t\"options\": \"Radio__options__57qvbidB\",\n\t\"option\": \"Radio__option__SDhGUiiD\",\n\t\"helpText\": \"Radio__helpText__Y9I7w+bM\",\n\t\"validationText\": \"Radio__validationText__5UE2Hw-Y\",\n\t\"isRootRequired\": \"Radio__isRootRequired__jvsxk3AM\",\n\t\"isRootStateInvalid\": \"Radio__isRootStateInvalid__AI6K0sYH\",\n\t\"isRootStateValid\": \"Radio__isRootStateValid__VRY0vq5f\",\n\t\"isRootStateWarning\": \"Radio__isRootStateWarning__fQm9KZZr\",\n\t\"isLabelHidden\": \"Radio__isLabelHidden__Bp0Pg8M8\",\n\t\"isRootLayoutVertical\": \"Radio__isRootLayoutVertical__NjfDP4F2\",\n\t\"isRootLayoutHorizontal\": \"Radio__isRootLayoutHorizontal__5K0Th3NA\",\n\t\"field\": \"Radio__field__zeis+79s\",\n\t\"isRootFullWidth\": \"Radio__isRootFullWidth__e0bpfhAX\",\n\t\"inputContainer\": \"Radio__inputContainer__89ci0hgD\",\n\t\"isRootInFormLayout\": \"Radio__isRootInFormLayout__eVw9Z+6E\",\n\t\"hasRootSmallInput\": \"Radio__hasRootSmallInput__rJWsKGxr\"\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vc3JjL2xpYi9jb21wb25lbnRzL1JhZGlvL1JhZGlvLnNjc3MuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvbGliL2NvbXBvbmVudHMvUmFkaW8vUmFkaW8uc2Nzcz9hODA0Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLlJhZGlvX19yb290X19BM1JYellkaSB7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG4uUmFkaW9fX3Jvb3RfX0EzUlh6WWRpOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG59XFxuLlJhZGlvX19yb290X19BM1JYellkaSwgLlJhZGlvX19yb290X19BM1JYellkaTpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2stLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2stLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5SYWRpb19fcm9vdF9fQTNSWHpZZGkgLlJhZGlvX19pbnB1dF9fc1FURVpZVmM6Y2hlY2tlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uUmFkaW9fX3Jvb3RfX0EzUlh6WWRpLlJhZGlvX19pc1Jvb3REaXNhYmxlZF9fWlBFbGhraXIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2stLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2stLWRpc2FibGVkX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2stLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2stLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2stLWRpc2FibGVkX19zdXJyb3VuZGluZy10ZXh0LWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uUmFkaW9fX3Jvb3RfX0EzUlh6WWRpIC5SYWRpb19faW5wdXRfX3NRVEVaWVZjOmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tY2hlY2tlZC1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2stLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlJhZGlvX19yb290X19BM1JYellkaSAuUmFkaW9fX2lucHV0X19zUVRFWllWYzpkaXNhYmxlZCB7XFxuICBvcGFjaXR5OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fb3BhY2l0eSk7XFxuICBjdXJzb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19jdXJzb3IpO1xcbn1cXG5cXG4uUmFkaW9fX2xlZ2VuZF9fWjRlMWRKUWkge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgd2lkdGg6IDFweDtcXG4gIGhlaWdodDogMXB4O1xcbiAgcGFkZGluZzogMDtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIGJvcmRlcjogMDtcXG59XFxuXFxuLlJhZGlvX19sYWJlbF9fZjM1enZTVUssXFxuLlJhZGlvX19vcHRpb25MYWJlbF9faVBzVXVSR2sge1xcbiAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCB2YXIoLS1ydWktRm9ybUZpZWxkX19sYWJlbF9fY29sb3IpKTtcXG59XFxuXFxuLlJhZGlvX19vcHRpb25zX181N3F2YmlkQiB7XFxuICBwYWRkaW5nLWxlZnQ6IDA7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbn1cXG4uUmFkaW9fX29wdGlvbnNfXzU3cXZiaWRCOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG59XFxuXFxuLlJhZGlvX19vcHRpb25fX1NEaEdVaWlEIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcXG4gIG1pbi13aWR0aDogMDtcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBtaW4taGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19fdGFwLXRhcmdldC1zaXplKTtcXG4gIHBhZGRpbmctdG9wOiBjYWxjKCh2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19fdGFwLXRhcmdldC1zaXplKSAtIDFyZW0gKiB2YXIoLS1ydWktbGluZS1oZWlnaHQtYmFzZSkpIC8gMik7XFxufVxcbi5SYWRpb19fb3B0aW9uX19TRGhHVWlpRCAuUmFkaW9fX2lucHV0X19zUVRFWllWYyB7XFxuICBmbGV4OiBub25lO1xcbn1cXG4uUmFkaW9fX29wdGlvbl9fU0RoR1VpaUQgLlJhZGlvX19sYWJlbF9fZjM1enZTVUssXFxuLlJhZGlvX19vcHRpb25fX1NEaEdVaWlEIC5SYWRpb19fb3B0aW9uTGFiZWxfX2lQc1V1UkdrIHtcXG4gIHdpZHRoOiAtd2Via2l0LW1heC1jb250ZW50O1xcbiAgd2lkdGg6IC1tb3otbWF4LWNvbnRlbnQ7XFxuICB3aWR0aDogbWF4LWNvbnRlbnQ7XFxuICBtYXJnaW4tbGVmdDogdmFyKC0tcnVpLWRpbWVuc2lvbi1zcGFjZS0yKTtcXG59XFxuLlJhZGlvX19vcHRpb25fX1NEaEdVaWlEOjpiZWZvcmUge1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB3aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX3RhcC10YXJnZXQtc2l6ZSk7XFxuICBoZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX190YXAtdGFyZ2V0LXNpemUpO1xcbn1cXG4uUmFkaW9fX29wdGlvbl9fU0RoR1VpaUQ6OmJlZm9yZSB7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKCh2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXRfX3NpemUpIC0gdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX3RhcC10YXJnZXQtc2l6ZSkpIC8gMik7XFxufVxcblxcbi5SYWRpb19faW5wdXRfX3NRVEVaWVZjIHtcXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJhY2tncm91bmQtcG9zaXRpb24sIGJveC1zaGFkb3c7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dF9fc2l6ZSk7XFxuICBoZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dF9fc2l6ZSk7XFxuICBtYXJnaW4tdG9wOiBjYWxjKCgxcmVtICogdmFyKC0tcnVpLWxpbmUtaGVpZ2h0LWJhc2UpIC0gdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0X19zaXplKSkgLyAyKTtcXG4gIGJvcmRlcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0X19ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3IpO1xcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcXG4gICAgICAgICAgY29sb3ItYWRqdXN0OiBleGFjdDtcXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tcmFkaW9fX2JvcmRlci1yYWRpdXMpO1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xcbiAgLlJhZGlvX19pbnB1dF9fc1FURVpZVmMge1xcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBiYWNrZ3JvdW5kLXBvc2l0aW9uLCBib3gtc2hhZG93O1xcbiAgfVxcbn1cXG4uUmFkaW9fX2lucHV0X19zUVRFWllWYzpmb2N1cywgLlJhZGlvX19pbnB1dF9fc1FURVpZVmM6Y2hlY2tlZDpmb2N1cyB7XFxuICBib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLWZvY3VzX19ib3gtc2hhZG93KTtcXG59XFxuLlJhZGlvX19pbnB1dF9fc1FURVpZVmM6Y2hlY2tlZCB7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXJhZGlvLS1jaGVja2VkX19iYWNrZ3JvdW5kLWltYWdlKTtcXG59XFxuXFxuLlJhZGlvX19oZWxwVGV4dF9fWTlJN3dcXFxcK2JNLFxcbi5SYWRpb19fdmFsaWRhdGlvblRleHRfXzVVRTJIdy1ZIHtcXG4gIGZvbnQtc3R5bGU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fZm9udC1zdHlsZSk7XFxuICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fZm9udC1zaXplKTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjJyZW07XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fY29sb3IpKTtcXG59XFxuXFxuLlJhZGlvX19pc1Jvb3RSZXF1aXJlZF9fanZzeGszQU0gLlJhZGlvX19sYWJlbF9fZjM1enZTVUsge1xcbiAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fbGFiZWxfX2NvbG9yKSk7XFxufVxcbi5SYWRpb19faXNSb290UmVxdWlyZWRfX2p2c3hrM0FNIC5SYWRpb19fbGFiZWxfX2YzNXp2U1VLOjphZnRlciB7XFxuICBjb250ZW50OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fc2lnbik7XFxuICBjb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX3NpZ25fX2NvbG9yKTtcXG59XFxuXFxuLlJhZGlvX19pc1Jvb3RTdGF0ZUludmFsaWRfX0FJNkswc1lILCAuUmFkaW9fX2lzUm9vdFN0YXRlSW52YWxpZF9fQUk2SzBzWUg6aG92ZXIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JhY2tncm91bmQpO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3gtc2hhZG93KTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpO1xcbn1cXG4uUmFkaW9fX2lzUm9vdFN0YXRlSW52YWxpZF9fQUk2SzBzWUggLlJhZGlvX19pbnB1dF9fc1FURVpZVmM6Y2hlY2tlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5SYWRpb19faXNSb290U3RhdGVJbnZhbGlkX19BSTZLMHNZSC5SYWRpb19faXNSb290RGlzYWJsZWRfX1pQRWxoa2lyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlJhZGlvX19pc1Jvb3RTdGF0ZUludmFsaWRfX0FJNkswc1lIIC5SYWRpb19faW5wdXRfX3NRVEVaWVZjOmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG5cXG4uUmFkaW9fX2lzUm9vdFN0YXRlVmFsaWRfX1ZSWTB2cTVmLCAuUmFkaW9fX2lzUm9vdFN0YXRlVmFsaWRfX1ZSWTB2cTVmOmhvdmVyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3gtc2hhZG93KTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKTtcXG59XFxuLlJhZGlvX19pc1Jvb3RTdGF0ZVZhbGlkX19WUlkwdnE1ZiAuUmFkaW9fX2lucHV0X19zUVRFWllWYzpjaGVja2VkIHtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5SYWRpb19faXNSb290U3RhdGVWYWxpZF9fVlJZMHZxNWYuUmFkaW9fX2lzUm9vdERpc2FibGVkX19aUEVsaGtpciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5SYWRpb19faXNSb290U3RhdGVWYWxpZF9fVlJZMHZxNWYgLlJhZGlvX19pbnB1dF9fc1FURVpZVmM6Y2hlY2tlZDpkaXNhYmxlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG5cXG4uUmFkaW9fX2lzUm9vdFN0YXRlV2FybmluZ19fZlFtOUtaWnIsIC5SYWRpb19faXNSb290U3RhdGVXYXJuaW5nX19mUW05S1pacjpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5SYWRpb19faXNSb290U3RhdGVXYXJuaW5nX19mUW05S1paciAuUmFkaW9fX2lucHV0X19zUVRFWllWYzpjaGVja2VkIHtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlJhZGlvX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX2ZRbTlLWlpyLlJhZGlvX19pc1Jvb3REaXNhYmxlZF9fWlBFbGhraXIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uUmFkaW9fX2lzUm9vdFN0YXRlV2FybmluZ19fZlFtOUtaWnIgLlJhZGlvX19pbnB1dF9fc1FURVpZVmM6Y2hlY2tlZDpkaXNhYmxlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWQtZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcblxcbi5SYWRpb19faXNMYWJlbEhpZGRlbl9fQnAwUGc4TTgge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgd2lkdGg6IDFweDtcXG4gIGhlaWdodDogMXB4O1xcbiAgcGFkZGluZzogMDtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIGJvcmRlcjogMDtcXG59XFxuXFxuLlJhZGlvX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fTmpmRFA0RjIsXFxuLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSB7XFxuICAtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXA6IHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMik7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBtaW4td2lkdGg6IDA7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbi5SYWRpb19faXNSb290TGF5b3V0VmVydGljYWxfX05qZkRQNEYyIC5SYWRpb19fbGFiZWxfX2YzNXp2U1VLLFxcbi5SYWRpb19faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fNUswVGgzTkEgLlJhZGlvX19sYWJlbF9fZjM1enZTVUsge1xcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXAsIHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMSkpO1xcbn1cXG4uUmFkaW9fX2lzUm9vdExheW91dFZlcnRpY2FsX19OamZEUDRGMiAuUmFkaW9fX2hlbHBUZXh0X19ZOUk3d1xcXFwrYk0sXFxuLlJhZGlvX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fTmpmRFA0RjIgLlJhZGlvX192YWxpZGF0aW9uVGV4dF9fNVVFMkh3LVksXFxuLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSAuUmFkaW9fX2hlbHBUZXh0X19ZOUk3d1xcXFwrYk0sXFxuLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSAuUmFkaW9fX3ZhbGlkYXRpb25UZXh0X181VUUySHctWSB7XFxuICBwYWRkaW5nLXRvcDogdmFyKC0tcnVpLWxvY2FsLXZlcnRpY2FsLWdhcCwgdmFyKC0tcnVpLWRpbWVuc2lvbi1zcGFjZS0xKSk7XFxufVxcbi5SYWRpb19faXNSb290TGF5b3V0VmVydGljYWxfX05qZkRQNEYyIC5SYWRpb19fZmllbGRfX3plaXNcXFxcKzc5cyxcXG4uUmFkaW9fX2lzUm9vdExheW91dEhvcml6b250YWxfXzVLMFRoM05BIC5SYWRpb19fZmllbGRfX3plaXNcXFxcKzc5cyB7XFxuICB3aWR0aDogLXdlYmtpdC1taW4tY29udGVudDtcXG4gIHdpZHRoOiAtbW96LW1pbi1jb250ZW50O1xcbiAgd2lkdGg6IG1pbi1jb250ZW50O1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX193aWR0aCkgLXdlYmtpdC1taW4tY29udGVudDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fd2lkdGgpIG1pbi1jb250ZW50O1xcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcXFwibGFiZWwgZmllbGRcXFwiO1xcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XFxuICB9XFxuICAuUmFkaW9fX2lzUm9vdExheW91dEhvcml6b250YWxfXzVLMFRoM05BIC5SYWRpb19fbGFiZWxfX2YzNXp2U1VLIHtcXG4gICAgZ3JpZC1hcmVhOiBsYWJlbDtcXG4gICAgYWxpZ24tc2VsZjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuICAgIG1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX21pbi13aWR0aCk7XFxuICAgIHBhZGRpbmctdG9wOiBjYWxjKCh2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19fdGFwLXRhcmdldC1zaXplKSAtIDFyZW0gKiB2YXIoLS1ydWktbGluZS1oZWlnaHQtYmFzZSkpIC8gMik7XFxuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCh2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19fdGFwLXRhcmdldC1zaXplKSAtIDFyZW0gKiB2YXIoLS1ydWktbGluZS1oZWlnaHQtYmFzZSkpIC8gMik7XFxuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMik7XFxuICAgIHRleHQtYWxpZ246IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX190ZXh0LWFsaWduKTtcXG4gIH1cXG4gIC5SYWRpb19faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fNUswVGgzTkEgLlJhZGlvX19maWVsZF9femVpc1xcXFwrNzlzIHtcXG4gICAgZ3JpZC1hcmVhOiBmaWVsZDtcXG4gICAgYWxpZ24tc2VsZjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fZmllbGRfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XFxuICAuUmFkaW9fX2lzUm9vdExheW91dEhvcml6b250YWxfXzVLMFRoM05BIC5SYWRpb19fbGFiZWxfX2YzNXp2U1VLIHtcXG4gICAgLW1zLWdyaWQtcm93OiAxO1xcbiAgICAtbXMtZ3JpZC1jb2x1bW46IDE7XFxuICB9XFxuICAuUmFkaW9fX2lzUm9vdExheW91dEhvcml6b250YWxfXzVLMFRoM05BIC5SYWRpb19fZmllbGRfX3plaXNcXFxcKzc5cyB7XFxuICAgIC1tcy1ncmlkLXJvdzogMTtcXG4gICAgLW1zLWdyaWQtY29sdW1uOiAyO1xcbiAgfVxcbn1cXG5cXG4uUmFkaW9fX2lzUm9vdEZ1bGxXaWR0aF9fZTBicGZoQVgge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLlJhZGlvX19pc1Jvb3RGdWxsV2lkdGhfX2UwYnBmaEFYIC5SYWRpb19fZmllbGRfX3plaXNcXFxcKzc5cyxcXG4uUmFkaW9fX2lzUm9vdEZ1bGxXaWR0aF9fZTBicGZoQVggLlJhZGlvX19pbnB1dENvbnRhaW5lcl9fODljaTBoZ0QsXFxuLlJhZGlvX19pc1Jvb3RGdWxsV2lkdGhfX2UwYnBmaEFYIC5SYWRpb19faW5wdXRfX3NRVEVaWVZjIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlJhZGlvX19pc1Jvb3RGdWxsV2lkdGhfX2UwYnBmaEFYLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSB7XFxuICAgIGRpc3BsYXk6IGdyaWQ7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbC0tZnVsbC13aWR0aF9fbGFiZWxfX3dpZHRoKSAxZnI7XFxuICB9XFxuICAuUmFkaW9fX2lzUm9vdEZ1bGxXaWR0aF9fZTBicGZoQVguUmFkaW9fX2lzUm9vdExheW91dEhvcml6b250YWxfXzVLMFRoM05BIC5SYWRpb19fZmllbGRfX3plaXNcXFxcKzc5cyB7XFxuICAgIGp1c3RpZnktc2VsZjogc3RyZXRjaDtcXG4gIH1cXG59XFxuXFxuLlJhZGlvX19pc1Jvb3RJbkZvcm1MYXlvdXRfX2VWdzlaXFxcXCs2RSB7XFxuICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xcbn1cXG4uUmFkaW9fX2lzUm9vdEluRm9ybUxheW91dF9fZVZ3OVpcXFxcKzZFIC5SYWRpb19fZmllbGRfX3plaXNcXFxcKzc5cyB7XFxuICB3aWR0aDogYXV0bztcXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcXG4gIC5SYWRpb19faXNSb290SW5Gb3JtTGF5b3V0X19lVnc5WlxcXFwrNkUgLlJhZGlvX19vcHRpb25MYWJlbF9faVBzVXVSR2sge1xcbiAgICB3aWR0aDogYXV0bztcXG4gIH1cXG4gIC5SYWRpb19faXNSb290SW5Gb3JtTGF5b3V0X19lVnc5WlxcXFwrNkUuUmFkaW9fX2lzUm9vdExheW91dEhvcml6b250YWxfXzVLMFRoM05BLCAuUmFkaW9fX2lzUm9vdEluRm9ybUxheW91dF9fZVZ3OVpcXFxcKzZFLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQS5SYWRpb19faGFzUm9vdFNtYWxsSW5wdXRfX3JKV3NLR3hyIHtcXG4gICAgZ3JpZDogaW5oZXJpdDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xcbiAgfVxcbiAgQHN1cHBvcnRzIG5vdCAoZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkKSB7XFxuICAgIC5SYWRpb19faXNSb290SW5Gb3JtTGF5b3V0X19lVnc5WlxcXFwrNkUuUmFkaW9fX2lzUm9vdExheW91dEhvcml6b250YWxfXzVLMFRoM05BLCAuUmFkaW9fX2lzUm9vdEluRm9ybUxheW91dF9fZVZ3OVpcXFxcKzZFLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQS5SYWRpb19faGFzUm9vdFNtYWxsSW5wdXRfX3JKV3NLR3hyIHtcXG4gICAgICBkaXNwbGF5OiBjb250ZW50cztcXG4gICAgfVxcbiAgfVxcbiAgLlJhZGlvX19pc1Jvb3RJbkZvcm1MYXlvdXRfX2VWdzlaXFxcXCs2RS5SYWRpb19faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fNUswVGgzTkEuUmFkaW9fX2lzUm9vdEZ1bGxXaWR0aF9fZTBicGZoQVgge1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XFxuICB9XFxuICAuUmFkaW9fX2lzUm9vdEluRm9ybUxheW91dF9fZVZ3OVpcXFxcKzZFLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSAuUmFkaW9fX2xhYmVsX19mMzV6dlNVSywgLlJhZGlvX19pc1Jvb3RJbkZvcm1MYXlvdXRfX2VWdzlaXFxcXCs2RS5SYWRpb19faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fNUswVGgzTkEgLlJhZGlvX19maWVsZF9femVpc1xcXFwrNzlzLCAuUmFkaW9fX2lzUm9vdEluRm9ybUxheW91dF9fZVZ3OVpcXFxcKzZFLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSAuUmFkaW9fX2lucHV0Q29udGFpbmVyX184OWNpMGhnRCwgLlJhZGlvX19pc1Jvb3RJbkZvcm1MYXlvdXRfX2VWdzlaXFxcXCs2RS5SYWRpb19faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fNUswVGgzTkEgLlJhZGlvX19oZWxwVGV4dF9fWTlJN3dcXFxcK2JNLCAuUmFkaW9fX2lzUm9vdEluRm9ybUxheW91dF9fZVZ3OVpcXFxcKzZFLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSAuUmFkaW9fX3ZhbGlkYXRpb25UZXh0X181VUUySHctWSB7XFxuICAgIGdyaWQtYXJlYTogdW5zZXQ7XFxuICB9XFxuICAuUmFkaW9fX2lzUm9vdEluRm9ybUxheW91dF9fZVZ3OVpcXFxcKzZFLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSAuUmFkaW9fX2ZpZWxkX196ZWlzXFxcXCs3OXMsIC5SYWRpb19faXNSb290SW5Gb3JtTGF5b3V0X19lVnc5WlxcXFwrNkUuUmFkaW9fX2lzUm9vdExheW91dEhvcml6b250YWxfXzVLMFRoM05BIC5SYWRpb19faW5wdXRDb250YWluZXJfXzg5Y2kwaGdELCAuUmFkaW9fX2lzUm9vdEluRm9ybUxheW91dF9fZVZ3OVpcXFxcKzZFLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSAuUmFkaW9fX2hlbHBUZXh0X19ZOUk3d1xcXFwrYk0sIC5SYWRpb19faXNSb290SW5Gb3JtTGF5b3V0X19lVnc5WlxcXFwrNkUuUmFkaW9fX2lzUm9vdExheW91dEhvcml6b250YWxfXzVLMFRoM05BIC5SYWRpb19fdmFsaWRhdGlvblRleHRfXzVVRTJIdy1ZIHtcXG4gICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XFxuICB9XFxuICAuUmFkaW9fX2lzUm9vdEluRm9ybUxheW91dF9fZVZ3OVpcXFxcKzZFLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQS5SYWRpb19faGFzUm9vdFNtYWxsSW5wdXRfX3JKV3NLR3hyIC5SYWRpb19fZmllbGRfX3plaXNcXFxcKzc5cyB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgfVxcbn1cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL2NvbXBvbmVudHMvUmFkaW8vUmFkaW8uc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX2ZvdW5kYXRpb24uc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX3ZhcmlhbnRzLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3RoZW1lL19mb3JtLWZpZWxkcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9fYWNjZXNzaWJpbGl0eS5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9fcmVzZXQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX2lubGluZS1maWVsZC1sYXlvdXQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX2lubGluZS1maWVsZC1lbGVtZW50cy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy9zZXR0aW5ncy9fZm9ybS1maWVsZHMuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvX3RyYW5zaXRpb24uc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvc2V0dGluZ3MvX2FuaW1hdGlvbnMuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX2JveC1maWVsZC1sYXlvdXQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvX2JyZWFrcG9pbnQuc2Nzc1wiLFwiPG5vIHNvdXJjZT5cIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBY0E7RUNQSSxnQkFBQTtBRExKO0FDU0k7RUFDSSxnQkFBQTtBRFBSO0FFNEVRO0VBL0JJLDhEQUFBO0VBQUEsNEVBQUE7RUFBQSx3RUFBQTtFQUFBLGdHQUFBO0VBQUEsd0VBQUE7RUFBQSxnR0FBQTtBRnJDWjtBRW9GUTtFQXhDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBRmhDWjtBRThFUTtFQTlDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QUZBWjtBRW9EUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBRllaO0FFaURJO0VBdEdBLGdEQ2tCZTtFRGpCZiw4Q0NnQmM7QUh3Q2xCOztBQXBEQTtFSVpJLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0VBQ0EsZ0JBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFBO0VBQ0EsU0FBQTtBSm9FSjs7QUExREE7O0VDVEksa0ZBQUE7QUR3RUo7O0FBMURBO0VLTkksZUFBQTtFQUNBLGdCQUFBO0FMb0VKO0FLbEVJO0VBQ0ksZ0JBQUE7QUxvRVI7O0FBOURBO0VNSkksYUFBQTtFQUNBLHVCQUFBO0VBQ0EsWUFBQTtFQUdJLG1CQUFBO0VGTkosa0JBQUE7RUcrQ0Esd0RKSG9CO0VJSXBCLDBHQUFBO0FQNkJKO0FNakVJO0VBQ0ksVUFBQTtBTm1FUjtBTWhFSTs7RUFFSSwwQkFBQTtFQUFBLHVCQUFBO0VBQUEsa0JBQUE7RUFDQSx5Q0UxQmlCO0FSNEZ6QjtBSW5GSTtFQUNJLFdBQUE7RUFDQSxrQkFBQTtFQUNBLG1ERHVDZ0I7RUN0Q2hCLG9ERHNDZ0I7QUgrQ3hCO0FPekNJO0VBQ0ksTUFBQTtFQUNBLHlHQVRnQjtBUG9EeEI7O0FBckZBO0VTaUJRLHNFQVBZO0VBUVosMEJBZjJCO0VBZ0IzQix3REMzRG1CO0VIbUJ2Qix3QkFBQTtLQUFBLHFCQUFBO1VBQUEsZ0JBQUE7RUFDQSwrQ0ptRGU7RUlsRGYsZ0RKa0RlO0VJakRmLHFHQUFBO0VBQ0EsNEZBQUE7RUFDQSwyQkFBQTtFQUNBLHdCQUFBO0VBQ0EsNEJBQUE7RUFDQSx5REFBQTtFQUNBLGlDQUFBO1VBQUEsbUJBQUE7RUFnQkksdUVKbUMwQjtBSCtEbEM7QVNoRlk7RVR0Qlo7SVN1QmdCLHNFQVJnQjtFVDJGOUI7QUFDRjtBT3JISTtFQUVJLGlFSnlDdUI7QUg2RS9CO0FPeEdRO0VBQ0ksc0ZKaUNpQztBSHlFN0M7O0FBN0dBOztFQ2RJLHVERWpCbUI7RUZrQm5CLHFERW5Ca0I7RUZvQmxCLG1CT3pCb0I7RVAwQnBCLHNGQUFBO0FEZ0lKOztBQWhIQTtFQzVCSSw0RkFBQTtBRGdKSjtBQzlJSTtFQUNJLDZDRVJRO0VGU1Isa0RFUmM7QUh3SnRCOztBRXhGUTtFQS9CSSxnRUFBQTtFQUFBLDhFQUFBO0VBQUEsMEVBQUE7RUFBQSxrR0FBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7QUZnSVo7QUVqRlE7RUF4Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QUZxSVo7QUV2RlE7RUE5Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FGcUtaO0FFakhRO0VBcERJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FGaUxaOztBRXpKUTtFQS9CSSw4REFBQTtFQUFBLDRFQUFBO0VBQUEsd0VBQUE7RUFBQSxnR0FBQTtFQUFBLHdFQUFBO0VBQUEsZ0dBQUE7QUZpTVo7QUVsSlE7RUF4Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QUZzTVo7QUV4SlE7RUE5Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FGc09aO0FFbExRO0VBcERJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FGa1BaOztBRTFOUTtFQS9CSSxnRUFBQTtFQUFBLDhFQUFBO0VBQUEsMEVBQUE7RUFBQSxrR0FBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7QUZrUVo7QUVuTlE7RUF4Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QUZ1UVo7QUV6TlE7RUE5Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FGdVNaO0FFblBRO0VBcERJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FGbVRaOztBQXpTQTtFSTFESSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtFQUNBLFNBQUE7QUp1V0o7O0FBL1NBOztFV1ZRLHNEQUFBO0VBR0osb0JBQUE7RUFDQSxzQkFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0FYNFRKO0FXMVRJOztFQUNJLDJFQUFBO0FYNlRSO0FXMVRJOzs7O0VBRUksd0VBQUE7QVg4VFI7QVczVEk7O0VBQ0ksMEJBQUE7RUFBQSx1QkFBQTtFQUFBLGtCQUFBO0VBQ0EsZUFBQTtBWDhUUjs7QVlyWVE7RVptRVI7SVdVUSxvQkFBQTtJQUNBLHlGQUFBO0lBQUEsaUZBQUE7SUFDQSxrQ0FBQTtJQUNBLGtCQUFBO0VYNlROO0VXM1RNO0lBQ0ksZ0JBQUE7SUFDQSx1RVJsRTBCO0lRbUUxQiw2RFIxRWlCO0lROEViLDBHQUNJO0lBSUosNkdBQ0k7SUFZUiwyQ0h4R1c7SUd5R1gsK0RSbEdrQjtFSDRZNUI7RVd2U007SUFDSSxnQkFBQTtJQUNBLHVFUjlGMEI7SVErRjFCLG1CQUFBO0VYeVNWO0FBQ0Y7O0FhdGFBO0VGNEZRO0lFNUZSLGdCQUFBO0lBQUEsbUJBQUE7RWJnYUU7RVd2U007SUV6SFIsZ0JBQUE7SUFBQSxtQkFBQTtFYnFhRTtDYXJhRjs7QWJpRkE7RVcrRUksYUFBQTtFQUNBLHNCQUFBO0VBQ0EsV0FBQTtBWDBRSjtBV3hRSTs7O0VBR0ksV0FBQTtBWDBRUjtBWXZhUTtFRGlLQTtJQUNJLGFBQUE7SUFDQSxxRkFBQTtFWHlRVjtFV3RRTTtJQUNJLHFCQUFBO0VYd1FWO0FBQ0Y7O0FBcldBO0VXa0dJLG1CQUFBO0FYdVFKO0FXclFJO0VBQ0ksV0FBQTtBWHVRUjtBWXZiUTtFRG9MQTtJQUNJLFdBQUE7RVhzUVY7RVduUU07SUFFSSxhQUFBO0lBQ0EsOEJBQUE7SUFDQSxtQkFBQTtFWG9RVjtFV2xRVTtJQU5KO01BT1EsaUJBQUE7SVhxUVo7RUFDRjtFV2xRTTtJQUNJLDhCQUFBO0VYb1FWO0VXalFNO0lBS0ksZ0JBQUE7RVgrUFY7RVc1UE07SUFJSSxvQkFBQTtFWDJQVjtFV3hQTTtJQUNJLGNBQUE7RVgwUFY7QUFDRlwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIvLyAxLiBMZWdlbmRzIGFyZSB0cmlja3kgdG8gc3R5bGUsIGxldCdzIHVzZSBhIGBkaXZgIGluc3RlYWQuXFxuLy8gICAgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRNTC9FbGVtZW50L2ZpZWxkc2V0I3N0eWxpbmdfd2l0aF9jc3NcXG5cXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvYm94LWZpZWxkLWVsZW1lbnRzXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvYm94LWZpZWxkLWxheW91dFxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2ZvdW5kYXRpb25cXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9pbmxpbmUtZmllbGQtZWxlbWVudHNcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9pbmxpbmUtZmllbGQtbGF5b3V0XFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvdmFyaWFudHNcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9hY2Nlc3NpYmlsaXR5XFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvcmVzZXRcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9zcGFjaW5nXFxcIjtcXG5cXG4vLyBGb3VuZGF0aW9uXFxuLnJvb3Qge1xcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLnJvb3QoKTtcXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi5maWVsZHNldCgpO1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52aXN1YWwoY2hlY2spO1xcbn1cXG5cXG4vLyAxLlxcbi5sZWdlbmQge1xcbiAgICBAaW5jbHVkZSBhY2Nlc3NpYmlsaXR5LmhpZGUtdGV4dCgpO1xcbn1cXG5cXG4vLyAxLlxcbi5sYWJlbCxcXG4ub3B0aW9uTGFiZWwge1xcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLmxhYmVsKCk7XFxufVxcblxcbi5vcHRpb25zIHtcXG4gICAgQGluY2x1ZGUgcmVzZXQubGlzdCgpO1xcbn1cXG5cXG4ub3B0aW9uIHtcXG4gICAgQGluY2x1ZGUgaW5saW5lLWZpZWxkLWxheW91dC5maWVsZCgkdHlwZTogcmFkaW8pO1xcbiAgICBAaW5jbHVkZSBpbmxpbmUtZmllbGQtZWxlbWVudHMubWluLXRhcC10YXJnZXQoJHR5cGU6IHJhZGlvKTtcXG59XFxuXFxuLmlucHV0IHtcXG4gICAgQGluY2x1ZGUgaW5saW5lLWZpZWxkLWVsZW1lbnRzLmNoZWNrLWlucHV0KCR0eXBlOiByYWRpbyk7XFxufVxcblxcbi5oZWxwVGV4dCxcXG4udmFsaWRhdGlvblRleHQge1xcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLmhlbHAtdGV4dCgpO1xcbn1cXG5cXG4uaXNSb290UmVxdWlyZWQgLmxhYmVsIHtcXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi5sYWJlbC1yZXF1aXJlZCgpO1xcbn1cXG5cXG4vLyBTdGF0ZXNcXG4uaXNSb290U3RhdGVJbnZhbGlkIHtcXG4gICAgQGluY2x1ZGUgdmFyaWFudHMudmFsaWRhdGlvbihpbnZhbGlkKTtcXG59XFxuXFxuLmlzUm9vdFN0YXRlVmFsaWQge1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52YWxpZGF0aW9uKHZhbGlkKTtcXG59XFxuXFxuLmlzUm9vdFN0YXRlV2FybmluZyB7XFxuICAgIEBpbmNsdWRlIHZhcmlhbnRzLnZhbGlkYXRpb24od2FybmluZyk7XFxufVxcblxcbi8vIEludmlzaWJsZSBsYWJlbFxcbi5pc0xhYmVsSGlkZGVuIHtcXG4gICAgQGluY2x1ZGUgYWNjZXNzaWJpbGl0eS5oaWRlLXRleHQoKTtcXG59XFxuXFxuLy8gTGF5b3V0c1xcbi5pc1Jvb3RMYXlvdXRWZXJ0aWNhbCxcXG4uaXNSb290TGF5b3V0SG9yaXpvbnRhbCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1sYXlvdXQudmVydGljYWwoJGhhcy1saXN0OiB0cnVlKTtcXG59XFxuXFxuLmlzUm9vdExheW91dEhvcml6b250YWwge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtbGF5b3V0Lmhvcml6b250YWwoJGhhcy1taW4tdGFwLXRhcmdldDogdHJ1ZSk7XFxufVxcblxcbi5pc1Jvb3RGdWxsV2lkdGgge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtbGF5b3V0LmZ1bGwtd2lkdGgoKTtcXG59XFxuXFxuLmlzUm9vdEluRm9ybUxheW91dCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1sYXlvdXQuaW4tZm9ybS1sYXlvdXQoKTtcXG59XFxuXCIsXCIvLyAxLiBEb24ndCBsZXQgdGV4dCBhbGlnbm1lbnQgYmUgYWZmZWN0ZWQgYnkgYSBwYXJlbnQuXFxuLy8gMi4gT3ZlcnJpZGUgZm91bmRhdGlvbiByZXNldC5cXG5cXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3JtLWZpZWxkc1xcXCIgYXMgc2V0dGluZ3M7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcblxcbkBtaXhpbiByb290KCkge1xcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAxLlxcbn1cXG5cXG5AbWl4aW4gZmllbGRzZXQoKSB7XFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyAyLlxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBsYWJlbCgpIHtcXG4gICAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCAje3RoZW1lLiRsYWJlbC1jb2xvcn0pO1xcbn1cXG5cXG5AbWl4aW4gbGFiZWwtcmVxdWlyZWQoKSB7XFxuICAgIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgI3t0aGVtZS4kcmVxdWlyZWQtbGFiZWwtY29sb3J9KTtcXG5cXG4gICAgJjo6YWZ0ZXIge1xcbiAgICAgICAgY29udGVudDogdGhlbWUuJHJlcXVpcmVkLXNpZ247XFxuICAgICAgICBjb2xvcjogdGhlbWUuJHJlcXVpcmVkLXNpZ24tY29sb3I7XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGhlbHAtdGV4dCgpIHtcXG4gICAgZm9udC1zdHlsZTogdGhlbWUuJGhlbHAtdGV4dC1mb250LXN0eWxlO1xcbiAgICBmb250LXNpemU6IHRoZW1lLiRoZWxwLXRleHQtZm9udC1zaXplO1xcbiAgICBsaW5lLWhlaWdodDogc2V0dGluZ3MuJGhlbHAtdGV4dC1saW5lLWhlaWdodDtcXG4gICAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCAje3RoZW1lLiRoZWxwLXRleHQtY29sb3J9KTtcXG59XFxuXCIsXCIvLyAxLiBEdWUgdG8gY29tcGxleGl0eSwgaXQncyBlYXNpZXIgYW5kIHNhZmVyIHRvIHJlc29sdmUgdmFyaWFudCBjdXN0b20gcHJvcGVydGllcyBkeW5hbWljYWxseSB3aXRoXFxuLy8gICAgYSBtaXhpbi4gVGhpcyB3YXkgaXQncyBhbHNvIGVhc2llciB0byBtYWtlIHRoZW1pbmcgYWRqdXN0bWVudHMgdG8gYWxsIHN1cHBvcnRlZCBtb2RpZmljYXRpb25zXFxuLy8gICAgaW4gb25lIHBsYWNlLiBHZW5lcmF0ZWQgY3VzdG9tIHByb3BlcnRpZXMgYXJlIGNvbnN1bWVkIG1haW5seSBpbiBmb3VuZGF0aW9uIGZpZWxkIHN0eWxlcyAoc2VlXFxuLy8gICAgYHRvb2xzL2Zvcm0tZmllbGRzL19mb3VuZGF0aW9uLnNjc3NgIGZvciBtb3JlKS5cXG4vL1xcbi8vIDIuIEludGVyYWN0aW9uIHN0YXRlcyBvdGhlciB0aGFuIGBkZWZhdWx0YCBkZWZhdWx0IHRvIHRoZSBgZGVmYXVsdGAgKHNpYyEpIHN0YXRlIGFwcGVhcmFuY2UgaWZcXG4vLyAgICBjb3JyZXNwb25kaW5nIGN1c3RvbSBwcm9wZXJ0aWVzIGFyZSBub3QgcHJvdmlkZWQuXFxuLy9cXG4vLyAzLiBgLmlucHV0OmZvY3VzYCBpcyBhZGRlZCBqdXN0IGluIGNhc2UgYDpmb2N1cy13aXRoaW5gIGRvZXNuJ3Qgd29yay5cXG5cXG5AdXNlIFxcXCJzYXNzOmxpc3RcXFwiO1xcbkB1c2UgXFxcInNhc3M6bWFwXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3JtLWZpZWxkc1xcXCIgYXMgc2V0dGluZ3M7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcblxcbkBtaXhpbiBfZGlzYWJsZWQtc3RhdGUoKSB7XFxuICAgIG9wYWNpdHk6IHRoZW1lLiRkaXNhYmxlZC1vcGFjaXR5O1xcbiAgICBjdXJzb3I6IHRoZW1lLiRkaXNhYmxlZC1jdXJzb3I7XFxufVxcblxcbi8vIDEuXFxuQG1peGluIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsICRzdGF0ZSkge1xcbiAgICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMobWFwLmdldChzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzLCAkdHlwZSkpLCAkdmFyaWFudCkge1xcbiAgICAgICAgQGVycm9yIFxcXCJJbnZhbGlkIHZhcmlhbnQgc3BlY2lmaWVkISAjeyR2YXJpYW50fSBkb2Vzbid0IGV4aXN0LiBcXFwiXFxuICAgICAgICAgICAgKyBcXFwiQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKG1hcC5nZXQoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcywgJHR5cGUpKX0uXFxcIjtcXG4gICAgfVxcblxcbiAgICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMoc2V0dGluZ3MuJHRoZW1lYWJsZS1zdGF0ZS1wcm9wZXJ0aWVzKSwgJHN0YXRlKSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgc3RhdGUgc3BlY2lmaWVkISAjeyRzdGF0ZX0gZG9lc24ndCBleGlzdC4gXFxcIlxcbiAgICAgICAgICAgICsgXFxcIkNob29zZSBvbmUgb2YgI3ttYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXMpfS5cXFwiO1xcbiAgICB9XFxuXFxuICAgICRwcm9wZXJ0aWVzOiBtYXAuZ2V0KHNldHRpbmdzLiR0aGVtZWFibGUtc3RhdGUtcHJvcGVydGllcywgJHN0YXRlKTtcXG4gICAgJGluZml4OiAkdHlwZTtcXG4gICAgJGZhbGxiYWNrLXN0YXRlOiBcXFwiZGVmYXVsdFxcXCI7XFxuXFxuICAgIEBpZiAkdHlwZSA9PSBcXFwidmFsaWRhdGlvblxcXCIge1xcbiAgICAgICAgJGluZml4OiAkdmFyaWFudDtcXG4gICAgfVxcblxcbiAgICBAaWYgJHR5cGUgIT0gXFxcInZhbGlkYXRpb25cXFwiIGFuZCAkdmFyaWFudCAhPSBcXFwiZGVmYXVsdFxcXCIge1xcbiAgICAgICAgJGluZml4OiAjeyR0eXBlfS0tI3skdmFyaWFudH07XFxuICAgIH1cXG5cXG4gICAgQGlmICRzdGF0ZSA9PSBcXFwiY2hlY2tlZC1kaXNhYmxlZFxcXCIge1xcbiAgICAgICAgJGZhbGxiYWNrLXN0YXRlOiBcXFwiY2hlY2tlZFxcXCI7XFxuICAgIH1cXG5cXG4gICAgQGlmICRzdGF0ZSA9PSBcXFwiZGVmYXVsdFxcXCIge1xcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcXG4gICAgICAgICAgICAtLXJ1aS1sb2NhbC0jeyRwcm9wZXJ0eX06IHZhcigtLXJ1aS1Gb3JtRmllbGQtLSN7JGluZml4fS0tI3skc3RhdGV9X18jeyRwcm9wZXJ0eX0pO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIC8vIDIuXFxuICAgIEBlbHNlIHtcXG4gICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XFxuICAgICAgICAgICAgLS1ydWktbG9jYWwtI3skcHJvcGVydHl9OlxcbiAgICAgICAgICAgICAgICB2YXIoXFxuICAgICAgICAgICAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLSN7JGluZml4fS0tI3skc3RhdGV9X18jeyRwcm9wZXJ0eX0sXFxuICAgICAgICAgICAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS0jeyRpbmZpeH0tLSN7JGZhbGxiYWNrLXN0YXRlfV9fI3skcHJvcGVydHl9KVxcbiAgICAgICAgICAgICAgICApO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBfZ2V0LXRoZW1lKCR0eXBlLCAkdmFyaWFudCkge1xcbiAgICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcyksICR0eXBlKSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgdHlwZSBzcGVjaWZpZWQhICN7JHR5cGV9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcyl9LlxcXCI7XFxuICAgIH1cXG5cXG4gICAgJHRoZW1lYWJsZS1zdGF0ZXM6IG1hcC5nZXQobWFwLmdldChzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzLCAkdHlwZSksICR2YXJpYW50KTtcXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJob3ZlclxcXCIpIHtcXG4gICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJkZWZhdWx0XFxcIik7XFxuXFxuICAgICAgICAmOmhvdmVyIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiaG92ZXJcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfSBAZWxzZSB7XFxuICAgICAgICAmLFxcbiAgICAgICAgJjpob3ZlciB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImRlZmF1bHRcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImZvY3VzXFxcIikge1xcbiAgICAgICAgLy8gMy5cXG4gICAgICAgICY6Zm9jdXMtd2l0aGluLFxcbiAgICAgICAgJjpmb2N1cy13aXRoaW46aG92ZXIsXFxuICAgICAgICAuaW5wdXQ6Zm9jdXMge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJmb2N1c1xcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiY2hlY2tlZFxcXCIpIHtcXG4gICAgICAgIC5pbnB1dDpjaGVja2VkIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiY2hlY2tlZFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiZGlzYWJsZWRcXFwiKSB7XFxuICAgICAgICAmLmlzUm9vdERpc2FibGVkIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiZGlzYWJsZWRcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImNoZWNrZWQtZGlzYWJsZWRcXFwiKSB7XFxuICAgICAgICAuaW5wdXQ6Y2hlY2tlZDpkaXNhYmxlZCB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImNoZWNrZWQtZGlzYWJsZWRcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gdmlzdWFsKCR0eXBlLCAkdmFyaWFudDogXFxcImRlZmF1bHRcXFwiLCAkaGFzLWNhcmV0OiBmYWxzZSkge1xcbiAgICBAaW5jbHVkZSBfZ2V0LXRoZW1lKCR0eXBlLCAkdmFyaWFudCk7XFxuXFxuICAgIC5pbnB1dDpkaXNhYmxlZCB7XFxuICAgICAgICBAaW5jbHVkZSBfZGlzYWJsZWQtc3RhdGUoKTtcXG4gICAgfVxcblxcbiAgICBAaWYgJHR5cGUgPT0gXFxcImJveFxcXCIgYW5kICR2YXJpYW50ID09IFxcXCJmaWxsZWRcXFwiIHtcXG4gICAgICAgIC5pbnB1dCB7XFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgJHR5cGUgPT0gXFxcImJveFxcXCIgYW5kICR2YXJpYW50ID09IFxcXCJvdXRsaW5lXFxcIiBhbmQgJGhhcy1jYXJldCB7XFxuICAgICAgICAuY2FyZXQge1xcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0aGVtZS4kYm94LWJvcmRlci13aWR0aCB0aGVtZS4kYm94LXNlbGVjdC1jYXJldC1ib3JkZXItc3R5bGUgdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICAgICAgICAgICAgYmFja2dyb3VuZDogdGhlbWUuJGJveC1zZWxlY3QtY2FyZXQtYmFja2dyb3VuZDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290RGlzYWJsZWQgLmNhcmV0IHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZGlzYWJsZWQtc3RhdGUoKTtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gdmFsaWRhdGlvbigkdmFyaWFudCkge1xcbiAgICBAaW5jbHVkZSBfZ2V0LXRoZW1lKHZhbGlkYXRpb24sICR2YXJpYW50KTtcXG59XFxuXCIsXCIvLyBWYXJpYW50IHNwZWNpZmljIHRoZW1lIG9wdGlvbnMgYXJlIG9idGFpbmVkIGR5bmFtaWNhbGx5IGJlY2F1c2UgdGhlcmUgaXMgd2F5IHRvbyBtYW55IG9mIHRoZW0gdG9cXG4vLyBtYWludGFpbiBtYW51YWxseS4gU2VlIGBzZXR0aW5ncy9fZm9ybS1maWVsZHMuc2Nzc2AgYW5kIGB0b29scy9mb3JtLWZpZWxkcy9fdmFyaWFudHMuc2Nzc2AgZm9yXFxuLy8gZGV0YWlscy5cXG4vL1xcbi8vIDEuIERlZmF1bHRzIHRvIHplcm8gd2hlbiBuZWl0aGVyIGAtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19wYWRkaW5nLXlgIChvcHRpb25hbCkgbm9yXFxuLy8gICAgYC0tcnVpLWxvY2FsLXBhZGRpbmcteWAgKGhhbmRsZWQgYnkgdGhlIGBzaXplKClgIG1peGluIGluIGNhc2Ugb2YgYm94IGZvcm0gZmllbGRzLCBzZWVcXG4vLyAgICBgX2JveC1maWVsZC1zaXplcy5zY3NzYCkgaXMgZGVmaW5lZC4gVGhpcyBpcyB1c2VmdWwgYmVjYXVzZSBGb3JtTGF5b3V0Q3VzdG9tRmllbGQgbWF5IGhhdmUgbm9cXG4vLyAgICBzaXplIHNwZWNpZmllZCB0aGVyZWZvcmUgaXRzIGxhYmVsIHNob3VsZCBoYXZlIG5vIHBhZGRpbmcgYXQgdGhlIHRvcC5cXG5cXG4vLyBGb3JtcyBmaWVsZHM6IGNvbW1vbiBwcm9wZXJ0aWVzXFxuJGxhYmVsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkX19sYWJlbF9fY29sb3IpO1xcbiRsYWJlbC1mb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2xhYmVsX19mb250LXNpemUpO1xcbiRoZWxwLXRleHQtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2ZvbnQtc2l6ZSk7XFxuJGhlbHAtdGV4dC1mb250LXN0eWxlOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2ZvbnQtc3R5bGUpO1xcbiRoZWxwLXRleHQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fY29sb3IpO1xcbiRyZXF1aXJlZC1sYWJlbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX2xhYmVsX19jb2xvcik7XFxuJHJlcXVpcmVkLXNpZ246IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19zaWduKTtcXG4kcmVxdWlyZWQtc2lnbi1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX3NpZ25fX2NvbG9yKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogaG9yaXpvbnRhbCBsYXlvdXRcXG4kaG9yaXpvbnRhbC1sYWJlbC10ZXh0LWFsaWduOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fdGV4dC1hbGlnbik7XFxuJGhvcml6b250YWwtbGFiZWwtbWluLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fbWluLXdpZHRoKTtcXG4kaG9yaXpvbnRhbC1sYWJlbC13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3dpZHRoKTtcXG4kaG9yaXpvbnRhbC1sYWJlbC1wYWRkaW5nLXk6XFxuICAgIHZhcihcXG4gICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3BhZGRpbmcteSxcXG4gICAgICAgIGNhbGModmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpICsgdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteSkpXFxuICAgICk7IC8vIDEuXFxuJGhvcml6b250YWwtbGFiZWwtdmVydGljYWwtYWxpZ25tZW50OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fdmVydGljYWwtYWxpZ25tZW50KTtcXG4kaG9yaXpvbnRhbC1maWVsZC12ZXJ0aWNhbC1hbGlnbm1lbnQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2ZpZWxkX192ZXJ0aWNhbC1hbGlnbm1lbnQpO1xcbiRob3Jpem9udGFsLWZ1bGwtd2lkdGgtbGFiZWwtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWwtLWZ1bGwtd2lkdGhfX2xhYmVsX193aWR0aCk7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGRpc2FibGVkIHN0YXRlXFxuJGRpc2FibGVkLWN1cnNvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX2N1cnNvcik7XFxuJGRpc2FibGVkLW9wYWNpdHk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19vcGFjaXR5KTtcXG5cXG4vLyBGb3JtIGZpZWxkczogYm94IGZpZWxkc1xcbiRib3gtYm9yZGVyLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci13aWR0aCk7XFxuJGJveC1ib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci1yYWRpdXMpO1xcbiRib3gtaW5wdXQtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9faW5wdXRfX3dpZHRoKTtcXG4kYm94LWlucHV0LW1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19pbnB1dF9fbWluLXdpZHRoKTtcXG4kYm94LXBsYWNlaG9sZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX3BsYWNlaG9sZGVyX19jb2xvcik7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGJveCBmaWVsZHMsIGNvbXBvbmVudCBzcGVjaWZpY1xcbiRib3gtc2VsZWN0LWNhcmV0LWJvcmRlci1zdHlsZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zZWxlY3RfX2NhcmV0X19ib3JkZXItc3R5bGUpO1xcbiRib3gtc2VsZWN0LWNhcmV0LWJhY2tncm91bmQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc2VsZWN0X19jYXJldF9fYmFja2dyb3VuZCk7XFxuJGJveC1zZWxlY3Qtb3B0aW9uLWRpc2FibGVkLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fb3B0aW9uLS1kaXNhYmxlZF9fY29sb3IpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBib3ggZmllbGQgc2l6ZXNcXG4kYm94LXNpemVzOiAoXFxuICAgIHNtYWxsOiAoXFxuICAgICAgICBoZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX2hlaWdodCksXFxuICAgICAgICBwYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteSksXFxuICAgICAgICBwYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteCksXFxuICAgICAgICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX2ZvbnQtc2l6ZSksXFxuICAgICksXFxuICAgIG1lZGl1bTogKFxcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9faGVpZ2h0KSxcXG4gICAgICAgIHBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX3BhZGRpbmcteSksXFxuICAgICAgICBwYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19wYWRkaW5nLXgpLFxcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fZm9udC1zaXplKSxcXG4gICAgKSxcXG4gICAgbGFyZ2U6IChcXG4gICAgICAgIGhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9faGVpZ2h0KSxcXG4gICAgICAgIHBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy15KSxcXG4gICAgICAgIHBhZGRpbmcteDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy14KSxcXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fZm9udC1zaXplKSxcXG4gICAgKSxcXG4pO1xcblxcbi8vIEZvcm0gZmllbGRzOiBjaGVjayBmaWVsZHNcXG4kY2hlY2staW5wdXQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0X19zaXplKTtcXG4kY2hlY2staW5wdXQtYm9yZGVyLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXRfX2JvcmRlci13aWR0aCk7XFxuJGNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tZm9jdXNfX2JveC1zaGFkb3cpO1xcbiRjaGVjay10YXAtdGFyZ2V0LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX190YXAtdGFyZ2V0LXNpemUpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBjaGVjayBmaWVsZHMsIGNvbXBvbmVudCBzcGVjaWZpY1xcbiRjaGVjay1pbnB1dC1jaGVja2JveC1ib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLWNoZWNrYm94X19ib3JkZXItcmFkaXVzKTtcXG4kY2hlY2staW5wdXQtY2hlY2tib3gtY2hlY2tlZC1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLWNoZWNrYm94LS1jaGVja2VkX19iYWNrZ3JvdW5kLWltYWdlKTtcXG4kY2hlY2staW5wdXQtcmFkaW8tYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1yYWRpb19fYm9yZGVyLXJhZGl1cyk7XFxuJGNoZWNrLWlucHV0LXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1yYWRpby0tY2hlY2tlZF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGVfX3dpZHRoKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWJvcmRlci1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlX19ib3JkZXItcmFkaXVzKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWJhY2tncm91bmQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGVfX2JhY2tncm91bmQtc2l6ZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1kZWZhdWx0LWJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlLS1kZWZhdWx0X19iYWNrZ3JvdW5kLWltYWdlKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWRlZmF1bHQtYmFja2dyb3VuZC1wb3NpdGlvbjpcXG4gICAgdmFyKFxcbiAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZS0tZGVmYXVsdF9fYmFja2dyb3VuZC1wb3NpdGlvblxcbiAgICApO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtY2hlY2tlZC1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZS0tY2hlY2tlZF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1jaGVja2VkLWJhY2tncm91bmQtcG9zaXRpb246XFxuICAgIHZhcihcXG4gICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWNoZWNrZWRfX2JhY2tncm91bmQtcG9zaXRpb25cXG4gICAgKTtcXG5cIixcIi8vIDEuIFNjcmVlbiByZWFkZXJzIG9ubHksIGluc3BpcmVkIGJ5IEJvb3RzdHJhcC5cXG4vLyAgICBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2Nzc1xcbi8vXFxuLy8gMi4gTWFrZSB0YXAgdGFyZ2V0IGJpZyBlbm91Z2ggdG8gaW1wcm92ZSBhY2Nlc3NpYmlsaXR5IG9uIHRvdWNoIHNjcmVlbnMuXFxuXFxuQHVzZSBcXFwiLi4vdGhlbWUvYWNjZXNzaWJpbGl0eVxcXCIgYXMgdGhlbWU7XFxuXFxuLy8gMS5cXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHdpZHRoOiAxcHg7XFxuICAgIGhlaWdodDogMXB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgICBib3JkZXI6IDA7XFxufVxcblxcbkBtaXhpbiB1bmhpZGUtdGV4dCgpIHtcXG4gICAgcG9zaXRpb246IHVuc2V0O1xcbiAgICB3aWR0aDogdW5zZXQ7XFxuICAgIGhlaWdodDogdW5zZXQ7XFxuICAgIG92ZXJmbG93OiB1bnNldDtcXG4gICAgY2xpcDogdW5zZXQ7XFxuICAgIHdoaXRlLXNwYWNlOiB1bnNldDtcXG59XFxuXFxuLy8gMi5cXG5AbWl4aW4gbWluLXRhcC10YXJnZXQoJHNpemU6IHRoZW1lLiR0YXAtdGFyZ2V0LXNpemUsICRjZW50ZXI6IHRydWUpIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcblxcbiAgICAmOjpiZWZvcmUge1xcbiAgICAgICAgY29udGVudDogXFxcIlxcXCI7XFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgICB3aWR0aDogJHNpemU7XFxuICAgICAgICBoZWlnaHQ6ICRzaXplO1xcblxcbiAgICAgICAgQGlmICRjZW50ZXIge1xcbiAgICAgICAgICAgIHRvcDogNTAlO1xcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gZm9jdXMtcmluZygpIHtcXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcXG4gICAgICAgIG91dGxpbmU6IHRoZW1lLiRmb2N1cy1vdXRsaW5lO1xcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IHRoZW1lLiRmb2N1cy1vdXRsaW5lLW9mZnNldDtcXG4gICAgICAgIGJveC1zaGFkb3c6IHRoZW1lLiRmb2N1cy1ib3gtc2hhZG93O1xcbiAgICB9XFxufVxcblwiLFwiQG1peGluIGJ1dHRvbigpIHtcXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAgIGZsZXg6IG5vbmU7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICBib3JkZXI6IDA7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIGJhY2tncm91bmQ6IG5vbmU7XFxuICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuQG1peGluIGxpbmsoKSB7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgY29sb3I6IGluaGVyaXQ7XFxuXFxuICAgICY6aG92ZXIsXFxuICAgICY6Zm9jdXMge1xcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBsaXN0KCkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XFxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XFxuXFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICB9XFxufVxcblwiLFwiLy8gMS4gSW5saW5lIGZvcm0gZmllbGRzIGFuZCBmaWVsZHMgd2l0aCB2ZXJ0aWNhbCBsYXlvdXQgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHRoZXkgbmVlZC4gTGFiZWxzXFxuLy8gICAgZG8gbm90IHdyYXAgdW50aWwgZm9yY2VkIGJ5IGNvbnRhaW5lciBvZiB0aGUgZmllbGQuIE1pbiBhbmQgbWF4IGxpbWl0cyBtYWtlIGV4dHJhIGxvbmcgd29yZHNcXG4vLyAgICBicmVhayBpZiBuZWNlc3NhcnkuXFxuLy9cXG4vLyAyLiBSZXRhaW4gbXVsdGlsaW5lIGZpZWxkIGxheW91dCBhbmQgbWFrZSB0aGUgZmllbGQgZml0IHBhcmVudCBsYXlvdXQgdXNpbmcgYGlubGluZS1ncmlkYFxcbi8vICAgIChgaW5saW5lLWZsZXhgIGNhbm5vdCBkbyB0aGUgam9iKS5cXG4vL1xcbi8vIDMuIE1ha2UgZmllbGRzIGp1c3QgYXMgd2lkZSBhcyBuZWNlc3NhcnkuIEZpZWxkcyBzaG91bGQgYmUgaW50ZXJhY3RpdmUgb25seSB3aGVyZSB0aGVpciB2aXNpYmxlXFxuLy8gICAgY29udGVudCBpcy5cXG5cXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3Jtc1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybS1maWVsZHNcXFwiIGFzIHNldHRpbmdzO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL2Zvcm0tZmllbGRzXFxcIiBhcyB0aGVtZTtcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS90eXBvZ3JhcGh5XFxcIjtcXG5AdXNlIFxcXCIuLi9icmVha3BvaW50XFxcIjtcXG5cXG5AbWl4aW4gcm9vdCgpIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IC8vIDEuXFxuICAgIGZsZXgtd3JhcDogd3JhcDtcXG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xcbiAgICB3aWR0aDogbWluLWNvbnRlbnQ7XFxuICAgIG1pbi13aWR0aDogMDsgLy8gMS5cXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxLlxcblxcbiAgICAuaGVscFRleHQsXFxuICAgIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogc2V0dGluZ3MuJHZlcnRpY2FsLWlubmVyLWdhcDtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gZmllbGQoJHR5cGUpIHtcXG4gICAgZGlzcGxheTogZmxleDsgLy8gMS5cXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XFxuICAgIG1pbi13aWR0aDogMDsgLy8gMS5cXG5cXG4gICAgQGlmICR0eXBlID09IFxcXCJyYWRpb1xcXCIge1xcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcXG4gICAgfSBAZWxzZSB7XFxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XFxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICB9XFxuXFxuICAgIC5pbnB1dCB7XFxuICAgICAgICBmbGV4OiBub25lO1xcbiAgICB9XFxuXFxuICAgIC5sYWJlbCxcXG4gICAgLm9wdGlvbkxhYmVsIHtcXG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDsgLy8gMS5cXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBzZXR0aW5ncy4kaW5saW5lLWZpZWxkLWlubmVyLWdhcDtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaGFzLWxhYmVsLWJlZm9yZSgpIHtcXG4gICAgLmZpZWxkIHtcXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgIH1cXG5cXG4gICAgLmxhYmVsLFxcbiAgICAub3B0aW9uTGFiZWwge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBzZXR0aW5ncy4kaW5saW5lLWZpZWxkLWlubmVyLWdhcDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbi1mb3JtLWxheW91dCgpIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7IC8vIDIuXFxuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7IC8vIDMuXFxuICAgIHdpZHRoOiBhdXRvOyAvLyAyLiwgMy5cXG5cXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChmb3Jtcy4kaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwge1xcbiAgICAgICAgICAgIGdyaWQ6IGluaGVyaXQ7XFxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XFxuXFxuICAgICAgICAgICAgQHN1cHBvcnRzIG5vdCAoZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkKSB7XFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuZmllbGQge1xcbiAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5sYWJlbCB7XFxuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7XFxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XFxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogc2V0dGluZ3MuJGhvcml6b250YWwtaW5uZXItZ2FwO1xcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXRleHQtYWxpZ247XFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmlucHV0LFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5oZWxwVGV4dCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5oZWxwVGV4dCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcXG5cXG4gICAgICAgICAgICBAc3VwcG9ydHMgbm90IChncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQpIHtcXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXJ1aS1Gb3JtTGF5b3V0X19yb3ctZ2FwKSk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLmhhc1Jvb3RMYWJlbEJlZm9yZSAubGFiZWwge1xcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cIixcIi8vIEN1c3RvbSBpbnB1dCBzdHlsaW5nIGluc3BpcmVkIGJ5IEJvb3RzdHJhcCA1Llxcbi8vXFxuLy8gMS4gS2VlcCB0aGVtZWQgYXBwZWFyYW5jZSBmb3IgcHJpbnQuXFxuLy9cXG4vLyAyLiBNYWtlIHRhcCB0YXJnZXQgb2YgaW5saW5lIGZpZWxkcyBiaWcgZW5vdWdoIHRvIGltcHJvdmUgdGhlaXIgYWNjZXNzaWJpbGl0eSBvbiB0b3VjaCBzY3JlZW5zLlxcbi8vXFxuLy8gMy4gUmVzZXQgZXh0cmEgc3BhY2UgcHJldmlvdXNseSBhZGRlZCB0byBzeW1tZXRyaWNhbGx5IHBhZCB0aGUgZmllbGQgaW4gRm9ybUxheW91dCBjb250ZXh0IGFzXFxuLy8gICAgdGhlcmUgYWxyZWFkeSBpcyBhIHN1ZmZpY2llbnQgcm93IGdhcCBwcm92aWRlZCBieSBGb3JtTGF5b3V0Llxcbi8vXFxuLy8gNC4gRGVzdHJveSB0YXAgdGFyZ2V0IHdoZW4gc3ViZ3JpZCBpcyBub3Qgc3VwcG9ydGVkLlxcblxcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL3R5cG9ncmFwaHlcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL2Zvcm0tZmllbGRzXFxcIiBhcyB0aGVtZTtcXG5AdXNlIFxcXCIuLi8uLi90b29scy9hY2Nlc3NpYmlsaXR5XFxcIjtcXG5AdXNlIFxcXCIuLi90cmFuc2l0aW9uXFxcIjtcXG5cXG5AbWl4aW4gY2hlY2staW5wdXQoJHR5cGUpIHtcXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi5hZGQoKGJhY2tncm91bmQtY29sb3IsIGJhY2tncm91bmQtcG9zaXRpb24sIGJveC1zaGFkb3cpKTtcXG5cXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgd2lkdGg6IHRoZW1lLiRjaGVjay1pbnB1dC1zaXplO1xcbiAgICBoZWlnaHQ6IHRoZW1lLiRjaGVjay1pbnB1dC1zaXplO1xcbiAgICBtYXJnaW4tdG9wOiBjYWxjKCgxcmVtICogI3t0eXBvZ3JhcGh5LiRsaW5lLWhlaWdodC1iYXNlfSAtICN7dGhlbWUuJGNoZWNrLWlucHV0LXNpemV9KSAvIDIpO1xcbiAgICBib3JkZXI6IHRoZW1lLiRjaGVjay1pbnB1dC1ib3JkZXItd2lkdGggc29saWQgdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAgIGNvbG9yLWFkanVzdDogZXhhY3Q7IC8vIDEuXFxuXFxuICAgICY6Zm9jdXMsXFxuICAgICY6Y2hlY2tlZDpmb2N1cyB7XFxuICAgICAgICBib3gtc2hhZG93OiB0aGVtZS4kY2hlY2staW5wdXQtZm9jdXMtYm94LXNoYWRvdztcXG4gICAgfVxcblxcbiAgICBAaWYgJHR5cGUgPT0gXFxcImNoZWNrYm94XFxcIiB7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiB0aGVtZS4kY2hlY2staW5wdXQtY2hlY2tib3gtYm9yZGVyLXJhZGl1cztcXG5cXG4gICAgICAgICY6Y2hlY2tlZCB7XFxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdGhlbWUuJGNoZWNrLWlucHV0LWNoZWNrYm94LWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgJHR5cGUgPT0gXFxcInJhZGlvXFxcIiB7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiB0aGVtZS4kY2hlY2staW5wdXQtcmFkaW8tYm9yZGVyLXJhZGl1cztcXG5cXG4gICAgICAgICY6Y2hlY2tlZCB7XFxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdGhlbWUuJGNoZWNrLWlucHV0LXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgJHR5cGUgPT0gXFxcInRvZ2dsZVxcXCIge1xcbiAgICAgICAgd2lkdGg6IHRoZW1lLiRjaGVjay1pbnB1dC10b2dnbGUtd2lkdGg7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiB0aGVtZS4kY2hlY2staW5wdXQtdG9nZ2xlLWJvcmRlci1yYWRpdXM7XFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB0aGVtZS4kY2hlY2staW5wdXQtdG9nZ2xlLWRlZmF1bHQtYmFja2dyb3VuZC1pbWFnZTtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRoZW1lLiRjaGVjay1pbnB1dC10b2dnbGUtZGVmYXVsdC1iYWNrZ3JvdW5kLXBvc2l0aW9uO1xcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiB0aGVtZS4kY2hlY2staW5wdXQtdG9nZ2xlLWJhY2tncm91bmQtc2l6ZTtcXG5cXG4gICAgICAgICY6Y2hlY2tlZCB7XFxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdGhlbWUuJGNoZWNrLWlucHV0LXRvZ2dsZS1jaGVja2VkLWJhY2tncm91bmQtaW1hZ2U7XFxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdGhlbWUuJGNoZWNrLWlucHV0LXRvZ2dsZS1jaGVja2VkLWJhY2tncm91bmQtcG9zaXRpb247XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuLy8gMi5cXG5AbWl4aW4gbWluLXRhcC10YXJnZXQoJHR5cGUpIHtcXG4gICAgJGlucHV0LXdpZHRoOiB0aGVtZS4kY2hlY2staW5wdXQtc2l6ZTtcXG5cXG4gICAgQGlmICR0eXBlID09IFxcXCJ0b2dnbGVcXFwiIHtcXG4gICAgICAgICRpbnB1dC13aWR0aDogdGhlbWUuJGNoZWNrLWlucHV0LXRvZ2dsZS13aWR0aDtcXG4gICAgfVxcblxcbiAgICAkdGFwLXRhcmdldC1vZmZzZXQ6IGNhbGMoKCN7JGlucHV0LXdpZHRofSAtICN7dGhlbWUuJGNoZWNrLXRhcC10YXJnZXQtc2l6ZX0pIC8gMik7XFxuXFxuICAgIEBpbmNsdWRlIGFjY2Vzc2liaWxpdHkubWluLXRhcC10YXJnZXQoJHNpemU6IHRoZW1lLiRjaGVjay10YXAtdGFyZ2V0LXNpemUsICRjZW50ZXI6IGZhbHNlKTtcXG5cXG4gICAgbWluLWhlaWdodDogdGhlbWUuJGNoZWNrLXRhcC10YXJnZXQtc2l6ZTtcXG4gICAgcGFkZGluZy10b3A6IGNhbGMoKCN7dGhlbWUuJGNoZWNrLXRhcC10YXJnZXQtc2l6ZX0gLSAxcmVtICogI3t0eXBvZ3JhcGh5LiRsaW5lLWhlaWdodC1iYXNlfSkgLyAyKTtcXG5cXG4gICAgJjo6YmVmb3JlIHtcXG4gICAgICAgIHRvcDogMDtcXG4gICAgICAgIGxlZnQ6ICR0YXAtdGFyZ2V0LW9mZnNldDtcXG4gICAgfVxcblxcbiAgICBAaWYgJHR5cGUgPT0gXFxcImNoZWNrYm94XFxcIiBvciAkdHlwZSA9PSBcXFwidG9nZ2xlXFxcIiB7XFxuICAgICAgICAmLmhhc1Jvb3RMYWJlbEJlZm9yZTo6YmVmb3JlIHtcXG4gICAgICAgICAgICByaWdodDogJHRhcC10YXJnZXQtb2Zmc2V0O1xcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XFxuICAgICAgICB9XFxuXFxuICAgICAgICAvLyAzLlxcbiAgICAgICAgJi5pc1Jvb3RJbkZvcm1MYXlvdXQge1xcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XFxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XFxuXFxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcXG4gICAgICAgICAgICAgICAgdG9wOiBjYWxjKCgxcmVtICogI3t0eXBvZ3JhcGh5LiRsaW5lLWhlaWdodC1iYXNlfSAtICN7dGhlbWUuJGNoZWNrLXRhcC10YXJnZXQtc2l6ZX0pIC8gMik7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RJbkZvcm1MYXlvdXQuaXNSb290TGF5b3V0SG9yaXpvbnRhbDo6YmVmb3JlIHtcXG4gICAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcXG5cXG4gICAgICAgICAgICAvLyA0LlxcbiAgICAgICAgICAgIEBzdXBwb3J0cyBub3QgKGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZCkge1xcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cIixcIi8vIDEuIElucHV0IGBsaW5lLWhlaWdodGAgaXMgc3BlY2lmaWVkIGluIGByZW1gIHNvIGlucHV0cyBkbyBub3QgYnJlYWsgd2hlbiB0aGVpciBmb250IHNpemUgZ2V0c1xcbi8vICAgIGNoYW5nZWQgbGF0ZXIuXFxuXFxuQHVzZSBcXFwic2FzczptYXBcXFwiO1xcbkB1c2UgXFxcIi4uL3RoZW1lL3R5cG9ncmFwaHlcXFwiO1xcbkB1c2UgXFxcIi4uL3Rvb2xzL3NwYWNpbmdcXFwiO1xcblxcbiRoZWxwLXRleHQtbGluZS1oZWlnaHQ6IDEuMnJlbTtcXG5cXG4kdmVydGljYWwtaW5uZXItZ2FwOiBzcGFjaW5nLm9mKDEpO1xcbiR2ZXJ0aWNhbC1pbm5lci1nYXAtbGFyZ2U6IHNwYWNpbmcub2YoMik7XFxuJHZlcnRpY2FsLW91dGVyLXNwYWNpbmc6IHNwYWNpbmcub2YoMik7XFxuXFxuJGhvcml6b250YWwtaW5uZXItZ2FwOiBzcGFjaW5nLm9mKDIpO1xcbiRob3Jpem9udGFsLW91dGVyLXNwYWNpbmc6IHNwYWNpbmcub2YoMik7XFxuXFxuJGJveC1pbnB1dC1mb250LWZhbWlseTogdHlwb2dyYXBoeS4kZm9udC1mYW1pbHktYmFzZTtcXG4kYm94LWlucHV0LWZvbnQtd2VpZ2h0OiBtYXAuZ2V0KHR5cG9ncmFwaHkuJGZvbnQtd2VpZ2h0LXZhbHVlcywgZGVmYXVsdCk7XFxuJGJveC1pbnB1dC1saW5lLWhlaWdodDogMS41cmVtOyAvLyAxLlxcbiRib3gtZmllbGQtY2FyZXQtc2l6ZTogMi4yNXJlbTtcXG4kYm94LWZpZWxkLWlucHV0LW51bWJlci1hcnJvd3Mtd2lkdGg6IDEuNXJlbTtcXG4kYm94LWZpZWxkLWJvdHRvbS1saW5lLWhlaWdodDogMnB4O1xcblxcbiRpbmxpbmUtZmllbGQtaW5uZXItZ2FwOiBzcGFjaW5nLm9mKDIpO1xcblxcbiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXM6IChcXG4gICAgYm94OiAoXFxuICAgICAgICBmaWxsZWQ6IChkZWZhdWx0LCBob3ZlciwgZm9jdXMsIGRpc2FibGVkKSxcXG4gICAgICAgIG91dGxpbmU6IChkZWZhdWx0LCBob3ZlciwgZm9jdXMsIGRpc2FibGVkKSxcXG4gICAgKSxcXG4gICAgY2hlY2s6IChcXG4gICAgICAgIGRlZmF1bHQ6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICksXFxuICAgIGN1c3RvbTogKFxcbiAgICAgICAgZGVmYXVsdDogKGRlZmF1bHQsIGRpc2FibGVkKSxcXG4gICAgKSxcXG4gICAgdmFsaWRhdGlvbjogKFxcbiAgICAgICAgaW52YWxpZDogKGRlZmF1bHQsIGNoZWNrZWQsIGRpc2FibGVkLCBjaGVja2VkLWRpc2FibGVkKSxcXG4gICAgICAgIHZhbGlkOiAoZGVmYXVsdCwgY2hlY2tlZCwgZGlzYWJsZWQsIGNoZWNrZWQtZGlzYWJsZWQpLFxcbiAgICAgICAgd2FybmluZzogKGRlZmF1bHQsIGNoZWNrZWQsIGRpc2FibGVkLCBjaGVja2VkLWRpc2FibGVkKSxcXG4gICAgKSxcXG4pO1xcblxcbiR0aGVtZWFibGUtc3RhdGUtcHJvcGVydGllczogKFxcbiAgICBkZWZhdWx0OiAoY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZCwgY2hlY2stYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdywgc3Vycm91bmRpbmctdGV4dC1jb2xvciksXFxuICAgIGhvdmVyOiAoY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZCwgYm94LXNoYWRvdyksXFxuICAgIGZvY3VzOiAoY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZCwgY2hlY2stYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyksXFxuICAgIGNoZWNrZWQ6IChib3JkZXItY29sb3IsIGNoZWNrLWJhY2tncm91bmQtY29sb3IpLFxcbiAgICBkaXNhYmxlZDogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGNoZWNrLWJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3csIHN1cnJvdW5kaW5nLXRleHQtY29sb3IpLFxcbiAgICBjaGVja2VkLWRpc2FibGVkOiAoYm9yZGVyLWNvbG9yLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yKSxcXG4pO1xcblwiLFwiQHVzZSBcXFwic2FzczpsaXN0XFxcIjtcXG5AdXNlIFxcXCJzYXNzOm1ldGFcXFwiO1xcbkB1c2UgXFxcInNhc3M6c3RyaW5nXFxcIjtcXG5AdXNlIFxcXCIuLi9zZXR0aW5ncy9hbmltYXRpb25zXFxcIjtcXG5cXG4kX2FsbG93ZWQtdHJhbnNpdGlvbnM6IChcXG4gICAgYm9yZGVyLWNvbG9yLFxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLFxcbiAgICBib3gtc2hhZG93LFxcbiAgICBjb2xvcixcXG4gICAgb3BhY2l0eSxcXG4gICAgdHJhbnNmb3JtLFxcbiAgICB2aXNpYmlsaXR5LFxcbik7XFxuXFxuJF9yZWR1Y2VkLW1vdGlvbi1kaXNhbGxvd2VkLXRyYW5zaXRpb25zOiAodHJhbnNmb3JtKTtcXG5cXG5AZnVuY3Rpb24gX3ZhbGlkYXRlLXRyYW5zaXRpb25zKCRwcm9wZXJ0aWVzKSB7XFxuICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XFxuICAgICAgICAkaXMtYWxsb3dlZDogbGlzdC5pbmRleCgkX2FsbG93ZWQtdHJhbnNpdGlvbnMsICRwcm9wZXJ0eSk7XFxuXFxuICAgICAgICBAaWYgbm90ICRpcy1hbGxvd2VkIHtcXG4gICAgICAgICAgICBAcmV0dXJuIGZhbHNlO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEByZXR1cm4gdHJ1ZTtcXG59XFxuXFxuQGZ1bmN0aW9uIF9yZWR1Y2UtbW90aW9uLXRyYW5zaXRpb25zKCRwcm9wZXJ0aWVzKSB7XFxuICAgICRyZWR1Y2VkLXByb3BlcnRpZXM6ICgpO1xcbiAgICAkc2VwYXJhdG9yOiBsaXN0LnNlcGFyYXRvcigkcHJvcGVydGllcyk7XFxuXFxuICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XFxuICAgICAgICBAaWYgbm90IGxpc3QuaW5kZXgoJF9yZWR1Y2VkLW1vdGlvbi1kaXNhbGxvd2VkLXRyYW5zaXRpb25zLCAkcHJvcGVydHkpIHtcXG4gICAgICAgICAgICAkcmVkdWNlZC1wcm9wZXJ0aWVzOiBsaXN0LmFwcGVuZCgkcmVkdWNlZC1wcm9wZXJ0aWVzLCAkcHJvcGVydHksICRzZXBhcmF0b3I6ICRzZXBhcmF0b3IpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEByZXR1cm4gJHJlZHVjZWQtcHJvcGVydGllcztcXG59XFxuXFxuQG1peGluIGFkZCgkcHJvcGVydGllcywgJGR1cmF0aW9uOiAxNTBtcykge1xcbiAgICAkcHJvcGVydHktbGlzdDogKCk7XFxuXFxuICAgIEBpZiBtZXRhLnR5cGUtb2YoJHByb3BlcnRpZXMpICE9IFxcXCJzdHJpbmdcXFwiIGFuZCBtZXRhLnR5cGUtb2YoJHByb3BlcnRpZXMpICE9IFxcXCJsaXN0XFxcIiB7XFxuICAgICAgICBAZXJyb3IgXFxcIlRyYW5zaXRpb24gcHJvcGVydGllcyBtdXN0IGJlIGEgc3RyaW5nIG9yIGEgU2FzcyBsaXN0LCBgI3skcHJvcGVydGllc31gIGdpdmVuLlxcXCI7XFxuICAgIH1cXG5cXG4gICAgJHByb3BlcnR5LWxpc3Q6IGxpc3Quam9pbigkcHJvcGVydHktbGlzdCwgJHByb3BlcnRpZXMpO1xcblxcbiAgICBAaWYgbm90IF92YWxpZGF0ZS10cmFuc2l0aW9ucygkcHJvcGVydHktbGlzdCkge1xcbiAgICAgICAgQGVycm9yIFxcXCJPbmx5IFsjeyRfYWxsb3dlZC10cmFuc2l0aW9uc31dIHRyYW5zaXRpb25zIGFyZSBhbGxvd2VkLCBbI3skcHJvcGVydGllc31dIGdpdmVuLlxcXCI7XFxuICAgIH0gQGVsc2Uge1xcbiAgICAgICAgJHJlZHVjZWQtcHJvcGVydHktbGlzdDogX3JlZHVjZS1tb3Rpb24tdHJhbnNpdGlvbnMoJHByb3BlcnR5LWxpc3QpO1xcblxcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHByb3BlcnR5LWxpc3Q7XFxuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XFxuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9ucy4kc3RhbmRhcmQtdGltaW5nLWZ1bmN0aW9uO1xcblxcbiAgICAgICAgQGlmIGxpc3QubGVuZ3RoKCRyZWR1Y2VkLXByb3BlcnR5LWxpc3QpID4gMCB7XFxuICAgICAgICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHJlZHVjZWQtcHJvcGVydHktbGlzdDtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXCIsXCIkc3RhbmRhcmQtdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcblwiLFwiLy8gMS4gIElubGluZSBmb3JtIGZpZWxkcyBhbmQgZmllbGRzIHdpdGggdmVydGljYWwgbGF5b3V0IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyB0aGV5IG5lZWQuIExhYmVsc1xcbi8vICAgICBkbyBub3Qgd3JhcCB1bnRpbCBmb3JjZWQgYnkgY29udGFpbmVyIG9mIHRoZSBmaWVsZC4gTWluIGFuZCBtYXggbGltaXRzIG1ha2UgZXh0cmEgbG9uZyB3b3Jkc1xcbi8vICAgICBicmVhayBpZiBuZWNlc3NhcnkuXFxuLy9cXG4vLyAyLiAgRm9ybSBmaWVsZHMgaW4gaG9yaXpvbnRhbCBsYXlvdXQgYWxzbyB0YWtlIHVwIG9ubHkgYXMgbXVjaCBzcGFjZSBhcyB0aGV5IG5lZWQuIExhYmVscyBkbyBub3RcXG4vLyAgICAgd3JhcCB1bnRpbCBsYWJlbCB3aWR0aCBsaW1pdCBpcyByZWFjaGVkICg1MCAlIG9mIGF2YWlsYWJsZSBob3Jpem9udGFsIHNwYWNlIGJ5IGRlZmF1bHQpLlxcbi8vXFxuLy8gMy4gIEhlbHAgdGV4dHMgYW5kIHZhbGlkYXRpb24gbWVzc2FnZXMgYXJlIGFsaWduZWQgYmVsb3cgaW5wdXQgYW5kIHdyYXBwZWQuIFRoZWlyIHdpZHRoIGlzIGFsd2F5c1xcbi8vICAgICBsaW1pdGVkIHRvIHRoZSB3aWR0aCBvZiB0aGUgaW5wdXQgZmllbGQgc28gdGhleSBkb24ndCBzaGlmdCBhZGphY2VudCBlbGVtZW50cyB3aGVuIHRoZXkgc2hvd1xcbi8vICAgICB1cC4gVGhpcyBhcHBsaWVzIHVubGVzcyB0aGUgZmllbGQgaXMgaW5zaWRlIEZvcm1MYXlvdXQgKHNlZSAxMCkuXFxuLy9cXG4vLyA0LiAgRGVmaW5lIGdyaWQgc3BhY2luZyBhcyBwYWRkaW5nIG9mIGNoaWxkIGVsZW1lbnRzIGJlY2F1c2UgZ3JpZCBhcmVhcyBtYWtlIHJvdyBhbmQgY29sdW1uIGdhcHNcXG4vLyAgICAgc2hvdyB1cCBldmVuIHdoZW4gbm90IG5lY2Vzc2FyeS5cXG4vL1xcbi8vIDUuICBXaGVuIGlucHV0IHNpemUgaXMgc21hbGwgYW5kIGZvcm0gZmllbGQgbGF5b3V0IGlzIHNldCB0byBob3Jpem9udGFsLCBleHBhbmQgaGVscCB0ZXh0IGFuZFxcbi8vICAgICB2YWxpZGF0aW9uIG1lc3NhZ2Ugb3ZlciBmdWxsIGZvcm0gZmllbGQgd2lkdGggdG8gaW1wcm92ZSB0aGVpciByZWFkYWJpbGl0eS4gT3RoZXJ3aXNlIHRoZVxcbi8vICAgICB0ZXh0IHdvdWxkIGJlIHBhY2tlZCBpbnRvIGEgdmVyeSBuYXJyb3cgY29sdW1uIGFuZCBoYXJkIHRvIHJlYWQuIFRvIHByZXZlbnQgaGVscCB0ZXh0IGFuZFxcbi8vICAgICB2YWxpZGF0aW9uIG1lc3NhZ2UgZnJvbSBncm93aW5nIHRoZSBsYXlvdXQgbW9yZSB0aGFuIG5lY2Vzc2FyeSAoaWUuIHRoZSBzaXplIHdpdGhvdXRcXG4vLyAgICAgaGVscC92YWxpZGF0aW9uIHRleHQpLCBgbWluLWNvbnRlbnRgIGdyaWQgc2l6aW5nIG11c3QgYmUgdXNlZCBhbG9uZyB3aXRoIGRpc2FibGVkIHdyYXBwaW5nIG9mXFxuLy8gICAgIGxhYmVsLlxcbi8vXFxuLy8gNi4gIEZ1bGwtd2lkdGggaG9yaXpvbnRhbCBmb3JtIGZpZWxkcyBwcmVmZXIgbm90IHdyYXBwaW5nIHRoZSBsYWJlbCB1bnRpbCBhIGxpbWl0IGlzIHJlYWNoZWRcXG4vLyAgICAgKDUwICUgb2YgYXZhaWxhYmxlIGhvcml6b250YWwgc3BhY2UgYnkgZGVmYXVsdCwgc2FtZSBhcyBpbiAyLikuXFxuLy9cXG4vLyA3LiAgSnVzdGlmeSBpbnB1dHMgdG8gYHN0YXJ0YCBpbiBob3Jpem9udGFsIGxheW91dHMgdG8gZml4IHBvc2l0aW9uaW5nIGlzc3VlcyB3aXRoIFNlbGVjdCBGaWVsZHMuXFxuLy8gICAgIFJldmVydGVkIGZvciBmdWxsLXdpZHRoIGZpZWxkcy5cXG4vL1xcbi8vIDguICBHcmlkIHNldHRpbmdzIGFyZSBpbmhlcml0ZWQgZnJvbSBob3Jpem9udGFsIEZvcm1MYXlvdXQgYW5kIGFwcGxpZWQgdXNpbmcgYHN1YmdyaWRgLlxcbi8vICAgICBBIGZhbGxiYWNrIGlzIHN1cHBsaWVkIHRvIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBgc3ViZ3JpZGAgeWV0LiBTZWUgRm9ybUxheW91dCBzdHlsZXNcXG4vLyAgICAgZm9yIG1vcmUuXFxuLy8gICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdC11aS1vcmcvcmVhY3QtdWkvaXNzdWVzLzIzMlxcbi8vXFxuLy8gOS4gIEhlbHAgdGV4dHMgYW5kIHZhbGlkYXRpb24gbWVzc2FnZXMgY2FuIHRha2UgdXAgZnVsbCB3aWR0aCBvZiBGb3JtTGF5b3V0LiBUaGVyZSBpcyBubyByZWFzb25cXG4vLyAgICAgdG8gbWFrZSB0aGVtIHdyYXAgYXMgdGhleSBjYW5ub3QgYnJlYWsgbGF5b3V0IG9mIEZvcm1MYXlvdXQuXFxuLy9cXG4vLyAxMC4gVmlzdWFsbHkgYWxpZ24gbGFiZWwgdG8gaW5wdXQgYmFzZWxpbmUuIEFjaGlldmVkIHdpdGggYHBhZGRpbmctdG9wYCBhbmQgYHBhZGRpbmctYm90dG9tYCBkdWVcXG4vLyAgICAgdG8gdHdvIHJlYXNvbnM6XFxuLy9cXG4vLyAgICAgKiBgYWxpZ24taXRlbXM6IGJhc2VsaW5lYCBkb2Vzbid0IHdvcmsgZm9yIGJsYW5rIHRleHQgaW5wdXRzIGluIFNhZmFyaS4gU2VlXFxuLy8gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI5NjggYW5kXFxuLy8gICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdC11aS1vcmcvcmVhY3QtdWkvaXNzdWVzLzI2NS5cXG4vL1xcbi8vICAgICAqIGBhbGlnbi1pdGVtczogYmFzZWxpbmVgIGRvZXNuJ3QgYWxsb3cgc3Vic2VxdWVudCB2ZXJ0aWNhbCBjZW50ZXJpbmcgb2YgdGFsbCBpbnB1dHMgYW5kL29yXFxuLy8gICAgICAgIG11bHRpbGluZSBsYWJlbHMgKHNlZSBgdGhlbWUuJGhvcml6b250YWwtbGFiZWwtdmVydGljYWwtYWxpZ25tZW50YCBhbmRcXG4vLyAgICAgICAgYHRoZW1lLiRob3Jpem9udGFsLWZpZWxkLXZlcnRpY2FsLWFsaWdubWVudGApLlxcbi8vXFxuLy8gMTEuIFJlc2V0IGB3aWR0aGAgcHJldmlvdXNseSBzZXQgYnkgaW5saW5lIGZpZWxkIGxheW91dCAoc2VlIGBfaW5saW5lLWZpZWxkLWxheW91dC5zY3NzYCkuXFxuLy9cXG4vLyAxMi4gTWFrZSBmaWVsZHMganVzdCBhcyB3aWRlIGFzIG5lY2Vzc2FyeS4gRmllbGRzIHNob3VsZCBiZSBpbnRlcmFjdGl2ZSBvbmx5IHdoZXJlIHRoZWlyIHZpc2libGVcXG4vLyAgICAgY29udGVudCBpcy5cXG4vL1xcbi8vIDEzLiBMYWJlbCBhbmQgZmllbGQgYXJlIHZlcnRpY2FsbHkgYWxpZ25lZCB0byB0b3AgKHN0YXJ0KSBieSBkZWZhdWx0IChzZWUgMTAuKS4gVmVydGljYWxcXG4vLyAgICAgYWxpZ25tZW50IG9mIGVhY2ggYmxvY2sgY2FuIGJlIGNoYW5nZWQgYnkgdGhlbWUgY29uZmlndXJhdGlvbi5cXG5cXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3Jtc1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybS1maWVsZHNcXFwiIGFzIHNldHRpbmdzO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL2Zvcm0tZmllbGRzXFxcIiBhcyB0aGVtZTtcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS90eXBvZ3JhcGh5XFxcIjtcXG5AdXNlIFxcXCIuLi9icmVha3BvaW50XFxcIjtcXG5cXG5AbWl4aW4gdmVydGljYWwoJGhhcy1saXN0OiBmYWxzZSkge1xcbiAgICBAaWYgJGhhcy1saXN0IHtcXG4gICAgICAgIC0tcnVpLWxvY2FsLXZlcnRpY2FsLWdhcDogI3tzZXR0aW5ncy4kdmVydGljYWwtaW5uZXItZ2FwLWxhcmdlfTtcXG4gICAgfVxcblxcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgLy8gMS5cXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgbWluLXdpZHRoOiAwOyAvLyAxLlxcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDEuXFxuXFxuICAgIC5sYWJlbCB7XFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcnVpLWxvY2FsLXZlcnRpY2FsLWdhcCwgI3tzZXR0aW5ncy4kdmVydGljYWwtaW5uZXItZ2FwfSk7XFxuICAgIH1cXG5cXG4gICAgLmhlbHBUZXh0LFxcbiAgICAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXAsICN7c2V0dGluZ3MuJHZlcnRpY2FsLWlubmVyLWdhcH0pO1xcbiAgICB9XFxuXFxuICAgIC5maWVsZCB7XFxuICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQ7IC8vIDMuXFxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDMuXFxuICAgIH1cXG59XFxuXFxuQG1peGluIGhvcml6b250YWwoJGhhcy1taW4tdGFwLXRhcmdldDogZmFsc2UpIHtcXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChmb3Jtcy4kaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XFxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDsgLy8gMi5cXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdGhlbWUuJGhvcml6b250YWwtbGFiZWwtd2lkdGggbWluLWNvbnRlbnQ7IC8vIDIuXFxuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcXFwibGFiZWwgZmllbGRcXFwiO1xcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0OyAvLyAxMC4sIDEzLlxcblxcbiAgICAgICAgLmxhYmVsIHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IGxhYmVsO1xcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXZlcnRpY2FsLWFsaWdubWVudDsgLy8gMTMuXFxuICAgICAgICAgICAgbWluLXdpZHRoOiB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC1taW4td2lkdGg7XFxuXFxuICAgICAgICAgICAgLy8gMTAuXFxuICAgICAgICAgICAgQGlmICRoYXMtbWluLXRhcC10YXJnZXQge1xcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDpcXG4gICAgICAgICAgICAgICAgICAgIGNhbGMoXFxuICAgICAgICAgICAgICAgICAgICAgICAgKCN7dGhlbWUuJGNoZWNrLXRhcC10YXJnZXQtc2l6ZX0gLSAxcmVtICogI3t0eXBvZ3JhcGh5LiRsaW5lLWhlaWdodC1iYXNlfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAvIDJcXG4gICAgICAgICAgICAgICAgICAgICk7XFxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOlxcbiAgICAgICAgICAgICAgICAgICAgY2FsYyhcXG4gICAgICAgICAgICAgICAgICAgICAgICAoI3t0aGVtZS4kY2hlY2stdGFwLXRhcmdldC1zaXplfSAtIDFyZW0gKiAje3R5cG9ncmFwaHkuJGxpbmUtaGVpZ2h0LWJhc2V9KVxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8gMlxcbiAgICAgICAgICAgICAgICAgICAgKTtcXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgLy8gMTAuLCAxMy5cXG4gICAgICAgICAgICBAZWxzZSB7XFxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAje3RoZW1lLiRob3Jpem9udGFsLWxhYmVsLXBhZGRpbmcteX07XFxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAje3RoZW1lLiRob3Jpem9udGFsLWxhYmVsLXBhZGRpbmcteX07XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHNldHRpbmdzLiRob3Jpem9udGFsLWlubmVyLWdhcDsgLy8gNC5cXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC10ZXh0LWFsaWduO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgLmZpZWxkIHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IGZpZWxkO1xcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHRoZW1lLiRob3Jpem9udGFsLWZpZWxkLXZlcnRpY2FsLWFsaWdubWVudDsgLy8gMTMuXFxuICAgICAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDsgLy8gNy5cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaG9yaXpvbnRhbC13aXRoLXNtYWxsLWlucHV0KCkge1xcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGZvcm1zLiRob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgbWluLWNvbnRlbnQ7IC8vIDUuXFxuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxcbiAgICAgICAgICAgIFxcXCJsYWJlbCBmaWVsZFxcXCJcXG4gICAgICAgICAgICBcXFwiaGVscHRleHQgaGVscHRleHRcXFwiXFxuICAgICAgICAgICAgXFxcInZhbGlkYXRpb250ZXh0IHZhbGlkYXRpb250ZXh0XFxcIjsgLy8gNS5cXG5cXG4gICAgICAgIC5sYWJlbCB7XFxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gNS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC5maWVsZCB7XFxuICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7IC8vIDUuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAuaW5wdXRDb250YWluZXIge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogZmllbGQ7IC8vIDUuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAuaGVscFRleHQge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogaGVscHRleHQ7IC8vIDUuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogdmFsaWRhdGlvbnRleHQ7IC8vIDUuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGZ1bGwtd2lkdGgoKSB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIHdpZHRoOiAxMDAlO1xcblxcbiAgICAuZmllbGQsXFxuICAgIC5pbnB1dENvbnRhaW5lcixcXG4gICAgLmlucHV0IHtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICB9XFxuXFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIHtcXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdGhlbWUuJGhvcml6b250YWwtZnVsbC13aWR0aC1sYWJlbC13aWR0aCAxZnI7IC8vIDYuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmZpZWxkIHtcXG4gICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0cmV0Y2g7IC8vIDcuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGluLWZvcm0tbGF5b3V0KCkge1xcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0OyAvLyAxMi5cXG5cXG4gICAgLmZpZWxkIHtcXG4gICAgICAgIHdpZHRoOiBhdXRvOyAvLyA5LlxcbiAgICB9XFxuXFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgLm9wdGlvbkxhYmVsIHtcXG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgLy8gMTEuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwuaGFzUm9vdFNtYWxsSW5wdXQge1xcbiAgICAgICAgICAgIGdyaWQ6IGluaGVyaXQ7IC8vIDguXFxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkOyAvLyA4LlxcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7IC8vIDguXFxuXFxuICAgICAgICAgICAgQHN1cHBvcnRzIG5vdCAoZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkKSB7XFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzOyAvLyA4LlxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbC5pc1Jvb3RGdWxsV2lkdGgge1xcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDsgLy8gOC5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAubGFiZWwsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmZpZWxkLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5pbnB1dENvbnRhaW5lcixcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaGVscFRleHQsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IHVuc2V0OyAvLyA4LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaW5wdXRDb250YWluZXIsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmhlbHBUZXh0LFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7IC8vIDguXFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwuaGFzUm9vdFNtYWxsSW5wdXQgLmZpZWxkIHtcXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgLy8gNS5cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cIixcIkB1c2UgXFxcInNhc3M6bWFwXFxcIjtcXG5AdXNlIFxcXCIuLi9zZXR0aW5ncy9icmVha3BvaW50c1xcXCI7XFxuXFxuQG1peGluIHVwKCRicmVha3BvaW50KSB7XFxuICAgIEBpZiBub3QgbWFwLmhhcy1rZXkoYnJlYWtwb2ludHMuJHZhbHVlcywgJGJyZWFrcG9pbnQpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiSW52YWxpZCBicmVha3BvaW50IHNwZWNpZmllZCEgI3skYnJlYWtwb2ludH0gZG9lc24ndCBleGlzdC4gXFxcIlxcbiAgICAgICAgICAgICsgXFxcIkNob29zZSBvbmUgb2YgI3ttYXAua2V5cyhicmVha3BvaW50cy4kdmFsdWVzKX1cXFwiO1xcbiAgICB9IEBlbHNlIGlmIG1hcC5nZXQoYnJlYWtwb2ludHMuJHZhbHVlcywgJGJyZWFrcG9pbnQpID09IDAge1xcbiAgICAgICAgQGNvbnRlbnQ7XFxuICAgIH0gQGVsc2Uge1xcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoYnJlYWtwb2ludHMuJHZhbHVlcywgJGJyZWFrcG9pbnQpKSB7XFxuICAgICAgICAgICAgQGNvbnRlbnQ7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLmxvY2FscyA9IHtcblx0XCJyb290XCI6IFwiUmFkaW9fX3Jvb3RfX0EzUlh6WWRpXCIsXG5cdFwiaW5wdXRcIjogXCJSYWRpb19faW5wdXRfX3NRVEVaWVZjXCIsXG5cdFwiaXNSb290RGlzYWJsZWRcIjogXCJSYWRpb19faXNSb290RGlzYWJsZWRfX1pQRWxoa2lyXCIsXG5cdFwibGVnZW5kXCI6IFwiUmFkaW9fX2xlZ2VuZF9fWjRlMWRKUWlcIixcblx0XCJsYWJlbFwiOiBcIlJhZGlvX19sYWJlbF9fZjM1enZTVUtcIixcblx0XCJvcHRpb25MYWJlbFwiOiBcIlJhZGlvX19vcHRpb25MYWJlbF9faVBzVXVSR2tcIixcblx0XCJvcHRpb25zXCI6IFwiUmFkaW9fX29wdGlvbnNfXzU3cXZiaWRCXCIsXG5cdFwib3B0aW9uXCI6IFwiUmFkaW9fX29wdGlvbl9fU0RoR1VpaURcIixcblx0XCJoZWxwVGV4dFwiOiBcIlJhZGlvX19oZWxwVGV4dF9fWTlJN3crYk1cIixcblx0XCJ2YWxpZGF0aW9uVGV4dFwiOiBcIlJhZGlvX192YWxpZGF0aW9uVGV4dF9fNVVFMkh3LVlcIixcblx0XCJpc1Jvb3RSZXF1aXJlZFwiOiBcIlJhZGlvX19pc1Jvb3RSZXF1aXJlZF9fanZzeGszQU1cIixcblx0XCJpc1Jvb3RTdGF0ZUludmFsaWRcIjogXCJSYWRpb19faXNSb290U3RhdGVJbnZhbGlkX19BSTZLMHNZSFwiLFxuXHRcImlzUm9vdFN0YXRlVmFsaWRcIjogXCJSYWRpb19faXNSb290U3RhdGVWYWxpZF9fVlJZMHZxNWZcIixcblx0XCJpc1Jvb3RTdGF0ZVdhcm5pbmdcIjogXCJSYWRpb19faXNSb290U3RhdGVXYXJuaW5nX19mUW05S1paclwiLFxuXHRcImlzTGFiZWxIaWRkZW5cIjogXCJSYWRpb19faXNMYWJlbEhpZGRlbl9fQnAwUGc4TThcIixcblx0XCJpc1Jvb3RMYXlvdXRWZXJ0aWNhbFwiOiBcIlJhZGlvX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fTmpmRFA0RjJcIixcblx0XCJpc1Jvb3RMYXlvdXRIb3Jpem9udGFsXCI6IFwiUmFkaW9fX2lzUm9vdExheW91dEhvcml6b250YWxfXzVLMFRoM05BXCIsXG5cdFwiZmllbGRcIjogXCJSYWRpb19fZmllbGRfX3plaXMrNzlzXCIsXG5cdFwiaXNSb290RnVsbFdpZHRoXCI6IFwiUmFkaW9fX2lzUm9vdEZ1bGxXaWR0aF9fZTBicGZoQVhcIixcblx0XCJpbnB1dENvbnRhaW5lclwiOiBcIlJhZGlvX19pbnB1dENvbnRhaW5lcl9fODljaTBoZ0RcIixcblx0XCJpc1Jvb3RJbkZvcm1MYXlvdXRcIjogXCJSYWRpb19faXNSb290SW5Gb3JtTGF5b3V0X19lVnc5Wis2RVwiLFxuXHRcImhhc1Jvb3RTbWFsbElucHV0XCI6IFwiUmFkaW9fX2hhc1Jvb3RTbWFsbElucHV0X19ySldzS0d4clwiXG59O1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js?!./src/lib/components/Radio/Radio.scss\n");
|
1222
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \".Radio__root__A3RXzYdi {\\n text-align: left;\\n}\\n.Radio__root__A3RXzYdi:not(:last-child) {\\n margin-bottom: 0;\\n}\\n.Radio__root__A3RXzYdi, .Radio__root__A3RXzYdi:hover {\\n --rui-local-color: var(--rui-FormField--check--default__color);\\n --rui-local-border-color: var(--rui-FormField--check--default__border-color);\\n --rui-local-background: var(--rui-FormField--check--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--check--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--check--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--check--default__surrounding-text-color);\\n}\\n.Radio__root__A3RXzYdi .Radio__input__sQTEZYVc:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--check--checked__border-color,\\n var(--rui-FormField--check--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--check--checked__check-background-color,\\n var(--rui-FormField--check--default__check-background-color)\\n );\\n}\\n.Radio__root__A3RXzYdi.Radio__isRootDisabled__ZPElhkir {\\n --rui-local-color:\\n var(\\n --rui-FormField--check--disabled__color,\\n var(--rui-FormField--check--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--check--disabled__border-color,\\n var(--rui-FormField--check--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--check--disabled__background,\\n var(--rui-FormField--check--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--check--disabled__check-background-color,\\n var(--rui-FormField--check--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--check--disabled__box-shadow,\\n var(--rui-FormField--check--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--check--disabled__surrounding-text-color,\\n var(--rui-FormField--check--default__surrounding-text-color)\\n );\\n}\\n.Radio__root__A3RXzYdi .Radio__input__sQTEZYVc:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--check--checked-disabled__border-color,\\n var(--rui-FormField--check--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--check--checked-disabled__check-background-color,\\n var(--rui-FormField--check--checked__check-background-color)\\n );\\n}\\n.Radio__root__A3RXzYdi .Radio__input__sQTEZYVc:disabled {\\n opacity: var(--rui-FormField--disabled__opacity);\\n cursor: var(--rui-FormField--disabled__cursor);\\n}\\n\\n.Radio__legend__Z4e1dJQi {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n.Radio__label__f35zvSUK,\\n.Radio__optionLabel__iPsUuRGk {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__label__color));\\n}\\n\\n.Radio__options__57qvbidB {\\n padding-left: 0;\\n list-style: none;\\n}\\n.Radio__options__57qvbidB:not(:last-child) {\\n margin-bottom: 0;\\n}\\n\\n.Radio__option__SDhGUiiD {\\n display: flex;\\n align-items: flex-start;\\n min-width: 0;\\n flex-direction: row;\\n position: relative;\\n min-height: var(--rui-FormField--check__tap-target-size);\\n padding-top: calc((var(--rui-FormField--check__tap-target-size) - 1rem * var(--rui-line-height-base)) / 2);\\n}\\n.Radio__option__SDhGUiiD .Radio__input__sQTEZYVc {\\n flex: none;\\n}\\n.Radio__option__SDhGUiiD .Radio__label__f35zvSUK,\\n.Radio__option__SDhGUiiD .Radio__optionLabel__iPsUuRGk {\\n width: -webkit-max-content;\\n width: -moz-max-content;\\n width: max-content;\\n margin-left: var(--rui-dimension-space-2);\\n}\\n.Radio__option__SDhGUiiD::before {\\n content: \\\"\\\";\\n position: absolute;\\n width: var(--rui-FormField--check__tap-target-size);\\n height: var(--rui-FormField--check__tap-target-size);\\n}\\n.Radio__option__SDhGUiiD::before {\\n top: 0;\\n left: calc((var(--rui-FormField--check__input__size) - var(--rui-FormField--check__tap-target-size)) / 2);\\n}\\n\\n.Radio__input__sQTEZYVc {\\n transition-property: background-color, background-position, box-shadow;\\n transition-duration: 150ms;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n width: var(--rui-FormField--check__input__size);\\n height: var(--rui-FormField--check__input__size);\\n margin-top: calc((1rem * var(--rui-line-height-base) - var(--rui-FormField--check__input__size)) / 2);\\n border: var(--rui-FormField--check__input__border-width) solid var(--rui-local-border-color);\\n background-position: center;\\n background-size: contain;\\n background-repeat: no-repeat;\\n background-color: var(--rui-local-check-background-color);\\n -webkit-print-color-adjust: exact;\\n color-adjust: exact;\\n border-radius: var(--rui-FormField--check__input--radio__border-radius);\\n}\\n@media (prefers-reduced-motion: reduce) {\\n .Radio__input__sQTEZYVc {\\n transition-property: background-color, background-position, box-shadow;\\n }\\n}\\n.Radio__input__sQTEZYVc:focus, .Radio__input__sQTEZYVc:checked:focus {\\n box-shadow: var(--rui-FormField--check__input--focus__box-shadow);\\n}\\n.Radio__input__sQTEZYVc:checked {\\n background-image: var(--rui-FormField--check__input--radio--checked__background-image);\\n}\\n\\n.Radio__helpText__Y9I7w\\\\+bM,\\n.Radio__validationText__5UE2Hw-Y {\\n font-style: var(--rui-FormField__help-text__font-style);\\n font-size: var(--rui-FormField__help-text__font-size);\\n line-height: 1.2rem;\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__help-text__color));\\n}\\n\\n.Radio__isRootRequired__jvsxk3AM .Radio__label__f35zvSUK {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField--required__label__color));\\n}\\n.Radio__isRootRequired__jvsxk3AM .Radio__label__f35zvSUK::after {\\n content: var(--rui-FormField--required__sign);\\n color: var(--rui-FormField--required__sign__color);\\n}\\n\\n.Radio__isRootStateInvalid__AI6K0sYH, .Radio__isRootStateInvalid__AI6K0sYH:hover {\\n --rui-local-color: var(--rui-FormField--invalid--default__color);\\n --rui-local-border-color: var(--rui-FormField--invalid--default__border-color);\\n --rui-local-background: var(--rui-FormField--invalid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--invalid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--invalid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--invalid--default__surrounding-text-color);\\n}\\n.Radio__isRootStateInvalid__AI6K0sYH .Radio__input__sQTEZYVc:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n}\\n.Radio__isRootStateInvalid__AI6K0sYH.Radio__isRootDisabled__ZPElhkir {\\n --rui-local-color:\\n var(\\n --rui-FormField--invalid--disabled__color,\\n var(--rui-FormField--invalid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--disabled__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--invalid--disabled__background,\\n var(--rui-FormField--invalid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--disabled__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--invalid--disabled__box-shadow,\\n var(--rui-FormField--invalid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--invalid--disabled__surrounding-text-color,\\n var(--rui-FormField--invalid--default__surrounding-text-color)\\n );\\n}\\n.Radio__isRootStateInvalid__AI6K0sYH .Radio__input__sQTEZYVc:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__border-color,\\n var(--rui-FormField--invalid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__check-background-color,\\n var(--rui-FormField--invalid--checked__check-background-color)\\n );\\n}\\n\\n.Radio__isRootStateValid__VRY0vq5f, .Radio__isRootStateValid__VRY0vq5f:hover {\\n --rui-local-color: var(--rui-FormField--valid--default__color);\\n --rui-local-border-color: var(--rui-FormField--valid--default__border-color);\\n --rui-local-background: var(--rui-FormField--valid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--valid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--valid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--valid--default__surrounding-text-color);\\n}\\n.Radio__isRootStateValid__VRY0vq5f .Radio__input__sQTEZYVc:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n}\\n.Radio__isRootStateValid__VRY0vq5f.Radio__isRootDisabled__ZPElhkir {\\n --rui-local-color:\\n var(\\n --rui-FormField--valid--disabled__color,\\n var(--rui-FormField--valid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--disabled__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--valid--disabled__background,\\n var(--rui-FormField--valid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--disabled__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--valid--disabled__box-shadow,\\n var(--rui-FormField--valid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--valid--disabled__surrounding-text-color,\\n var(--rui-FormField--valid--default__surrounding-text-color)\\n );\\n}\\n.Radio__isRootStateValid__VRY0vq5f .Radio__input__sQTEZYVc:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked-disabled__border-color,\\n var(--rui-FormField--valid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked-disabled__check-background-color,\\n var(--rui-FormField--valid--checked__check-background-color)\\n );\\n}\\n\\n.Radio__isRootStateWarning__fQm9KZZr, .Radio__isRootStateWarning__fQm9KZZr:hover {\\n --rui-local-color: var(--rui-FormField--warning--default__color);\\n --rui-local-border-color: var(--rui-FormField--warning--default__border-color);\\n --rui-local-background: var(--rui-FormField--warning--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--warning--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--warning--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--warning--default__surrounding-text-color);\\n}\\n.Radio__isRootStateWarning__fQm9KZZr .Radio__input__sQTEZYVc:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n}\\n.Radio__isRootStateWarning__fQm9KZZr.Radio__isRootDisabled__ZPElhkir {\\n --rui-local-color:\\n var(\\n --rui-FormField--warning--disabled__color,\\n var(--rui-FormField--warning--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--disabled__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--warning--disabled__background,\\n var(--rui-FormField--warning--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--disabled__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--warning--disabled__box-shadow,\\n var(--rui-FormField--warning--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--warning--disabled__surrounding-text-color,\\n var(--rui-FormField--warning--default__surrounding-text-color)\\n );\\n}\\n.Radio__isRootStateWarning__fQm9KZZr .Radio__input__sQTEZYVc:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked-disabled__border-color,\\n var(--rui-FormField--warning--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked-disabled__check-background-color,\\n var(--rui-FormField--warning--checked__check-background-color)\\n );\\n}\\n\\n.Radio__isLabelHidden__Bp0Pg8M8 {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n.Radio__isRootLayoutVertical__NjfDP4F2,\\n.Radio__isRootLayoutHorizontal__5K0Th3NA {\\n --rui-local-vertical-gap: var(--rui-dimension-space-2);\\n display: inline-flex;\\n flex-direction: column;\\n min-width: 0;\\n max-width: 100%;\\n}\\n.Radio__isRootLayoutVertical__NjfDP4F2 .Radio__label__f35zvSUK,\\n.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__label__f35zvSUK {\\n padding-bottom: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.Radio__isRootLayoutVertical__NjfDP4F2 .Radio__helpText__Y9I7w\\\\+bM,\\n.Radio__isRootLayoutVertical__NjfDP4F2 .Radio__validationText__5UE2Hw-Y,\\n.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__helpText__Y9I7w\\\\+bM,\\n.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__validationText__5UE2Hw-Y {\\n padding-top: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.Radio__isRootLayoutVertical__NjfDP4F2 .Radio__field__zeis\\\\+79s,\\n.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__field__zeis\\\\+79s {\\n width: -webkit-min-content;\\n width: -moz-min-content;\\n width: min-content;\\n max-width: 100%;\\n}\\n\\n@media (min-width: 48em) {\\n .Radio__isRootLayoutHorizontal__5K0Th3NA {\\n display: inline-grid;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) -webkit-min-content;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) min-content;\\n grid-template-areas: \\\"label field\\\";\\n align-items: start;\\n }\\n .Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__label__f35zvSUK {\\n grid-area: label;\\n align-self: var(--rui-FormField--horizontal__label__vertical-alignment);\\n min-width: var(--rui-FormField--horizontal__label__min-width);\\n padding-top: calc((var(--rui-FormField--check__tap-target-size) - 1rem * var(--rui-line-height-base)) / 2);\\n padding-bottom: calc((var(--rui-FormField--check__tap-target-size) - 1rem * var(--rui-line-height-base)) / 2);\\n padding-right: var(--rui-dimension-space-2);\\n text-align: var(--rui-FormField--horizontal__label__text-align);\\n }\\n .Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__field__zeis\\\\+79s {\\n grid-area: field;\\n align-self: var(--rui-FormField--horizontal__field__vertical-alignment);\\n justify-self: start;\\n }\\n}\\n\\n@media (min-width: 48em) {\\n .Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__label__f35zvSUK {\\n -ms-grid-row: 1;\\n -ms-grid-column: 1;\\n }\\n .Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__field__zeis\\\\+79s {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n}\\n\\n.Radio__isRootFullWidth__e0bpfhAX {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n}\\n.Radio__isRootFullWidth__e0bpfhAX .Radio__field__zeis\\\\+79s,\\n.Radio__isRootFullWidth__e0bpfhAX .Radio__inputContainer__89ci0hgD,\\n.Radio__isRootFullWidth__e0bpfhAX .Radio__input__sQTEZYVc {\\n width: 100%;\\n}\\n@media (min-width: 48em) {\\n .Radio__isRootFullWidth__e0bpfhAX.Radio__isRootLayoutHorizontal__5K0Th3NA {\\n display: grid;\\n grid-template-columns: var(--rui-FormField--horizontal--full-width__label__width) 1fr;\\n }\\n .Radio__isRootFullWidth__e0bpfhAX.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__field__zeis\\\\+79s {\\n justify-self: stretch;\\n }\\n}\\n\\n.Radio__isRootInFormLayout__eVw9Z\\\\+6E {\\n justify-self: start;\\n}\\n.Radio__isRootInFormLayout__eVw9Z\\\\+6E .Radio__field__zeis\\\\+79s {\\n width: auto;\\n}\\n@media (min-width: 48em) {\\n .Radio__isRootInFormLayout__eVw9Z\\\\+6E .Radio__optionLabel__iPsUuRGk {\\n width: auto;\\n }\\n .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA, .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA.Radio__hasRootSmallInput__rJWsKGxr {\\n display: contents;\\n }\\n .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__label__f35zvSUK, .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__field__zeis\\\\+79s, .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__inputContainer__89ci0hgD, .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__helpText__Y9I7w\\\\+bM, .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__validationText__5UE2Hw-Y {\\n grid-area: unset;\\n }\\n .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__field__zeis\\\\+79s, .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__inputContainer__89ci0hgD, .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__helpText__Y9I7w\\\\+bM, .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA .Radio__validationText__5UE2Hw-Y {\\n grid-column-start: 2;\\n }\\n .Radio__isRootInFormLayout__eVw9Z\\\\+6E.Radio__isRootLayoutHorizontal__5K0Th3NA.Radio__hasRootSmallInput__rJWsKGxr .Radio__field__zeis\\\\+79s {\\n display: block;\\n }\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/lib/components/Radio/Radio.scss\",\"webpack://./src/lib/styles/tools/form-fields/_foundation.scss\",\"webpack://./src/lib/styles/tools/form-fields/_variants.scss\",\"webpack://./src/lib/styles/theme/_form-fields.scss\",\"webpack://./src/lib/styles/tools/_accessibility.scss\",\"webpack://./src/lib/styles/tools/_reset.scss\",\"webpack://./src/lib/styles/tools/form-fields/_inline-field-layout.scss\",\"webpack://./src/lib/styles/tools/form-fields/_inline-field-elements.scss\",\"webpack://./src/lib/styles/settings/_form-fields.scss\",\"webpack://./src/lib/styles/tools/_transition.scss\",\"webpack://./src/lib/styles/settings/_animations.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-layout.scss\",\"webpack://./src/lib/styles/tools/_breakpoint.scss\",\"<no source>\"],\"names\":[],\"mappings\":\"AAcA;ECPI,gBAAA;ADLJ;ACSI;EACI,gBAAA;ADPR;AE4EQ;EA/BI,8DAAA;EAAA,4EAAA;EAAA,wEAAA;EAAA,gGAAA;EAAA,wEAAA;EAAA,gGAAA;AFrCZ;AEoFQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AFhCZ;AE8EQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AFAZ;AEoDQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AFYZ;AEiDI;EAtGA,gDCkBe;EDjBf,8CCgBc;AHwClB;;AApDA;EIZI,kBAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,SAAA;AJoEJ;;AA1DA;;ECTI,kFAAA;ADwEJ;;AA1DA;EKNI,eAAA;EACA,gBAAA;ALoEJ;AKlEI;EACI,gBAAA;ALoER;;AA9DA;EMJI,aAAA;EACA,uBAAA;EACA,YAAA;EAGI,mBAAA;EFNJ,kBAAA;EG+CA,wDJHoB;EIIpB,0GAAA;AP6BJ;AMjEI;EACI,UAAA;ANmER;AMhEI;;EAEI,0BAAA;EAAA,uBAAA;EAAA,kBAAA;EACA,yCE1BiB;AR4FzB;AInFI;EACI,WAAA;EACA,kBAAA;EACA,mDDuCgB;ECtChB,oDDsCgB;AH+CxB;AOzCI;EACI,MAAA;EACA,yGATgB;APoDxB;;AArFA;ESiBQ,sEAPY;EAQZ,0BAf2B;EAgB3B,wDC3DmB;EHmBvB,wBAAA;KAAA,qBAAA;UAAA,gBAAA;EACA,+CJmDe;EIlDf,gDJkDe;EIjDf,qGAAA;EACA,4FAAA;EACA,2BAAA;EACA,wBAAA;EACA,4BAAA;EACA,yDAAA;EACA,iCAAA;UAAA,mBAAA;EAgBI,uEJmC0B;AH+DlC;AShFY;ETtBZ;ISuBgB,sEARgB;ET2F9B;AACF;AOrHI;EAEI,iEJyCuB;AH6E/B;AOxGQ;EACI,sFJiCiC;AHyE7C;;AA7GA;;ECdI,uDEjBmB;EFkBnB,qDEnBkB;EFoBlB,mBOzBoB;EP0BpB,sFAAA;ADgIJ;;AAhHA;EC5BI,4FAAA;ADgJJ;AC9II;EACI,6CERQ;EFSR,kDERc;AHwJtB;;AExFQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;AFgIZ;AEjFQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AFqIZ;AEvFQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AFqKZ;AEjHQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AFiLZ;;AEzJQ;EA/BI,8DAAA;EAAA,4EAAA;EAAA,wEAAA;EAAA,gGAAA;EAAA,wEAAA;EAAA,gGAAA;AFiMZ;AElJQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AFsMZ;AExJQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AFsOZ;AElLQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AFkPZ;;AE1NQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;AFkQZ;AEnNQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AFuQZ;AEzNQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AFuSZ;AEnPQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AFmTZ;;AAzSA;EI1DI,kBAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,SAAA;AJuWJ;;AA/SA;;EWNQ,sDAAA;EAGJ,oBAAA;EACA,sBAAA;EACA,YAAA;EACA,eAAA;AXwTJ;AWtTI;;EACI,2EAAA;AXyTR;AWtTI;;;;EAEI,wEAAA;AX0TR;AWvTI;;EACI,0BAAA;EAAA,uBAAA;EAAA,kBAAA;EACA,eAAA;AX0TR;;AYrYQ;EZmER;IWcQ,oBAAA;IACA,yFAAA;IAAA,iFAAA;IACA,kCAAA;IACA,kBAAA;EXyTN;EWvTM;IACI,gBAAA;IACA,uERtE0B;IQuE1B,6DR9EiB;IQkFb,0GACI;IAIJ,6GACI;IAYR,2CH5GW;IG6GX,+DRtGkB;EH4Y5B;EWnSM;IACI,gBAAA;IACA,uERlG0B;IQmG1B,mBAAA;EXqSV;AACF;;AataA;EFgGQ;IEhGR,gBAAA;IAAA,mBAAA;EbgaE;EWnSM;IE7HR,gBAAA;IAAA,mBAAA;EbqaE;CaraF;;AbiFA;EWmFI,aAAA;EACA,sBAAA;EACA,WAAA;AXsQJ;AWpQI;;;EAGI,WAAA;AXsQR;AYvaQ;EDqKA;IACI,aAAA;IACA,qFAAA;EXqQV;EWlQM;IACI,qBAAA;EXoQV;AACF;;AArWA;EWsGI,mBAAA;AXmQJ;AWjQI;EACI,WAAA;AXmQR;AYvbQ;EDwLA;IACI,WAAA;EXkQV;EW7PU;IAEI,iBAAA;EX8Pd;EW3OM;IAKI,gBAAA;EXyOV;EWtOM;IAII,oBAAA;EXqOV;EWlOM;IACI,cAAA;EXoOV;AACF\",\"sourcesContent\":[\"// 1. Legends are tricky to style, let's use a `div` instead.\\n// https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset#styling_with_css\\n\\n@use \\\"../../styles/tools/form-fields/box-field-elements\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-layout\\\";\\n@use \\\"../../styles/tools/form-fields/foundation\\\";\\n@use \\\"../../styles/tools/form-fields/inline-field-elements\\\";\\n@use \\\"../../styles/tools/form-fields/inline-field-layout\\\";\\n@use \\\"../../styles/tools/form-fields/variants\\\";\\n@use \\\"../../styles/tools/accessibility\\\";\\n@use \\\"../../styles/tools/reset\\\";\\n@use \\\"../../styles/tools/spacing\\\";\\n\\n// Foundation\\n.root {\\n @include foundation.root();\\n @include foundation.fieldset();\\n @include variants.visual(check);\\n}\\n\\n// 1.\\n.legend {\\n @include accessibility.hide-text();\\n}\\n\\n// 1.\\n.label,\\n.optionLabel {\\n @include foundation.label();\\n}\\n\\n.options {\\n @include reset.list();\\n}\\n\\n.option {\\n @include inline-field-layout.field($type: radio);\\n @include inline-field-elements.min-tap-target($type: radio);\\n}\\n\\n.input {\\n @include inline-field-elements.check-input($type: radio);\\n}\\n\\n.helpText,\\n.validationText {\\n @include foundation.help-text();\\n}\\n\\n.isRootRequired .label {\\n @include foundation.label-required();\\n}\\n\\n// States\\n.isRootStateInvalid {\\n @include variants.validation(invalid);\\n}\\n\\n.isRootStateValid {\\n @include variants.validation(valid);\\n}\\n\\n.isRootStateWarning {\\n @include variants.validation(warning);\\n}\\n\\n// Invisible label\\n.isLabelHidden {\\n @include accessibility.hide-text();\\n}\\n\\n// Layouts\\n.isRootLayoutVertical,\\n.isRootLayoutHorizontal {\\n @include box-field-layout.vertical($has-list: true);\\n}\\n\\n.isRootLayoutHorizontal {\\n @include box-field-layout.horizontal($has-min-tap-target: true);\\n}\\n\\n.isRootFullWidth {\\n @include box-field-layout.full-width();\\n}\\n\\n.isRootInFormLayout {\\n @include box-field-layout.in-form-layout($is-fieldset: true);\\n}\\n\",\"// 1. Don't let text alignment be affected by a parent.\\n// 2. Override foundation reset.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin root() {\\n text-align: left; // 1.\\n}\\n\\n@mixin fieldset() {\\n &:not(:last-child) {\\n margin-bottom: 0; // 2.\\n }\\n}\\n\\n@mixin label() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$label-color});\\n}\\n\\n@mixin label-required() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$required-label-color});\\n\\n &::after {\\n content: theme.$required-sign;\\n color: theme.$required-sign-color;\\n }\\n}\\n\\n@mixin help-text() {\\n font-style: theme.$help-text-font-style;\\n font-size: theme.$help-text-font-size;\\n line-height: settings.$help-text-line-height;\\n color: var(--rui-local-surrounding-text-color, #{theme.$help-text-color});\\n}\\n\",\"// 1. Due to complexity, it's easier and safer to resolve variant custom properties dynamically with\\n// a mixin. This way it's also easier to make theming adjustments to all supported modifications\\n// in one place. Generated custom properties are consumed mainly in foundation field styles (see\\n// `tools/form-fields/_foundation.scss` for more).\\n//\\n// 2. Interaction states other than `default` default to the `default` (sic!) state appearance if\\n// corresponding custom properties are not provided.\\n//\\n// 3. `.input:focus` is added just in case `:focus-within` doesn't work.\\n\\n@use \\\"sass:list\\\";\\n@use \\\"sass:map\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin _disabled-state() {\\n opacity: theme.$disabled-opacity;\\n cursor: theme.$disabled-cursor;\\n}\\n\\n// 1.\\n@mixin _generate-custom-properties($type, $variant, $state) {\\n @if not list.index(map.keys(map.get(settings.$themeable-variant-states, $type)), $variant) {\\n @error \\\"Invalid variant specified! #{$variant} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(map.get(settings.$themeable-variant-states, $type))}.\\\";\\n }\\n\\n @if not list.index(map.keys(settings.$themeable-state-properties), $state) {\\n @error \\\"Invalid state specified! #{$state} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-state-properties)}.\\\";\\n }\\n\\n $properties: map.get(settings.$themeable-state-properties, $state);\\n $infix: $type;\\n $fallback-state: \\\"default\\\";\\n\\n @if $type == \\\"validation\\\" {\\n $infix: $variant;\\n }\\n\\n @if $type != \\\"validation\\\" and $variant != \\\"default\\\" {\\n $infix: #{$type}--#{$variant};\\n }\\n\\n @if $state == \\\"checked-disabled\\\" {\\n $fallback-state: \\\"checked\\\";\\n }\\n\\n @if $state == \\\"default\\\" {\\n @each $property in $properties {\\n --rui-local-#{$property}: var(--rui-FormField--#{$infix}--#{$state}__#{$property});\\n }\\n }\\n\\n // 2.\\n @else {\\n @each $property in $properties {\\n --rui-local-#{$property}:\\n var(\\n --rui-FormField--#{$infix}--#{$state}__#{$property},\\n var(--rui-FormField--#{$infix}--#{$fallback-state}__#{$property})\\n );\\n }\\n }\\n}\\n\\n@mixin _get-theme($type, $variant) {\\n @if not list.index(map.keys(settings.$themeable-variant-states), $type) {\\n @error \\\"Invalid type specified! #{$type} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-variant-states)}.\\\";\\n }\\n\\n $themeable-states: map.get(map.get(settings.$themeable-variant-states, $type), $variant);\\n\\n @if list.index($themeable-states, \\\"hover\\\") {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"hover\\\");\\n }\\n } @else {\\n &,\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"focus\\\") {\\n // 3.\\n &:focus-within,\\n &:focus-within:hover,\\n .input:focus {\\n @include _generate-custom-properties($type, $variant, \\\"focus\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked\\\") {\\n .input:checked {\\n @include _generate-custom-properties($type, $variant, \\\"checked\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"disabled\\\") {\\n &.isRootDisabled {\\n @include _generate-custom-properties($type, $variant, \\\"disabled\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked-disabled\\\") {\\n .input:checked:disabled {\\n @include _generate-custom-properties($type, $variant, \\\"checked-disabled\\\");\\n }\\n }\\n}\\n\\n@mixin visual($type, $variant: \\\"default\\\", $has-caret: false) {\\n @include _get-theme($type, $variant);\\n\\n .input:disabled {\\n @include _disabled-state();\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"filled\\\" {\\n .input {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n }\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"outline\\\" and $has-caret {\\n .caret {\\n border-left: theme.$box-border-width theme.$box-select-caret-border-style var(--rui-local-border-color);\\n background: theme.$box-select-caret-background;\\n }\\n\\n &.isRootDisabled .caret {\\n @include _disabled-state();\\n }\\n }\\n}\\n\\n@mixin validation($variant) {\\n @include _get-theme(validation, $variant);\\n}\\n\",\"// Variant specific theme options are obtained dynamically because there is way too many of them to\\n// maintain manually. See `settings/_form-fields.scss` and `tools/form-fields/_variants.scss` for\\n// details.\\n//\\n// 1. Defaults to zero when neither `--rui-FormField--horizontal__label__padding-y` (optional) nor\\n// `--rui-local-padding-y` (handled by the `size()` mixin in case of box form fields, see\\n// `_box-field-sizes.scss`) is defined. This is useful because FormLayoutCustomField may have no\\n// size specified therefore its label should have no padding at the top.\\n\\n// Forms fields: common properties\\n$label-color: var(--rui-FormField__label__color);\\n$label-font-size: var(--rui-FormField__label__font-size);\\n$help-text-font-size: var(--rui-FormField__help-text__font-size);\\n$help-text-font-style: var(--rui-FormField__help-text__font-style);\\n$help-text-color: var(--rui-FormField__help-text__color);\\n$required-label-color: var(--rui-FormField--required__label__color);\\n$required-sign: var(--rui-FormField--required__sign);\\n$required-sign-color: var(--rui-FormField--required__sign__color);\\n\\n// Form fields: horizontal layout\\n$horizontal-label-text-align: var(--rui-FormField--horizontal__label__text-align);\\n$horizontal-label-min-width: var(--rui-FormField--horizontal__label__min-width);\\n$horizontal-label-width: var(--rui-FormField--horizontal__label__width);\\n$horizontal-label-padding-y:\\n var(\\n --rui-FormField--horizontal__label__padding-y,\\n calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y))\\n ); // 1.\\n$horizontal-label-vertical-alignment: var(--rui-FormField--horizontal__label__vertical-alignment);\\n$horizontal-field-vertical-alignment: var(--rui-FormField--horizontal__field__vertical-alignment);\\n$horizontal-full-width-label-width: var(--rui-FormField--horizontal--full-width__label__width);\\n\\n// Form fields: disabled state\\n$disabled-cursor: var(--rui-FormField--disabled__cursor);\\n$disabled-opacity: var(--rui-FormField--disabled__opacity);\\n\\n// Form fields: box fields\\n$box-border-width: var(--rui-FormField--box__border-width);\\n$box-border-radius: var(--rui-FormField--box__border-radius);\\n$box-input-width: var(--rui-FormField--box__input__width);\\n$box-input-min-width: var(--rui-FormField--box__input__min-width);\\n$box-placeholder-color: var(--rui-FormField--box__placeholder__color);\\n\\n// Form fields: box fields, component specific\\n$box-select-caret-border-style: var(--rui-FormField--box--select__caret__border-style);\\n$box-select-caret-background: var(--rui-FormField--box--select__caret__background);\\n$box-select-option-disabled-color: var(--rui-FormField--box--select__option--disabled__color);\\n\\n// Form fields: box field sizes\\n$box-sizes: (\\n small: (\\n height: var(--rui-FormField--box--small__height),\\n padding-y: var(--rui-FormField--box--small__padding-y),\\n padding-x: var(--rui-FormField--box--small__padding-x),\\n font-size: var(--rui-FormField--box--small__font-size),\\n ),\\n medium: (\\n height: var(--rui-FormField--box--medium__height),\\n padding-y: var(--rui-FormField--box--medium__padding-y),\\n padding-x: var(--rui-FormField--box--medium__padding-x),\\n font-size: var(--rui-FormField--box--medium__font-size),\\n ),\\n large: (\\n height: var(--rui-FormField--box--large__height),\\n padding-y: var(--rui-FormField--box--large__padding-y),\\n padding-x: var(--rui-FormField--box--large__padding-x),\\n font-size: var(--rui-FormField--box--large__font-size),\\n ),\\n);\\n\\n// Form fields: check fields\\n$check-input-size: var(--rui-FormField--check__input__size);\\n$check-input-border-width: var(--rui-FormField--check__input__border-width);\\n$check-input-focus-box-shadow: var(--rui-FormField--check__input--focus__box-shadow);\\n$check-tap-target-size: var(--rui-FormField--check__tap-target-size);\\n\\n// Form fields: check fields, component specific\\n$check-input-checkbox-border-radius: var(--rui-FormField--check__input--checkbox__border-radius);\\n$check-input-checkbox-checked-background-image: var(--rui-FormField--check__input--checkbox--checked__background-image);\\n$check-input-radio-border-radius: var(--rui-FormField--check__input--radio__border-radius);\\n$check-input-radio-checked-background-image: var(--rui-FormField--check__input--radio--checked__background-image);\\n$check-input-toggle-width: var(--rui-FormField--check__input--toggle__width);\\n$check-input-toggle-border-radius: var(--rui-FormField--check__input--toggle__border-radius);\\n$check-input-toggle-background-size: var(--rui-FormField--check__input--toggle__background-size);\\n$check-input-toggle-default-background-image: var(--rui-FormField--check__input--toggle--default__background-image);\\n$check-input-toggle-default-background-position:\\n var(\\n --rui-FormField--check__input--toggle--default__background-position\\n );\\n$check-input-toggle-checked-background-image: var(--rui-FormField--check__input--toggle--checked__background-image);\\n$check-input-toggle-checked-background-position:\\n var(\\n --rui-FormField--check__input--toggle--checked__background-position\\n );\\n\",\"// 1. Screen readers only, inspired by Bootstrap.\\n// https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss\\n//\\n// 2. Make tap target big enough to improve accessibility on touch screens.\\n\\n@use \\\"../theme/accessibility\\\" as theme;\\n\\n// 1.\\n@mixin hide-text() {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n@mixin unhide-text() {\\n position: unset;\\n width: unset;\\n height: unset;\\n overflow: unset;\\n clip: unset;\\n white-space: unset;\\n}\\n\\n// 2.\\n@mixin min-tap-target($size: theme.$tap-target-size, $center: true) {\\n position: relative;\\n\\n &::before {\\n content: \\\"\\\";\\n position: absolute;\\n width: $size;\\n height: $size;\\n\\n @if $center {\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n }\\n }\\n}\\n\\n@mixin focus-ring() {\\n &:focus-visible {\\n outline: theme.$focus-outline;\\n outline-offset: theme.$focus-outline-offset;\\n box-shadow: theme.$focus-box-shadow;\\n }\\n}\\n\",\"@mixin button() {\\n appearance: none;\\n display: inline-flex;\\n flex: none;\\n align-items: center;\\n justify-content: center;\\n padding: 0;\\n border: 0;\\n border-radius: 0;\\n background: none;\\n box-shadow: none;\\n cursor: pointer;\\n}\\n\\n@mixin link() {\\n text-decoration: none;\\n color: inherit;\\n\\n &:hover,\\n &:focus {\\n text-decoration: none;\\n }\\n}\\n\\n@mixin list() {\\n padding-left: 0;\\n list-style: none;\\n\\n &:not(:last-child) {\\n margin-bottom: 0;\\n }\\n}\\n\",\"// 1. Inline form fields and fields with vertical layout take up as much space as they need. Labels\\n// do not wrap until forced by container of the field. Min and max limits make extra long words\\n// break if necessary.\\n//\\n// 2. Retain multiline field layout and make the field fit parent layout using `inline-grid`\\n// (`inline-flex` cannot do the job).\\n//\\n// 3. Make fields just as wide as necessary. Fields should be interactive only where their visible\\n// content is.\\n\\n@use \\\"../../settings/forms\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../theme/typography\\\";\\n@use \\\"../breakpoint\\\";\\n\\n@mixin root() {\\n display: inline-flex; // 1.\\n flex-wrap: wrap;\\n align-items: baseline;\\n width: min-content;\\n min-width: 0; // 1.\\n max-width: 100%; // 1.\\n\\n .helpText,\\n .validationText {\\n padding-top: settings.$vertical-inner-gap;\\n }\\n}\\n\\n@mixin field($type) {\\n display: flex; // 1.\\n align-items: flex-start;\\n min-width: 0; // 1.\\n\\n @if $type == \\\"radio\\\" {\\n flex-direction: row;\\n } @else {\\n flex-direction: row-reverse;\\n justify-content: flex-end;\\n }\\n\\n .input {\\n flex: none;\\n }\\n\\n .label,\\n .optionLabel {\\n width: max-content; // 1.\\n margin-left: settings.$inline-field-inner-gap;\\n }\\n}\\n\\n@mixin has-label-before() {\\n .field {\\n flex-direction: row;\\n }\\n\\n .label,\\n .optionLabel {\\n margin-right: settings.$inline-field-inner-gap;\\n margin-left: 0;\\n }\\n}\\n\\n@mixin in-form-layout() {\\n display: inline-grid; // 2.\\n justify-self: start; // 3.\\n width: auto; // 2., 3.\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n &.isRootLayoutHorizontal {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n\\n @supports not (grid-template-columns: subgrid) {\\n display: contents;\\n }\\n }\\n\\n &.isRootLayoutHorizontal .field {\\n display: contents;\\n }\\n\\n &.isRootLayoutHorizontal .label {\\n grid-column-start: 1;\\n width: auto;\\n padding-right: settings.$horizontal-inner-gap;\\n margin-left: 0;\\n text-align: theme.$horizontal-label-text-align;\\n }\\n\\n &.isRootLayoutHorizontal .input,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-column-start: 2;\\n }\\n\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n width: auto;\\n max-width: 100%;\\n\\n @supports not (grid-template-columns: subgrid) {\\n margin-top: calc(-1 * var(--rui-FormLayout__row-gap));\\n }\\n }\\n\\n &.isRootLayoutHorizontal.hasRootLabelBefore .label {\\n margin-right: 0;\\n }\\n }\\n}\\n\",\"// Custom input styling inspired by Bootstrap 5.\\n//\\n// 1. Keep themed appearance for print.\\n//\\n// 2. Make tap target of inline fields big enough to improve their accessibility on touch screens.\\n//\\n// 3. Reset extra space previously added to symmetrically pad the field in FormLayout context as\\n// there already is a sufficient row gap provided by FormLayout.\\n//\\n// 4. Destroy tap target when subgrid is not supported.\\n\\n@use \\\"../../theme/typography\\\";\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../tools/accessibility\\\";\\n@use \\\"../transition\\\";\\n\\n@mixin check-input($type) {\\n @include transition.add((background-color, background-position, box-shadow));\\n\\n appearance: none;\\n width: theme.$check-input-size;\\n height: theme.$check-input-size;\\n margin-top: calc((1rem * #{typography.$line-height-base} - #{theme.$check-input-size}) / 2);\\n border: theme.$check-input-border-width solid var(--rui-local-border-color);\\n background-position: center;\\n background-size: contain;\\n background-repeat: no-repeat;\\n background-color: var(--rui-local-check-background-color);\\n color-adjust: exact; // 1.\\n\\n &:focus,\\n &:checked:focus {\\n box-shadow: theme.$check-input-focus-box-shadow;\\n }\\n\\n @if $type == \\\"checkbox\\\" {\\n border-radius: theme.$check-input-checkbox-border-radius;\\n\\n &:checked {\\n background-image: theme.$check-input-checkbox-checked-background-image;\\n }\\n }\\n\\n @if $type == \\\"radio\\\" {\\n border-radius: theme.$check-input-radio-border-radius;\\n\\n &:checked {\\n background-image: theme.$check-input-radio-checked-background-image;\\n }\\n }\\n\\n @if $type == \\\"toggle\\\" {\\n width: theme.$check-input-toggle-width;\\n border-radius: theme.$check-input-toggle-border-radius;\\n background-image: theme.$check-input-toggle-default-background-image;\\n background-position: theme.$check-input-toggle-default-background-position;\\n background-size: theme.$check-input-toggle-background-size;\\n\\n &:checked {\\n background-image: theme.$check-input-toggle-checked-background-image;\\n background-position: theme.$check-input-toggle-checked-background-position;\\n }\\n }\\n}\\n\\n// 2.\\n@mixin min-tap-target($type) {\\n $input-width: theme.$check-input-size;\\n\\n @if $type == \\\"toggle\\\" {\\n $input-width: theme.$check-input-toggle-width;\\n }\\n\\n $tap-target-offset: calc((#{$input-width} - #{theme.$check-tap-target-size}) / 2);\\n\\n @include accessibility.min-tap-target($size: theme.$check-tap-target-size, $center: false);\\n\\n min-height: theme.$check-tap-target-size;\\n padding-top: calc((#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base}) / 2);\\n\\n &::before {\\n top: 0;\\n left: $tap-target-offset;\\n }\\n\\n @if $type == \\\"checkbox\\\" or $type == \\\"toggle\\\" {\\n &.hasRootLabelBefore::before {\\n right: $tap-target-offset;\\n left: auto;\\n }\\n\\n // 3.\\n &.isRootInFormLayout {\\n min-height: 0;\\n padding-top: 0;\\n\\n &::before {\\n top: calc((1rem * #{typography.$line-height-base} - #{theme.$check-tap-target-size}) / 2);\\n }\\n }\\n\\n &.isRootInFormLayout.isRootLayoutHorizontal::before {\\n grid-column-start: 2;\\n\\n // 4.\\n @supports not (grid-template-columns: subgrid) {\\n display: none;\\n }\\n }\\n }\\n}\\n\",\"// 1. Input `line-height` is specified in `rem` so inputs do not break when their font size gets\\n// changed later.\\n\\n@use \\\"sass:map\\\";\\n@use \\\"../theme/typography\\\";\\n@use \\\"../tools/spacing\\\";\\n\\n$help-text-line-height: 1.2rem;\\n\\n$vertical-inner-gap: spacing.of(1);\\n$vertical-inner-gap-large: spacing.of(2);\\n$vertical-outer-spacing: spacing.of(2);\\n\\n$horizontal-inner-gap: spacing.of(2);\\n$horizontal-outer-spacing: spacing.of(2);\\n\\n$box-input-font-family: typography.$font-family-base;\\n$box-input-font-weight: map.get(typography.$font-weight-values, default);\\n$box-input-line-height: 1.5rem; // 1.\\n$box-field-caret-size: 2.25rem;\\n$box-field-input-number-arrows-width: 1.5rem;\\n$box-field-bottom-line-height: 2px;\\n\\n$inline-field-inner-gap: spacing.of(2);\\n\\n$themeable-variant-states: (\\n box: (\\n filled: (default, hover, focus, disabled),\\n outline: (default, hover, focus, disabled),\\n ),\\n check: (\\n default: (default, checked, disabled, checked-disabled),\\n ),\\n custom: (\\n default: (default, disabled),\\n ),\\n validation: (\\n invalid: (default, checked, disabled, checked-disabled),\\n valid: (default, checked, disabled, checked-disabled),\\n warning: (default, checked, disabled, checked-disabled),\\n ),\\n);\\n\\n$themeable-state-properties: (\\n default: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n hover: (color, border-color, background, box-shadow),\\n focus: (color, border-color, background, check-background-color, box-shadow),\\n checked: (border-color, check-background-color),\\n disabled: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n checked-disabled: (border-color, check-background-color),\\n);\\n\",\"@use \\\"sass:list\\\";\\n@use \\\"sass:meta\\\";\\n@use \\\"sass:string\\\";\\n@use \\\"../settings/animations\\\";\\n\\n$_allowed-transitions: (\\n border-color,\\n background-color,\\n background-position,\\n box-shadow,\\n color,\\n opacity,\\n transform,\\n visibility,\\n);\\n\\n$_reduced-motion-disallowed-transitions: (transform);\\n\\n@function _validate-transitions($properties) {\\n @each $property in $properties {\\n $is-allowed: list.index($_allowed-transitions, $property);\\n\\n @if not $is-allowed {\\n @return false;\\n }\\n }\\n\\n @return true;\\n}\\n\\n@function _reduce-motion-transitions($properties) {\\n $reduced-properties: ();\\n $separator: list.separator($properties);\\n\\n @each $property in $properties {\\n @if not list.index($_reduced-motion-disallowed-transitions, $property) {\\n $reduced-properties: list.append($reduced-properties, $property, $separator: $separator);\\n }\\n }\\n\\n @return $reduced-properties;\\n}\\n\\n@mixin add($properties, $duration: 150ms) {\\n $property-list: ();\\n\\n @if meta.type-of($properties) != \\\"string\\\" and meta.type-of($properties) != \\\"list\\\" {\\n @error \\\"Transition properties must be a string or a Sass list, `#{$properties}` given.\\\";\\n }\\n\\n $property-list: list.join($property-list, $properties);\\n\\n @if not _validate-transitions($property-list) {\\n @error \\\"Only [#{$_allowed-transitions}] transitions are allowed, [#{$properties}] given.\\\";\\n } @else {\\n $reduced-property-list: _reduce-motion-transitions($property-list);\\n\\n transition-property: $property-list;\\n transition-duration: $duration;\\n transition-timing-function: animations.$standard-timing-function;\\n\\n @if list.length($reduced-property-list) > 0 {\\n @media (prefers-reduced-motion: reduce) {\\n transition-property: $reduced-property-list;\\n }\\n }\\n }\\n}\\n\",\"$standard-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n\",\"// 1. Inline form fields and fields with vertical layout take up as much space as they need. Labels\\n// do not wrap until forced by container of the field. Min and max limits make extra long words\\n// break if necessary.\\n//\\n// 2. Form fields in horizontal layout also take up only as much space as they need. Labels do not\\n// wrap until label width limit is reached (50 % of available horizontal space by default).\\n//\\n// 3. Help texts and validation messages are aligned below input and wrapped. Their width is always\\n// limited to the width of the input field so they don't shift adjacent elements when they show\\n// up. This applies unless the field is inside FormLayout (see 10).\\n//\\n// 4. Define grid spacing as padding of child elements because grid areas make row and column gaps\\n// show up even when not necessary.\\n//\\n// 5. When input size is small and form field layout is set to horizontal, expand help text and\\n// validation message over full form field width to improve their readability. Otherwise the\\n// text would be packed into a very narrow column and hard to read. To prevent help text and\\n// validation message from growing the layout more than necessary (ie. the size without\\n// help/validation text), `min-content` grid sizing must be used along with disabled wrapping of\\n// label.\\n//\\n// 6. Full-width horizontal form fields prefer not wrapping the label until a limit is reached\\n// (50 % of available horizontal space by default, same as in 2.).\\n//\\n// 7. Justify inputs to `start` in horizontal layouts to fix positioning issues with Select Fields.\\n// Reverted for full-width fields.\\n//\\n// 8. Grid settings are inherited from horizontal FormLayout and applied using `subgrid`.\\n// A fallback is supplied to browsers that don't support `subgrid` yet.\\n//\\n// Chrome 117+ supports `subgrid` but it doesn't work for `<fieldset>`. This is why we always\\n// use the fallback for `<fieldset>`.\\n//\\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1473242\\n// https://github.com/react-ui-org/react-ui/issues/232\\n//\\n// 9. Help texts and validation messages can take up full width of FormLayout. There is no reason\\n// to make them wrap as they cannot break layout of FormLayout.\\n//\\n// 10. Visually align label to input baseline. Achieved with `padding-top` and `padding-bottom` due\\n// to two reasons:\\n//\\n// * `align-items: baseline` doesn't work for blank text inputs in Safari. See\\n// https://bugs.webkit.org/show_bug.cgi?id=142968 and\\n// https://github.com/react-ui-org/react-ui/issues/265.\\n//\\n// * `align-items: baseline` doesn't allow subsequent vertical centering of tall inputs and/or\\n// multiline labels (see `theme.$horizontal-label-vertical-alignment` and\\n// `theme.$horizontal-field-vertical-alignment`).\\n//\\n// 11. Reset `width` previously set by inline field layout (see `_inline-field-layout.scss`).\\n//\\n// 12. Make fields just as wide as necessary. Fields should be interactive only where their visible\\n// content is.\\n//\\n// 13. Label and field are vertically aligned to top (start) by default (see 10.). Vertical\\n// alignment of each block can be changed by theme configuration.\\n\\n@use \\\"../../settings/forms\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../theme/typography\\\";\\n@use \\\"../breakpoint\\\";\\n\\n@mixin vertical($has-list: false) {\\n @if $has-list {\\n --rui-local-vertical-gap: #{settings.$vertical-inner-gap-large};\\n }\\n\\n display: inline-flex; // 1.\\n flex-direction: column;\\n min-width: 0; // 1.\\n max-width: 100%; // 1.\\n\\n .label {\\n padding-bottom: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .helpText,\\n .validationText {\\n padding-top: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .field {\\n width: min-content; // 3.\\n max-width: 100%; // 3.\\n }\\n}\\n\\n@mixin horizontal($has-min-tap-target: false) {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n display: inline-grid; // 2.\\n grid-template-columns: theme.$horizontal-label-width min-content; // 2.\\n grid-template-areas: \\\"label field\\\";\\n align-items: start; // 10., 13.\\n\\n .label {\\n grid-area: label;\\n align-self: theme.$horizontal-label-vertical-alignment; // 13.\\n min-width: theme.$horizontal-label-min-width;\\n\\n // 10.\\n @if $has-min-tap-target {\\n padding-top:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n padding-bottom:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n }\\n\\n // 10., 13.\\n @else {\\n padding-top: #{theme.$horizontal-label-padding-y};\\n padding-bottom: #{theme.$horizontal-label-padding-y};\\n }\\n\\n padding-right: settings.$horizontal-inner-gap; // 4.\\n text-align: theme.$horizontal-label-text-align;\\n }\\n\\n .field {\\n grid-area: field;\\n align-self: theme.$horizontal-field-vertical-alignment; // 13.\\n justify-self: start; // 7.\\n }\\n }\\n}\\n\\n@mixin horizontal-with-small-input() {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n grid-template-columns: min-content min-content; // 5.\\n grid-template-areas:\\n \\\"label field\\\"\\n \\\"helptext helptext\\\"\\n \\\"validationtext validationtext\\\"; // 5.\\n\\n .label {\\n white-space: nowrap; // 5.\\n }\\n\\n .field {\\n display: contents; // 5.\\n }\\n\\n .inputContainer {\\n grid-area: field; // 5.\\n }\\n\\n .helpText {\\n grid-area: helptext; // 5.\\n }\\n\\n .validationText {\\n grid-area: validationtext; // 5.\\n }\\n }\\n}\\n\\n@mixin full-width() {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n\\n .field,\\n .inputContainer,\\n .input {\\n width: 100%;\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n &.isRootLayoutHorizontal {\\n display: grid;\\n grid-template-columns: theme.$horizontal-full-width-label-width 1fr; // 6.\\n }\\n\\n &.isRootLayoutHorizontal .field {\\n justify-self: stretch; // 7.\\n }\\n }\\n}\\n\\n@mixin in-form-layout($is-fieldset: false) {\\n justify-self: start; // 12.\\n\\n .field {\\n width: auto; // 9.\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n .optionLabel {\\n width: auto; // 11.\\n }\\n\\n // 8.\\n @if $is-fieldset {\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n display: contents;\\n }\\n } @else {\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n\\n @supports not (grid-template-columns: subgrid) {\\n display: contents;\\n }\\n }\\n\\n &.isRootLayoutHorizontal.isRootFullWidth {\\n grid-template-columns: subgrid;\\n }\\n }\\n\\n &.isRootLayoutHorizontal .label,\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-area: unset; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-column-start: 2; // 8.\\n }\\n\\n &.isRootLayoutHorizontal.hasRootSmallInput .field {\\n display: block; // 5.\\n }\\n }\\n}\\n\",\"@use \\\"sass:map\\\";\\n@use \\\"../settings/breakpoints\\\";\\n\\n@mixin up($breakpoint) {\\n @if not map.has-key(breakpoints.$values, $breakpoint) {\\n @error \\\"Invalid breakpoint specified! #{$breakpoint} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(breakpoints.$values)}\\\";\\n } @else if map.get(breakpoints.$values, $breakpoint) == 0 {\\n @content;\\n } @else {\\n @media (min-width: map.get(breakpoints.$values, $breakpoint)) {\\n @content;\\n }\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"Radio__root__A3RXzYdi\",\n\t\"input\": \"Radio__input__sQTEZYVc\",\n\t\"isRootDisabled\": \"Radio__isRootDisabled__ZPElhkir\",\n\t\"legend\": \"Radio__legend__Z4e1dJQi\",\n\t\"label\": \"Radio__label__f35zvSUK\",\n\t\"optionLabel\": \"Radio__optionLabel__iPsUuRGk\",\n\t\"options\": \"Radio__options__57qvbidB\",\n\t\"option\": \"Radio__option__SDhGUiiD\",\n\t\"helpText\": \"Radio__helpText__Y9I7w+bM\",\n\t\"validationText\": \"Radio__validationText__5UE2Hw-Y\",\n\t\"isRootRequired\": \"Radio__isRootRequired__jvsxk3AM\",\n\t\"isRootStateInvalid\": \"Radio__isRootStateInvalid__AI6K0sYH\",\n\t\"isRootStateValid\": \"Radio__isRootStateValid__VRY0vq5f\",\n\t\"isRootStateWarning\": \"Radio__isRootStateWarning__fQm9KZZr\",\n\t\"isLabelHidden\": \"Radio__isLabelHidden__Bp0Pg8M8\",\n\t\"isRootLayoutVertical\": \"Radio__isRootLayoutVertical__NjfDP4F2\",\n\t\"isRootLayoutHorizontal\": \"Radio__isRootLayoutHorizontal__5K0Th3NA\",\n\t\"field\": \"Radio__field__zeis+79s\",\n\t\"isRootFullWidth\": \"Radio__isRootFullWidth__e0bpfhAX\",\n\t\"inputContainer\": \"Radio__inputContainer__89ci0hgD\",\n\t\"isRootInFormLayout\": \"Radio__isRootInFormLayout__eVw9Z+6E\",\n\t\"hasRootSmallInput\": \"Radio__hasRootSmallInput__rJWsKGxr\"\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vc3JjL2xpYi9jb21wb25lbnRzL1JhZGlvL1JhZGlvLnNjc3MuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvbGliL2NvbXBvbmVudHMvUmFkaW8vUmFkaW8uc2Nzcz9hODA0Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLlJhZGlvX19yb290X19BM1JYellkaSB7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG4uUmFkaW9fX3Jvb3RfX0EzUlh6WWRpOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG59XFxuLlJhZGlvX19yb290X19BM1JYellkaSwgLlJhZGlvX19yb290X19BM1JYellkaTpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2stLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2stLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5SYWRpb19fcm9vdF9fQTNSWHpZZGkgLlJhZGlvX19pbnB1dF9fc1FURVpZVmM6Y2hlY2tlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uUmFkaW9fX3Jvb3RfX0EzUlh6WWRpLlJhZGlvX19pc1Jvb3REaXNhYmxlZF9fWlBFbGhraXIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2stLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2stLWRpc2FibGVkX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2stLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2stLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2stLWRpc2FibGVkX19zdXJyb3VuZGluZy10ZXh0LWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uUmFkaW9fX3Jvb3RfX0EzUlh6WWRpIC5SYWRpb19faW5wdXRfX3NRVEVaWVZjOmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tY2hlY2tlZC1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1jaGVjay0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2stLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlJhZGlvX19yb290X19BM1JYellkaSAuUmFkaW9fX2lucHV0X19zUVRFWllWYzpkaXNhYmxlZCB7XFxuICBvcGFjaXR5OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fb3BhY2l0eSk7XFxuICBjdXJzb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19jdXJzb3IpO1xcbn1cXG5cXG4uUmFkaW9fX2xlZ2VuZF9fWjRlMWRKUWkge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgd2lkdGg6IDFweDtcXG4gIGhlaWdodDogMXB4O1xcbiAgcGFkZGluZzogMDtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIGJvcmRlcjogMDtcXG59XFxuXFxuLlJhZGlvX19sYWJlbF9fZjM1enZTVUssXFxuLlJhZGlvX19vcHRpb25MYWJlbF9faVBzVXVSR2sge1xcbiAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCB2YXIoLS1ydWktRm9ybUZpZWxkX19sYWJlbF9fY29sb3IpKTtcXG59XFxuXFxuLlJhZGlvX19vcHRpb25zX181N3F2YmlkQiB7XFxuICBwYWRkaW5nLWxlZnQ6IDA7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbn1cXG4uUmFkaW9fX29wdGlvbnNfXzU3cXZiaWRCOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG59XFxuXFxuLlJhZGlvX19vcHRpb25fX1NEaEdVaWlEIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcXG4gIG1pbi13aWR0aDogMDtcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBtaW4taGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19fdGFwLXRhcmdldC1zaXplKTtcXG4gIHBhZGRpbmctdG9wOiBjYWxjKCh2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19fdGFwLXRhcmdldC1zaXplKSAtIDFyZW0gKiB2YXIoLS1ydWktbGluZS1oZWlnaHQtYmFzZSkpIC8gMik7XFxufVxcbi5SYWRpb19fb3B0aW9uX19TRGhHVWlpRCAuUmFkaW9fX2lucHV0X19zUVRFWllWYyB7XFxuICBmbGV4OiBub25lO1xcbn1cXG4uUmFkaW9fX29wdGlvbl9fU0RoR1VpaUQgLlJhZGlvX19sYWJlbF9fZjM1enZTVUssXFxuLlJhZGlvX19vcHRpb25fX1NEaEdVaWlEIC5SYWRpb19fb3B0aW9uTGFiZWxfX2lQc1V1UkdrIHtcXG4gIHdpZHRoOiAtd2Via2l0LW1heC1jb250ZW50O1xcbiAgd2lkdGg6IC1tb3otbWF4LWNvbnRlbnQ7XFxuICB3aWR0aDogbWF4LWNvbnRlbnQ7XFxuICBtYXJnaW4tbGVmdDogdmFyKC0tcnVpLWRpbWVuc2lvbi1zcGFjZS0yKTtcXG59XFxuLlJhZGlvX19vcHRpb25fX1NEaEdVaWlEOjpiZWZvcmUge1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB3aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX3RhcC10YXJnZXQtc2l6ZSk7XFxuICBoZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX190YXAtdGFyZ2V0LXNpemUpO1xcbn1cXG4uUmFkaW9fX29wdGlvbl9fU0RoR1VpaUQ6OmJlZm9yZSB7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKCh2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXRfX3NpemUpIC0gdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX3RhcC10YXJnZXQtc2l6ZSkpIC8gMik7XFxufVxcblxcbi5SYWRpb19faW5wdXRfX3NRVEVaWVZjIHtcXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJhY2tncm91bmQtcG9zaXRpb24sIGJveC1zaGFkb3c7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dF9fc2l6ZSk7XFxuICBoZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dF9fc2l6ZSk7XFxuICBtYXJnaW4tdG9wOiBjYWxjKCgxcmVtICogdmFyKC0tcnVpLWxpbmUtaGVpZ2h0LWJhc2UpIC0gdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0X19zaXplKSkgLyAyKTtcXG4gIGJvcmRlcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0X19ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3IpO1xcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcXG4gICAgICAgICAgY29sb3ItYWRqdXN0OiBleGFjdDtcXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tcmFkaW9fX2JvcmRlci1yYWRpdXMpO1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xcbiAgLlJhZGlvX19pbnB1dF9fc1FURVpZVmMge1xcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBiYWNrZ3JvdW5kLXBvc2l0aW9uLCBib3gtc2hhZG93O1xcbiAgfVxcbn1cXG4uUmFkaW9fX2lucHV0X19zUVRFWllWYzpmb2N1cywgLlJhZGlvX19pbnB1dF9fc1FURVpZVmM6Y2hlY2tlZDpmb2N1cyB7XFxuICBib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLWZvY3VzX19ib3gtc2hhZG93KTtcXG59XFxuLlJhZGlvX19pbnB1dF9fc1FURVpZVmM6Y2hlY2tlZCB7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXJhZGlvLS1jaGVja2VkX19iYWNrZ3JvdW5kLWltYWdlKTtcXG59XFxuXFxuLlJhZGlvX19oZWxwVGV4dF9fWTlJN3dcXFxcK2JNLFxcbi5SYWRpb19fdmFsaWRhdGlvblRleHRfXzVVRTJIdy1ZIHtcXG4gIGZvbnQtc3R5bGU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fZm9udC1zdHlsZSk7XFxuICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fZm9udC1zaXplKTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjJyZW07XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fY29sb3IpKTtcXG59XFxuXFxuLlJhZGlvX19pc1Jvb3RSZXF1aXJlZF9fanZzeGszQU0gLlJhZGlvX19sYWJlbF9fZjM1enZTVUsge1xcbiAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fbGFiZWxfX2NvbG9yKSk7XFxufVxcbi5SYWRpb19faXNSb290UmVxdWlyZWRfX2p2c3hrM0FNIC5SYWRpb19fbGFiZWxfX2YzNXp2U1VLOjphZnRlciB7XFxuICBjb250ZW50OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fc2lnbik7XFxuICBjb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX3NpZ25fX2NvbG9yKTtcXG59XFxuXFxuLlJhZGlvX19pc1Jvb3RTdGF0ZUludmFsaWRfX0FJNkswc1lILCAuUmFkaW9fX2lzUm9vdFN0YXRlSW52YWxpZF9fQUk2SzBzWUg6aG92ZXIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JhY2tncm91bmQpO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3gtc2hhZG93KTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpO1xcbn1cXG4uUmFkaW9fX2lzUm9vdFN0YXRlSW52YWxpZF9fQUk2SzBzWUggLlJhZGlvX19pbnB1dF9fc1FURVpZVmM6Y2hlY2tlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5SYWRpb19faXNSb290U3RhdGVJbnZhbGlkX19BSTZLMHNZSC5SYWRpb19faXNSb290RGlzYWJsZWRfX1pQRWxoa2lyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlJhZGlvX19pc1Jvb3RTdGF0ZUludmFsaWRfX0FJNkswc1lIIC5SYWRpb19faW5wdXRfX3NRVEVaWVZjOmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG5cXG4uUmFkaW9fX2lzUm9vdFN0YXRlVmFsaWRfX1ZSWTB2cTVmLCAuUmFkaW9fX2lzUm9vdFN0YXRlVmFsaWRfX1ZSWTB2cTVmOmhvdmVyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3gtc2hhZG93KTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKTtcXG59XFxuLlJhZGlvX19pc1Jvb3RTdGF0ZVZhbGlkX19WUlkwdnE1ZiAuUmFkaW9fX2lucHV0X19zUVRFWllWYzpjaGVja2VkIHtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5SYWRpb19faXNSb290U3RhdGVWYWxpZF9fVlJZMHZxNWYuUmFkaW9fX2lzUm9vdERpc2FibGVkX19aUEVsaGtpciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5SYWRpb19faXNSb290U3RhdGVWYWxpZF9fVlJZMHZxNWYgLlJhZGlvX19pbnB1dF9fc1FURVpZVmM6Y2hlY2tlZDpkaXNhYmxlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG5cXG4uUmFkaW9fX2lzUm9vdFN0YXRlV2FybmluZ19fZlFtOUtaWnIsIC5SYWRpb19faXNSb290U3RhdGVXYXJuaW5nX19mUW05S1pacjpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5SYWRpb19faXNSb290U3RhdGVXYXJuaW5nX19mUW05S1paciAuUmFkaW9fX2lucHV0X19zUVRFWllWYzpjaGVja2VkIHtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlJhZGlvX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX2ZRbTlLWlpyLlJhZGlvX19pc1Jvb3REaXNhYmxlZF9fWlBFbGhraXIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uUmFkaW9fX2lzUm9vdFN0YXRlV2FybmluZ19fZlFtOUtaWnIgLlJhZGlvX19pbnB1dF9fc1FURVpZVmM6Y2hlY2tlZDpkaXNhYmxlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWQtZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcblxcbi5SYWRpb19faXNMYWJlbEhpZGRlbl9fQnAwUGc4TTgge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgd2lkdGg6IDFweDtcXG4gIGhlaWdodDogMXB4O1xcbiAgcGFkZGluZzogMDtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIGJvcmRlcjogMDtcXG59XFxuXFxuLlJhZGlvX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fTmpmRFA0RjIsXFxuLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSB7XFxuICAtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXA6IHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMik7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBtaW4td2lkdGg6IDA7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbi5SYWRpb19faXNSb290TGF5b3V0VmVydGljYWxfX05qZkRQNEYyIC5SYWRpb19fbGFiZWxfX2YzNXp2U1VLLFxcbi5SYWRpb19faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fNUswVGgzTkEgLlJhZGlvX19sYWJlbF9fZjM1enZTVUsge1xcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXAsIHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMSkpO1xcbn1cXG4uUmFkaW9fX2lzUm9vdExheW91dFZlcnRpY2FsX19OamZEUDRGMiAuUmFkaW9fX2hlbHBUZXh0X19ZOUk3d1xcXFwrYk0sXFxuLlJhZGlvX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fTmpmRFA0RjIgLlJhZGlvX192YWxpZGF0aW9uVGV4dF9fNVVFMkh3LVksXFxuLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSAuUmFkaW9fX2hlbHBUZXh0X19ZOUk3d1xcXFwrYk0sXFxuLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSAuUmFkaW9fX3ZhbGlkYXRpb25UZXh0X181VUUySHctWSB7XFxuICBwYWRkaW5nLXRvcDogdmFyKC0tcnVpLWxvY2FsLXZlcnRpY2FsLWdhcCwgdmFyKC0tcnVpLWRpbWVuc2lvbi1zcGFjZS0xKSk7XFxufVxcbi5SYWRpb19faXNSb290TGF5b3V0VmVydGljYWxfX05qZkRQNEYyIC5SYWRpb19fZmllbGRfX3plaXNcXFxcKzc5cyxcXG4uUmFkaW9fX2lzUm9vdExheW91dEhvcml6b250YWxfXzVLMFRoM05BIC5SYWRpb19fZmllbGRfX3plaXNcXFxcKzc5cyB7XFxuICB3aWR0aDogLXdlYmtpdC1taW4tY29udGVudDtcXG4gIHdpZHRoOiAtbW96LW1pbi1jb250ZW50O1xcbiAgd2lkdGg6IG1pbi1jb250ZW50O1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX193aWR0aCkgLXdlYmtpdC1taW4tY29udGVudDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fd2lkdGgpIG1pbi1jb250ZW50O1xcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcXFwibGFiZWwgZmllbGRcXFwiO1xcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XFxuICB9XFxuICAuUmFkaW9fX2lzUm9vdExheW91dEhvcml6b250YWxfXzVLMFRoM05BIC5SYWRpb19fbGFiZWxfX2YzNXp2U1VLIHtcXG4gICAgZ3JpZC1hcmVhOiBsYWJlbDtcXG4gICAgYWxpZ24tc2VsZjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuICAgIG1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX21pbi13aWR0aCk7XFxuICAgIHBhZGRpbmctdG9wOiBjYWxjKCh2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19fdGFwLXRhcmdldC1zaXplKSAtIDFyZW0gKiB2YXIoLS1ydWktbGluZS1oZWlnaHQtYmFzZSkpIC8gMik7XFxuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCh2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19fdGFwLXRhcmdldC1zaXplKSAtIDFyZW0gKiB2YXIoLS1ydWktbGluZS1oZWlnaHQtYmFzZSkpIC8gMik7XFxuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMik7XFxuICAgIHRleHQtYWxpZ246IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX190ZXh0LWFsaWduKTtcXG4gIH1cXG4gIC5SYWRpb19faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fNUswVGgzTkEgLlJhZGlvX19maWVsZF9femVpc1xcXFwrNzlzIHtcXG4gICAgZ3JpZC1hcmVhOiBmaWVsZDtcXG4gICAgYWxpZ24tc2VsZjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fZmllbGRfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XFxuICAuUmFkaW9fX2lzUm9vdExheW91dEhvcml6b250YWxfXzVLMFRoM05BIC5SYWRpb19fbGFiZWxfX2YzNXp2U1VLIHtcXG4gICAgLW1zLWdyaWQtcm93OiAxO1xcbiAgICAtbXMtZ3JpZC1jb2x1bW46IDE7XFxuICB9XFxuICAuUmFkaW9fX2lzUm9vdExheW91dEhvcml6b250YWxfXzVLMFRoM05BIC5SYWRpb19fZmllbGRfX3plaXNcXFxcKzc5cyB7XFxuICAgIC1tcy1ncmlkLXJvdzogMTtcXG4gICAgLW1zLWdyaWQtY29sdW1uOiAyO1xcbiAgfVxcbn1cXG5cXG4uUmFkaW9fX2lzUm9vdEZ1bGxXaWR0aF9fZTBicGZoQVgge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLlJhZGlvX19pc1Jvb3RGdWxsV2lkdGhfX2UwYnBmaEFYIC5SYWRpb19fZmllbGRfX3plaXNcXFxcKzc5cyxcXG4uUmFkaW9fX2lzUm9vdEZ1bGxXaWR0aF9fZTBicGZoQVggLlJhZGlvX19pbnB1dENvbnRhaW5lcl9fODljaTBoZ0QsXFxuLlJhZGlvX19pc1Jvb3RGdWxsV2lkdGhfX2UwYnBmaEFYIC5SYWRpb19faW5wdXRfX3NRVEVaWVZjIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlJhZGlvX19pc1Jvb3RGdWxsV2lkdGhfX2UwYnBmaEFYLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSB7XFxuICAgIGRpc3BsYXk6IGdyaWQ7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbC0tZnVsbC13aWR0aF9fbGFiZWxfX3dpZHRoKSAxZnI7XFxuICB9XFxuICAuUmFkaW9fX2lzUm9vdEZ1bGxXaWR0aF9fZTBicGZoQVguUmFkaW9fX2lzUm9vdExheW91dEhvcml6b250YWxfXzVLMFRoM05BIC5SYWRpb19fZmllbGRfX3plaXNcXFxcKzc5cyB7XFxuICAgIGp1c3RpZnktc2VsZjogc3RyZXRjaDtcXG4gIH1cXG59XFxuXFxuLlJhZGlvX19pc1Jvb3RJbkZvcm1MYXlvdXRfX2VWdzlaXFxcXCs2RSB7XFxuICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xcbn1cXG4uUmFkaW9fX2lzUm9vdEluRm9ybUxheW91dF9fZVZ3OVpcXFxcKzZFIC5SYWRpb19fZmllbGRfX3plaXNcXFxcKzc5cyB7XFxuICB3aWR0aDogYXV0bztcXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcXG4gIC5SYWRpb19faXNSb290SW5Gb3JtTGF5b3V0X19lVnc5WlxcXFwrNkUgLlJhZGlvX19vcHRpb25MYWJlbF9faVBzVXVSR2sge1xcbiAgICB3aWR0aDogYXV0bztcXG4gIH1cXG4gIC5SYWRpb19faXNSb290SW5Gb3JtTGF5b3V0X19lVnc5WlxcXFwrNkUuUmFkaW9fX2lzUm9vdExheW91dEhvcml6b250YWxfXzVLMFRoM05BLCAuUmFkaW9fX2lzUm9vdEluRm9ybUxheW91dF9fZVZ3OVpcXFxcKzZFLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQS5SYWRpb19faGFzUm9vdFNtYWxsSW5wdXRfX3JKV3NLR3hyIHtcXG4gICAgZGlzcGxheTogY29udGVudHM7XFxuICB9XFxuICAuUmFkaW9fX2lzUm9vdEluRm9ybUxheW91dF9fZVZ3OVpcXFxcKzZFLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSAuUmFkaW9fX2xhYmVsX19mMzV6dlNVSywgLlJhZGlvX19pc1Jvb3RJbkZvcm1MYXlvdXRfX2VWdzlaXFxcXCs2RS5SYWRpb19faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fNUswVGgzTkEgLlJhZGlvX19maWVsZF9femVpc1xcXFwrNzlzLCAuUmFkaW9fX2lzUm9vdEluRm9ybUxheW91dF9fZVZ3OVpcXFxcKzZFLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSAuUmFkaW9fX2lucHV0Q29udGFpbmVyX184OWNpMGhnRCwgLlJhZGlvX19pc1Jvb3RJbkZvcm1MYXlvdXRfX2VWdzlaXFxcXCs2RS5SYWRpb19faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fNUswVGgzTkEgLlJhZGlvX19oZWxwVGV4dF9fWTlJN3dcXFxcK2JNLCAuUmFkaW9fX2lzUm9vdEluRm9ybUxheW91dF9fZVZ3OVpcXFxcKzZFLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSAuUmFkaW9fX3ZhbGlkYXRpb25UZXh0X181VUUySHctWSB7XFxuICAgIGdyaWQtYXJlYTogdW5zZXQ7XFxuICB9XFxuICAuUmFkaW9fX2lzUm9vdEluRm9ybUxheW91dF9fZVZ3OVpcXFxcKzZFLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSAuUmFkaW9fX2ZpZWxkX196ZWlzXFxcXCs3OXMsIC5SYWRpb19faXNSb290SW5Gb3JtTGF5b3V0X19lVnc5WlxcXFwrNkUuUmFkaW9fX2lzUm9vdExheW91dEhvcml6b250YWxfXzVLMFRoM05BIC5SYWRpb19faW5wdXRDb250YWluZXJfXzg5Y2kwaGdELCAuUmFkaW9fX2lzUm9vdEluRm9ybUxheW91dF9fZVZ3OVpcXFxcKzZFLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQSAuUmFkaW9fX2hlbHBUZXh0X19ZOUk3d1xcXFwrYk0sIC5SYWRpb19faXNSb290SW5Gb3JtTGF5b3V0X19lVnc5WlxcXFwrNkUuUmFkaW9fX2lzUm9vdExheW91dEhvcml6b250YWxfXzVLMFRoM05BIC5SYWRpb19fdmFsaWRhdGlvblRleHRfXzVVRTJIdy1ZIHtcXG4gICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XFxuICB9XFxuICAuUmFkaW9fX2lzUm9vdEluRm9ybUxheW91dF9fZVZ3OVpcXFxcKzZFLlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQS5SYWRpb19faGFzUm9vdFNtYWxsSW5wdXRfX3JKV3NLR3hyIC5SYWRpb19fZmllbGRfX3plaXNcXFxcKzc5cyB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgfVxcbn1cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL2NvbXBvbmVudHMvUmFkaW8vUmFkaW8uc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX2ZvdW5kYXRpb24uc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX3ZhcmlhbnRzLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3RoZW1lL19mb3JtLWZpZWxkcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9fYWNjZXNzaWJpbGl0eS5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9fcmVzZXQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX2lubGluZS1maWVsZC1sYXlvdXQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX2lubGluZS1maWVsZC1lbGVtZW50cy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy9zZXR0aW5ncy9fZm9ybS1maWVsZHMuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvX3RyYW5zaXRpb24uc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvc2V0dGluZ3MvX2FuaW1hdGlvbnMuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX2JveC1maWVsZC1sYXlvdXQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvX2JyZWFrcG9pbnQuc2Nzc1wiLFwiPG5vIHNvdXJjZT5cIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBY0E7RUNQSSxnQkFBQTtBRExKO0FDU0k7RUFDSSxnQkFBQTtBRFBSO0FFNEVRO0VBL0JJLDhEQUFBO0VBQUEsNEVBQUE7RUFBQSx3RUFBQTtFQUFBLGdHQUFBO0VBQUEsd0VBQUE7RUFBQSxnR0FBQTtBRnJDWjtBRW9GUTtFQXhDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBRmhDWjtBRThFUTtFQTlDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QUZBWjtBRW9EUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBRllaO0FFaURJO0VBdEdBLGdEQ2tCZTtFRGpCZiw4Q0NnQmM7QUh3Q2xCOztBQXBEQTtFSVpJLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0VBQ0EsZ0JBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFBO0VBQ0EsU0FBQTtBSm9FSjs7QUExREE7O0VDVEksa0ZBQUE7QUR3RUo7O0FBMURBO0VLTkksZUFBQTtFQUNBLGdCQUFBO0FMb0VKO0FLbEVJO0VBQ0ksZ0JBQUE7QUxvRVI7O0FBOURBO0VNSkksYUFBQTtFQUNBLHVCQUFBO0VBQ0EsWUFBQTtFQUdJLG1CQUFBO0VGTkosa0JBQUE7RUcrQ0Esd0RKSG9CO0VJSXBCLDBHQUFBO0FQNkJKO0FNakVJO0VBQ0ksVUFBQTtBTm1FUjtBTWhFSTs7RUFFSSwwQkFBQTtFQUFBLHVCQUFBO0VBQUEsa0JBQUE7RUFDQSx5Q0UxQmlCO0FSNEZ6QjtBSW5GSTtFQUNJLFdBQUE7RUFDQSxrQkFBQTtFQUNBLG1ERHVDZ0I7RUN0Q2hCLG9ERHNDZ0I7QUgrQ3hCO0FPekNJO0VBQ0ksTUFBQTtFQUNBLHlHQVRnQjtBUG9EeEI7O0FBckZBO0VTaUJRLHNFQVBZO0VBUVosMEJBZjJCO0VBZ0IzQix3REMzRG1CO0VIbUJ2Qix3QkFBQTtLQUFBLHFCQUFBO1VBQUEsZ0JBQUE7RUFDQSwrQ0ptRGU7RUlsRGYsZ0RKa0RlO0VJakRmLHFHQUFBO0VBQ0EsNEZBQUE7RUFDQSwyQkFBQTtFQUNBLHdCQUFBO0VBQ0EsNEJBQUE7RUFDQSx5REFBQTtFQUNBLGlDQUFBO1VBQUEsbUJBQUE7RUFnQkksdUVKbUMwQjtBSCtEbEM7QVNoRlk7RVR0Qlo7SVN1QmdCLHNFQVJnQjtFVDJGOUI7QUFDRjtBT3JISTtFQUVJLGlFSnlDdUI7QUg2RS9CO0FPeEdRO0VBQ0ksc0ZKaUNpQztBSHlFN0M7O0FBN0dBOztFQ2RJLHVERWpCbUI7RUZrQm5CLHFERW5Ca0I7RUZvQmxCLG1CT3pCb0I7RVAwQnBCLHNGQUFBO0FEZ0lKOztBQWhIQTtFQzVCSSw0RkFBQTtBRGdKSjtBQzlJSTtFQUNJLDZDRVJRO0VGU1Isa0RFUmM7QUh3SnRCOztBRXhGUTtFQS9CSSxnRUFBQTtFQUFBLDhFQUFBO0VBQUEsMEVBQUE7RUFBQSxrR0FBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7QUZnSVo7QUVqRlE7RUF4Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QUZxSVo7QUV2RlE7RUE5Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FGcUtaO0FFakhRO0VBcERJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FGaUxaOztBRXpKUTtFQS9CSSw4REFBQTtFQUFBLDRFQUFBO0VBQUEsd0VBQUE7RUFBQSxnR0FBQTtFQUFBLHdFQUFBO0VBQUEsZ0dBQUE7QUZpTVo7QUVsSlE7RUF4Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QUZzTVo7QUV4SlE7RUE5Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FGc09aO0FFbExRO0VBcERJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FGa1BaOztBRTFOUTtFQS9CSSxnRUFBQTtFQUFBLDhFQUFBO0VBQUEsMEVBQUE7RUFBQSxrR0FBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7QUZrUVo7QUVuTlE7RUF4Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QUZ1UVo7QUV6TlE7RUE5Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FGdVNaO0FFblBRO0VBcERJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FGbVRaOztBQXpTQTtFSTFESSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtFQUNBLFNBQUE7QUp1V0o7O0FBL1NBOztFV05RLHNEQUFBO0VBR0osb0JBQUE7RUFDQSxzQkFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0FYd1RKO0FXdFRJOztFQUNJLDJFQUFBO0FYeVRSO0FXdFRJOzs7O0VBRUksd0VBQUE7QVgwVFI7QVd2VEk7O0VBQ0ksMEJBQUE7RUFBQSx1QkFBQTtFQUFBLGtCQUFBO0VBQ0EsZUFBQTtBWDBUUjs7QVlyWVE7RVptRVI7SVdjUSxvQkFBQTtJQUNBLHlGQUFBO0lBQUEsaUZBQUE7SUFDQSxrQ0FBQTtJQUNBLGtCQUFBO0VYeVROO0VXdlRNO0lBQ0ksZ0JBQUE7SUFDQSx1RVJ0RTBCO0lRdUUxQiw2RFI5RWlCO0lRa0ZiLDBHQUNJO0lBSUosNkdBQ0k7SUFZUiwyQ0g1R1c7SUc2R1gsK0RSdEdrQjtFSDRZNUI7RVduU007SUFDSSxnQkFBQTtJQUNBLHVFUmxHMEI7SVFtRzFCLG1CQUFBO0VYcVNWO0FBQ0Y7O0FhdGFBO0VGZ0dRO0lFaEdSLGdCQUFBO0lBQUEsbUJBQUE7RWJnYUU7RVduU007SUU3SFIsZ0JBQUE7SUFBQSxtQkFBQTtFYnFhRTtDYXJhRjs7QWJpRkE7RVdtRkksYUFBQTtFQUNBLHNCQUFBO0VBQ0EsV0FBQTtBWHNRSjtBV3BRSTs7O0VBR0ksV0FBQTtBWHNRUjtBWXZhUTtFRHFLQTtJQUNJLGFBQUE7SUFDQSxxRkFBQTtFWHFRVjtFV2xRTTtJQUNJLHFCQUFBO0VYb1FWO0FBQ0Y7O0FBcldBO0VXc0dJLG1CQUFBO0FYbVFKO0FXalFJO0VBQ0ksV0FBQTtBWG1RUjtBWXZiUTtFRHdMQTtJQUNJLFdBQUE7RVhrUVY7RVc3UFU7SUFFSSxpQkFBQTtFWDhQZDtFVzNPTTtJQUtJLGdCQUFBO0VYeU9WO0VXdE9NO0lBSUksb0JBQUE7RVhxT1Y7RVdsT007SUFDSSxjQUFBO0VYb09WO0FBQ0ZcIixcInNvdXJjZXNDb250ZW50XCI6W1wiLy8gMS4gTGVnZW5kcyBhcmUgdHJpY2t5IHRvIHN0eWxlLCBsZXQncyB1c2UgYSBgZGl2YCBpbnN0ZWFkLlxcbi8vICAgIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUTUwvRWxlbWVudC9maWVsZHNldCNzdHlsaW5nX3dpdGhfY3NzXFxuXFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2JveC1maWVsZC1lbGVtZW50c1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2JveC1maWVsZC1sYXlvdXRcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9mb3VuZGF0aW9uXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvaW5saW5lLWZpZWxkLWVsZW1lbnRzXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvaW5saW5lLWZpZWxkLWxheW91dFxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL3ZhcmlhbnRzXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvYWNjZXNzaWJpbGl0eVxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL3Jlc2V0XFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvc3BhY2luZ1xcXCI7XFxuXFxuLy8gRm91bmRhdGlvblxcbi5yb290IHtcXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi5yb290KCk7XFxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24uZmllbGRzZXQoKTtcXG4gICAgQGluY2x1ZGUgdmFyaWFudHMudmlzdWFsKGNoZWNrKTtcXG59XFxuXFxuLy8gMS5cXG4ubGVnZW5kIHtcXG4gICAgQGluY2x1ZGUgYWNjZXNzaWJpbGl0eS5oaWRlLXRleHQoKTtcXG59XFxuXFxuLy8gMS5cXG4ubGFiZWwsXFxuLm9wdGlvbkxhYmVsIHtcXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi5sYWJlbCgpO1xcbn1cXG5cXG4ub3B0aW9ucyB7XFxuICAgIEBpbmNsdWRlIHJlc2V0Lmxpc3QoKTtcXG59XFxuXFxuLm9wdGlvbiB7XFxuICAgIEBpbmNsdWRlIGlubGluZS1maWVsZC1sYXlvdXQuZmllbGQoJHR5cGU6IHJhZGlvKTtcXG4gICAgQGluY2x1ZGUgaW5saW5lLWZpZWxkLWVsZW1lbnRzLm1pbi10YXAtdGFyZ2V0KCR0eXBlOiByYWRpbyk7XFxufVxcblxcbi5pbnB1dCB7XFxuICAgIEBpbmNsdWRlIGlubGluZS1maWVsZC1lbGVtZW50cy5jaGVjay1pbnB1dCgkdHlwZTogcmFkaW8pO1xcbn1cXG5cXG4uaGVscFRleHQsXFxuLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi5oZWxwLXRleHQoKTtcXG59XFxuXFxuLmlzUm9vdFJlcXVpcmVkIC5sYWJlbCB7XFxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24ubGFiZWwtcmVxdWlyZWQoKTtcXG59XFxuXFxuLy8gU3RhdGVzXFxuLmlzUm9vdFN0YXRlSW52YWxpZCB7XFxuICAgIEBpbmNsdWRlIHZhcmlhbnRzLnZhbGlkYXRpb24oaW52YWxpZCk7XFxufVxcblxcbi5pc1Jvb3RTdGF0ZVZhbGlkIHtcXG4gICAgQGluY2x1ZGUgdmFyaWFudHMudmFsaWRhdGlvbih2YWxpZCk7XFxufVxcblxcbi5pc1Jvb3RTdGF0ZVdhcm5pbmcge1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52YWxpZGF0aW9uKHdhcm5pbmcpO1xcbn1cXG5cXG4vLyBJbnZpc2libGUgbGFiZWxcXG4uaXNMYWJlbEhpZGRlbiB7XFxuICAgIEBpbmNsdWRlIGFjY2Vzc2liaWxpdHkuaGlkZS10ZXh0KCk7XFxufVxcblxcbi8vIExheW91dHNcXG4uaXNSb290TGF5b3V0VmVydGljYWwsXFxuLmlzUm9vdExheW91dEhvcml6b250YWwge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtbGF5b3V0LnZlcnRpY2FsKCRoYXMtbGlzdDogdHJ1ZSk7XFxufVxcblxcbi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWxheW91dC5ob3Jpem9udGFsKCRoYXMtbWluLXRhcC10YXJnZXQ6IHRydWUpO1xcbn1cXG5cXG4uaXNSb290RnVsbFdpZHRoIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWxheW91dC5mdWxsLXdpZHRoKCk7XFxufVxcblxcbi5pc1Jvb3RJbkZvcm1MYXlvdXQge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtbGF5b3V0LmluLWZvcm0tbGF5b3V0KCRpcy1maWVsZHNldDogdHJ1ZSk7XFxufVxcblwiLFwiLy8gMS4gRG9uJ3QgbGV0IHRleHQgYWxpZ25tZW50IGJlIGFmZmVjdGVkIGJ5IGEgcGFyZW50Llxcbi8vIDIuIE92ZXJyaWRlIGZvdW5kYXRpb24gcmVzZXQuXFxuXFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybS1maWVsZHNcXFwiIGFzIHNldHRpbmdzO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL2Zvcm0tZmllbGRzXFxcIiBhcyB0aGVtZTtcXG5cXG5AbWl4aW4gcm9vdCgpIHtcXG4gICAgdGV4dC1hbGlnbjogbGVmdDsgLy8gMS5cXG59XFxuXFxuQG1peGluIGZpZWxkc2V0KCkge1xcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gMi5cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gbGFiZWwoKSB7XFxuICAgIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgI3t0aGVtZS4kbGFiZWwtY29sb3J9KTtcXG59XFxuXFxuQG1peGluIGxhYmVsLXJlcXVpcmVkKCkge1xcbiAgICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsICN7dGhlbWUuJHJlcXVpcmVkLWxhYmVsLWNvbG9yfSk7XFxuXFxuICAgICY6OmFmdGVyIHtcXG4gICAgICAgIGNvbnRlbnQ6IHRoZW1lLiRyZXF1aXJlZC1zaWduO1xcbiAgICAgICAgY29sb3I6IHRoZW1lLiRyZXF1aXJlZC1zaWduLWNvbG9yO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBoZWxwLXRleHQoKSB7XFxuICAgIGZvbnQtc3R5bGU6IHRoZW1lLiRoZWxwLXRleHQtZm9udC1zdHlsZTtcXG4gICAgZm9udC1zaXplOiB0aGVtZS4kaGVscC10ZXh0LWZvbnQtc2l6ZTtcXG4gICAgbGluZS1oZWlnaHQ6IHNldHRpbmdzLiRoZWxwLXRleHQtbGluZS1oZWlnaHQ7XFxuICAgIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgI3t0aGVtZS4kaGVscC10ZXh0LWNvbG9yfSk7XFxufVxcblwiLFwiLy8gMS4gRHVlIHRvIGNvbXBsZXhpdHksIGl0J3MgZWFzaWVyIGFuZCBzYWZlciB0byByZXNvbHZlIHZhcmlhbnQgY3VzdG9tIHByb3BlcnRpZXMgZHluYW1pY2FsbHkgd2l0aFxcbi8vICAgIGEgbWl4aW4uIFRoaXMgd2F5IGl0J3MgYWxzbyBlYXNpZXIgdG8gbWFrZSB0aGVtaW5nIGFkanVzdG1lbnRzIHRvIGFsbCBzdXBwb3J0ZWQgbW9kaWZpY2F0aW9uc1xcbi8vICAgIGluIG9uZSBwbGFjZS4gR2VuZXJhdGVkIGN1c3RvbSBwcm9wZXJ0aWVzIGFyZSBjb25zdW1lZCBtYWlubHkgaW4gZm91bmRhdGlvbiBmaWVsZCBzdHlsZXMgKHNlZVxcbi8vICAgIGB0b29scy9mb3JtLWZpZWxkcy9fZm91bmRhdGlvbi5zY3NzYCBmb3IgbW9yZSkuXFxuLy9cXG4vLyAyLiBJbnRlcmFjdGlvbiBzdGF0ZXMgb3RoZXIgdGhhbiBgZGVmYXVsdGAgZGVmYXVsdCB0byB0aGUgYGRlZmF1bHRgIChzaWMhKSBzdGF0ZSBhcHBlYXJhbmNlIGlmXFxuLy8gICAgY29ycmVzcG9uZGluZyBjdXN0b20gcHJvcGVydGllcyBhcmUgbm90IHByb3ZpZGVkLlxcbi8vXFxuLy8gMy4gYC5pbnB1dDpmb2N1c2AgaXMgYWRkZWQganVzdCBpbiBjYXNlIGA6Zm9jdXMtd2l0aGluYCBkb2Vzbid0IHdvcmsuXFxuXFxuQHVzZSBcXFwic2FzczpsaXN0XFxcIjtcXG5AdXNlIFxcXCJzYXNzOm1hcFxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybS1maWVsZHNcXFwiIGFzIHNldHRpbmdzO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL2Zvcm0tZmllbGRzXFxcIiBhcyB0aGVtZTtcXG5cXG5AbWl4aW4gX2Rpc2FibGVkLXN0YXRlKCkge1xcbiAgICBvcGFjaXR5OiB0aGVtZS4kZGlzYWJsZWQtb3BhY2l0eTtcXG4gICAgY3Vyc29yOiB0aGVtZS4kZGlzYWJsZWQtY3Vyc29yO1xcbn1cXG5cXG4vLyAxLlxcbkBtaXhpbiBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCAkc3RhdGUpIHtcXG4gICAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKG1hcC5nZXQoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcywgJHR5cGUpKSwgJHZhcmlhbnQpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiSW52YWxpZCB2YXJpYW50IHNwZWNpZmllZCEgI3skdmFyaWFudH0gZG9lc24ndCBleGlzdC4gXFxcIlxcbiAgICAgICAgICAgICsgXFxcIkNob29zZSBvbmUgb2YgI3ttYXAua2V5cyhtYXAuZ2V0KHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMsICR0eXBlKSl9LlxcXCI7XFxuICAgIH1cXG5cXG4gICAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKHNldHRpbmdzLiR0aGVtZWFibGUtc3RhdGUtcHJvcGVydGllcyksICRzdGF0ZSkge1xcbiAgICAgICAgQGVycm9yIFxcXCJJbnZhbGlkIHN0YXRlIHNwZWNpZmllZCEgI3skc3RhdGV9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMoc2V0dGluZ3MuJHRoZW1lYWJsZS1zdGF0ZS1wcm9wZXJ0aWVzKX0uXFxcIjtcXG4gICAgfVxcblxcbiAgICAkcHJvcGVydGllczogbWFwLmdldChzZXR0aW5ncy4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXMsICRzdGF0ZSk7XFxuICAgICRpbmZpeDogJHR5cGU7XFxuICAgICRmYWxsYmFjay1zdGF0ZTogXFxcImRlZmF1bHRcXFwiO1xcblxcbiAgICBAaWYgJHR5cGUgPT0gXFxcInZhbGlkYXRpb25cXFwiIHtcXG4gICAgICAgICRpbmZpeDogJHZhcmlhbnQ7XFxuICAgIH1cXG5cXG4gICAgQGlmICR0eXBlICE9IFxcXCJ2YWxpZGF0aW9uXFxcIiBhbmQgJHZhcmlhbnQgIT0gXFxcImRlZmF1bHRcXFwiIHtcXG4gICAgICAgICRpbmZpeDogI3skdHlwZX0tLSN7JHZhcmlhbnR9O1xcbiAgICB9XFxuXFxuICAgIEBpZiAkc3RhdGUgPT0gXFxcImNoZWNrZWQtZGlzYWJsZWRcXFwiIHtcXG4gICAgICAgICRmYWxsYmFjay1zdGF0ZTogXFxcImNoZWNrZWRcXFwiO1xcbiAgICB9XFxuXFxuICAgIEBpZiAkc3RhdGUgPT0gXFxcImRlZmF1bHRcXFwiIHtcXG4gICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XFxuICAgICAgICAgICAgLS1ydWktbG9jYWwtI3skcHJvcGVydHl9OiB2YXIoLS1ydWktRm9ybUZpZWxkLS0jeyRpbmZpeH0tLSN7JHN0YXRlfV9fI3skcHJvcGVydHl9KTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICAvLyAyLlxcbiAgICBAZWxzZSB7XFxuICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xcbiAgICAgICAgICAgIC0tcnVpLWxvY2FsLSN7JHByb3BlcnR5fTpcXG4gICAgICAgICAgICAgICAgdmFyKFxcbiAgICAgICAgICAgICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS0jeyRpbmZpeH0tLSN7JHN0YXRlfV9fI3skcHJvcGVydHl9LFxcbiAgICAgICAgICAgICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tI3skaW5maXh9LS0jeyRmYWxsYmFjay1zdGF0ZX1fXyN7JHByb3BlcnR5fSlcXG4gICAgICAgICAgICAgICAgKTtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gX2dldC10aGVtZSgkdHlwZSwgJHZhcmlhbnQpIHtcXG4gICAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMpLCAkdHlwZSkge1xcbiAgICAgICAgQGVycm9yIFxcXCJJbnZhbGlkIHR5cGUgc3BlY2lmaWVkISAjeyR0eXBlfSBkb2Vzbid0IGV4aXN0LiBcXFwiXFxuICAgICAgICAgICAgKyBcXFwiQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMpfS5cXFwiO1xcbiAgICB9XFxuXFxuICAgICR0aGVtZWFibGUtc3RhdGVzOiBtYXAuZ2V0KG1hcC5nZXQoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcywgJHR5cGUpLCAkdmFyaWFudCk7XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiaG92ZXJcXFwiKSB7XFxuICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiZGVmYXVsdFxcXCIpO1xcblxcbiAgICAgICAgJjpob3ZlciB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImhvdmVyXFxcIik7XFxuICAgICAgICB9XFxuICAgIH0gQGVsc2Uge1xcbiAgICAgICAgJixcXG4gICAgICAgICY6aG92ZXIge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJkZWZhdWx0XFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJmb2N1c1xcXCIpIHtcXG4gICAgICAgIC8vIDMuXFxuICAgICAgICAmOmZvY3VzLXdpdGhpbixcXG4gICAgICAgICY6Zm9jdXMtd2l0aGluOmhvdmVyLFxcbiAgICAgICAgLmlucHV0OmZvY3VzIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiZm9jdXNcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImNoZWNrZWRcXFwiKSB7XFxuICAgICAgICAuaW5wdXQ6Y2hlY2tlZCB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImNoZWNrZWRcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImRpc2FibGVkXFxcIikge1xcbiAgICAgICAgJi5pc1Jvb3REaXNhYmxlZCB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImRpc2FibGVkXFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJjaGVja2VkLWRpc2FibGVkXFxcIikge1xcbiAgICAgICAgLmlucHV0OmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJjaGVja2VkLWRpc2FibGVkXFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIHZpc3VhbCgkdHlwZSwgJHZhcmlhbnQ6IFxcXCJkZWZhdWx0XFxcIiwgJGhhcy1jYXJldDogZmFsc2UpIHtcXG4gICAgQGluY2x1ZGUgX2dldC10aGVtZSgkdHlwZSwgJHZhcmlhbnQpO1xcblxcbiAgICAuaW5wdXQ6ZGlzYWJsZWQge1xcbiAgICAgICAgQGluY2x1ZGUgX2Rpc2FibGVkLXN0YXRlKCk7XFxuICAgIH1cXG5cXG4gICAgQGlmICR0eXBlID09IFxcXCJib3hcXFwiIGFuZCAkdmFyaWFudCA9PSBcXFwiZmlsbGVkXFxcIiB7XFxuICAgICAgICAuaW5wdXQge1xcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmICR0eXBlID09IFxcXCJib3hcXFwiIGFuZCAkdmFyaWFudCA9PSBcXFwib3V0bGluZVxcXCIgYW5kICRoYXMtY2FyZXQge1xcbiAgICAgICAgLmNhcmV0IHtcXG4gICAgICAgICAgICBib3JkZXItbGVmdDogdGhlbWUuJGJveC1ib3JkZXItd2lkdGggdGhlbWUuJGJveC1zZWxlY3QtY2FyZXQtYm9yZGVyLXN0eWxlIHZhcigtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3IpO1xcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLiRib3gtc2VsZWN0LWNhcmV0LWJhY2tncm91bmQ7XFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdERpc2FibGVkIC5jYXJldCB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2Rpc2FibGVkLXN0YXRlKCk7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIHZhbGlkYXRpb24oJHZhcmlhbnQpIHtcXG4gICAgQGluY2x1ZGUgX2dldC10aGVtZSh2YWxpZGF0aW9uLCAkdmFyaWFudCk7XFxufVxcblwiLFwiLy8gVmFyaWFudCBzcGVjaWZpYyB0aGVtZSBvcHRpb25zIGFyZSBvYnRhaW5lZCBkeW5hbWljYWxseSBiZWNhdXNlIHRoZXJlIGlzIHdheSB0b28gbWFueSBvZiB0aGVtIHRvXFxuLy8gbWFpbnRhaW4gbWFudWFsbHkuIFNlZSBgc2V0dGluZ3MvX2Zvcm0tZmllbGRzLnNjc3NgIGFuZCBgdG9vbHMvZm9ybS1maWVsZHMvX3ZhcmlhbnRzLnNjc3NgIGZvclxcbi8vIGRldGFpbHMuXFxuLy9cXG4vLyAxLiBEZWZhdWx0cyB0byB6ZXJvIHdoZW4gbmVpdGhlciBgLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15YCAob3B0aW9uYWwpIG5vclxcbi8vICAgIGAtLXJ1aS1sb2NhbC1wYWRkaW5nLXlgIChoYW5kbGVkIGJ5IHRoZSBgc2l6ZSgpYCBtaXhpbiBpbiBjYXNlIG9mIGJveCBmb3JtIGZpZWxkcywgc2VlXFxuLy8gICAgYF9ib3gtZmllbGQtc2l6ZXMuc2Nzc2ApIGlzIGRlZmluZWQuIFRoaXMgaXMgdXNlZnVsIGJlY2F1c2UgRm9ybUxheW91dEN1c3RvbUZpZWxkIG1heSBoYXZlIG5vXFxuLy8gICAgc2l6ZSBzcGVjaWZpZWQgdGhlcmVmb3JlIGl0cyBsYWJlbCBzaG91bGQgaGF2ZSBubyBwYWRkaW5nIGF0IHRoZSB0b3AuXFxuXFxuLy8gRm9ybXMgZmllbGRzOiBjb21tb24gcHJvcGVydGllc1xcbiRsYWJlbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZF9fbGFiZWxfX2NvbG9yKTtcXG4kbGFiZWwtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkX19sYWJlbF9fZm9udC1zaXplKTtcXG4kaGVscC10ZXh0LWZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXNpemUpO1xcbiRoZWxwLXRleHQtZm9udC1zdHlsZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXN0eWxlKTtcXG4kaGVscC10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2NvbG9yKTtcXG4kcmVxdWlyZWQtbGFiZWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19sYWJlbF9fY29sb3IpO1xcbiRyZXF1aXJlZC1zaWduOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fc2lnbik7XFxuJHJlcXVpcmVkLXNpZ24tY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19zaWduX19jb2xvcik7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGhvcml6b250YWwgbGF5b3V0XFxuJGhvcml6b250YWwtbGFiZWwtdGV4dC1hbGlnbjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3RleHQtYWxpZ24pO1xcbiRob3Jpem9udGFsLWxhYmVsLW1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX21pbi13aWR0aCk7XFxuJGhvcml6b250YWwtbGFiZWwtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX193aWR0aCk7XFxuJGhvcml6b250YWwtbGFiZWwtcGFkZGluZy15OlxcbiAgICB2YXIoXFxuICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19wYWRkaW5nLXksXFxuICAgICAgICBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKVxcbiAgICApOyAvLyAxLlxcbiRob3Jpem9udGFsLWxhYmVsLXZlcnRpY2FsLWFsaWdubWVudDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuJGhvcml6b250YWwtZmllbGQtdmVydGljYWwtYWxpZ25tZW50OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19maWVsZF9fdmVydGljYWwtYWxpZ25tZW50KTtcXG4kaG9yaXpvbnRhbC1mdWxsLXdpZHRoLWxhYmVsLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsLS1mdWxsLXdpZHRoX19sYWJlbF9fd2lkdGgpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBkaXNhYmxlZCBzdGF0ZVxcbiRkaXNhYmxlZC1jdXJzb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19jdXJzb3IpO1xcbiRkaXNhYmxlZC1vcGFjaXR5OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fb3BhY2l0eSk7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGJveCBmaWVsZHNcXG4kYm94LWJvcmRlci13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpO1xcbiRib3gtYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItcmFkaXVzKTtcXG4kYm94LWlucHV0LXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2lucHV0X193aWR0aCk7XFxuJGJveC1pbnB1dC1taW4td2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9faW5wdXRfX21pbi13aWR0aCk7XFxuJGJveC1wbGFjZWhvbGRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19wbGFjZWhvbGRlcl9fY29sb3IpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBib3ggZmllbGRzLCBjb21wb25lbnQgc3BlY2lmaWNcXG4kYm94LXNlbGVjdC1jYXJldC1ib3JkZXItc3R5bGU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc2VsZWN0X19jYXJldF9fYm9yZGVyLXN0eWxlKTtcXG4kYm94LXNlbGVjdC1jYXJldC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fY2FyZXRfX2JhY2tncm91bmQpO1xcbiRib3gtc2VsZWN0LW9wdGlvbi1kaXNhYmxlZC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zZWxlY3RfX29wdGlvbi0tZGlzYWJsZWRfX2NvbG9yKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogYm94IGZpZWxkIHNpemVzXFxuJGJveC1zaXplczogKFxcbiAgICBzbWFsbDogKFxcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19oZWlnaHQpLFxcbiAgICAgICAgcGFkZGluZy15OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19wYWRkaW5nLXkpLFxcbiAgICAgICAgcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19wYWRkaW5nLXgpLFxcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19mb250LXNpemUpLFxcbiAgICApLFxcbiAgICBtZWRpdW06IChcXG4gICAgICAgIGhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX2hlaWdodCksXFxuICAgICAgICBwYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19wYWRkaW5nLXkpLFxcbiAgICAgICAgcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fcGFkZGluZy14KSxcXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX2ZvbnQtc2l6ZSksXFxuICAgICksXFxuICAgIGxhcmdlOiAoXFxuICAgICAgICBoZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX2hlaWdodCksXFxuICAgICAgICBwYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX3BhZGRpbmcteSksXFxuICAgICAgICBwYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX3BhZGRpbmcteCksXFxuICAgICAgICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX2ZvbnQtc2l6ZSksXFxuICAgICksXFxuKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogY2hlY2sgZmllbGRzXFxuJGNoZWNrLWlucHV0LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dF9fc2l6ZSk7XFxuJGNoZWNrLWlucHV0LWJvcmRlci13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0X19ib3JkZXItd2lkdGgpO1xcbiRjaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLWZvY3VzX19ib3gtc2hhZG93KTtcXG4kY2hlY2stdGFwLXRhcmdldC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19fdGFwLXRhcmdldC1zaXplKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogY2hlY2sgZmllbGRzLCBjb21wb25lbnQgc3BlY2lmaWNcXG4kY2hlY2staW5wdXQtY2hlY2tib3gtYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1jaGVja2JveF9fYm9yZGVyLXJhZGl1cyk7XFxuJGNoZWNrLWlucHV0LWNoZWNrYm94LWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1jaGVja2JveC0tY2hlY2tlZF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXJhZGlvLWJvcmRlci1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tcmFkaW9fX2JvcmRlci1yYWRpdXMpO1xcbiRjaGVjay1pbnB1dC1yYWRpby1jaGVja2VkLWJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tcmFkaW8tLWNoZWNrZWRfX2JhY2tncm91bmQtaW1hZ2UpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlX193aWR0aCk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1ib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZV9fYm9yZGVyLXJhZGl1cyk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1iYWNrZ3JvdW5kLXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlX19iYWNrZ3JvdW5kLXNpemUpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtZGVmYXVsdC1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZS0tZGVmYXVsdF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1kZWZhdWx0LWJhY2tncm91bmQtcG9zaXRpb246XFxuICAgIHZhcihcXG4gICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWRlZmF1bHRfX2JhY2tncm91bmQtcG9zaXRpb25cXG4gICAgKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWNoZWNrZWRfX2JhY2tncm91bmQtaW1hZ2UpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtY2hlY2tlZC1iYWNrZ3JvdW5kLXBvc2l0aW9uOlxcbiAgICB2YXIoXFxuICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlLS1jaGVja2VkX19iYWNrZ3JvdW5kLXBvc2l0aW9uXFxuICAgICk7XFxuXCIsXCIvLyAxLiBTY3JlZW4gcmVhZGVycyBvbmx5LCBpbnNwaXJlZCBieSBCb290c3RyYXAuXFxuLy8gICAgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL3Njc3MvbWl4aW5zL19zY3JlZW4tcmVhZGVyLnNjc3NcXG4vL1xcbi8vIDIuIE1ha2UgdGFwIHRhcmdldCBiaWcgZW5vdWdoIHRvIGltcHJvdmUgYWNjZXNzaWJpbGl0eSBvbiB0b3VjaCBzY3JlZW5zLlxcblxcbkB1c2UgXFxcIi4uL3RoZW1lL2FjY2Vzc2liaWxpdHlcXFwiIGFzIHRoZW1lO1xcblxcbi8vIDEuXFxuQG1peGluIGhpZGUtdGV4dCgpIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogMXB4O1xcbiAgICBoZWlnaHQ6IDFweDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gICAgYm9yZGVyOiAwO1xcbn1cXG5cXG5AbWl4aW4gdW5oaWRlLXRleHQoKSB7XFxuICAgIHBvc2l0aW9uOiB1bnNldDtcXG4gICAgd2lkdGg6IHVuc2V0O1xcbiAgICBoZWlnaHQ6IHVuc2V0O1xcbiAgICBvdmVyZmxvdzogdW5zZXQ7XFxuICAgIGNsaXA6IHVuc2V0O1xcbiAgICB3aGl0ZS1zcGFjZTogdW5zZXQ7XFxufVxcblxcbi8vIDIuXFxuQG1peGluIG1pbi10YXAtdGFyZ2V0KCRzaXplOiB0aGVtZS4kdGFwLXRhcmdldC1zaXplLCAkY2VudGVyOiB0cnVlKSB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG5cXG4gICAgJjo6YmVmb3JlIHtcXG4gICAgICAgIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICAgICAgd2lkdGg6ICRzaXplO1xcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcXG5cXG4gICAgICAgIEBpZiAkY2VudGVyIHtcXG4gICAgICAgICAgICB0b3A6IDUwJTtcXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGZvY3VzLXJpbmcoKSB7XFxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XFxuICAgICAgICBvdXRsaW5lOiB0aGVtZS4kZm9jdXMtb3V0bGluZTtcXG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiB0aGVtZS4kZm9jdXMtb3V0bGluZS1vZmZzZXQ7XFxuICAgICAgICBib3gtc2hhZG93OiB0aGVtZS4kZm9jdXMtYm94LXNoYWRvdztcXG4gICAgfVxcbn1cXG5cIixcIkBtaXhpbiBidXR0b24oKSB7XFxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbiAgICBmbGV4OiBub25lO1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xcbiAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcblxcbkBtaXhpbiBsaW5rKCkge1xcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuICAgIGNvbG9yOiBpbmhlcml0O1xcblxcbiAgICAmOmhvdmVyLFxcbiAgICAmOmZvY3VzIHtcXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gbGlzdCgpIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xcbiAgICBsaXN0LXN0eWxlOiBub25lO1xcblxcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgfVxcbn1cXG5cIixcIi8vIDEuIElubGluZSBmb3JtIGZpZWxkcyBhbmQgZmllbGRzIHdpdGggdmVydGljYWwgbGF5b3V0IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyB0aGV5IG5lZWQuIExhYmVsc1xcbi8vICAgIGRvIG5vdCB3cmFwIHVudGlsIGZvcmNlZCBieSBjb250YWluZXIgb2YgdGhlIGZpZWxkLiBNaW4gYW5kIG1heCBsaW1pdHMgbWFrZSBleHRyYSBsb25nIHdvcmRzXFxuLy8gICAgYnJlYWsgaWYgbmVjZXNzYXJ5Llxcbi8vXFxuLy8gMi4gUmV0YWluIG11bHRpbGluZSBmaWVsZCBsYXlvdXQgYW5kIG1ha2UgdGhlIGZpZWxkIGZpdCBwYXJlbnQgbGF5b3V0IHVzaW5nIGBpbmxpbmUtZ3JpZGBcXG4vLyAgICAoYGlubGluZS1mbGV4YCBjYW5ub3QgZG8gdGhlIGpvYikuXFxuLy9cXG4vLyAzLiBNYWtlIGZpZWxkcyBqdXN0IGFzIHdpZGUgYXMgbmVjZXNzYXJ5LiBGaWVsZHMgc2hvdWxkIGJlIGludGVyYWN0aXZlIG9ubHkgd2hlcmUgdGhlaXIgdmlzaWJsZVxcbi8vICAgIGNvbnRlbnQgaXMuXFxuXFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybXNcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm0tZmllbGRzXFxcIiBhcyBzZXR0aW5ncztcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvdHlwb2dyYXBoeVxcXCI7XFxuQHVzZSBcXFwiLi4vYnJlYWtwb2ludFxcXCI7XFxuXFxuQG1peGluIHJvb3QoKSB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyAvLyAxLlxcbiAgICBmbGV4LXdyYXA6IHdyYXA7XFxuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcXG4gICAgd2lkdGg6IG1pbi1jb250ZW50O1xcbiAgICBtaW4td2lkdGg6IDA7IC8vIDEuXFxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMS5cXG5cXG4gICAgLmhlbHBUZXh0LFxcbiAgICAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgcGFkZGluZy10b3A6IHNldHRpbmdzLiR2ZXJ0aWNhbC1pbm5lci1nYXA7XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGZpZWxkKCR0eXBlKSB7XFxuICAgIGRpc3BsYXk6IGZsZXg7IC8vIDEuXFxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcbiAgICBtaW4td2lkdGg6IDA7IC8vIDEuXFxuXFxuICAgIEBpZiAkdHlwZSA9PSBcXFwicmFkaW9cXFwiIHtcXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgIH0gQGVsc2Uge1xcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcXG4gICAgfVxcblxcbiAgICAuaW5wdXQge1xcbiAgICAgICAgZmxleDogbm9uZTtcXG4gICAgfVxcblxcbiAgICAubGFiZWwsXFxuICAgIC5vcHRpb25MYWJlbCB7XFxuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7IC8vIDEuXFxuICAgICAgICBtYXJnaW4tbGVmdDogc2V0dGluZ3MuJGlubGluZS1maWVsZC1pbm5lci1nYXA7XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGhhcy1sYWJlbC1iZWZvcmUoKSB7XFxuICAgIC5maWVsZCB7XFxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgICB9XFxuXFxuICAgIC5sYWJlbCxcXG4gICAgLm9wdGlvbkxhYmVsIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogc2V0dGluZ3MuJGlubGluZS1maWVsZC1pbm5lci1nYXA7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaW4tZm9ybS1sYXlvdXQoKSB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkOyAvLyAyLlxcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0OyAvLyAzLlxcbiAgICB3aWR0aDogYXV0bzsgLy8gMi4sIDMuXFxuXFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIHtcXG4gICAgICAgICAgICBncmlkOiBpbmhlcml0O1xcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDtcXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xcblxcbiAgICAgICAgICAgIEBzdXBwb3J0cyBub3QgKGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZCkge1xcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmZpZWxkIHtcXG4gICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAubGFiZWwge1xcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHNldHRpbmdzLiRob3Jpem9udGFsLWlubmVyLWdhcDtcXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC10ZXh0LWFsaWduO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5pbnB1dCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaGVscFRleHQsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaGVscFRleHQsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XFxuXFxuICAgICAgICAgICAgQHN1cHBvcnRzIG5vdCAoZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkKSB7XFxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1ydWktRm9ybUxheW91dF9fcm93LWdhcCkpO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbC5oYXNSb290TGFiZWxCZWZvcmUgLmxhYmVsIHtcXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXCIsXCIvLyBDdXN0b20gaW5wdXQgc3R5bGluZyBpbnNwaXJlZCBieSBCb290c3RyYXAgNS5cXG4vL1xcbi8vIDEuIEtlZXAgdGhlbWVkIGFwcGVhcmFuY2UgZm9yIHByaW50Llxcbi8vXFxuLy8gMi4gTWFrZSB0YXAgdGFyZ2V0IG9mIGlubGluZSBmaWVsZHMgYmlnIGVub3VnaCB0byBpbXByb3ZlIHRoZWlyIGFjY2Vzc2liaWxpdHkgb24gdG91Y2ggc2NyZWVucy5cXG4vL1xcbi8vIDMuIFJlc2V0IGV4dHJhIHNwYWNlIHByZXZpb3VzbHkgYWRkZWQgdG8gc3ltbWV0cmljYWxseSBwYWQgdGhlIGZpZWxkIGluIEZvcm1MYXlvdXQgY29udGV4dCBhc1xcbi8vICAgIHRoZXJlIGFscmVhZHkgaXMgYSBzdWZmaWNpZW50IHJvdyBnYXAgcHJvdmlkZWQgYnkgRm9ybUxheW91dC5cXG4vL1xcbi8vIDQuIERlc3Ryb3kgdGFwIHRhcmdldCB3aGVuIHN1YmdyaWQgaXMgbm90IHN1cHBvcnRlZC5cXG5cXG5AdXNlIFxcXCIuLi8uLi90aGVtZS90eXBvZ3JhcGh5XFxcIjtcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuQHVzZSBcXFwiLi4vLi4vdG9vbHMvYWNjZXNzaWJpbGl0eVxcXCI7XFxuQHVzZSBcXFwiLi4vdHJhbnNpdGlvblxcXCI7XFxuXFxuQG1peGluIGNoZWNrLWlucHV0KCR0eXBlKSB7XFxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24uYWRkKChiYWNrZ3JvdW5kLWNvbG9yLCBiYWNrZ3JvdW5kLXBvc2l0aW9uLCBib3gtc2hhZG93KSk7XFxuXFxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIHdpZHRoOiB0aGVtZS4kY2hlY2staW5wdXQtc2l6ZTtcXG4gICAgaGVpZ2h0OiB0aGVtZS4kY2hlY2staW5wdXQtc2l6ZTtcXG4gICAgbWFyZ2luLXRvcDogY2FsYygoMXJlbSAqICN7dHlwb2dyYXBoeS4kbGluZS1oZWlnaHQtYmFzZX0gLSAje3RoZW1lLiRjaGVjay1pbnB1dC1zaXplfSkgLyAyKTtcXG4gICAgYm9yZGVyOiB0aGVtZS4kY2hlY2staW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkIHZhcigtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3IpO1xcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XFxuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3IpO1xcbiAgICBjb2xvci1hZGp1c3Q6IGV4YWN0OyAvLyAxLlxcblxcbiAgICAmOmZvY3VzLFxcbiAgICAmOmNoZWNrZWQ6Zm9jdXMge1xcbiAgICAgICAgYm94LXNoYWRvdzogdGhlbWUuJGNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c7XFxuICAgIH1cXG5cXG4gICAgQGlmICR0eXBlID09IFxcXCJjaGVja2JveFxcXCIge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdGhlbWUuJGNoZWNrLWlucHV0LWNoZWNrYm94LWJvcmRlci1yYWRpdXM7XFxuXFxuICAgICAgICAmOmNoZWNrZWQge1xcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHRoZW1lLiRjaGVjay1pbnB1dC1jaGVja2JveC1jaGVja2VkLWJhY2tncm91bmQtaW1hZ2U7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmICR0eXBlID09IFxcXCJyYWRpb1xcXCIge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdGhlbWUuJGNoZWNrLWlucHV0LXJhZGlvLWJvcmRlci1yYWRpdXM7XFxuXFxuICAgICAgICAmOmNoZWNrZWQge1xcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHRoZW1lLiRjaGVjay1pbnB1dC1yYWRpby1jaGVja2VkLWJhY2tncm91bmQtaW1hZ2U7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmICR0eXBlID09IFxcXCJ0b2dnbGVcXFwiIHtcXG4gICAgICAgIHdpZHRoOiB0aGVtZS4kY2hlY2staW5wdXQtdG9nZ2xlLXdpZHRoO1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdGhlbWUuJGNoZWNrLWlucHV0LXRvZ2dsZS1ib3JkZXItcmFkaXVzO1xcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdGhlbWUuJGNoZWNrLWlucHV0LXRvZ2dsZS1kZWZhdWx0LWJhY2tncm91bmQtaW1hZ2U7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0aGVtZS4kY2hlY2staW5wdXQtdG9nZ2xlLWRlZmF1bHQtYmFja2dyb3VuZC1wb3NpdGlvbjtcXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogdGhlbWUuJGNoZWNrLWlucHV0LXRvZ2dsZS1iYWNrZ3JvdW5kLXNpemU7XFxuXFxuICAgICAgICAmOmNoZWNrZWQge1xcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHRoZW1lLiRjaGVjay1pbnB1dC10b2dnbGUtY2hlY2tlZC1iYWNrZ3JvdW5kLWltYWdlO1xcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRoZW1lLiRjaGVjay1pbnB1dC10b2dnbGUtY2hlY2tlZC1iYWNrZ3JvdW5kLXBvc2l0aW9uO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbi8vIDIuXFxuQG1peGluIG1pbi10YXAtdGFyZ2V0KCR0eXBlKSB7XFxuICAgICRpbnB1dC13aWR0aDogdGhlbWUuJGNoZWNrLWlucHV0LXNpemU7XFxuXFxuICAgIEBpZiAkdHlwZSA9PSBcXFwidG9nZ2xlXFxcIiB7XFxuICAgICAgICAkaW5wdXQtd2lkdGg6IHRoZW1lLiRjaGVjay1pbnB1dC10b2dnbGUtd2lkdGg7XFxuICAgIH1cXG5cXG4gICAgJHRhcC10YXJnZXQtb2Zmc2V0OiBjYWxjKCgjeyRpbnB1dC13aWR0aH0gLSAje3RoZW1lLiRjaGVjay10YXAtdGFyZ2V0LXNpemV9KSAvIDIpO1xcblxcbiAgICBAaW5jbHVkZSBhY2Nlc3NpYmlsaXR5Lm1pbi10YXAtdGFyZ2V0KCRzaXplOiB0aGVtZS4kY2hlY2stdGFwLXRhcmdldC1zaXplLCAkY2VudGVyOiBmYWxzZSk7XFxuXFxuICAgIG1pbi1oZWlnaHQ6IHRoZW1lLiRjaGVjay10YXAtdGFyZ2V0LXNpemU7XFxuICAgIHBhZGRpbmctdG9wOiBjYWxjKCgje3RoZW1lLiRjaGVjay10YXAtdGFyZ2V0LXNpemV9IC0gMXJlbSAqICN7dHlwb2dyYXBoeS4kbGluZS1oZWlnaHQtYmFzZX0pIC8gMik7XFxuXFxuICAgICY6OmJlZm9yZSB7XFxuICAgICAgICB0b3A6IDA7XFxuICAgICAgICBsZWZ0OiAkdGFwLXRhcmdldC1vZmZzZXQ7XFxuICAgIH1cXG5cXG4gICAgQGlmICR0eXBlID09IFxcXCJjaGVja2JveFxcXCIgb3IgJHR5cGUgPT0gXFxcInRvZ2dsZVxcXCIge1xcbiAgICAgICAgJi5oYXNSb290TGFiZWxCZWZvcmU6OmJlZm9yZSB7XFxuICAgICAgICAgICAgcmlnaHQ6ICR0YXAtdGFyZ2V0LW9mZnNldDtcXG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgLy8gMy5cXG4gICAgICAgICYuaXNSb290SW5Gb3JtTGF5b3V0IHtcXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xcblxcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XFxuICAgICAgICAgICAgICAgIHRvcDogY2FsYygoMXJlbSAqICN7dHlwb2dyYXBoeS4kbGluZS1oZWlnaHQtYmFzZX0gLSAje3RoZW1lLiRjaGVjay10YXAtdGFyZ2V0LXNpemV9KSAvIDIpO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290SW5Gb3JtTGF5b3V0LmlzUm9vdExheW91dEhvcml6b250YWw6OmJlZm9yZSB7XFxuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XFxuXFxuICAgICAgICAgICAgLy8gNC5cXG4gICAgICAgICAgICBAc3VwcG9ydHMgbm90IChncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQpIHtcXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXCIsXCIvLyAxLiBJbnB1dCBgbGluZS1oZWlnaHRgIGlzIHNwZWNpZmllZCBpbiBgcmVtYCBzbyBpbnB1dHMgZG8gbm90IGJyZWFrIHdoZW4gdGhlaXIgZm9udCBzaXplIGdldHNcXG4vLyAgICBjaGFuZ2VkIGxhdGVyLlxcblxcbkB1c2UgXFxcInNhc3M6bWFwXFxcIjtcXG5AdXNlIFxcXCIuLi90aGVtZS90eXBvZ3JhcGh5XFxcIjtcXG5AdXNlIFxcXCIuLi90b29scy9zcGFjaW5nXFxcIjtcXG5cXG4kaGVscC10ZXh0LWxpbmUtaGVpZ2h0OiAxLjJyZW07XFxuXFxuJHZlcnRpY2FsLWlubmVyLWdhcDogc3BhY2luZy5vZigxKTtcXG4kdmVydGljYWwtaW5uZXItZ2FwLWxhcmdlOiBzcGFjaW5nLm9mKDIpO1xcbiR2ZXJ0aWNhbC1vdXRlci1zcGFjaW5nOiBzcGFjaW5nLm9mKDIpO1xcblxcbiRob3Jpem9udGFsLWlubmVyLWdhcDogc3BhY2luZy5vZigyKTtcXG4kaG9yaXpvbnRhbC1vdXRlci1zcGFjaW5nOiBzcGFjaW5nLm9mKDIpO1xcblxcbiRib3gtaW5wdXQtZm9udC1mYW1pbHk6IHR5cG9ncmFwaHkuJGZvbnQtZmFtaWx5LWJhc2U7XFxuJGJveC1pbnB1dC1mb250LXdlaWdodDogbWFwLmdldCh0eXBvZ3JhcGh5LiRmb250LXdlaWdodC12YWx1ZXMsIGRlZmF1bHQpO1xcbiRib3gtaW5wdXQtbGluZS1oZWlnaHQ6IDEuNXJlbTsgLy8gMS5cXG4kYm94LWZpZWxkLWNhcmV0LXNpemU6IDIuMjVyZW07XFxuJGJveC1maWVsZC1pbnB1dC1udW1iZXItYXJyb3dzLXdpZHRoOiAxLjVyZW07XFxuJGJveC1maWVsZC1ib3R0b20tbGluZS1oZWlnaHQ6IDJweDtcXG5cXG4kaW5saW5lLWZpZWxkLWlubmVyLWdhcDogc3BhY2luZy5vZigyKTtcXG5cXG4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzOiAoXFxuICAgIGJveDogKFxcbiAgICAgICAgZmlsbGVkOiAoZGVmYXVsdCwgaG92ZXIsIGZvY3VzLCBkaXNhYmxlZCksXFxuICAgICAgICBvdXRsaW5lOiAoZGVmYXVsdCwgaG92ZXIsIGZvY3VzLCBkaXNhYmxlZCksXFxuICAgICksXFxuICAgIGNoZWNrOiAoXFxuICAgICAgICBkZWZhdWx0OiAoZGVmYXVsdCwgY2hlY2tlZCwgZGlzYWJsZWQsIGNoZWNrZWQtZGlzYWJsZWQpLFxcbiAgICApLFxcbiAgICBjdXN0b206IChcXG4gICAgICAgIGRlZmF1bHQ6IChkZWZhdWx0LCBkaXNhYmxlZCksXFxuICAgICksXFxuICAgIHZhbGlkYXRpb246IChcXG4gICAgICAgIGludmFsaWQ6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICAgICB2YWxpZDogKGRlZmF1bHQsIGNoZWNrZWQsIGRpc2FibGVkLCBjaGVja2VkLWRpc2FibGVkKSxcXG4gICAgICAgIHdhcm5pbmc6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICksXFxuKTtcXG5cXG4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXM6IChcXG4gICAgZGVmYXVsdDogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGNoZWNrLWJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3csIHN1cnJvdW5kaW5nLXRleHQtY29sb3IpLFxcbiAgICBob3ZlcjogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGJveC1zaGFkb3cpLFxcbiAgICBmb2N1czogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGNoZWNrLWJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cpLFxcbiAgICBjaGVja2VkOiAoYm9yZGVyLWNvbG9yLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yKSxcXG4gICAgZGlzYWJsZWQ6IChjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93LCBzdXJyb3VuZGluZy10ZXh0LWNvbG9yKSxcXG4gICAgY2hlY2tlZC1kaXNhYmxlZDogKGJvcmRlci1jb2xvciwgY2hlY2stYmFja2dyb3VuZC1jb2xvciksXFxuKTtcXG5cIixcIkB1c2UgXFxcInNhc3M6bGlzdFxcXCI7XFxuQHVzZSBcXFwic2FzczptZXRhXFxcIjtcXG5AdXNlIFxcXCJzYXNzOnN0cmluZ1xcXCI7XFxuQHVzZSBcXFwiLi4vc2V0dGluZ3MvYW5pbWF0aW9uc1xcXCI7XFxuXFxuJF9hbGxvd2VkLXRyYW5zaXRpb25zOiAoXFxuICAgIGJvcmRlci1jb2xvcixcXG4gICAgYmFja2dyb3VuZC1jb2xvcixcXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbixcXG4gICAgYm94LXNoYWRvdyxcXG4gICAgY29sb3IsXFxuICAgIG9wYWNpdHksXFxuICAgIHRyYW5zZm9ybSxcXG4gICAgdmlzaWJpbGl0eSxcXG4pO1xcblxcbiRfcmVkdWNlZC1tb3Rpb24tZGlzYWxsb3dlZC10cmFuc2l0aW9uczogKHRyYW5zZm9ybSk7XFxuXFxuQGZ1bmN0aW9uIF92YWxpZGF0ZS10cmFuc2l0aW9ucygkcHJvcGVydGllcykge1xcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xcbiAgICAgICAgJGlzLWFsbG93ZWQ6IGxpc3QuaW5kZXgoJF9hbGxvd2VkLXRyYW5zaXRpb25zLCAkcHJvcGVydHkpO1xcblxcbiAgICAgICAgQGlmIG5vdCAkaXMtYWxsb3dlZCB7XFxuICAgICAgICAgICAgQHJldHVybiBmYWxzZTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAcmV0dXJuIHRydWU7XFxufVxcblxcbkBmdW5jdGlvbiBfcmVkdWNlLW1vdGlvbi10cmFuc2l0aW9ucygkcHJvcGVydGllcykge1xcbiAgICAkcmVkdWNlZC1wcm9wZXJ0aWVzOiAoKTtcXG4gICAgJHNlcGFyYXRvcjogbGlzdC5zZXBhcmF0b3IoJHByb3BlcnRpZXMpO1xcblxcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xcbiAgICAgICAgQGlmIG5vdCBsaXN0LmluZGV4KCRfcmVkdWNlZC1tb3Rpb24tZGlzYWxsb3dlZC10cmFuc2l0aW9ucywgJHByb3BlcnR5KSB7XFxuICAgICAgICAgICAgJHJlZHVjZWQtcHJvcGVydGllczogbGlzdC5hcHBlbmQoJHJlZHVjZWQtcHJvcGVydGllcywgJHByb3BlcnR5LCAkc2VwYXJhdG9yOiAkc2VwYXJhdG9yKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAcmV0dXJuICRyZWR1Y2VkLXByb3BlcnRpZXM7XFxufVxcblxcbkBtaXhpbiBhZGQoJHByb3BlcnRpZXMsICRkdXJhdGlvbjogMTUwbXMpIHtcXG4gICAgJHByb3BlcnR5LWxpc3Q6ICgpO1xcblxcbiAgICBAaWYgbWV0YS50eXBlLW9mKCRwcm9wZXJ0aWVzKSAhPSBcXFwic3RyaW5nXFxcIiBhbmQgbWV0YS50eXBlLW9mKCRwcm9wZXJ0aWVzKSAhPSBcXFwibGlzdFxcXCIge1xcbiAgICAgICAgQGVycm9yIFxcXCJUcmFuc2l0aW9uIHByb3BlcnRpZXMgbXVzdCBiZSBhIHN0cmluZyBvciBhIFNhc3MgbGlzdCwgYCN7JHByb3BlcnRpZXN9YCBnaXZlbi5cXFwiO1xcbiAgICB9XFxuXFxuICAgICRwcm9wZXJ0eS1saXN0OiBsaXN0LmpvaW4oJHByb3BlcnR5LWxpc3QsICRwcm9wZXJ0aWVzKTtcXG5cXG4gICAgQGlmIG5vdCBfdmFsaWRhdGUtdHJhbnNpdGlvbnMoJHByb3BlcnR5LWxpc3QpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiT25seSBbI3skX2FsbG93ZWQtdHJhbnNpdGlvbnN9XSB0cmFuc2l0aW9ucyBhcmUgYWxsb3dlZCwgWyN7JHByb3BlcnRpZXN9XSBnaXZlbi5cXFwiO1xcbiAgICB9IEBlbHNlIHtcXG4gICAgICAgICRyZWR1Y2VkLXByb3BlcnR5LWxpc3Q6IF9yZWR1Y2UtbW90aW9uLXRyYW5zaXRpb25zKCRwcm9wZXJ0eS1saXN0KTtcXG5cXG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6ICRwcm9wZXJ0eS1saXN0O1xcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGFuaW1hdGlvbnMuJHN0YW5kYXJkLXRpbWluZy1mdW5jdGlvbjtcXG5cXG4gICAgICAgIEBpZiBsaXN0Lmxlbmd0aCgkcmVkdWNlZC1wcm9wZXJ0eS1saXN0KSA+IDAge1xcbiAgICAgICAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XFxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6ICRyZWR1Y2VkLXByb3BlcnR5LWxpc3Q7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiLFwiJHN0YW5kYXJkLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcXG5cIixcIi8vIDEuICBJbmxpbmUgZm9ybSBmaWVsZHMgYW5kIGZpZWxkcyB3aXRoIHZlcnRpY2FsIGxheW91dCB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgdGhleSBuZWVkLiBMYWJlbHNcXG4vLyAgICAgZG8gbm90IHdyYXAgdW50aWwgZm9yY2VkIGJ5IGNvbnRhaW5lciBvZiB0aGUgZmllbGQuIE1pbiBhbmQgbWF4IGxpbWl0cyBtYWtlIGV4dHJhIGxvbmcgd29yZHNcXG4vLyAgICAgYnJlYWsgaWYgbmVjZXNzYXJ5Llxcbi8vXFxuLy8gMi4gIEZvcm0gZmllbGRzIGluIGhvcml6b250YWwgbGF5b3V0IGFsc28gdGFrZSB1cCBvbmx5IGFzIG11Y2ggc3BhY2UgYXMgdGhleSBuZWVkLiBMYWJlbHMgZG8gbm90XFxuLy8gICAgIHdyYXAgdW50aWwgbGFiZWwgd2lkdGggbGltaXQgaXMgcmVhY2hlZCAoNTAgJSBvZiBhdmFpbGFibGUgaG9yaXpvbnRhbCBzcGFjZSBieSBkZWZhdWx0KS5cXG4vL1xcbi8vIDMuICBIZWxwIHRleHRzIGFuZCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGFyZSBhbGlnbmVkIGJlbG93IGlucHV0IGFuZCB3cmFwcGVkLiBUaGVpciB3aWR0aCBpcyBhbHdheXNcXG4vLyAgICAgbGltaXRlZCB0byB0aGUgd2lkdGggb2YgdGhlIGlucHV0IGZpZWxkIHNvIHRoZXkgZG9uJ3Qgc2hpZnQgYWRqYWNlbnQgZWxlbWVudHMgd2hlbiB0aGV5IHNob3dcXG4vLyAgICAgdXAuIFRoaXMgYXBwbGllcyB1bmxlc3MgdGhlIGZpZWxkIGlzIGluc2lkZSBGb3JtTGF5b3V0IChzZWUgMTApLlxcbi8vXFxuLy8gNC4gIERlZmluZSBncmlkIHNwYWNpbmcgYXMgcGFkZGluZyBvZiBjaGlsZCBlbGVtZW50cyBiZWNhdXNlIGdyaWQgYXJlYXMgbWFrZSByb3cgYW5kIGNvbHVtbiBnYXBzXFxuLy8gICAgIHNob3cgdXAgZXZlbiB3aGVuIG5vdCBuZWNlc3NhcnkuXFxuLy9cXG4vLyA1LiAgV2hlbiBpbnB1dCBzaXplIGlzIHNtYWxsIGFuZCBmb3JtIGZpZWxkIGxheW91dCBpcyBzZXQgdG8gaG9yaXpvbnRhbCwgZXhwYW5kIGhlbHAgdGV4dCBhbmRcXG4vLyAgICAgdmFsaWRhdGlvbiBtZXNzYWdlIG92ZXIgZnVsbCBmb3JtIGZpZWxkIHdpZHRoIHRvIGltcHJvdmUgdGhlaXIgcmVhZGFiaWxpdHkuIE90aGVyd2lzZSB0aGVcXG4vLyAgICAgdGV4dCB3b3VsZCBiZSBwYWNrZWQgaW50byBhIHZlcnkgbmFycm93IGNvbHVtbiBhbmQgaGFyZCB0byByZWFkLiBUbyBwcmV2ZW50IGhlbHAgdGV4dCBhbmRcXG4vLyAgICAgdmFsaWRhdGlvbiBtZXNzYWdlIGZyb20gZ3Jvd2luZyB0aGUgbGF5b3V0IG1vcmUgdGhhbiBuZWNlc3NhcnkgKGllLiB0aGUgc2l6ZSB3aXRob3V0XFxuLy8gICAgIGhlbHAvdmFsaWRhdGlvbiB0ZXh0KSwgYG1pbi1jb250ZW50YCBncmlkIHNpemluZyBtdXN0IGJlIHVzZWQgYWxvbmcgd2l0aCBkaXNhYmxlZCB3cmFwcGluZyBvZlxcbi8vICAgICBsYWJlbC5cXG4vL1xcbi8vIDYuICBGdWxsLXdpZHRoIGhvcml6b250YWwgZm9ybSBmaWVsZHMgcHJlZmVyIG5vdCB3cmFwcGluZyB0aGUgbGFiZWwgdW50aWwgYSBsaW1pdCBpcyByZWFjaGVkXFxuLy8gICAgICg1MCAlIG9mIGF2YWlsYWJsZSBob3Jpem9udGFsIHNwYWNlIGJ5IGRlZmF1bHQsIHNhbWUgYXMgaW4gMi4pLlxcbi8vXFxuLy8gNy4gIEp1c3RpZnkgaW5wdXRzIHRvIGBzdGFydGAgaW4gaG9yaXpvbnRhbCBsYXlvdXRzIHRvIGZpeCBwb3NpdGlvbmluZyBpc3N1ZXMgd2l0aCBTZWxlY3QgRmllbGRzLlxcbi8vICAgICBSZXZlcnRlZCBmb3IgZnVsbC13aWR0aCBmaWVsZHMuXFxuLy9cXG4vLyA4LiAgR3JpZCBzZXR0aW5ncyBhcmUgaW5oZXJpdGVkIGZyb20gaG9yaXpvbnRhbCBGb3JtTGF5b3V0IGFuZCBhcHBsaWVkIHVzaW5nIGBzdWJncmlkYC5cXG4vLyAgICAgQSBmYWxsYmFjayBpcyBzdXBwbGllZCB0byBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgYHN1YmdyaWRgIHlldC5cXG4vL1xcbi8vICAgICBDaHJvbWUgMTE3KyBzdXBwb3J0cyBgc3ViZ3JpZGAgYnV0IGl0IGRvZXNuJ3Qgd29yayBmb3IgYDxmaWVsZHNldD5gLiBUaGlzIGlzIHdoeSB3ZSBhbHdheXNcXG4vLyAgICAgdXNlIHRoZSBmYWxsYmFjayBmb3IgYDxmaWVsZHNldD5gLlxcbi8vXFxuLy8gICAgIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTE0NzMyNDJcXG4vLyAgICAgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LXVpLW9yZy9yZWFjdC11aS9pc3N1ZXMvMjMyXFxuLy9cXG4vLyA5LiAgSGVscCB0ZXh0cyBhbmQgdmFsaWRhdGlvbiBtZXNzYWdlcyBjYW4gdGFrZSB1cCBmdWxsIHdpZHRoIG9mIEZvcm1MYXlvdXQuIFRoZXJlIGlzIG5vIHJlYXNvblxcbi8vICAgICB0byBtYWtlIHRoZW0gd3JhcCBhcyB0aGV5IGNhbm5vdCBicmVhayBsYXlvdXQgb2YgRm9ybUxheW91dC5cXG4vL1xcbi8vIDEwLiBWaXN1YWxseSBhbGlnbiBsYWJlbCB0byBpbnB1dCBiYXNlbGluZS4gQWNoaWV2ZWQgd2l0aCBgcGFkZGluZy10b3BgIGFuZCBgcGFkZGluZy1ib3R0b21gIGR1ZVxcbi8vICAgICB0byB0d28gcmVhc29uczpcXG4vL1xcbi8vICAgICAqIGBhbGlnbi1pdGVtczogYmFzZWxpbmVgIGRvZXNuJ3Qgd29yayBmb3IgYmxhbmsgdGV4dCBpbnB1dHMgaW4gU2FmYXJpLiBTZWVcXG4vLyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Mjk2OCBhbmRcXG4vLyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LXVpLW9yZy9yZWFjdC11aS9pc3N1ZXMvMjY1Llxcbi8vXFxuLy8gICAgICogYGFsaWduLWl0ZW1zOiBiYXNlbGluZWAgZG9lc24ndCBhbGxvdyBzdWJzZXF1ZW50IHZlcnRpY2FsIGNlbnRlcmluZyBvZiB0YWxsIGlucHV0cyBhbmQvb3JcXG4vLyAgICAgICAgbXVsdGlsaW5lIGxhYmVscyAoc2VlIGB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC12ZXJ0aWNhbC1hbGlnbm1lbnRgIGFuZFxcbi8vICAgICAgICBgdGhlbWUuJGhvcml6b250YWwtZmllbGQtdmVydGljYWwtYWxpZ25tZW50YCkuXFxuLy9cXG4vLyAxMS4gUmVzZXQgYHdpZHRoYCBwcmV2aW91c2x5IHNldCBieSBpbmxpbmUgZmllbGQgbGF5b3V0IChzZWUgYF9pbmxpbmUtZmllbGQtbGF5b3V0LnNjc3NgKS5cXG4vL1xcbi8vIDEyLiBNYWtlIGZpZWxkcyBqdXN0IGFzIHdpZGUgYXMgbmVjZXNzYXJ5LiBGaWVsZHMgc2hvdWxkIGJlIGludGVyYWN0aXZlIG9ubHkgd2hlcmUgdGhlaXIgdmlzaWJsZVxcbi8vICAgICBjb250ZW50IGlzLlxcbi8vXFxuLy8gMTMuIExhYmVsIGFuZCBmaWVsZCBhcmUgdmVydGljYWxseSBhbGlnbmVkIHRvIHRvcCAoc3RhcnQpIGJ5IGRlZmF1bHQgKHNlZSAxMC4pLiBWZXJ0aWNhbFxcbi8vICAgICBhbGlnbm1lbnQgb2YgZWFjaCBibG9jayBjYW4gYmUgY2hhbmdlZCBieSB0aGVtZSBjb25maWd1cmF0aW9uLlxcblxcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm1zXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3JtLWZpZWxkc1xcXCIgYXMgc2V0dGluZ3M7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL3R5cG9ncmFwaHlcXFwiO1xcbkB1c2UgXFxcIi4uL2JyZWFrcG9pbnRcXFwiO1xcblxcbkBtaXhpbiB2ZXJ0aWNhbCgkaGFzLWxpc3Q6IGZhbHNlKSB7XFxuICAgIEBpZiAkaGFzLWxpc3Qge1xcbiAgICAgICAgLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwOiAje3NldHRpbmdzLiR2ZXJ0aWNhbC1pbm5lci1nYXAtbGFyZ2V9O1xcbiAgICB9XFxuXFxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyAvLyAxLlxcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBtaW4td2lkdGg6IDA7IC8vIDEuXFxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMS5cXG5cXG4gICAgLmxhYmVsIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCAje3NldHRpbmdzLiR2ZXJ0aWNhbC1pbm5lci1nYXB9KTtcXG4gICAgfVxcblxcbiAgICAuaGVscFRleHQsXFxuICAgIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tcnVpLWxvY2FsLXZlcnRpY2FsLWdhcCwgI3tzZXR0aW5ncy4kdmVydGljYWwtaW5uZXItZ2FwfSk7XFxuICAgIH1cXG5cXG4gICAgLmZpZWxkIHtcXG4gICAgICAgIHdpZHRoOiBtaW4tY29udGVudDsgLy8gMy5cXG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgLy8gMy5cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaG9yaXpvbnRhbCgkaGFzLW1pbi10YXAtdGFyZ2V0OiBmYWxzZSkge1xcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGZvcm1zLiRob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ncmlkOyAvLyAyLlxcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC13aWR0aCBtaW4tY29udGVudDsgLy8gMi5cXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFxcXCJsYWJlbCBmaWVsZFxcXCI7XFxuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7IC8vIDEwLiwgMTMuXFxuXFxuICAgICAgICAubGFiZWwge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogbGFiZWw7XFxuICAgICAgICAgICAgYWxpZ24tc2VsZjogdGhlbWUuJGhvcml6b250YWwtbGFiZWwtdmVydGljYWwtYWxpZ25tZW50OyAvLyAxMy5cXG4gICAgICAgICAgICBtaW4td2lkdGg6IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLW1pbi13aWR0aDtcXG5cXG4gICAgICAgICAgICAvLyAxMC5cXG4gICAgICAgICAgICBAaWYgJGhhcy1taW4tdGFwLXRhcmdldCB7XFxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOlxcbiAgICAgICAgICAgICAgICAgICAgY2FsYyhcXG4gICAgICAgICAgICAgICAgICAgICAgICAoI3t0aGVtZS4kY2hlY2stdGFwLXRhcmdldC1zaXplfSAtIDFyZW0gKiAje3R5cG9ncmFwaHkuJGxpbmUtaGVpZ2h0LWJhc2V9KVxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8gMlxcbiAgICAgICAgICAgICAgICAgICAgKTtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206XFxuICAgICAgICAgICAgICAgICAgICBjYWxjKFxcbiAgICAgICAgICAgICAgICAgICAgICAgICgje3RoZW1lLiRjaGVjay10YXAtdGFyZ2V0LXNpemV9IC0gMXJlbSAqICN7dHlwb2dyYXBoeS4kbGluZS1oZWlnaHQtYmFzZX0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgLyAyXFxuICAgICAgICAgICAgICAgICAgICApO1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAvLyAxMC4sIDEzLlxcbiAgICAgICAgICAgIEBlbHNlIHtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICN7dGhlbWUuJGhvcml6b250YWwtbGFiZWwtcGFkZGluZy15fTtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICN7dGhlbWUuJGhvcml6b250YWwtbGFiZWwtcGFkZGluZy15fTtcXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogc2V0dGluZ3MuJGhvcml6b250YWwtaW5uZXItZ2FwOyAvLyA0LlxcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXRleHQtYWxpZ247XFxuICAgICAgICB9XFxuXFxuICAgICAgICAuZmllbGQge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogZmllbGQ7XFxuICAgICAgICAgICAgYWxpZ24tc2VsZjogdGhlbWUuJGhvcml6b250YWwtZmllbGQtdmVydGljYWwtYWxpZ25tZW50OyAvLyAxMy5cXG4gICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0OyAvLyA3LlxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBob3Jpem9udGFsLXdpdGgtc21hbGwtaW5wdXQoKSB7XFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW4tY29udGVudCBtaW4tY29udGVudDsgLy8gNS5cXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XFxuICAgICAgICAgICAgXFxcImxhYmVsIGZpZWxkXFxcIlxcbiAgICAgICAgICAgIFxcXCJoZWxwdGV4dCBoZWxwdGV4dFxcXCJcXG4gICAgICAgICAgICBcXFwidmFsaWRhdGlvbnRleHQgdmFsaWRhdGlvbnRleHRcXFwiOyAvLyA1LlxcblxcbiAgICAgICAgLmxhYmVsIHtcXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLmZpZWxkIHtcXG4gICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50czsgLy8gNS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC5pbnB1dENvbnRhaW5lciB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBmaWVsZDsgLy8gNS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC5oZWxwVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBoZWxwdGV4dDsgLy8gNS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiB2YWxpZGF0aW9udGV4dDsgLy8gNS5cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gZnVsbC13aWR0aCgpIHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgd2lkdGg6IDEwMCU7XFxuXFxuICAgIC5maWVsZCxcXG4gICAgLmlucHV0Q29udGFpbmVyLFxcbiAgICAuaW5wdXQge1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgIH1cXG5cXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChmb3Jtcy4kaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwge1xcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XFxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB0aGVtZS4kaG9yaXpvbnRhbC1mdWxsLXdpZHRoLWxhYmVsLXdpZHRoIDFmcjsgLy8gNi5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuZmllbGQge1xcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogc3RyZXRjaDsgLy8gNy5cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaW4tZm9ybS1sYXlvdXQoJGlzLWZpZWxkc2V0OiBmYWxzZSkge1xcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0OyAvLyAxMi5cXG5cXG4gICAgLmZpZWxkIHtcXG4gICAgICAgIHdpZHRoOiBhdXRvOyAvLyA5LlxcbiAgICB9XFxuXFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgLm9wdGlvbkxhYmVsIHtcXG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgLy8gMTEuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAvLyA4LlxcbiAgICAgICAgQGlmICRpcy1maWVsZHNldCB7XFxuICAgICAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLFxcbiAgICAgICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbC5oYXNSb290U21hbGxJbnB1dCB7XFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0gQGVsc2Uge1xcbiAgICAgICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCxcXG4gICAgICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwuaGFzUm9vdFNtYWxsSW5wdXQge1xcbiAgICAgICAgICAgICAgICBncmlkOiBpbmhlcml0O1xcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XFxuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XFxuXFxuICAgICAgICAgICAgICAgIEBzdXBwb3J0cyBub3QgKGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZCkge1xcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLmlzUm9vdEZ1bGxXaWR0aCB7XFxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmxhYmVsLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaW5wdXRDb250YWluZXIsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmhlbHBUZXh0LFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiB1bnNldDsgLy8gOC5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuZmllbGQsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmlucHV0Q29udGFpbmVyLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5oZWxwVGV4dCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyOyAvLyA4LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLmhhc1Jvb3RTbWFsbElucHV0IC5maWVsZCB7XFxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vIDUuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXCIsXCJAdXNlIFxcXCJzYXNzOm1hcFxcXCI7XFxuQHVzZSBcXFwiLi4vc2V0dGluZ3MvYnJlYWtwb2ludHNcXFwiO1xcblxcbkBtaXhpbiB1cCgkYnJlYWtwb2ludCkge1xcbiAgICBAaWYgbm90IG1hcC5oYXMta2V5KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgYnJlYWtwb2ludCBzcGVjaWZpZWQhICN7JGJyZWFrcG9pbnR9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMoYnJlYWtwb2ludHMuJHZhbHVlcyl9XFxcIjtcXG4gICAgfSBAZWxzZSBpZiBtYXAuZ2V0KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSA9PSAwIHtcXG4gICAgICAgIEBjb250ZW50O1xcbiAgICB9IEBlbHNlIHtcXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSkge1xcbiAgICAgICAgICAgIEBjb250ZW50O1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiLG51bGxdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5sb2NhbHMgPSB7XG5cdFwicm9vdFwiOiBcIlJhZGlvX19yb290X19BM1JYellkaVwiLFxuXHRcImlucHV0XCI6IFwiUmFkaW9fX2lucHV0X19zUVRFWllWY1wiLFxuXHRcImlzUm9vdERpc2FibGVkXCI6IFwiUmFkaW9fX2lzUm9vdERpc2FibGVkX19aUEVsaGtpclwiLFxuXHRcImxlZ2VuZFwiOiBcIlJhZGlvX19sZWdlbmRfX1o0ZTFkSlFpXCIsXG5cdFwibGFiZWxcIjogXCJSYWRpb19fbGFiZWxfX2YzNXp2U1VLXCIsXG5cdFwib3B0aW9uTGFiZWxcIjogXCJSYWRpb19fb3B0aW9uTGFiZWxfX2lQc1V1UkdrXCIsXG5cdFwib3B0aW9uc1wiOiBcIlJhZGlvX19vcHRpb25zX181N3F2YmlkQlwiLFxuXHRcIm9wdGlvblwiOiBcIlJhZGlvX19vcHRpb25fX1NEaEdVaWlEXCIsXG5cdFwiaGVscFRleHRcIjogXCJSYWRpb19faGVscFRleHRfX1k5STd3K2JNXCIsXG5cdFwidmFsaWRhdGlvblRleHRcIjogXCJSYWRpb19fdmFsaWRhdGlvblRleHRfXzVVRTJIdy1ZXCIsXG5cdFwiaXNSb290UmVxdWlyZWRcIjogXCJSYWRpb19faXNSb290UmVxdWlyZWRfX2p2c3hrM0FNXCIsXG5cdFwiaXNSb290U3RhdGVJbnZhbGlkXCI6IFwiUmFkaW9fX2lzUm9vdFN0YXRlSW52YWxpZF9fQUk2SzBzWUhcIixcblx0XCJpc1Jvb3RTdGF0ZVZhbGlkXCI6IFwiUmFkaW9fX2lzUm9vdFN0YXRlVmFsaWRfX1ZSWTB2cTVmXCIsXG5cdFwiaXNSb290U3RhdGVXYXJuaW5nXCI6IFwiUmFkaW9fX2lzUm9vdFN0YXRlV2FybmluZ19fZlFtOUtaWnJcIixcblx0XCJpc0xhYmVsSGlkZGVuXCI6IFwiUmFkaW9fX2lzTGFiZWxIaWRkZW5fX0JwMFBnOE04XCIsXG5cdFwiaXNSb290TGF5b3V0VmVydGljYWxcIjogXCJSYWRpb19faXNSb290TGF5b3V0VmVydGljYWxfX05qZkRQNEYyXCIsXG5cdFwiaXNSb290TGF5b3V0SG9yaXpvbnRhbFwiOiBcIlJhZGlvX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX181SzBUaDNOQVwiLFxuXHRcImZpZWxkXCI6IFwiUmFkaW9fX2ZpZWxkX196ZWlzKzc5c1wiLFxuXHRcImlzUm9vdEZ1bGxXaWR0aFwiOiBcIlJhZGlvX19pc1Jvb3RGdWxsV2lkdGhfX2UwYnBmaEFYXCIsXG5cdFwiaW5wdXRDb250YWluZXJcIjogXCJSYWRpb19faW5wdXRDb250YWluZXJfXzg5Y2kwaGdEXCIsXG5cdFwiaXNSb290SW5Gb3JtTGF5b3V0XCI6IFwiUmFkaW9fX2lzUm9vdEluRm9ybUxheW91dF9fZVZ3OVorNkVcIixcblx0XCJoYXNSb290U21hbGxJbnB1dFwiOiBcIlJhZGlvX19oYXNSb290U21hbGxJbnB1dF9fckpXc0tHeHJcIlxufTtcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js?!./src/lib/components/Radio/Radio.scss\n");
|
1223
1223
|
|
1224
1224
|
/***/ }),
|
1225
1225
|
|
@@ -1243,7 +1243,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
|
|
1243
1243
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
1244
1244
|
|
1245
1245
|
"use strict";
|
1246
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \".SelectField__root__0ig1xaq8 {\\n text-align: left;\\n}\\n\\n.SelectField__label__HlohMdZb {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__label__color));\\n}\\n\\n.SelectField__inputContainer__6OtREXBH {\\n position: relative;\\n display: inline-flex;\\n min-width: 0;\\n max-width: 100%;\\n}\\n\\n.SelectField__input__TBDPc16y {\\n transition-property: opacity, color, border-color, background-color, box-shadow;\\n transition-duration: 150ms;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n width: var(--rui-FormField--box__input__width);\\n min-width: var(--rui-FormField--box__input__min-width);\\n max-width: 100%;\\n height: var(--rui-local-height);\\n padding: var(--rui-local-padding-y) var(--rui-local-padding-x);\\n font-weight: var(--rui-font-weight-base);\\n font-size: var(--rui-local-font-size);\\n line-height: 1.5rem;\\n font-family: var(--rui-font-family-base);\\n vertical-align: middle;\\n color: var(--rui-local-color);\\n border: var(--rui-FormField--box__border-width) solid var(--rui-local-border-color);\\n border-radius: var(--rui-FormField--box__border-radius);\\n background: var(--rui-local-background);\\n box-shadow: var(--rui-local-box-shadow);\\n appearance: none;\\n padding-right: calc(2.25rem + var(--rui-dimension-space-2));\\n}\\n@media (prefers-reduced-motion: reduce) {\\n .SelectField__input__TBDPc16y {\\n transition-property: opacity, color, border-color, background-color, box-shadow;\\n }\\n}\\n.SelectField__input__TBDPc16y::-moz-placeholder {\\n color: var(--rui-FormField--box__placeholder__color);\\n opacity: 1;\\n}\\n.SelectField__input__TBDPc16y::placeholder {\\n color: var(--rui-FormField--box__placeholder__color);\\n opacity: 1;\\n}\\n.SelectField__input__TBDPc16y::-ms-expand {\\n display: none;\\n}\\n.SelectField__input__TBDPc16y option:disabled {\\n color: var(--rui-FormField--box--select__option--disabled__color);\\n}\\n\\n.SelectField__caret__tQhV8bA8 {\\n transition-property: border-color;\\n transition-duration: 150ms;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n position: absolute;\\n top: var(--rui-FormField--box__border-width);\\n right: var(--rui-FormField--box__border-width);\\n bottom: var(--rui-FormField--box__border-width);\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: calc(2.25rem - 2 * var(--rui-FormField--box__border-width));\\n border-start-end-radius: var(--rui-FormField--box__border-radius);\\n border-end-end-radius: var(--rui-FormField--box__border-radius);\\n pointer-events: none;\\n}\\n@media (prefers-reduced-motion: reduce) {\\n .SelectField__caret__tQhV8bA8 {\\n transition-property: border-color;\\n }\\n}\\n\\n.SelectField__caretIcon__GF1LSnV7 {\\n transform: translateY(-0.1rem) rotate(45deg);\\n display: inline-block;\\n width: 0.4375rem;\\n height: 0.4375rem;\\n border-width: 2px;\\n border-style: none solid solid none;\\n border-color: currentColor;\\n border-color: var(--rui-local-color);\\n}\\n\\n.SelectField__bottomLine__VNn6WyC- {\\n transition-property: transform, opacity;\\n transition-duration: 180ms;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n position: absolute;\\n bottom: 0;\\n width: 100%;\\n height: 2px;\\n opacity: 0;\\n transform: scaleX(0);\\n transform-origin: center center;\\n pointer-events: none;\\n}\\n@media (prefers-reduced-motion: reduce) {\\n .SelectField__bottomLine__VNn6WyC- {\\n transition-property: opacity;\\n }\\n}\\n.SelectField__input__TBDPc16y:focus ~ .SelectField__bottomLine__VNn6WyC- {\\n background-color: var(--rui-local-border-color);\\n opacity: 1;\\n transform: scaleX(1);\\n}\\n\\n.SelectField__helpText__Ebb65maA,\\n.SelectField__validationText__cZxPgGvG {\\n font-style: var(--rui-FormField__help-text__font-style);\\n font-size: var(--rui-FormField__help-text__font-size);\\n line-height: 1.2rem;\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__help-text__color));\\n}\\n\\n.SelectField__isRootRequired__QrV0Juii .SelectField__label__HlohMdZb {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField--required__label__color));\\n}\\n.SelectField__isRootRequired__QrV0Juii .SelectField__label__HlohMdZb::after {\\n content: var(--rui-FormField--required__sign);\\n color: var(--rui-FormField--required__sign__color);\\n}\\n\\n.SelectField__isRootVariantFilled__qVGSzh7d {\\n --rui-local-color: var(--rui-FormField--box--filled--default__color);\\n --rui-local-border-color: var(--rui-FormField--box--filled--default__border-color);\\n --rui-local-background: var(--rui-FormField--box--filled--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--box--filled--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--box--filled--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--box--filled--default__surrounding-text-color);\\n}\\n.SelectField__isRootVariantFilled__qVGSzh7d:hover {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--filled--hover__color,\\n var(--rui-FormField--box--filled--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--filled--hover__border-color,\\n var(--rui-FormField--box--filled--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--filled--hover__background,\\n var(--rui-FormField--box--filled--default__background)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--filled--hover__box-shadow,\\n var(--rui-FormField--box--filled--default__box-shadow)\\n );\\n}\\n.SelectField__isRootVariantFilled__qVGSzh7d:focus-within, .SelectField__isRootVariantFilled__qVGSzh7d:focus-within:hover,\\n.SelectField__isRootVariantFilled__qVGSzh7d .SelectField__input__TBDPc16y:focus {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--filled--focus__color,\\n var(--rui-FormField--box--filled--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--filled--focus__border-color,\\n var(--rui-FormField--box--filled--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--filled--focus__background,\\n var(--rui-FormField--box--filled--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--filled--focus__check-background-color,\\n var(--rui-FormField--box--filled--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--filled--focus__box-shadow,\\n var(--rui-FormField--box--filled--default__box-shadow)\\n );\\n}\\n.SelectField__isRootVariantFilled__qVGSzh7d.SelectField__isRootDisabled__RxaNPnHd {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--filled--disabled__color,\\n var(--rui-FormField--box--filled--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--filled--disabled__border-color,\\n var(--rui-FormField--box--filled--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--filled--disabled__background,\\n var(--rui-FormField--box--filled--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--filled--disabled__check-background-color,\\n var(--rui-FormField--box--filled--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--filled--disabled__box-shadow,\\n var(--rui-FormField--box--filled--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--box--filled--disabled__surrounding-text-color,\\n var(--rui-FormField--box--filled--default__surrounding-text-color)\\n );\\n}\\n.SelectField__isRootVariantFilled__qVGSzh7d .SelectField__input__TBDPc16y:disabled {\\n opacity: var(--rui-FormField--disabled__opacity);\\n cursor: var(--rui-FormField--disabled__cursor);\\n}\\n.SelectField__isRootVariantFilled__qVGSzh7d .SelectField__input__TBDPc16y {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.SelectField__isRootVariantOutline__y0HFDXRz {\\n --rui-local-color: var(--rui-FormField--box--outline--default__color);\\n --rui-local-border-color: var(--rui-FormField--box--outline--default__border-color);\\n --rui-local-background: var(--rui-FormField--box--outline--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--box--outline--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--box--outline--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--box--outline--default__surrounding-text-color);\\n}\\n.SelectField__isRootVariantOutline__y0HFDXRz:hover {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--outline--hover__color,\\n var(--rui-FormField--box--outline--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--outline--hover__border-color,\\n var(--rui-FormField--box--outline--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--outline--hover__background,\\n var(--rui-FormField--box--outline--default__background)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--outline--hover__box-shadow,\\n var(--rui-FormField--box--outline--default__box-shadow)\\n );\\n}\\n.SelectField__isRootVariantOutline__y0HFDXRz:focus-within, .SelectField__isRootVariantOutline__y0HFDXRz:focus-within:hover,\\n.SelectField__isRootVariantOutline__y0HFDXRz .SelectField__input__TBDPc16y:focus {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--outline--focus__color,\\n var(--rui-FormField--box--outline--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--outline--focus__border-color,\\n var(--rui-FormField--box--outline--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--outline--focus__background,\\n var(--rui-FormField--box--outline--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--outline--focus__check-background-color,\\n var(--rui-FormField--box--outline--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--outline--focus__box-shadow,\\n var(--rui-FormField--box--outline--default__box-shadow)\\n );\\n}\\n.SelectField__isRootVariantOutline__y0HFDXRz.SelectField__isRootDisabled__RxaNPnHd {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--outline--disabled__color,\\n var(--rui-FormField--box--outline--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--outline--disabled__border-color,\\n var(--rui-FormField--box--outline--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--outline--disabled__background,\\n var(--rui-FormField--box--outline--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--outline--disabled__check-background-color,\\n var(--rui-FormField--box--outline--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--outline--disabled__box-shadow,\\n var(--rui-FormField--box--outline--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--box--outline--disabled__surrounding-text-color,\\n var(--rui-FormField--box--outline--default__surrounding-text-color)\\n );\\n}\\n.SelectField__isRootVariantOutline__y0HFDXRz .SelectField__input__TBDPc16y:disabled {\\n opacity: var(--rui-FormField--disabled__opacity);\\n cursor: var(--rui-FormField--disabled__cursor);\\n}\\n.SelectField__isRootVariantOutline__y0HFDXRz .SelectField__caret__tQhV8bA8 {\\n border-left: var(--rui-FormField--box__border-width) var(--rui-FormField--box--select__caret__border-style) var(--rui-local-border-color);\\n background: var(--rui-FormField--box--select__caret__background);\\n}\\n.SelectField__isRootVariantOutline__y0HFDXRz.SelectField__isRootDisabled__RxaNPnHd .SelectField__caret__tQhV8bA8 {\\n opacity: var(--rui-FormField--disabled__opacity);\\n cursor: var(--rui-FormField--disabled__cursor);\\n}\\n\\n.SelectField__isRootStateInvalid__fvW8lRyM, .SelectField__isRootStateInvalid__fvW8lRyM:hover {\\n --rui-local-color: var(--rui-FormField--invalid--default__color);\\n --rui-local-border-color: var(--rui-FormField--invalid--default__border-color);\\n --rui-local-background: var(--rui-FormField--invalid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--invalid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--invalid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--invalid--default__surrounding-text-color);\\n}\\n.SelectField__isRootStateInvalid__fvW8lRyM .SelectField__input__TBDPc16y:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n}\\n.SelectField__isRootStateInvalid__fvW8lRyM.SelectField__isRootDisabled__RxaNPnHd {\\n --rui-local-color:\\n var(\\n --rui-FormField--invalid--disabled__color,\\n var(--rui-FormField--invalid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--disabled__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--invalid--disabled__background,\\n var(--rui-FormField--invalid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--disabled__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--invalid--disabled__box-shadow,\\n var(--rui-FormField--invalid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--invalid--disabled__surrounding-text-color,\\n var(--rui-FormField--invalid--default__surrounding-text-color)\\n );\\n}\\n.SelectField__isRootStateInvalid__fvW8lRyM .SelectField__input__TBDPc16y:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__border-color,\\n var(--rui-FormField--invalid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__check-background-color,\\n var(--rui-FormField--invalid--checked__check-background-color)\\n );\\n}\\n\\n.SelectField__isRootStateValid__lVCqATs5, .SelectField__isRootStateValid__lVCqATs5:hover {\\n --rui-local-color: var(--rui-FormField--valid--default__color);\\n --rui-local-border-color: var(--rui-FormField--valid--default__border-color);\\n --rui-local-background: var(--rui-FormField--valid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--valid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--valid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--valid--default__surrounding-text-color);\\n}\\n.SelectField__isRootStateValid__lVCqATs5 .SelectField__input__TBDPc16y:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n}\\n.SelectField__isRootStateValid__lVCqATs5.SelectField__isRootDisabled__RxaNPnHd {\\n --rui-local-color:\\n var(\\n --rui-FormField--valid--disabled__color,\\n var(--rui-FormField--valid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--disabled__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--valid--disabled__background,\\n var(--rui-FormField--valid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--disabled__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--valid--disabled__box-shadow,\\n var(--rui-FormField--valid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--valid--disabled__surrounding-text-color,\\n var(--rui-FormField--valid--default__surrounding-text-color)\\n );\\n}\\n.SelectField__isRootStateValid__lVCqATs5 .SelectField__input__TBDPc16y:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked-disabled__border-color,\\n var(--rui-FormField--valid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked-disabled__check-background-color,\\n var(--rui-FormField--valid--checked__check-background-color)\\n );\\n}\\n\\n.SelectField__isRootStateWarning__Nj4x1VKG, .SelectField__isRootStateWarning__Nj4x1VKG:hover {\\n --rui-local-color: var(--rui-FormField--warning--default__color);\\n --rui-local-border-color: var(--rui-FormField--warning--default__border-color);\\n --rui-local-background: var(--rui-FormField--warning--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--warning--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--warning--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--warning--default__surrounding-text-color);\\n}\\n.SelectField__isRootStateWarning__Nj4x1VKG .SelectField__input__TBDPc16y:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n}\\n.SelectField__isRootStateWarning__Nj4x1VKG.SelectField__isRootDisabled__RxaNPnHd {\\n --rui-local-color:\\n var(\\n --rui-FormField--warning--disabled__color,\\n var(--rui-FormField--warning--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--disabled__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--warning--disabled__background,\\n var(--rui-FormField--warning--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--disabled__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--warning--disabled__box-shadow,\\n var(--rui-FormField--warning--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--warning--disabled__surrounding-text-color,\\n var(--rui-FormField--warning--default__surrounding-text-color)\\n );\\n}\\n.SelectField__isRootStateWarning__Nj4x1VKG .SelectField__input__TBDPc16y:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked-disabled__border-color,\\n var(--rui-FormField--warning--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked-disabled__check-background-color,\\n var(--rui-FormField--warning--checked__check-background-color)\\n );\\n}\\n\\n.SelectField__isLabelHidden__453O1kMm {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n.SelectField__isRootLayoutVertical__coXjtRrV,\\n.SelectField__isRootLayoutHorizontal__BaAbM0Ih {\\n display: inline-flex;\\n flex-direction: column;\\n min-width: 0;\\n max-width: 100%;\\n}\\n.SelectField__isRootLayoutVertical__coXjtRrV .SelectField__label__HlohMdZb,\\n.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__label__HlohMdZb {\\n padding-bottom: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.SelectField__isRootLayoutVertical__coXjtRrV .SelectField__helpText__Ebb65maA,\\n.SelectField__isRootLayoutVertical__coXjtRrV .SelectField__validationText__cZxPgGvG,\\n.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__helpText__Ebb65maA,\\n.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__validationText__cZxPgGvG {\\n padding-top: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.SelectField__isRootLayoutVertical__coXjtRrV .SelectField__field__RsdA8MzV,\\n.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__field__RsdA8MzV {\\n width: -webkit-min-content;\\n width: -moz-min-content;\\n width: min-content;\\n max-width: 100%;\\n}\\n\\n@media (min-width: 48em) {\\n .SelectField__isRootLayoutHorizontal__BaAbM0Ih {\\n display: inline-grid;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) -webkit-min-content;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) min-content;\\n grid-template-areas: \\\"label field\\\";\\n align-items: start;\\n }\\n .SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__label__HlohMdZb {\\n grid-area: label;\\n align-self: var(--rui-FormField--horizontal__label__vertical-alignment);\\n min-width: var(--rui-FormField--horizontal__label__min-width);\\n padding-top: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-bottom: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-right: var(--rui-dimension-space-2);\\n text-align: var(--rui-FormField--horizontal__label__text-align);\\n }\\n .SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__field__RsdA8MzV {\\n grid-area: field;\\n align-self: var(--rui-FormField--horizontal__field__vertical-alignment);\\n justify-self: start;\\n }\\n}\\n\\n@media (min-width: 48em) {\\n .SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__label__HlohMdZb {\\n -ms-grid-row: 1;\\n -ms-grid-column: 1;\\n }\\n .SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__field__RsdA8MzV {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n}\\n\\n.SelectField__isRootFullWidth__fPEb5l7s {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n}\\n.SelectField__isRootFullWidth__fPEb5l7s .SelectField__field__RsdA8MzV,\\n.SelectField__isRootFullWidth__fPEb5l7s .SelectField__inputContainer__6OtREXBH,\\n.SelectField__isRootFullWidth__fPEb5l7s .SelectField__input__TBDPc16y {\\n width: 100%;\\n}\\n@media (min-width: 48em) {\\n .SelectField__isRootFullWidth__fPEb5l7s.SelectField__isRootLayoutHorizontal__BaAbM0Ih {\\n display: grid;\\n grid-template-columns: var(--rui-FormField--horizontal--full-width__label__width) 1fr;\\n }\\n .SelectField__isRootFullWidth__fPEb5l7s.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__field__RsdA8MzV {\\n justify-self: stretch;\\n }\\n}\\n\\n.SelectField__isRootInFormLayout__8tyhU1LY {\\n justify-self: start;\\n}\\n.SelectField__isRootInFormLayout__8tyhU1LY .SelectField__field__RsdA8MzV {\\n width: auto;\\n}\\n@media (min-width: 48em) {\\n .SelectField__isRootInFormLayout__8tyhU1LY .SelectField__optionLabel__jSTurkZe {\\n width: auto;\\n }\\n .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih, .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih.SelectField__hasRootSmallInput__h9W3aQpO {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n }\\n @supports not (grid-template-columns: subgrid) {\\n .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih, .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih.SelectField__hasRootSmallInput__h9W3aQpO {\\n display: contents;\\n }\\n }\\n .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih.SelectField__isRootFullWidth__fPEb5l7s {\\n grid-template-columns: subgrid;\\n }\\n .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__label__HlohMdZb, .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__field__RsdA8MzV, .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__inputContainer__6OtREXBH, .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__helpText__Ebb65maA, .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__validationText__cZxPgGvG {\\n grid-area: unset;\\n }\\n .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__field__RsdA8MzV, .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__inputContainer__6OtREXBH, .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__helpText__Ebb65maA, .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__validationText__cZxPgGvG {\\n grid-column-start: 2;\\n }\\n .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih.SelectField__hasRootSmallInput__h9W3aQpO .SelectField__field__RsdA8MzV {\\n display: block;\\n }\\n}\\n\\n.SelectField__isRootSizeSmall__BmmFSvTc {\\n --rui-local-padding-y: var(--rui-FormField--box--small__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--small__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--small__font-size);\\n}\\n.SelectField__isRootSizeSmall__BmmFSvTc .SelectField__input__TBDPc16y {\\n --rui-local-height: var(--rui-FormField--box--small__height);\\n}\\n\\n.SelectField__isRootSizeMedium__A\\\\+5iQ2k9 {\\n --rui-local-padding-y: var(--rui-FormField--box--medium__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--medium__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--medium__font-size);\\n}\\n.SelectField__isRootSizeMedium__A\\\\+5iQ2k9 .SelectField__input__TBDPc16y {\\n --rui-local-height: var(--rui-FormField--box--medium__height);\\n}\\n\\n.SelectField__isRootSizeLarge__k6g4-9Nr {\\n --rui-local-padding-y: var(--rui-FormField--box--large__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--large__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--large__font-size);\\n}\\n.SelectField__isRootSizeLarge__k6g4-9Nr .SelectField__input__TBDPc16y {\\n --rui-local-height: var(--rui-FormField--box--large__height);\\n}\\n\\n.SelectField__isRootGrouped__H9rIWmI0 .SelectField__inputContainer__6OtREXBH {\\n display: block;\\n}\\n.SelectField__isRootGrouped__H9rIWmI0:not(:first-child) .SelectField__input__TBDPc16y {\\n border-start-start-radius: var(--rui-local-inner-border-radius);\\n border-end-start-radius: var(--rui-local-inner-border-radius);\\n}\\n.SelectField__isRootGrouped__H9rIWmI0:not(:last-child) .SelectField__input__TBDPc16y {\\n border-start-end-radius: var(--rui-local-inner-border-radius);\\n border-end-end-radius: var(--rui-local-inner-border-radius);\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/lib/components/SelectField/SelectField.scss\",\"webpack://./src/lib/styles/tools/form-fields/_foundation.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-elements.scss\",\"webpack://./src/lib/styles/tools/_transition.scss\",\"webpack://./src/lib/styles/settings/_animations.scss\",\"webpack://./src/lib/styles/theme/_form-fields.scss\",\"webpack://./src/lib/styles/settings/_form-fields.scss\",\"webpack://./src/lib/styles/theme/_typography.scss\",\"webpack://./src/lib/styles/tools/_caret.scss\",\"webpack://./src/lib/styles/tools/form-fields/_variants.scss\",\"webpack://./src/lib/styles/tools/_accessibility.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-layout.scss\",\"webpack://./src/lib/styles/tools/_breakpoint.scss\",\"<no source>\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-sizes.scss\"],\"names\":[],\"mappings\":\"AAQA;ECDI,gBAAA;ADLJ;;AAUA;ECKI,kFAAA;ADXJ;;AAUA;EEFI,kBAAA;EACA,oBAAA;EACA,YAAA;EACA,eAAA;AFJJ;;AAOA;EGqCQ,+EAPY;EAQZ,0BAf2B;EAgB3B,wDC3DmB;EFuBvB,wBAAA;KAAA,qBAAA;UAAA,gBAAA;EACA,8CGec;EHdd,sDGekB;EHdlB,eAAA;EACA,+BAAA;EACA,8DAAA;EACA,wCIZoB;EJapB,qCAAA;EACA,mBIboB;EJcpB,wCKXe;ELYf,sBAAA;EACA,6BAAA;EACA,mFAAA;EACA,uDGEgB;EHDhB,uCAAA;EACA,uCAAA;EAiCA,gBAAA;EACA,2DAAA;AFnCJ;AGyBY;EH1CZ;IG2CgB,+EARgB;EHd9B;AACF;AEFI;EACI,oDAAA;EACA,UAAA;AFIR;AENI;EACI,oDAAA;EACA,UAAA;AFIR;AE4BI;EACI,aAAA;AF1BR;AE+BI;EACI,iEGnC2B;ALMnC;;AA1BA;EG+BQ,iCAPY;EAQZ,0BAf2B;EAgB3B,wDC3DmB;EFwFvB,kBAAA;EACA,4CGpDe;EHqDf,8CGrDe;EHsDf,+CGtDe;EHuDf,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,kEAAA;EACA,iEG1DgB;EH2DhB,+DG3DgB;EH4DhB,oBAAA;AF7BJ;AGPY;EHpCZ;IGqCgB,iCARgB;EHkB9B;AACF;;AA5CA;EQlBI,4CAAA;EATA,qBAAA;EACA,gBAAA;EACA,iBAAA;EACA,iBAAA;EACA,mCAAA;EACA,0BAAA;ENgGA,oCAAA;AFnBJ;;AAnDA;EGuBQ,uCAPY;EAQZ,0BDkD0C;ECjD1C,wDC3DmB;EF8GvB,kBAAA;EACA,SAAA;EACA,WAAA;EACA,WI5F2B;EJ6F3B,UAAA;EACA,oBAAA;EACA,+BAAA;EACA,oBAAA;AFlBJ;AGrCY;EH5BZ;IG6BgB,4BARgB;EHgD9B;AACF;AEeI;EACI,+CAAA;EACA,UAAA;EACA,oBAAA;AFbR;;AAvEA;;ECRI,uDIjBmB;EJkBnB,qDInBkB;EJoBlB,mBKzBoB;EL0BpB,sFAAA;ADoFJ;;AA1EA;ECtBI,4FAAA;ADoGJ;AClGI;EACI,6CIRQ;EJSR,kDIRc;AL4GtB;;AA7EA;ESEY,oEAAA;EAAA,kFAAA;EAAA,8EAAA;EAAA,sGAAA;EAAA,8EAAA;EAAA,sGAAA;AToFZ;ASzDQ;EApBI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ATmGZ;ASnEQ;;EAhCI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AT+HZ;ASjFQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AT+JZ;ASlGI;EAtGA,gDJkBe;EIjBf,8CJgBc;AL2LlB;ASjGQ;EACI,6BAAA;EACA,+BAAA;EACA,8BAAA;EACA,6BAAA;EACA,4BAAA;ATmGZ;;AA/KA;ESFY,qEAAA;EAAA,mFAAA;EAAA,+EAAA;EAAA,uGAAA;EAAA,+EAAA;EAAA,uGAAA;AT0LZ;AS/JQ;EApBI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ATyMZ;ASzKQ;;EAhCI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ATqOZ;ASvLQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ATqQZ;ASxMI;EAtGA,gDJkBe;EIjBf,8CJgBc;ALiSlB;AS7LQ;EACI,yIAAA;EACA,gEJ1FkB;ALyR9B;AS5LQ;EA1HJ,gDJkBe;EIjBf,8CJgBc;ALySlB;;ASzPQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;ATiSZ;ASlPQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;ATsSZ;ASxPQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ATsUZ;ASlRQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ATkVZ;;AS1TQ;EA/BI,8DAAA;EAAA,4EAAA;EAAA,wEAAA;EAAA,gGAAA;EAAA,wEAAA;EAAA,gGAAA;ATkWZ;ASnTQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;ATuWZ;ASzTQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ATuYZ;ASnVQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ATmZZ;;AS3XQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;ATmaZ;ASpXQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;ATwaZ;AS1XQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ATwcZ;ASpZQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ATodZ;;AAvcA;EU7DI,kBAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,SAAA;AVwgBJ;;AA7cA;;EWVI,oBAAA;EACA,sBAAA;EACA,YAAA;EACA,eAAA;AX4dJ;AW1dI;;EACI,2EAAA;AX6dR;AW1dI;;;;EAEI,wEAAA;AX8dR;AW3dI;;EACI,0BAAA;EAAA,uBAAA;EAAA,kBAAA;EACA,eAAA;AX8dR;;AYriBQ;EZsER;IWOQ,oBAAA;IACA,yFAAA;IAAA,iFAAA;IACA,kCAAA;IACA,kBAAA;EX6dN;EW3dM;IACI,gBAAA;IACA,uENlE0B;IMmE1B,6DN1EiB;IM4Fb,2IAAA;IACA,8IAAA;IAGJ,2CLxGW;IKyGX,+DNlGkB;EL4iB5B;EWvcM;IACI,gBAAA;IACA,uEN9F0B;IM+F1B,mBAAA;EXycV;AACF;;AatkBA;EF4FQ;IE5FR,gBAAA;IAAA,mBAAA;EbgkBE;EWvcM;IEzHR,gBAAA;IAAA,mBAAA;EbqkBE;CarkBF;;AboFA;EW4EI,aAAA;EACA,sBAAA;EACA,WAAA;AX0aJ;AWxaI;;;EAGI,WAAA;AX0aR;AYvkBQ;EDiKA;IACI,aAAA;IACA,qFAAA;EXyaV;EWtaM;IACI,qBAAA;EXwaV;AACF;;AAlgBA;EW+FI,mBAAA;AXuaJ;AWraI;EACI,WAAA;AXuaR;AYvlBQ;EDoLA;IACI,WAAA;EXsaV;EWnaM;IAEI,aAAA;IACA,8BAAA;IACA,mBAAA;EXoaV;EWlaU;IANJ;MAOQ,iBAAA;IXqaZ;EACF;EWlaM;IACI,8BAAA;EXoaV;EWjaM;IAKI,gBAAA;EX+ZV;EW5ZM;IAII,oBAAA;EX2ZV;EWxZM;IACI,cAAA;EX0ZV;AACF;;AA/hBA;EcvFI,kEAAA;EACA,kEAAA;EAGI,kEAAA;AdwnBR;ActnBQ;EAKQ,4DAAA;AdonBhB;;AApiBA;Ec3FI,mEAAA;EACA,mEAAA;EAGI,mEAAA;AdioBR;Ac/nBQ;EAKQ,6DAAA;Ad6nBhB;;AAziBA;Ec/FI,kEAAA;EACA,kEAAA;EAGI,kEAAA;Ad0oBR;AcxoBQ;EAKQ,4DAAA;AdsoBhB;;AExhBI;EACI,cAAA;AF2hBR;AExhBI;EACI,+DAAA;EACA,6DAAA;AF0hBR;AEvhBI;EACI,6DAAA;EACA,2DAAA;AFyhBR\",\"sourcesContent\":[\"@use \\\"../../styles/tools/form-fields/box-field-elements\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-layout\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-sizes\\\";\\n@use \\\"../../styles/tools/form-fields/foundation\\\";\\n@use \\\"../../styles/tools/form-fields/variants\\\";\\n@use \\\"../../styles/tools/accessibility\\\";\\n\\n// Foundation\\n.root {\\n @include foundation.root();\\n}\\n\\n.label {\\n @include foundation.label();\\n}\\n\\n.inputContainer {\\n @include box-field-elements.input-container();\\n}\\n\\n.input {\\n @include box-field-elements.input();\\n @include box-field-elements.input-select();\\n @include box-field-elements.input-select-option();\\n}\\n\\n.caret {\\n @include box-field-elements.caret();\\n}\\n\\n.caretIcon {\\n @include box-field-elements.caret-icon();\\n}\\n\\n.bottomLine {\\n @include box-field-elements.bottom-line();\\n}\\n\\n.helpText,\\n.validationText {\\n @include foundation.help-text();\\n}\\n\\n.isRootRequired .label {\\n @include foundation.label-required();\\n}\\n\\n// Variants\\n.isRootVariantFilled {\\n @include variants.visual(box, $variant: filled, $has-caret: true);\\n}\\n\\n.isRootVariantOutline {\\n @include variants.visual(box, $variant: outline, $has-caret: true);\\n}\\n\\n// States\\n.isRootStateInvalid {\\n @include variants.validation(invalid);\\n}\\n\\n.isRootStateValid {\\n @include variants.validation(valid);\\n}\\n\\n.isRootStateWarning {\\n @include variants.validation(warning);\\n}\\n\\n// Invisible label\\n.isLabelHidden {\\n @include accessibility.hide-text();\\n}\\n\\n// Layouts\\n.isRootLayoutVertical,\\n.isRootLayoutHorizontal {\\n @include box-field-layout.vertical();\\n}\\n\\n.isRootLayoutHorizontal {\\n @include box-field-layout.horizontal();\\n}\\n\\n.isRootFullWidth {\\n @include box-field-layout.full-width();\\n}\\n\\n.isRootInFormLayout {\\n @include box-field-layout.in-form-layout();\\n}\\n\\n// Sizes\\n.isRootSizeSmall {\\n @include box-field-sizes.size(small);\\n}\\n\\n.isRootSizeMedium {\\n @include box-field-sizes.size(medium);\\n}\\n\\n.isRootSizeLarge {\\n @include box-field-sizes.size(large);\\n}\\n\\n// Groups\\n.isRootGrouped {\\n @include box-field-elements.in-group-layout();\\n}\\n\",\"// 1. Don't let text alignment be affected by a parent.\\n// 2. Override foundation reset.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin root() {\\n text-align: left; // 1.\\n}\\n\\n@mixin fieldset() {\\n &:not(:last-child) {\\n margin-bottom: 0; // 2.\\n }\\n}\\n\\n@mixin label() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$label-color});\\n}\\n\\n@mixin label-required() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$required-label-color});\\n\\n &::after {\\n content: theme.$required-sign;\\n color: theme.$required-sign-color;\\n }\\n}\\n\\n@mixin help-text() {\\n font-style: theme.$help-text-font-style;\\n font-size: theme.$help-text-font-size;\\n line-height: settings.$help-text-line-height;\\n color: var(--rui-local-surrounding-text-color, #{theme.$help-text-color});\\n}\\n\",\"// 1. Get ready for positioning of bottom line and caret.\\n// 2. Always prefer `size` and `max` attributes when defined. Use CSS for sizing to normalize\\n// result width across browsers.\\n// 3. Let inputs properly fit various layout scenarios.\\n// 4. Leave out space for SelectField caret.\\n// 5. Use a block-level display mode to prevent extra white space below grouped inputs in Safari.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../tools/caret\\\";\\n@use \\\"../spacing\\\";\\n@use \\\"../transition\\\";\\n\\n@mixin input-container() {\\n position: relative; // 1.\\n display: inline-flex;\\n min-width: 0; // 3.\\n max-width: 100%; // 3.\\n}\\n\\n@mixin input() {\\n @include transition.add((opacity, color, border-color, background-color, box-shadow));\\n\\n appearance: none;\\n width: theme.$box-input-width;\\n min-width: theme.$box-input-min-width;\\n max-width: 100%; // 3.\\n height: var(--rui-local-height);\\n padding: var(--rui-local-padding-y) var(--rui-local-padding-x);\\n font-weight: settings.$box-input-font-weight;\\n font-size: var(--rui-local-font-size);\\n line-height: settings.$box-input-line-height;\\n font-family: settings.$box-input-font-family;\\n vertical-align: middle;\\n color: var(--rui-local-color);\\n border: theme.$box-border-width solid var(--rui-local-border-color);\\n border-radius: theme.$box-border-radius;\\n background: var(--rui-local-background);\\n box-shadow: var(--rui-local-box-shadow);\\n\\n &::placeholder {\\n color: theme.$box-placeholder-color;\\n opacity: 1;\\n }\\n}\\n\\n@mixin input-size() {\\n width:\\n calc(\\n 1ch * var(--rui-custom-input-size)\\n + var(--rui-local-arrows-width, 0)\\n + 2 * var(--rui-local-padding-x)\\n + 2 * #{theme.$box-border-width}\\n ); // 2.\\n\\n min-width: auto; // 2.\\n\\n &[type=\\\"number\\\"] {\\n --rui-local-arrows-width: #{settings.$box-field-input-number-arrows-width};\\n }\\n}\\n\\n@mixin input-textarea() {\\n resize: vertical;\\n\\n &[cols] {\\n min-width: auto;\\n }\\n}\\n\\n@mixin input-select() {\\n appearance: none;\\n padding-right: calc(#{settings.$box-field-caret-size} + #{spacing.of(2)}); // 4.\\n\\n &::-ms-expand {\\n display: none;\\n }\\n}\\n\\n@mixin input-select-option() {\\n option:disabled {\\n color: theme.$box-select-option-disabled-color;\\n }\\n}\\n\\n@mixin caret() {\\n @include transition.add((border-color));\\n\\n position: absolute; // 1.\\n top: theme.$box-border-width;\\n right: theme.$box-border-width;\\n bottom: theme.$box-border-width;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: calc(#{settings.$box-field-caret-size} - 2 * #{theme.$box-border-width});\\n border-start-end-radius: theme.$box-border-radius;\\n border-end-end-radius: theme.$box-border-radius;\\n pointer-events: none;\\n}\\n\\n@mixin caret-icon() {\\n @include caret.create();\\n\\n border-color: var(--rui-local-color);\\n}\\n\\n@mixin bottom-line() {\\n @include transition.add((transform, opacity), 180ms);\\n\\n position: absolute; // 1.\\n bottom: 0;\\n width: 100%;\\n height: settings.$box-field-bottom-line-height;\\n opacity: 0;\\n transform: scaleX(0);\\n transform-origin: center center;\\n pointer-events: none;\\n\\n .input:focus ~ & {\\n background-color: var(--rui-local-border-color);\\n opacity: 1;\\n transform: scaleX(1);\\n }\\n}\\n\\n@mixin in-group-layout() {\\n .inputContainer {\\n display: block; // 5.\\n }\\n\\n &:not(:first-child) .input {\\n border-start-start-radius: var(--rui-local-inner-border-radius);\\n border-end-start-radius: var(--rui-local-inner-border-radius);\\n }\\n\\n &:not(:last-child) .input {\\n border-start-end-radius: var(--rui-local-inner-border-radius);\\n border-end-end-radius: var(--rui-local-inner-border-radius);\\n }\\n}\\n\",\"@use \\\"sass:list\\\";\\n@use \\\"sass:meta\\\";\\n@use \\\"sass:string\\\";\\n@use \\\"../settings/animations\\\";\\n\\n$_allowed-transitions: (\\n border-color,\\n background-color,\\n background-position,\\n box-shadow,\\n color,\\n opacity,\\n transform,\\n visibility,\\n);\\n\\n$_reduced-motion-disallowed-transitions: (transform);\\n\\n@function _validate-transitions($properties) {\\n @each $property in $properties {\\n $is-allowed: list.index($_allowed-transitions, $property);\\n\\n @if not $is-allowed {\\n @return false;\\n }\\n }\\n\\n @return true;\\n}\\n\\n@function _reduce-motion-transitions($properties) {\\n $reduced-properties: ();\\n $separator: list.separator($properties);\\n\\n @each $property in $properties {\\n @if not list.index($_reduced-motion-disallowed-transitions, $property) {\\n $reduced-properties: list.append($reduced-properties, $property, $separator: $separator);\\n }\\n }\\n\\n @return $reduced-properties;\\n}\\n\\n@mixin add($properties, $duration: 150ms) {\\n $property-list: ();\\n\\n @if meta.type-of($properties) != \\\"string\\\" and meta.type-of($properties) != \\\"list\\\" {\\n @error \\\"Transition properties must be a string or a Sass list, `#{$properties}` given.\\\";\\n }\\n\\n $property-list: list.join($property-list, $properties);\\n\\n @if not _validate-transitions($property-list) {\\n @error \\\"Only [#{$_allowed-transitions}] transitions are allowed, [#{$properties}] given.\\\";\\n } @else {\\n $reduced-property-list: _reduce-motion-transitions($property-list);\\n\\n transition-property: $property-list;\\n transition-duration: $duration;\\n transition-timing-function: animations.$standard-timing-function;\\n\\n @if list.length($reduced-property-list) > 0 {\\n @media (prefers-reduced-motion: reduce) {\\n transition-property: $reduced-property-list;\\n }\\n }\\n }\\n}\\n\",\"$standard-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n\",\"// Variant specific theme options are obtained dynamically because there is way too many of them to\\n// maintain manually. See `settings/_form-fields.scss` and `tools/form-fields/_variants.scss` for\\n// details.\\n//\\n// 1. Defaults to zero when neither `--rui-FormField--horizontal__label__padding-y` (optional) nor\\n// `--rui-local-padding-y` (handled by the `size()` mixin in case of box form fields, see\\n// `_box-field-sizes.scss`) is defined. This is useful because FormLayoutCustomField may have no\\n// size specified therefore its label should have no padding at the top.\\n\\n// Forms fields: common properties\\n$label-color: var(--rui-FormField__label__color);\\n$label-font-size: var(--rui-FormField__label__font-size);\\n$help-text-font-size: var(--rui-FormField__help-text__font-size);\\n$help-text-font-style: var(--rui-FormField__help-text__font-style);\\n$help-text-color: var(--rui-FormField__help-text__color);\\n$required-label-color: var(--rui-FormField--required__label__color);\\n$required-sign: var(--rui-FormField--required__sign);\\n$required-sign-color: var(--rui-FormField--required__sign__color);\\n\\n// Form fields: horizontal layout\\n$horizontal-label-text-align: var(--rui-FormField--horizontal__label__text-align);\\n$horizontal-label-min-width: var(--rui-FormField--horizontal__label__min-width);\\n$horizontal-label-width: var(--rui-FormField--horizontal__label__width);\\n$horizontal-label-padding-y:\\n var(\\n --rui-FormField--horizontal__label__padding-y,\\n calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y))\\n ); // 1.\\n$horizontal-label-vertical-alignment: var(--rui-FormField--horizontal__label__vertical-alignment);\\n$horizontal-field-vertical-alignment: var(--rui-FormField--horizontal__field__vertical-alignment);\\n$horizontal-full-width-label-width: var(--rui-FormField--horizontal--full-width__label__width);\\n\\n// Form fields: disabled state\\n$disabled-cursor: var(--rui-FormField--disabled__cursor);\\n$disabled-opacity: var(--rui-FormField--disabled__opacity);\\n\\n// Form fields: box fields\\n$box-border-width: var(--rui-FormField--box__border-width);\\n$box-border-radius: var(--rui-FormField--box__border-radius);\\n$box-input-width: var(--rui-FormField--box__input__width);\\n$box-input-min-width: var(--rui-FormField--box__input__min-width);\\n$box-placeholder-color: var(--rui-FormField--box__placeholder__color);\\n\\n// Form fields: box fields, component specific\\n$box-select-caret-border-style: var(--rui-FormField--box--select__caret__border-style);\\n$box-select-caret-background: var(--rui-FormField--box--select__caret__background);\\n$box-select-option-disabled-color: var(--rui-FormField--box--select__option--disabled__color);\\n\\n// Form fields: box field sizes\\n$box-sizes: (\\n small: (\\n height: var(--rui-FormField--box--small__height),\\n padding-y: var(--rui-FormField--box--small__padding-y),\\n padding-x: var(--rui-FormField--box--small__padding-x),\\n font-size: var(--rui-FormField--box--small__font-size),\\n ),\\n medium: (\\n height: var(--rui-FormField--box--medium__height),\\n padding-y: var(--rui-FormField--box--medium__padding-y),\\n padding-x: var(--rui-FormField--box--medium__padding-x),\\n font-size: var(--rui-FormField--box--medium__font-size),\\n ),\\n large: (\\n height: var(--rui-FormField--box--large__height),\\n padding-y: var(--rui-FormField--box--large__padding-y),\\n padding-x: var(--rui-FormField--box--large__padding-x),\\n font-size: var(--rui-FormField--box--large__font-size),\\n ),\\n);\\n\\n// Form fields: check fields\\n$check-input-size: var(--rui-FormField--check__input__size);\\n$check-input-border-width: var(--rui-FormField--check__input__border-width);\\n$check-input-focus-box-shadow: var(--rui-FormField--check__input--focus__box-shadow);\\n$check-tap-target-size: var(--rui-FormField--check__tap-target-size);\\n\\n// Form fields: check fields, component specific\\n$check-input-checkbox-border-radius: var(--rui-FormField--check__input--checkbox__border-radius);\\n$check-input-checkbox-checked-background-image: var(--rui-FormField--check__input--checkbox--checked__background-image);\\n$check-input-radio-border-radius: var(--rui-FormField--check__input--radio__border-radius);\\n$check-input-radio-checked-background-image: var(--rui-FormField--check__input--radio--checked__background-image);\\n$check-input-toggle-width: var(--rui-FormField--check__input--toggle__width);\\n$check-input-toggle-border-radius: var(--rui-FormField--check__input--toggle__border-radius);\\n$check-input-toggle-background-size: var(--rui-FormField--check__input--toggle__background-size);\\n$check-input-toggle-default-background-image: var(--rui-FormField--check__input--toggle--default__background-image);\\n$check-input-toggle-default-background-position:\\n var(\\n --rui-FormField--check__input--toggle--default__background-position\\n );\\n$check-input-toggle-checked-background-image: var(--rui-FormField--check__input--toggle--checked__background-image);\\n$check-input-toggle-checked-background-position:\\n var(\\n --rui-FormField--check__input--toggle--checked__background-position\\n );\\n\",\"// 1. Input `line-height` is specified in `rem` so inputs do not break when their font size gets\\n// changed later.\\n\\n@use \\\"sass:map\\\";\\n@use \\\"../theme/typography\\\";\\n@use \\\"../tools/spacing\\\";\\n\\n$help-text-line-height: 1.2rem;\\n\\n$vertical-inner-gap: spacing.of(1);\\n$vertical-inner-gap-large: spacing.of(2);\\n$vertical-outer-spacing: spacing.of(2);\\n\\n$horizontal-inner-gap: spacing.of(2);\\n$horizontal-outer-spacing: spacing.of(2);\\n\\n$box-input-font-family: typography.$font-family-base;\\n$box-input-font-weight: map.get(typography.$font-weight-values, default);\\n$box-input-line-height: 1.5rem; // 1.\\n$box-field-caret-size: 2.25rem;\\n$box-field-input-number-arrows-width: 1.5rem;\\n$box-field-bottom-line-height: 2px;\\n\\n$inline-field-inner-gap: spacing.of(2);\\n\\n$themeable-variant-states: (\\n box: (\\n filled: (default, hover, focus, disabled),\\n outline: (default, hover, focus, disabled),\\n ),\\n check: (\\n default: (default, checked, disabled, checked-disabled),\\n ),\\n custom: (\\n default: (default, disabled),\\n ),\\n validation: (\\n invalid: (default, checked, disabled, checked-disabled),\\n valid: (default, checked, disabled, checked-disabled),\\n warning: (default, checked, disabled, checked-disabled),\\n ),\\n);\\n\\n$themeable-state-properties: (\\n default: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n hover: (color, border-color, background, box-shadow),\\n focus: (color, border-color, background, check-background-color, box-shadow),\\n checked: (border-color, check-background-color),\\n disabled: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n checked-disabled: (border-color, check-background-color),\\n);\\n\",\"$font-weight-values: (\\n light: var(--rui-font-weight-light),\\n default: var(--rui-font-weight-base),\\n bold: var(--rui-font-weight-bold),\\n);\\n\\n$font-weight-base: var(--rui-font-weight-base);\\n\\n$font-size-values: (\\n 1: var(--rui-font-size-1),\\n 2: var(--rui-font-size-2),\\n 3: var(--rui-font-size-3),\\n 4: var(--rui-font-size-4),\\n 5: var(--rui-font-size-5),\\n 6: var(--rui-font-size-6),\\n);\\n\\n$font-size-base: var(--rui-font-size-base);\\n$font-size-small: var(--rui-font-size-small);\\n$font-size-smaller: var(--rui-font-size-smaller);\\n\\n$font-family-base: var(--rui-font-family-base);\\n\\n$line-height-base: var(--rui-line-height-base);\\n$line-height-small: var(--rui-line-height-small);\\n\",\"@mixin create($rotate: 0) {\\n @include rotate();\\n\\n display: inline-block;\\n width: 0.4375rem;\\n height: 0.4375rem;\\n border-width: 2px;\\n border-style: none solid solid none;\\n border-color: currentColor;\\n}\\n\\n@mixin rotate($rotate: 0) {\\n transform: translateY(-0.1rem) rotate($rotate + 45deg);\\n}\\n\",\"// 1. Due to complexity, it's easier and safer to resolve variant custom properties dynamically with\\n// a mixin. This way it's also easier to make theming adjustments to all supported modifications\\n// in one place. Generated custom properties are consumed mainly in foundation field styles (see\\n// `tools/form-fields/_foundation.scss` for more).\\n//\\n// 2. Interaction states other than `default` default to the `default` (sic!) state appearance if\\n// corresponding custom properties are not provided.\\n//\\n// 3. `.input:focus` is added just in case `:focus-within` doesn't work.\\n\\n@use \\\"sass:list\\\";\\n@use \\\"sass:map\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin _disabled-state() {\\n opacity: theme.$disabled-opacity;\\n cursor: theme.$disabled-cursor;\\n}\\n\\n// 1.\\n@mixin _generate-custom-properties($type, $variant, $state) {\\n @if not list.index(map.keys(map.get(settings.$themeable-variant-states, $type)), $variant) {\\n @error \\\"Invalid variant specified! #{$variant} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(map.get(settings.$themeable-variant-states, $type))}.\\\";\\n }\\n\\n @if not list.index(map.keys(settings.$themeable-state-properties), $state) {\\n @error \\\"Invalid state specified! #{$state} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-state-properties)}.\\\";\\n }\\n\\n $properties: map.get(settings.$themeable-state-properties, $state);\\n $infix: $type;\\n $fallback-state: \\\"default\\\";\\n\\n @if $type == \\\"validation\\\" {\\n $infix: $variant;\\n }\\n\\n @if $type != \\\"validation\\\" and $variant != \\\"default\\\" {\\n $infix: #{$type}--#{$variant};\\n }\\n\\n @if $state == \\\"checked-disabled\\\" {\\n $fallback-state: \\\"checked\\\";\\n }\\n\\n @if $state == \\\"default\\\" {\\n @each $property in $properties {\\n --rui-local-#{$property}: var(--rui-FormField--#{$infix}--#{$state}__#{$property});\\n }\\n }\\n\\n // 2.\\n @else {\\n @each $property in $properties {\\n --rui-local-#{$property}:\\n var(\\n --rui-FormField--#{$infix}--#{$state}__#{$property},\\n var(--rui-FormField--#{$infix}--#{$fallback-state}__#{$property})\\n );\\n }\\n }\\n}\\n\\n@mixin _get-theme($type, $variant) {\\n @if not list.index(map.keys(settings.$themeable-variant-states), $type) {\\n @error \\\"Invalid type specified! #{$type} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-variant-states)}.\\\";\\n }\\n\\n $themeable-states: map.get(map.get(settings.$themeable-variant-states, $type), $variant);\\n\\n @if list.index($themeable-states, \\\"hover\\\") {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"hover\\\");\\n }\\n } @else {\\n &,\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"focus\\\") {\\n // 3.\\n &:focus-within,\\n &:focus-within:hover,\\n .input:focus {\\n @include _generate-custom-properties($type, $variant, \\\"focus\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked\\\") {\\n .input:checked {\\n @include _generate-custom-properties($type, $variant, \\\"checked\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"disabled\\\") {\\n &.isRootDisabled {\\n @include _generate-custom-properties($type, $variant, \\\"disabled\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked-disabled\\\") {\\n .input:checked:disabled {\\n @include _generate-custom-properties($type, $variant, \\\"checked-disabled\\\");\\n }\\n }\\n}\\n\\n@mixin visual($type, $variant: \\\"default\\\", $has-caret: false) {\\n @include _get-theme($type, $variant);\\n\\n .input:disabled {\\n @include _disabled-state();\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"filled\\\" {\\n .input {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n }\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"outline\\\" and $has-caret {\\n .caret {\\n border-left: theme.$box-border-width theme.$box-select-caret-border-style var(--rui-local-border-color);\\n background: theme.$box-select-caret-background;\\n }\\n\\n &.isRootDisabled .caret {\\n @include _disabled-state();\\n }\\n }\\n}\\n\\n@mixin validation($variant) {\\n @include _get-theme(validation, $variant);\\n}\\n\",\"// 1. Screen readers only, inspired by Bootstrap.\\n// https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss\\n//\\n// 2. Make tap target big enough to improve accessibility on touch screens.\\n\\n@use \\\"../theme/accessibility\\\" as theme;\\n\\n// 1.\\n@mixin hide-text() {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n@mixin unhide-text() {\\n position: unset;\\n width: unset;\\n height: unset;\\n overflow: unset;\\n clip: unset;\\n white-space: unset;\\n}\\n\\n// 2.\\n@mixin min-tap-target($size: theme.$tap-target-size, $center: true) {\\n position: relative;\\n\\n &::before {\\n content: \\\"\\\";\\n position: absolute;\\n width: $size;\\n height: $size;\\n\\n @if $center {\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n }\\n }\\n}\\n\\n@mixin focus-ring() {\\n &:focus-visible {\\n outline: theme.$focus-outline;\\n outline-offset: theme.$focus-outline-offset;\\n box-shadow: theme.$focus-box-shadow;\\n }\\n}\\n\",\"// 1. Inline form fields and fields with vertical layout take up as much space as they need. Labels\\n// do not wrap until forced by container of the field. Min and max limits make extra long words\\n// break if necessary.\\n//\\n// 2. Form fields in horizontal layout also take up only as much space as they need. Labels do not\\n// wrap until label width limit is reached (50 % of available horizontal space by default).\\n//\\n// 3. Help texts and validation messages are aligned below input and wrapped. Their width is always\\n// limited to the width of the input field so they don't shift adjacent elements when they show\\n// up. This applies unless the field is inside FormLayout (see 10).\\n//\\n// 4. Define grid spacing as padding of child elements because grid areas make row and column gaps\\n// show up even when not necessary.\\n//\\n// 5. When input size is small and form field layout is set to horizontal, expand help text and\\n// validation message over full form field width to improve their readability. Otherwise the\\n// text would be packed into a very narrow column and hard to read. To prevent help text and\\n// validation message from growing the layout more than necessary (ie. the size without\\n// help/validation text), `min-content` grid sizing must be used along with disabled wrapping of\\n// label.\\n//\\n// 6. Full-width horizontal form fields prefer not wrapping the label until a limit is reached\\n// (50 % of available horizontal space by default, same as in 2.).\\n//\\n// 7. Justify inputs to `start` in horizontal layouts to fix positioning issues with Select Fields.\\n// Reverted for full-width fields.\\n//\\n// 8. Grid settings are inherited from horizontal FormLayout and applied using `subgrid`.\\n// A fallback is supplied to browsers that don't support `subgrid` yet. See FormLayout styles\\n// for more.\\n// https://github.com/react-ui-org/react-ui/issues/232\\n//\\n// 9. Help texts and validation messages can take up full width of FormLayout. There is no reason\\n// to make them wrap as they cannot break layout of FormLayout.\\n//\\n// 10. Visually align label to input baseline. Achieved with `padding-top` and `padding-bottom` due\\n// to two reasons:\\n//\\n// * `align-items: baseline` doesn't work for blank text inputs in Safari. See\\n// https://bugs.webkit.org/show_bug.cgi?id=142968 and\\n// https://github.com/react-ui-org/react-ui/issues/265.\\n//\\n// * `align-items: baseline` doesn't allow subsequent vertical centering of tall inputs and/or\\n// multiline labels (see `theme.$horizontal-label-vertical-alignment` and\\n// `theme.$horizontal-field-vertical-alignment`).\\n//\\n// 11. Reset `width` previously set by inline field layout (see `_inline-field-layout.scss`).\\n//\\n// 12. Make fields just as wide as necessary. Fields should be interactive only where their visible\\n// content is.\\n//\\n// 13. Label and field are vertically aligned to top (start) by default (see 10.). Vertical\\n// alignment of each block can be changed by theme configuration.\\n\\n@use \\\"../../settings/forms\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../theme/typography\\\";\\n@use \\\"../breakpoint\\\";\\n\\n@mixin vertical($has-list: false) {\\n @if $has-list {\\n --rui-local-vertical-gap: #{settings.$vertical-inner-gap-large};\\n }\\n\\n display: inline-flex; // 1.\\n flex-direction: column;\\n min-width: 0; // 1.\\n max-width: 100%; // 1.\\n\\n .label {\\n padding-bottom: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .helpText,\\n .validationText {\\n padding-top: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .field {\\n width: min-content; // 3.\\n max-width: 100%; // 3.\\n }\\n}\\n\\n@mixin horizontal($has-min-tap-target: false) {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n display: inline-grid; // 2.\\n grid-template-columns: theme.$horizontal-label-width min-content; // 2.\\n grid-template-areas: \\\"label field\\\";\\n align-items: start; // 10., 13.\\n\\n .label {\\n grid-area: label;\\n align-self: theme.$horizontal-label-vertical-alignment; // 13.\\n min-width: theme.$horizontal-label-min-width;\\n\\n // 10.\\n @if $has-min-tap-target {\\n padding-top:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n padding-bottom:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n }\\n\\n // 10., 13.\\n @else {\\n padding-top: #{theme.$horizontal-label-padding-y};\\n padding-bottom: #{theme.$horizontal-label-padding-y};\\n }\\n\\n padding-right: settings.$horizontal-inner-gap; // 4.\\n text-align: theme.$horizontal-label-text-align;\\n }\\n\\n .field {\\n grid-area: field;\\n align-self: theme.$horizontal-field-vertical-alignment; // 13.\\n justify-self: start; // 7.\\n }\\n }\\n}\\n\\n@mixin horizontal-with-small-input() {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n grid-template-columns: min-content min-content; // 5.\\n grid-template-areas:\\n \\\"label field\\\"\\n \\\"helptext helptext\\\"\\n \\\"validationtext validationtext\\\"; // 5.\\n\\n .label {\\n white-space: nowrap; // 5.\\n }\\n\\n .field {\\n display: contents; // 5.\\n }\\n\\n .inputContainer {\\n grid-area: field; // 5.\\n }\\n\\n .helpText {\\n grid-area: helptext; // 5.\\n }\\n\\n .validationText {\\n grid-area: validationtext; // 5.\\n }\\n }\\n}\\n\\n@mixin full-width() {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n\\n .field,\\n .inputContainer,\\n .input {\\n width: 100%;\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n &.isRootLayoutHorizontal {\\n display: grid;\\n grid-template-columns: theme.$horizontal-full-width-label-width 1fr; // 6.\\n }\\n\\n &.isRootLayoutHorizontal .field {\\n justify-self: stretch; // 7.\\n }\\n }\\n}\\n\\n@mixin in-form-layout() {\\n justify-self: start; // 12.\\n\\n .field {\\n width: auto; // 9.\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n .optionLabel {\\n width: auto; // 11.\\n }\\n\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n grid: inherit; // 8.\\n grid-template-columns: subgrid; // 8.\\n grid-column: span 2; // 8.\\n\\n @supports not (grid-template-columns: subgrid) {\\n display: contents; // 8.\\n }\\n }\\n\\n &.isRootLayoutHorizontal.isRootFullWidth {\\n grid-template-columns: subgrid; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .label,\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-area: unset; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-column-start: 2; // 8.\\n }\\n\\n &.isRootLayoutHorizontal.hasRootSmallInput .field {\\n display: block; // 5.\\n }\\n }\\n}\\n\",\"@use \\\"sass:map\\\";\\n@use \\\"../settings/breakpoints\\\";\\n\\n@mixin up($breakpoint) {\\n @if not map.has-key(breakpoints.$values, $breakpoint) {\\n @error \\\"Invalid breakpoint specified! #{$breakpoint} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(breakpoints.$values)}\\\";\\n } @else if map.get(breakpoints.$values, $breakpoint) == 0 {\\n @content;\\n } @else {\\n @media (min-width: map.get(breakpoints.$values, $breakpoint)) {\\n @content;\\n }\\n }\\n}\\n\",null,\"@use \\\"sass:map\\\";\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin size($size, $has-input: true, $is-multiline: false) {\\n $size-properties: map.get(theme.$box-sizes, $size);\\n\\n --rui-local-padding-y: #{map.get($size-properties, padding-y)};\\n --rui-local-padding-x: #{map.get($size-properties, padding-x)};\\n\\n @if $has-input {\\n --rui-local-font-size: #{map.get($size-properties, font-size)};\\n\\n .input {\\n @if $is-multiline {\\n height: auto;\\n min-height: map.get($size-properties, height);\\n } @else {\\n --rui-local-height: #{map.get($size-properties, height)};\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"SelectField__root__0ig1xaq8\",\n\t\"label\": \"SelectField__label__HlohMdZb\",\n\t\"inputContainer\": \"SelectField__inputContainer__6OtREXBH\",\n\t\"input\": \"SelectField__input__TBDPc16y\",\n\t\"caret\": \"SelectField__caret__tQhV8bA8\",\n\t\"caretIcon\": \"SelectField__caretIcon__GF1LSnV7\",\n\t\"bottomLine\": \"SelectField__bottomLine__VNn6WyC-\",\n\t\"helpText\": \"SelectField__helpText__Ebb65maA\",\n\t\"validationText\": \"SelectField__validationText__cZxPgGvG\",\n\t\"isRootRequired\": \"SelectField__isRootRequired__QrV0Juii\",\n\t\"isRootVariantFilled\": \"SelectField__isRootVariantFilled__qVGSzh7d\",\n\t\"isRootDisabled\": \"SelectField__isRootDisabled__RxaNPnHd\",\n\t\"isRootVariantOutline\": \"SelectField__isRootVariantOutline__y0HFDXRz\",\n\t\"isRootStateInvalid\": \"SelectField__isRootStateInvalid__fvW8lRyM\",\n\t\"isRootStateValid\": \"SelectField__isRootStateValid__lVCqATs5\",\n\t\"isRootStateWarning\": \"SelectField__isRootStateWarning__Nj4x1VKG\",\n\t\"isLabelHidden\": \"SelectField__isLabelHidden__453O1kMm\",\n\t\"isRootLayoutVertical\": \"SelectField__isRootLayoutVertical__coXjtRrV\",\n\t\"isRootLayoutHorizontal\": \"SelectField__isRootLayoutHorizontal__BaAbM0Ih\",\n\t\"field\": \"SelectField__field__RsdA8MzV\",\n\t\"isRootFullWidth\": \"SelectField__isRootFullWidth__fPEb5l7s\",\n\t\"isRootInFormLayout\": \"SelectField__isRootInFormLayout__8tyhU1LY\",\n\t\"optionLabel\": \"SelectField__optionLabel__jSTurkZe\",\n\t\"hasRootSmallInput\": \"SelectField__hasRootSmallInput__h9W3aQpO\",\n\t\"isRootSizeSmall\": \"SelectField__isRootSizeSmall__BmmFSvTc\",\n\t\"isRootSizeMedium\": \"SelectField__isRootSizeMedium__A+5iQ2k9\",\n\t\"isRootSizeLarge\": \"SelectField__isRootSizeLarge__k6g4-9Nr\",\n\t\"isRootGrouped\": \"SelectField__isRootGrouped__H9rIWmI0\"\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vc3JjL2xpYi9jb21wb25lbnRzL1NlbGVjdEZpZWxkL1NlbGVjdEZpZWxkLnNjc3MuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvbGliL2NvbXBvbmVudHMvU2VsZWN0RmllbGQvU2VsZWN0RmllbGQuc2Nzcz9lY2IxIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLlNlbGVjdEZpZWxkX19yb290X18waWcxeGFxOCB7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG5cXG4uU2VsZWN0RmllbGRfX2xhYmVsX19IbG9oTWRaYiB7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGRfX2xhYmVsX19jb2xvcikpO1xcbn1cXG5cXG4uU2VsZWN0RmllbGRfX2lucHV0Q29udGFpbmVyX182T3RSRVhCSCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIG1pbi13aWR0aDogMDtcXG4gIG1heC13aWR0aDogMTAwJTtcXG59XFxuXFxuLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnkge1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdztcXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICB3aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19pbnB1dF9fd2lkdGgpO1xcbiAgbWluLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2lucHV0X19taW4td2lkdGgpO1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiB2YXIoLS1ydWktbG9jYWwtaGVpZ2h0KTtcXG4gIHBhZGRpbmc6IHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXgpO1xcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXJ1aS1mb250LXdlaWdodC1iYXNlKTtcXG4gIGZvbnQtc2l6ZTogdmFyKC0tcnVpLWxvY2FsLWZvbnQtc2l6ZSk7XFxuICBsaW5lLWhlaWdodDogMS41cmVtO1xcbiAgZm9udC1mYW1pbHk6IHZhcigtLXJ1aS1mb250LWZhbWlseS1iYXNlKTtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLWNvbG9yKTtcXG4gIGJvcmRlcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3IpO1xcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItcmFkaXVzKTtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXJ1aS1sb2NhbC1ib3gtc2hhZG93KTtcXG4gIGFwcGVhcmFuY2U6IG5vbmU7XFxuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDIuMjVyZW0gKyB2YXIoLS1ydWktZGltZW5zaW9uLXNwYWNlLTIpKTtcXG59XFxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcXG4gIC5TZWxlY3RGaWVsZF9faW5wdXRfX1RCRFBjMTZ5IHtcXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdztcXG4gIH1cXG59XFxuLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnk6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fcGxhY2Vob2xkZXJfX2NvbG9yKTtcXG4gIG9wYWNpdHk6IDE7XFxufVxcbi5TZWxlY3RGaWVsZF9faW5wdXRfX1RCRFBjMTZ5OjpwbGFjZWhvbGRlciB7XFxuICBjb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19wbGFjZWhvbGRlcl9fY29sb3IpO1xcbiAgb3BhY2l0eTogMTtcXG59XFxuLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnk6Oi1tcy1leHBhbmQge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnkgb3B0aW9uOmRpc2FibGVkIHtcXG4gIGNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fb3B0aW9uLS1kaXNhYmxlZF9fY29sb3IpO1xcbn1cXG5cXG4uU2VsZWN0RmllbGRfX2NhcmV0X190UWhWOGJBOCB7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXItY29sb3I7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci13aWR0aCk7XFxuICByaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpO1xcbiAgYm90dG9tOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci13aWR0aCk7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgd2lkdGg6IGNhbGMoMi4yNXJlbSAtIDIgKiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci13aWR0aCkpO1xcbiAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXJhZGl1cyk7XFxuICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXJhZGl1cyk7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG59XFxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcXG4gIC5TZWxlY3RGaWVsZF9fY2FyZXRfX3RRaFY4YkE4IHtcXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyLWNvbG9yO1xcbiAgfVxcbn1cXG5cXG4uU2VsZWN0RmllbGRfX2NhcmV0SWNvbl9fR0YxTFNuVjcge1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjFyZW0pIHJvdGF0ZSg0NWRlZyk7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMC40Mzc1cmVtO1xcbiAgaGVpZ2h0OiAwLjQzNzVyZW07XFxuICBib3JkZXItd2lkdGg6IDJweDtcXG4gIGJvcmRlci1zdHlsZTogbm9uZSBzb2xpZCBzb2xpZCBub25lO1xcbiAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1jb2xvcik7XFxufVxcblxcbi5TZWxlY3RGaWVsZF9fYm90dG9tTGluZV9fVk5uNld5Qy0ge1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTgwbXM7XFxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvdHRvbTogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAycHg7XFxuICBvcGFjaXR5OiAwO1xcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XFxuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxufVxcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XFxuICAuU2VsZWN0RmllbGRfX2JvdHRvbUxpbmVfX1ZObjZXeUMtIHtcXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcXG4gIH1cXG59XFxuLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnk6Zm9jdXMgfiAuU2VsZWN0RmllbGRfX2JvdHRvbUxpbmVfX1ZObjZXeUMtIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3IpO1xcbiAgb3BhY2l0eTogMTtcXG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xcbn1cXG5cXG4uU2VsZWN0RmllbGRfX2hlbHBUZXh0X19FYmI2NW1hQSxcXG4uU2VsZWN0RmllbGRfX3ZhbGlkYXRpb25UZXh0X19jWnhQZ0d2RyB7XFxuICBmb250LXN0eWxlOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2ZvbnQtc3R5bGUpO1xcbiAgZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2ZvbnQtc2l6ZSk7XFxuICBsaW5lLWhlaWdodDogMS4ycmVtO1xcbiAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2NvbG9yKSk7XFxufVxcblxcbi5TZWxlY3RGaWVsZF9faXNSb290UmVxdWlyZWRfX1FyVjBKdWlpIC5TZWxlY3RGaWVsZF9fbGFiZWxfX0hsb2hNZFpiIHtcXG4gIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX2xhYmVsX19jb2xvcikpO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFJlcXVpcmVkX19RclYwSnVpaSAuU2VsZWN0RmllbGRfX2xhYmVsX19IbG9oTWRaYjo6YWZ0ZXIge1xcbiAgY29udGVudDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX3NpZ24pO1xcbiAgY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19zaWduX19jb2xvcik7XFxufVxcblxcbi5TZWxlY3RGaWVsZF9faXNSb290VmFyaWFudEZpbGxlZF9fcVZHU3poN2Qge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2JhY2tncm91bmQpO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX3FWR1N6aDdkOmhvdmVyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0taG92ZXJfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWhvdmVyX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1ob3Zlcl9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1ob3Zlcl9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RWYXJpYW50RmlsbGVkX19xVkdTemg3ZDpmb2N1cy13aXRoaW4sIC5TZWxlY3RGaWVsZF9faXNSb290VmFyaWFudEZpbGxlZF9fcVZHU3poN2Q6Zm9jdXMtd2l0aGluOmhvdmVyLFxcbi5TZWxlY3RGaWVsZF9faXNSb290VmFyaWFudEZpbGxlZF9fcVZHU3poN2QgLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnk6Zm9jdXMge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1mb2N1c19fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZm9jdXNfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWZvY3VzX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWZvY3VzX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWZvY3VzX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX3FWR1N6aDdkLlNlbGVjdEZpZWxkX19pc1Jvb3REaXNhYmxlZF9fUnhhTlBuSGQge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRpc2FibGVkX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRpc2FibGVkX19zdXJyb3VuZGluZy10ZXh0LWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX3FWR1N6aDdkIC5TZWxlY3RGaWVsZF9faW5wdXRfX1RCRFBjMTZ5OmRpc2FibGVkIHtcXG4gIG9wYWNpdHk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19vcGFjaXR5KTtcXG4gIGN1cnNvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX2N1cnNvcik7XFxufVxcbi5TZWxlY3RGaWVsZF9faXNSb290VmFyaWFudEZpbGxlZF9fcVZHU3poN2QgLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnkge1xcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XFxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xcbn1cXG5cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX195MEhGRFhSeiB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19ib3gtc2hhZG93KTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5TZWxlY3RGaWVsZF9faXNSb290VmFyaWFudE91dGxpbmVfX3kwSEZEWFJ6OmhvdmVyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWhvdmVyX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWhvdmVyX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWhvdmVyX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0taG92ZXJfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX195MEhGRFhSejpmb2N1cy13aXRoaW4sIC5TZWxlY3RGaWVsZF9faXNSb290VmFyaWFudE91dGxpbmVfX3kwSEZEWFJ6OmZvY3VzLXdpdGhpbjpob3ZlcixcXG4uU2VsZWN0RmllbGRfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX195MEhGRFhSeiAuU2VsZWN0RmllbGRfX2lucHV0X19UQkRQYzE2eTpmb2N1cyB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1mb2N1c19fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1mb2N1c19fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1mb2N1c19fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWZvY3VzX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZm9jdXNfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX195MEhGRFhSei5TZWxlY3RGaWVsZF9faXNSb290RGlzYWJsZWRfX1J4YU5QbkhkIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRpc2FibGVkX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRpc2FibGVkX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRpc2FibGVkX19zdXJyb3VuZGluZy10ZXh0LWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RWYXJpYW50T3V0bGluZV9feTBIRkRYUnogLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnk6ZGlzYWJsZWQge1xcbiAgb3BhY2l0eTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX29wYWNpdHkpO1xcbiAgY3Vyc29yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fY3Vyc29yKTtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RWYXJpYW50T3V0bGluZV9feTBIRkRYUnogLlNlbGVjdEZpZWxkX19jYXJldF9fdFFoVjhiQTgge1xcbiAgYm9yZGVyLWxlZnQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fY2FyZXRfX2JvcmRlci1zdHlsZSkgdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fY2FyZXRfX2JhY2tncm91bmQpO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX195MEhGRFhSei5TZWxlY3RGaWVsZF9faXNSb290RGlzYWJsZWRfX1J4YU5QbkhkIC5TZWxlY3RGaWVsZF9fY2FyZXRfX3RRaFY4YkE4IHtcXG4gIG9wYWNpdHk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19vcGFjaXR5KTtcXG4gIGN1cnNvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX2N1cnNvcik7XFxufVxcblxcbi5TZWxlY3RGaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX19mdlc4bFJ5TSwgLlNlbGVjdEZpZWxkX19pc1Jvb3RTdGF0ZUludmFsaWRfX2Z2VzhsUnlNOmhvdmVyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKTtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RTdGF0ZUludmFsaWRfX2Z2VzhsUnlNIC5TZWxlY3RGaWVsZF9faW5wdXRfX1RCRFBjMTZ5OmNoZWNrZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFN0YXRlSW52YWxpZF9fZnZXOGxSeU0uU2VsZWN0RmllbGRfX2lzUm9vdERpc2FibGVkX19SeGFOUG5IZCB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19zdXJyb3VuZGluZy10ZXh0LWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5TZWxlY3RGaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX19mdlc4bFJ5TSAuU2VsZWN0RmllbGRfX2lucHV0X19UQkRQYzE2eTpjaGVja2VkOmRpc2FibGVkIHtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWQtZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuXFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RTdGF0ZVZhbGlkX19sVkNxQVRzNSwgLlNlbGVjdEZpZWxkX19pc1Jvb3RTdGF0ZVZhbGlkX19sVkNxQVRzNTpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5TZWxlY3RGaWVsZF9faXNSb290U3RhdGVWYWxpZF9fbFZDcUFUczUgLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnk6Y2hlY2tlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX2xWQ3FBVHM1LlNlbGVjdEZpZWxkX19pc1Jvb3REaXNhYmxlZF9fUnhhTlBuSGQge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19zdXJyb3VuZGluZy10ZXh0LWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX2xWQ3FBVHM1IC5TZWxlY3RGaWVsZF9faW5wdXRfX1RCRFBjMTZ5OmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuXFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX05qNHgxVktHLCAuU2VsZWN0RmllbGRfX2lzUm9vdFN0YXRlV2FybmluZ19fTmo0eDFWS0c6aG92ZXIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JhY2tncm91bmQpO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3gtc2hhZG93KTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFN0YXRlV2FybmluZ19fTmo0eDFWS0cgLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnk6Y2hlY2tlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5TZWxlY3RGaWVsZF9faXNSb290U3RhdGVXYXJuaW5nX19OajR4MVZLRy5TZWxlY3RGaWVsZF9faXNSb290RGlzYWJsZWRfX1J4YU5QbkhkIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX05qNHgxVktHIC5TZWxlY3RGaWVsZF9faW5wdXRfX1RCRFBjMTZ5OmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG5cXG4uU2VsZWN0RmllbGRfX2lzTGFiZWxIaWRkZW5fXzQ1M08xa01tIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxcHg7XFxuICBoZWlnaHQ6IDFweDtcXG4gIHBhZGRpbmc6IDA7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBib3JkZXI6IDA7XFxufVxcblxcbi5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0VmVydGljYWxfX2NvWGp0UnJWLFxcbi5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fQmFBYk0wSWgge1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgbWluLXdpZHRoOiAwO1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdExheW91dFZlcnRpY2FsX19jb1hqdFJyViAuU2VsZWN0RmllbGRfX2xhYmVsX19IbG9oTWRaYixcXG4uU2VsZWN0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX0JhQWJNMEloIC5TZWxlY3RGaWVsZF9fbGFiZWxfX0hsb2hNZFpiIHtcXG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCB2YXIoLS1ydWktZGltZW5zaW9uLXNwYWNlLTEpKTtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fY29YanRSclYgLlNlbGVjdEZpZWxkX19oZWxwVGV4dF9fRWJiNjVtYUEsXFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fY29YanRSclYgLlNlbGVjdEZpZWxkX192YWxpZGF0aW9uVGV4dF9fY1p4UGdHdkcsXFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaCAuU2VsZWN0RmllbGRfX2hlbHBUZXh0X19FYmI2NW1hQSxcXG4uU2VsZWN0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX0JhQWJNMEloIC5TZWxlY3RGaWVsZF9fdmFsaWRhdGlvblRleHRfX2NaeFBnR3ZHIHtcXG4gIHBhZGRpbmctdG9wOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCB2YXIoLS1ydWktZGltZW5zaW9uLXNwYWNlLTEpKTtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fY29YanRSclYgLlNlbGVjdEZpZWxkX19maWVsZF9fUnNkQThNelYsXFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaCAuU2VsZWN0RmllbGRfX2ZpZWxkX19Sc2RBOE16ViB7XFxuICB3aWR0aDogLXdlYmtpdC1taW4tY29udGVudDtcXG4gIHdpZHRoOiAtbW96LW1pbi1jb250ZW50O1xcbiAgd2lkdGg6IG1pbi1jb250ZW50O1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaCB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX193aWR0aCkgLXdlYmtpdC1taW4tY29udGVudDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fd2lkdGgpIG1pbi1jb250ZW50O1xcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcXFwibGFiZWwgZmllbGRcXFwiO1xcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XFxuICB9XFxuICAuU2VsZWN0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX0JhQWJNMEloIC5TZWxlY3RGaWVsZF9fbGFiZWxfX0hsb2hNZFpiIHtcXG4gICAgZ3JpZC1hcmVhOiBsYWJlbDtcXG4gICAgYWxpZ24tc2VsZjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuICAgIG1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX21pbi13aWR0aCk7XFxuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15LCBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKSk7XFxuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15LCBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKSk7XFxuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMik7XFxuICAgIHRleHQtYWxpZ246IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX190ZXh0LWFsaWduKTtcXG4gIH1cXG4gIC5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fQmFBYk0wSWggLlNlbGVjdEZpZWxkX19maWVsZF9fUnNkQThNelYge1xcbiAgICBncmlkLWFyZWE6IGZpZWxkO1xcbiAgICBhbGlnbi1zZWxmOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19maWVsZF9fdmVydGljYWwtYWxpZ25tZW50KTtcXG4gICAganVzdGlmeS1zZWxmOiBzdGFydDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcXG4gIC5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fQmFBYk0wSWggLlNlbGVjdEZpZWxkX19sYWJlbF9fSGxvaE1kWmIge1xcbiAgICAtbXMtZ3JpZC1yb3c6IDE7XFxuICAgIC1tcy1ncmlkLWNvbHVtbjogMTtcXG4gIH1cXG4gIC5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fQmFBYk0wSWggLlNlbGVjdEZpZWxkX19maWVsZF9fUnNkQThNelYge1xcbiAgICAtbXMtZ3JpZC1yb3c6IDE7XFxuICAgIC1tcy1ncmlkLWNvbHVtbjogMjtcXG4gIH1cXG59XFxuXFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfX2ZQRWI1bDdzIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5TZWxlY3RGaWVsZF9faXNSb290RnVsbFdpZHRoX19mUEViNWw3cyAuU2VsZWN0RmllbGRfX2ZpZWxkX19Sc2RBOE16VixcXG4uU2VsZWN0RmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fZlBFYjVsN3MgLlNlbGVjdEZpZWxkX19pbnB1dENvbnRhaW5lcl9fNk90UkVYQkgsXFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfX2ZQRWI1bDdzIC5TZWxlY3RGaWVsZF9faW5wdXRfX1RCRFBjMTZ5IHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlNlbGVjdEZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfX2ZQRWI1bDdzLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaCB7XFxuICAgIGRpc3BsYXk6IGdyaWQ7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbC0tZnVsbC13aWR0aF9fbGFiZWxfX3dpZHRoKSAxZnI7XFxuICB9XFxuICAuU2VsZWN0RmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fZlBFYjVsN3MuU2VsZWN0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX0JhQWJNMEloIC5TZWxlY3RGaWVsZF9fZmllbGRfX1JzZEE4TXpWIHtcXG4gICAganVzdGlmeS1zZWxmOiBzdHJldGNoO1xcbiAgfVxcbn1cXG5cXG4uU2VsZWN0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fOHR5aFUxTFkge1xcbiAganVzdGlmeS1zZWxmOiBzdGFydDtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZIC5TZWxlY3RGaWVsZF9fZmllbGRfX1JzZEE4TXpWIHtcXG4gIHdpZHRoOiBhdXRvO1xcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZIC5TZWxlY3RGaWVsZF9fb3B0aW9uTGFiZWxfX2pTVHVya1plIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICB9XFxuICAuU2VsZWN0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fOHR5aFUxTFkuU2VsZWN0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX0JhQWJNMEloLCAuU2VsZWN0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fOHR5aFUxTFkuU2VsZWN0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX0JhQWJNMEloLlNlbGVjdEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9faDlXM2FRcE8ge1xcbiAgICBncmlkOiBpbmhlcml0O1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XFxuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XFxuICB9XFxuICBAc3VwcG9ydHMgbm90IChncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQpIHtcXG4gICAgLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaCwgLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaC5TZWxlY3RGaWVsZF9faGFzUm9vdFNtYWxsSW5wdXRfX2g5VzNhUXBPIHtcXG4gICAgICBkaXNwbGF5OiBjb250ZW50cztcXG4gICAgfVxcbiAgfVxcbiAgLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaC5TZWxlY3RGaWVsZF9faXNSb290RnVsbFdpZHRoX19mUEViNWw3cyB7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDtcXG4gIH1cXG4gIC5TZWxlY3RGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X184dHloVTFMWS5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fQmFBYk0wSWggLlNlbGVjdEZpZWxkX19sYWJlbF9fSGxvaE1kWmIsIC5TZWxlY3RGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X184dHloVTFMWS5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fQmFBYk0wSWggLlNlbGVjdEZpZWxkX19maWVsZF9fUnNkQThNelYsIC5TZWxlY3RGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X184dHloVTFMWS5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fQmFBYk0wSWggLlNlbGVjdEZpZWxkX19pbnB1dENvbnRhaW5lcl9fNk90UkVYQkgsIC5TZWxlY3RGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X184dHloVTFMWS5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fQmFBYk0wSWggLlNlbGVjdEZpZWxkX19oZWxwVGV4dF9fRWJiNjVtYUEsIC5TZWxlY3RGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X184dHloVTFMWS5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fQmFBYk0wSWggLlNlbGVjdEZpZWxkX192YWxpZGF0aW9uVGV4dF9fY1p4UGdHdkcge1xcbiAgICBncmlkLWFyZWE6IHVuc2V0O1xcbiAgfVxcbiAgLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaCAuU2VsZWN0RmllbGRfX2ZpZWxkX19Sc2RBOE16ViwgLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaCAuU2VsZWN0RmllbGRfX2lucHV0Q29udGFpbmVyX182T3RSRVhCSCwgLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaCAuU2VsZWN0RmllbGRfX2hlbHBUZXh0X19FYmI2NW1hQSwgLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaCAuU2VsZWN0RmllbGRfX3ZhbGlkYXRpb25UZXh0X19jWnhQZ0d2RyB7XFxuICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyO1xcbiAgfVxcbiAgLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaC5TZWxlY3RGaWVsZF9faGFzUm9vdFNtYWxsSW5wdXRfX2g5VzNhUXBPIC5TZWxlY3RGaWVsZF9fZmllbGRfX1JzZEE4TXpWIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxufVxcblxcbi5TZWxlY3RGaWVsZF9faXNSb290U2l6ZVNtYWxsX19CbW1GU3ZUYyB7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteSk7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteCk7XFxuICAtLXJ1aS1sb2NhbC1mb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX2ZvbnQtc2l6ZSk7XFxufVxcbi5TZWxlY3RGaWVsZF9faXNSb290U2l6ZVNtYWxsX19CbW1GU3ZUYyAuU2VsZWN0RmllbGRfX2lucHV0X19UQkRQYzE2eSB7XFxuICAtLXJ1aS1sb2NhbC1oZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX2hlaWdodCk7XFxufVxcblxcbi5TZWxlY3RGaWVsZF9faXNSb290U2l6ZU1lZGl1bV9fQVxcXFwrNWlRMms5IHtcXG4gIC0tcnVpLWxvY2FsLXBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX3BhZGRpbmcteSk7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19wYWRkaW5nLXgpO1xcbiAgLS1ydWktbG9jYWwtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fZm9udC1zaXplKTtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RTaXplTWVkaXVtX19BXFxcXCs1aVEyazkgLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnkge1xcbiAgLS1ydWktbG9jYWwtaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9faGVpZ2h0KTtcXG59XFxuXFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RTaXplTGFyZ2VfX2s2ZzQtOU5yIHtcXG4gIC0tcnVpLWxvY2FsLXBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy15KTtcXG4gIC0tcnVpLWxvY2FsLXBhZGRpbmcteDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy14KTtcXG4gIC0tcnVpLWxvY2FsLWZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fZm9udC1zaXplKTtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RTaXplTGFyZ2VfX2s2ZzQtOU5yIC5TZWxlY3RGaWVsZF9faW5wdXRfX1RCRFBjMTZ5IHtcXG4gIC0tcnVpLWxvY2FsLWhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9faGVpZ2h0KTtcXG59XFxuXFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RHcm91cGVkX19IOXJJV21JMCAuU2VsZWN0RmllbGRfX2lucHV0Q29udGFpbmVyX182T3RSRVhCSCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RHcm91cGVkX19IOXJJV21JMDpub3QoOmZpcnN0LWNoaWxkKSAuU2VsZWN0RmllbGRfX2lucHV0X19UQkRQYzE2eSB7XFxuICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1ydWktbG9jYWwtaW5uZXItYm9yZGVyLXJhZGl1cyk7XFxuICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogdmFyKC0tcnVpLWxvY2FsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdEdyb3VwZWRfX0g5cklXbUkwOm5vdCg6bGFzdC1jaGlsZCkgLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnkge1xcbiAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLXJ1aS1sb2NhbC1pbm5lci1ib3JkZXItcmFkaXVzKTtcXG4gIGJvcmRlci1lbmQtZW5kLXJhZGl1czogdmFyKC0tcnVpLWxvY2FsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xcbn1cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL2NvbXBvbmVudHMvU2VsZWN0RmllbGQvU2VsZWN0RmllbGQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX2ZvdW5kYXRpb24uc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX2JveC1maWVsZC1lbGVtZW50cy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9fdHJhbnNpdGlvbi5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy9zZXR0aW5ncy9fYW5pbWF0aW9ucy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90aGVtZS9fZm9ybS1maWVsZHMuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvc2V0dGluZ3MvX2Zvcm0tZmllbGRzLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3RoZW1lL190eXBvZ3JhcGh5LnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL19jYXJldC5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fdmFyaWFudHMuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvX2FjY2Vzc2liaWxpdHkuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX2JveC1maWVsZC1sYXlvdXQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvX2JyZWFrcG9pbnQuc2Nzc1wiLFwiPG5vIHNvdXJjZT5cIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL19ib3gtZmllbGQtc2l6ZXMuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFRQTtFQ0RJLGdCQUFBO0FETEo7O0FBVUE7RUNLSSxrRkFBQTtBRFhKOztBQVVBO0VFRkksa0JBQUE7RUFDQSxvQkFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0FGSko7O0FBT0E7RUdxQ1EsK0VBUFk7RUFRWiwwQkFmMkI7RUFnQjNCLHdEQzNEbUI7RUZ1QnZCLHdCQUFBO0tBQUEscUJBQUE7VUFBQSxnQkFBQTtFQUNBLDhDR2VjO0VIZGQsc0RHZWtCO0VIZGxCLGVBQUE7RUFDQSwrQkFBQTtFQUNBLDhEQUFBO0VBQ0Esd0NJWm9CO0VKYXBCLHFDQUFBO0VBQ0EsbUJJYm9CO0VKY3BCLHdDS1hlO0VMWWYsc0JBQUE7RUFDQSw2QkFBQTtFQUNBLG1GQUFBO0VBQ0EsdURHRWdCO0VIRGhCLHVDQUFBO0VBQ0EsdUNBQUE7RUFpQ0EsZ0JBQUE7RUFDQSwyREFBQTtBRm5DSjtBR3lCWTtFSDFDWjtJRzJDZ0IsK0VBUmdCO0VIZDlCO0FBQ0Y7QUVGSTtFQUNJLG9EQUFBO0VBQ0EsVUFBQTtBRklSO0FFTkk7RUFDSSxvREFBQTtFQUNBLFVBQUE7QUZJUjtBRTRCSTtFQUNJLGFBQUE7QUYxQlI7QUUrQkk7RUFDSSxpRUduQzJCO0FMTW5DOztBQTFCQTtFRytCUSxpQ0FQWTtFQVFaLDBCQWYyQjtFQWdCM0Isd0RDM0RtQjtFRndGdkIsa0JBQUE7RUFDQSw0Q0dwRGU7RUhxRGYsOENHckRlO0VIc0RmLCtDR3REZTtFSHVEZixhQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLGtFQUFBO0VBQ0EsaUVHMURnQjtFSDJEaEIsK0RHM0RnQjtFSDREaEIsb0JBQUE7QUY3Qko7QUdQWTtFSHBDWjtJR3FDZ0IsaUNBUmdCO0VIa0I5QjtBQUNGOztBQTVDQTtFUWxCSSw0Q0FBQTtFQVRBLHFCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsbUNBQUE7RUFDQSwwQkFBQTtFTmdHQSxvQ0FBQTtBRm5CSjs7QUFuREE7RUd1QlEsdUNBUFk7RUFRWiwwQkRrRDBDO0VDakQxQyx3REMzRG1CO0VGOEd2QixrQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsV0k1RjJCO0VKNkYzQixVQUFBO0VBQ0Esb0JBQUE7RUFDQSwrQkFBQTtFQUNBLG9CQUFBO0FGbEJKO0FHckNZO0VINUJaO0lHNkJnQiw0QkFSZ0I7RUhnRDlCO0FBQ0Y7QUVlSTtFQUNJLCtDQUFBO0VBQ0EsVUFBQTtFQUNBLG9CQUFBO0FGYlI7O0FBdkVBOztFQ1JJLHVESWpCbUI7RUprQm5CLHFESW5Ca0I7RUpvQmxCLG1CS3pCb0I7RUwwQnBCLHNGQUFBO0FEb0ZKOztBQTFFQTtFQ3RCSSw0RkFBQTtBRG9HSjtBQ2xHSTtFQUNJLDZDSVJRO0VKU1Isa0RJUmM7QUw0R3RCOztBQTdFQTtFU0VZLG9FQUFBO0VBQUEsa0ZBQUE7RUFBQSw4RUFBQTtFQUFBLHNHQUFBO0VBQUEsOEVBQUE7RUFBQSxzR0FBQTtBVG9GWjtBU3pEUTtFQXBCSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FUbUdaO0FTbkVROztFQWhDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBVCtIWjtBU2pGUTtFQTlDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVQrSlo7QVNsR0k7RUF0R0EsZ0RKa0JlO0VJakJmLDhDSmdCYztBTDJMbEI7QVNqR1E7RUFDSSw2QkFBQTtFQUNBLCtCQUFBO0VBQ0EsOEJBQUE7RUFDQSw2QkFBQTtFQUNBLDRCQUFBO0FUbUdaOztBQS9LQTtFU0ZZLHFFQUFBO0VBQUEsbUZBQUE7RUFBQSwrRUFBQTtFQUFBLHVHQUFBO0VBQUEsK0VBQUE7RUFBQSx1R0FBQTtBVDBMWjtBUy9KUTtFQXBCSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FUeU1aO0FTektROztFQWhDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBVHFPWjtBU3ZMUTtFQTlDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVRxUVo7QVN4TUk7RUF0R0EsZ0RKa0JlO0VJakJmLDhDSmdCYztBTGlTbEI7QVM3TFE7RUFDSSx5SUFBQTtFQUNBLGdFSjFGa0I7QUx5UjlCO0FTNUxRO0VBMUhKLGdESmtCZTtFSWpCZiw4Q0pnQmM7QUx5U2xCOztBU3pQUTtFQS9CSSxnRUFBQTtFQUFBLDhFQUFBO0VBQUEsMEVBQUE7RUFBQSxrR0FBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7QVRpU1o7QVNsUFE7RUF4Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVRzU1o7QVN4UFE7RUE5Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FUc1VaO0FTbFJRO0VBcERJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FUa1ZaOztBUzFUUTtFQS9CSSw4REFBQTtFQUFBLDRFQUFBO0VBQUEsd0VBQUE7RUFBQSxnR0FBQTtFQUFBLHdFQUFBO0VBQUEsZ0dBQUE7QVRrV1o7QVNuVFE7RUF4Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVR1V1o7QVN6VFE7RUE5Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FUdVlaO0FTblZRO0VBcERJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FUbVpaOztBUzNYUTtFQS9CSSxnRUFBQTtFQUFBLDhFQUFBO0VBQUEsMEVBQUE7RUFBQSxrR0FBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7QVRtYVo7QVNwWFE7RUF4Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVR3YVo7QVMxWFE7RUE5Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FUd2NaO0FTcFpRO0VBcERJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FUb2RaOztBQXZjQTtFVTdESSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtFQUNBLFNBQUE7QVZ3Z0JKOztBQTdjQTs7RVdWSSxvQkFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QVg0ZEo7QVcxZEk7O0VBQ0ksMkVBQUE7QVg2ZFI7QVcxZEk7Ozs7RUFFSSx3RUFBQTtBWDhkUjtBVzNkSTs7RUFDSSwwQkFBQTtFQUFBLHVCQUFBO0VBQUEsa0JBQUE7RUFDQSxlQUFBO0FYOGRSOztBWXJpQlE7RVpzRVI7SVdPUSxvQkFBQTtJQUNBLHlGQUFBO0lBQUEsaUZBQUE7SUFDQSxrQ0FBQTtJQUNBLGtCQUFBO0VYNmROO0VXM2RNO0lBQ0ksZ0JBQUE7SUFDQSx1RU5sRTBCO0lNbUUxQiw2RE4xRWlCO0lNNEZiLDJJQUFBO0lBQ0EsOElBQUE7SUFHSiwyQ0x4R1c7SUt5R1gsK0RObEdrQjtFTDRpQjVCO0VXdmNNO0lBQ0ksZ0JBQUE7SUFDQSx1RU45RjBCO0lNK0YxQixtQkFBQTtFWHljVjtBQUNGOztBYXRrQkE7RUY0RlE7SUU1RlIsZ0JBQUE7SUFBQSxtQkFBQTtFYmdrQkU7RVd2Y007SUV6SFIsZ0JBQUE7SUFBQSxtQkFBQTtFYnFrQkU7Q2Fya0JGOztBYm9GQTtFVzRFSSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxXQUFBO0FYMGFKO0FXeGFJOzs7RUFHSSxXQUFBO0FYMGFSO0FZdmtCUTtFRGlLQTtJQUNJLGFBQUE7SUFDQSxxRkFBQTtFWHlhVjtFV3RhTTtJQUNJLHFCQUFBO0VYd2FWO0FBQ0Y7O0FBbGdCQTtFVytGSSxtQkFBQTtBWHVhSjtBV3JhSTtFQUNJLFdBQUE7QVh1YVI7QVl2bEJRO0VEb0xBO0lBQ0ksV0FBQTtFWHNhVjtFV25hTTtJQUVJLGFBQUE7SUFDQSw4QkFBQTtJQUNBLG1CQUFBO0VYb2FWO0VXbGFVO0lBTko7TUFPUSxpQkFBQTtJWHFhWjtFQUNGO0VXbGFNO0lBQ0ksOEJBQUE7RVhvYVY7RVdqYU07SUFLSSxnQkFBQTtFWCtaVjtFVzVaTTtJQUlJLG9CQUFBO0VYMlpWO0VXeFpNO0lBQ0ksY0FBQTtFWDBaVjtBQUNGOztBQS9oQkE7RWN2Rkksa0VBQUE7RUFDQSxrRUFBQTtFQUdJLGtFQUFBO0Fkd25CUjtBY3RuQlE7RUFLUSw0REFBQTtBZG9uQmhCOztBQXBpQkE7RWMzRkksbUVBQUE7RUFDQSxtRUFBQTtFQUdJLG1FQUFBO0FkaW9CUjtBYy9uQlE7RUFLUSw2REFBQTtBZDZuQmhCOztBQXppQkE7RWMvRkksa0VBQUE7RUFDQSxrRUFBQTtFQUdJLGtFQUFBO0FkMG9CUjtBY3hvQlE7RUFLUSw0REFBQTtBZHNvQmhCOztBRXhoQkk7RUFDSSxjQUFBO0FGMmhCUjtBRXhoQkk7RUFDSSwrREFBQTtFQUNBLDZEQUFBO0FGMGhCUjtBRXZoQkk7RUFDSSw2REFBQTtFQUNBLDJEQUFBO0FGeWhCUlwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJAdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvYm94LWZpZWxkLWVsZW1lbnRzXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvYm94LWZpZWxkLWxheW91dFxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2JveC1maWVsZC1zaXplc1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2ZvdW5kYXRpb25cXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy92YXJpYW50c1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2FjY2Vzc2liaWxpdHlcXFwiO1xcblxcbi8vIEZvdW5kYXRpb25cXG4ucm9vdCB7XFxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24ucm9vdCgpO1xcbn1cXG5cXG4ubGFiZWwge1xcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLmxhYmVsKCk7XFxufVxcblxcbi5pbnB1dENvbnRhaW5lciB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1lbGVtZW50cy5pbnB1dC1jb250YWluZXIoKTtcXG59XFxuXFxuLmlucHV0IHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWVsZW1lbnRzLmlucHV0KCk7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1lbGVtZW50cy5pbnB1dC1zZWxlY3QoKTtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWVsZW1lbnRzLmlucHV0LXNlbGVjdC1vcHRpb24oKTtcXG59XFxuXFxuLmNhcmV0IHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWVsZW1lbnRzLmNhcmV0KCk7XFxufVxcblxcbi5jYXJldEljb24ge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtZWxlbWVudHMuY2FyZXQtaWNvbigpO1xcbn1cXG5cXG4uYm90dG9tTGluZSB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1lbGVtZW50cy5ib3R0b20tbGluZSgpO1xcbn1cXG5cXG4uaGVscFRleHQsXFxuLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi5oZWxwLXRleHQoKTtcXG59XFxuXFxuLmlzUm9vdFJlcXVpcmVkIC5sYWJlbCB7XFxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24ubGFiZWwtcmVxdWlyZWQoKTtcXG59XFxuXFxuLy8gVmFyaWFudHNcXG4uaXNSb290VmFyaWFudEZpbGxlZCB7XFxuICAgIEBpbmNsdWRlIHZhcmlhbnRzLnZpc3VhbChib3gsICR2YXJpYW50OiBmaWxsZWQsICRoYXMtY2FyZXQ6IHRydWUpO1xcbn1cXG5cXG4uaXNSb290VmFyaWFudE91dGxpbmUge1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52aXN1YWwoYm94LCAkdmFyaWFudDogb3V0bGluZSwgJGhhcy1jYXJldDogdHJ1ZSk7XFxufVxcblxcbi8vIFN0YXRlc1xcbi5pc1Jvb3RTdGF0ZUludmFsaWQge1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52YWxpZGF0aW9uKGludmFsaWQpO1xcbn1cXG5cXG4uaXNSb290U3RhdGVWYWxpZCB7XFxuICAgIEBpbmNsdWRlIHZhcmlhbnRzLnZhbGlkYXRpb24odmFsaWQpO1xcbn1cXG5cXG4uaXNSb290U3RhdGVXYXJuaW5nIHtcXG4gICAgQGluY2x1ZGUgdmFyaWFudHMudmFsaWRhdGlvbih3YXJuaW5nKTtcXG59XFxuXFxuLy8gSW52aXNpYmxlIGxhYmVsXFxuLmlzTGFiZWxIaWRkZW4ge1xcbiAgICBAaW5jbHVkZSBhY2Nlc3NpYmlsaXR5LmhpZGUtdGV4dCgpO1xcbn1cXG5cXG4vLyBMYXlvdXRzXFxuLmlzUm9vdExheW91dFZlcnRpY2FsLFxcbi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWxheW91dC52ZXJ0aWNhbCgpO1xcbn1cXG5cXG4uaXNSb290TGF5b3V0SG9yaXpvbnRhbCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1sYXlvdXQuaG9yaXpvbnRhbCgpO1xcbn1cXG5cXG4uaXNSb290RnVsbFdpZHRoIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWxheW91dC5mdWxsLXdpZHRoKCk7XFxufVxcblxcbi5pc1Jvb3RJbkZvcm1MYXlvdXQge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtbGF5b3V0LmluLWZvcm0tbGF5b3V0KCk7XFxufVxcblxcbi8vIFNpemVzXFxuLmlzUm9vdFNpemVTbWFsbCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1zaXplcy5zaXplKHNtYWxsKTtcXG59XFxuXFxuLmlzUm9vdFNpemVNZWRpdW0ge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtc2l6ZXMuc2l6ZShtZWRpdW0pO1xcbn1cXG5cXG4uaXNSb290U2l6ZUxhcmdlIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLXNpemVzLnNpemUobGFyZ2UpO1xcbn1cXG5cXG4vLyBHcm91cHNcXG4uaXNSb290R3JvdXBlZCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1lbGVtZW50cy5pbi1ncm91cC1sYXlvdXQoKTtcXG59XFxuXCIsXCIvLyAxLiBEb24ndCBsZXQgdGV4dCBhbGlnbm1lbnQgYmUgYWZmZWN0ZWQgYnkgYSBwYXJlbnQuXFxuLy8gMi4gT3ZlcnJpZGUgZm91bmRhdGlvbiByZXNldC5cXG5cXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3JtLWZpZWxkc1xcXCIgYXMgc2V0dGluZ3M7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcblxcbkBtaXhpbiByb290KCkge1xcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAxLlxcbn1cXG5cXG5AbWl4aW4gZmllbGRzZXQoKSB7XFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyAyLlxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBsYWJlbCgpIHtcXG4gICAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCAje3RoZW1lLiRsYWJlbC1jb2xvcn0pO1xcbn1cXG5cXG5AbWl4aW4gbGFiZWwtcmVxdWlyZWQoKSB7XFxuICAgIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgI3t0aGVtZS4kcmVxdWlyZWQtbGFiZWwtY29sb3J9KTtcXG5cXG4gICAgJjo6YWZ0ZXIge1xcbiAgICAgICAgY29udGVudDogdGhlbWUuJHJlcXVpcmVkLXNpZ247XFxuICAgICAgICBjb2xvcjogdGhlbWUuJHJlcXVpcmVkLXNpZ24tY29sb3I7XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGhlbHAtdGV4dCgpIHtcXG4gICAgZm9udC1zdHlsZTogdGhlbWUuJGhlbHAtdGV4dC1mb250LXN0eWxlO1xcbiAgICBmb250LXNpemU6IHRoZW1lLiRoZWxwLXRleHQtZm9udC1zaXplO1xcbiAgICBsaW5lLWhlaWdodDogc2V0dGluZ3MuJGhlbHAtdGV4dC1saW5lLWhlaWdodDtcXG4gICAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCAje3RoZW1lLiRoZWxwLXRleHQtY29sb3J9KTtcXG59XFxuXCIsXCIvLyAxLiBHZXQgcmVhZHkgZm9yIHBvc2l0aW9uaW5nIG9mIGJvdHRvbSBsaW5lIGFuZCBjYXJldC5cXG4vLyAyLiBBbHdheXMgcHJlZmVyIGBzaXplYCBhbmQgYG1heGAgYXR0cmlidXRlcyB3aGVuIGRlZmluZWQuIFVzZSBDU1MgZm9yIHNpemluZyB0byBub3JtYWxpemVcXG4vLyAgICByZXN1bHQgd2lkdGggYWNyb3NzIGJyb3dzZXJzLlxcbi8vIDMuIExldCBpbnB1dHMgcHJvcGVybHkgZml0IHZhcmlvdXMgbGF5b3V0IHNjZW5hcmlvcy5cXG4vLyA0LiBMZWF2ZSBvdXQgc3BhY2UgZm9yIFNlbGVjdEZpZWxkIGNhcmV0Llxcbi8vIDUuIFVzZSBhIGJsb2NrLWxldmVsIGRpc3BsYXkgbW9kZSB0byBwcmV2ZW50IGV4dHJhIHdoaXRlIHNwYWNlIGJlbG93IGdyb3VwZWQgaW5wdXRzIGluIFNhZmFyaS5cXG5cXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3JtLWZpZWxkc1xcXCIgYXMgc2V0dGluZ3M7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcbkB1c2UgXFxcIi4uLy4uL3Rvb2xzL2NhcmV0XFxcIjtcXG5AdXNlIFxcXCIuLi9zcGFjaW5nXFxcIjtcXG5AdXNlIFxcXCIuLi90cmFuc2l0aW9uXFxcIjtcXG5cXG5AbWl4aW4gaW5wdXQtY29udGFpbmVyKCkge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIDEuXFxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbiAgICBtaW4td2lkdGg6IDA7IC8vIDMuXFxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMy5cXG59XFxuXFxuQG1peGluIGlucHV0KCkge1xcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLmFkZCgob3BhY2l0eSwgY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdykpO1xcblxcbiAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICB3aWR0aDogdGhlbWUuJGJveC1pbnB1dC13aWR0aDtcXG4gICAgbWluLXdpZHRoOiB0aGVtZS4kYm94LWlucHV0LW1pbi13aWR0aDtcXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAzLlxcbiAgICBoZWlnaHQ6IHZhcigtLXJ1aS1sb2NhbC1oZWlnaHQpO1xcbiAgICBwYWRkaW5nOiB2YXIoLS1ydWktbG9jYWwtcGFkZGluZy15KSB2YXIoLS1ydWktbG9jYWwtcGFkZGluZy14KTtcXG4gICAgZm9udC13ZWlnaHQ6IHNldHRpbmdzLiRib3gtaW5wdXQtZm9udC13ZWlnaHQ7XFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tcnVpLWxvY2FsLWZvbnQtc2l6ZSk7XFxuICAgIGxpbmUtaGVpZ2h0OiBzZXR0aW5ncy4kYm94LWlucHV0LWxpbmUtaGVpZ2h0O1xcbiAgICBmb250LWZhbWlseTogc2V0dGluZ3MuJGJveC1pbnB1dC1mb250LWZhbWlseTtcXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG4gICAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1jb2xvcik7XFxuICAgIGJvcmRlcjogdGhlbWUuJGJveC1ib3JkZXItd2lkdGggc29saWQgdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICAgIGJvcmRlci1yYWRpdXM6IHRoZW1lLiRib3gtYm9yZGVyLXJhZGl1cztcXG4gICAgYmFja2dyb3VuZDogdmFyKC0tcnVpLWxvY2FsLWJhY2tncm91bmQpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS1ydWktbG9jYWwtYm94LXNoYWRvdyk7XFxuXFxuICAgICY6OnBsYWNlaG9sZGVyIHtcXG4gICAgICAgIGNvbG9yOiB0aGVtZS4kYm94LXBsYWNlaG9sZGVyLWNvbG9yO1xcbiAgICAgICAgb3BhY2l0eTogMTtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaW5wdXQtc2l6ZSgpIHtcXG4gICAgd2lkdGg6XFxuICAgICAgICBjYWxjKFxcbiAgICAgICAgICAgIDFjaCAqIHZhcigtLXJ1aS1jdXN0b20taW5wdXQtc2l6ZSlcXG4gICAgICAgICAgICArIHZhcigtLXJ1aS1sb2NhbC1hcnJvd3Mtd2lkdGgsIDApXFxuICAgICAgICAgICAgKyAyICogdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteClcXG4gICAgICAgICAgICArIDIgKiAje3RoZW1lLiRib3gtYm9yZGVyLXdpZHRofVxcbiAgICAgICAgKTsgLy8gMi5cXG5cXG4gICAgbWluLXdpZHRoOiBhdXRvOyAvLyAyLlxcblxcbiAgICAmW3R5cGU9XFxcIm51bWJlclxcXCJdIHtcXG4gICAgICAgIC0tcnVpLWxvY2FsLWFycm93cy13aWR0aDogI3tzZXR0aW5ncy4kYm94LWZpZWxkLWlucHV0LW51bWJlci1hcnJvd3Mtd2lkdGh9O1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbnB1dC10ZXh0YXJlYSgpIHtcXG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcXG5cXG4gICAgJltjb2xzXSB7XFxuICAgICAgICBtaW4td2lkdGg6IGF1dG87XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGlucHV0LXNlbGVjdCgpIHtcXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgcGFkZGluZy1yaWdodDogY2FsYygje3NldHRpbmdzLiRib3gtZmllbGQtY2FyZXQtc2l6ZX0gKyAje3NwYWNpbmcub2YoMil9KTsgLy8gNC5cXG5cXG4gICAgJjo6LW1zLWV4cGFuZCB7XFxuICAgICAgICBkaXNwbGF5OiBub25lO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbnB1dC1zZWxlY3Qtb3B0aW9uKCkge1xcbiAgICBvcHRpb246ZGlzYWJsZWQge1xcbiAgICAgICAgY29sb3I6IHRoZW1lLiRib3gtc2VsZWN0LW9wdGlvbi1kaXNhYmxlZC1jb2xvcjtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gY2FyZXQoKSB7XFxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24uYWRkKChib3JkZXItY29sb3IpKTtcXG5cXG4gICAgcG9zaXRpb246IGFic29sdXRlOyAvLyAxLlxcbiAgICB0b3A6IHRoZW1lLiRib3gtYm9yZGVyLXdpZHRoO1xcbiAgICByaWdodDogdGhlbWUuJGJveC1ib3JkZXItd2lkdGg7XFxuICAgIGJvdHRvbTogdGhlbWUuJGJveC1ib3JkZXItd2lkdGg7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICB3aWR0aDogY2FsYygje3NldHRpbmdzLiRib3gtZmllbGQtY2FyZXQtc2l6ZX0gLSAyICogI3t0aGVtZS4kYm94LWJvcmRlci13aWR0aH0pO1xcbiAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogdGhlbWUuJGJveC1ib3JkZXItcmFkaXVzO1xcbiAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHRoZW1lLiRib3gtYm9yZGVyLXJhZGl1cztcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxufVxcblxcbkBtaXhpbiBjYXJldC1pY29uKCkge1xcbiAgICBAaW5jbHVkZSBjYXJldC5jcmVhdGUoKTtcXG5cXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktbG9jYWwtY29sb3IpO1xcbn1cXG5cXG5AbWl4aW4gYm90dG9tLWxpbmUoKSB7XFxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24uYWRkKCh0cmFuc2Zvcm0sIG9wYWNpdHkpLCAxODBtcyk7XFxuXFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLy8gMS5cXG4gICAgYm90dG9tOiAwO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgaGVpZ2h0OiBzZXR0aW5ncy4kYm94LWZpZWxkLWJvdHRvbS1saW5lLWhlaWdodDtcXG4gICAgb3BhY2l0eTogMDtcXG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XFxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xcblxcbiAgICAuaW5wdXQ6Zm9jdXMgfiAmIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3IpO1xcbiAgICAgICAgb3BhY2l0eTogMTtcXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbi1ncm91cC1sYXlvdXQoKSB7XFxuICAgIC5pbnB1dENvbnRhaW5lciB7XFxuICAgICAgICBkaXNwbGF5OiBibG9jazsgLy8gNS5cXG4gICAgfVxcblxcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIC5pbnB1dCB7XFxuICAgICAgICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1ydWktbG9jYWwtaW5uZXItYm9yZGVyLXJhZGl1cyk7XFxuICAgICAgICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogdmFyKC0tcnVpLWxvY2FsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xcbiAgICB9XFxuXFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuaW5wdXQge1xcbiAgICAgICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLXJ1aS1sb2NhbC1pbm5lci1ib3JkZXItcmFkaXVzKTtcXG4gICAgICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogdmFyKC0tcnVpLWxvY2FsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xcbiAgICB9XFxufVxcblwiLFwiQHVzZSBcXFwic2FzczpsaXN0XFxcIjtcXG5AdXNlIFxcXCJzYXNzOm1ldGFcXFwiO1xcbkB1c2UgXFxcInNhc3M6c3RyaW5nXFxcIjtcXG5AdXNlIFxcXCIuLi9zZXR0aW5ncy9hbmltYXRpb25zXFxcIjtcXG5cXG4kX2FsbG93ZWQtdHJhbnNpdGlvbnM6IChcXG4gICAgYm9yZGVyLWNvbG9yLFxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLFxcbiAgICBib3gtc2hhZG93LFxcbiAgICBjb2xvcixcXG4gICAgb3BhY2l0eSxcXG4gICAgdHJhbnNmb3JtLFxcbiAgICB2aXNpYmlsaXR5LFxcbik7XFxuXFxuJF9yZWR1Y2VkLW1vdGlvbi1kaXNhbGxvd2VkLXRyYW5zaXRpb25zOiAodHJhbnNmb3JtKTtcXG5cXG5AZnVuY3Rpb24gX3ZhbGlkYXRlLXRyYW5zaXRpb25zKCRwcm9wZXJ0aWVzKSB7XFxuICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XFxuICAgICAgICAkaXMtYWxsb3dlZDogbGlzdC5pbmRleCgkX2FsbG93ZWQtdHJhbnNpdGlvbnMsICRwcm9wZXJ0eSk7XFxuXFxuICAgICAgICBAaWYgbm90ICRpcy1hbGxvd2VkIHtcXG4gICAgICAgICAgICBAcmV0dXJuIGZhbHNlO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEByZXR1cm4gdHJ1ZTtcXG59XFxuXFxuQGZ1bmN0aW9uIF9yZWR1Y2UtbW90aW9uLXRyYW5zaXRpb25zKCRwcm9wZXJ0aWVzKSB7XFxuICAgICRyZWR1Y2VkLXByb3BlcnRpZXM6ICgpO1xcbiAgICAkc2VwYXJhdG9yOiBsaXN0LnNlcGFyYXRvcigkcHJvcGVydGllcyk7XFxuXFxuICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XFxuICAgICAgICBAaWYgbm90IGxpc3QuaW5kZXgoJF9yZWR1Y2VkLW1vdGlvbi1kaXNhbGxvd2VkLXRyYW5zaXRpb25zLCAkcHJvcGVydHkpIHtcXG4gICAgICAgICAgICAkcmVkdWNlZC1wcm9wZXJ0aWVzOiBsaXN0LmFwcGVuZCgkcmVkdWNlZC1wcm9wZXJ0aWVzLCAkcHJvcGVydHksICRzZXBhcmF0b3I6ICRzZXBhcmF0b3IpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEByZXR1cm4gJHJlZHVjZWQtcHJvcGVydGllcztcXG59XFxuXFxuQG1peGluIGFkZCgkcHJvcGVydGllcywgJGR1cmF0aW9uOiAxNTBtcykge1xcbiAgICAkcHJvcGVydHktbGlzdDogKCk7XFxuXFxuICAgIEBpZiBtZXRhLnR5cGUtb2YoJHByb3BlcnRpZXMpICE9IFxcXCJzdHJpbmdcXFwiIGFuZCBtZXRhLnR5cGUtb2YoJHByb3BlcnRpZXMpICE9IFxcXCJsaXN0XFxcIiB7XFxuICAgICAgICBAZXJyb3IgXFxcIlRyYW5zaXRpb24gcHJvcGVydGllcyBtdXN0IGJlIGEgc3RyaW5nIG9yIGEgU2FzcyBsaXN0LCBgI3skcHJvcGVydGllc31gIGdpdmVuLlxcXCI7XFxuICAgIH1cXG5cXG4gICAgJHByb3BlcnR5LWxpc3Q6IGxpc3Quam9pbigkcHJvcGVydHktbGlzdCwgJHByb3BlcnRpZXMpO1xcblxcbiAgICBAaWYgbm90IF92YWxpZGF0ZS10cmFuc2l0aW9ucygkcHJvcGVydHktbGlzdCkge1xcbiAgICAgICAgQGVycm9yIFxcXCJPbmx5IFsjeyRfYWxsb3dlZC10cmFuc2l0aW9uc31dIHRyYW5zaXRpb25zIGFyZSBhbGxvd2VkLCBbI3skcHJvcGVydGllc31dIGdpdmVuLlxcXCI7XFxuICAgIH0gQGVsc2Uge1xcbiAgICAgICAgJHJlZHVjZWQtcHJvcGVydHktbGlzdDogX3JlZHVjZS1tb3Rpb24tdHJhbnNpdGlvbnMoJHByb3BlcnR5LWxpc3QpO1xcblxcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHByb3BlcnR5LWxpc3Q7XFxuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XFxuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9ucy4kc3RhbmRhcmQtdGltaW5nLWZ1bmN0aW9uO1xcblxcbiAgICAgICAgQGlmIGxpc3QubGVuZ3RoKCRyZWR1Y2VkLXByb3BlcnR5LWxpc3QpID4gMCB7XFxuICAgICAgICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHJlZHVjZWQtcHJvcGVydHktbGlzdDtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXCIsXCIkc3RhbmRhcmQtdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcblwiLFwiLy8gVmFyaWFudCBzcGVjaWZpYyB0aGVtZSBvcHRpb25zIGFyZSBvYnRhaW5lZCBkeW5hbWljYWxseSBiZWNhdXNlIHRoZXJlIGlzIHdheSB0b28gbWFueSBvZiB0aGVtIHRvXFxuLy8gbWFpbnRhaW4gbWFudWFsbHkuIFNlZSBgc2V0dGluZ3MvX2Zvcm0tZmllbGRzLnNjc3NgIGFuZCBgdG9vbHMvZm9ybS1maWVsZHMvX3ZhcmlhbnRzLnNjc3NgIGZvclxcbi8vIGRldGFpbHMuXFxuLy9cXG4vLyAxLiBEZWZhdWx0cyB0byB6ZXJvIHdoZW4gbmVpdGhlciBgLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15YCAob3B0aW9uYWwpIG5vclxcbi8vICAgIGAtLXJ1aS1sb2NhbC1wYWRkaW5nLXlgIChoYW5kbGVkIGJ5IHRoZSBgc2l6ZSgpYCBtaXhpbiBpbiBjYXNlIG9mIGJveCBmb3JtIGZpZWxkcywgc2VlXFxuLy8gICAgYF9ib3gtZmllbGQtc2l6ZXMuc2Nzc2ApIGlzIGRlZmluZWQuIFRoaXMgaXMgdXNlZnVsIGJlY2F1c2UgRm9ybUxheW91dEN1c3RvbUZpZWxkIG1heSBoYXZlIG5vXFxuLy8gICAgc2l6ZSBzcGVjaWZpZWQgdGhlcmVmb3JlIGl0cyBsYWJlbCBzaG91bGQgaGF2ZSBubyBwYWRkaW5nIGF0IHRoZSB0b3AuXFxuXFxuLy8gRm9ybXMgZmllbGRzOiBjb21tb24gcHJvcGVydGllc1xcbiRsYWJlbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZF9fbGFiZWxfX2NvbG9yKTtcXG4kbGFiZWwtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkX19sYWJlbF9fZm9udC1zaXplKTtcXG4kaGVscC10ZXh0LWZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXNpemUpO1xcbiRoZWxwLXRleHQtZm9udC1zdHlsZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXN0eWxlKTtcXG4kaGVscC10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2NvbG9yKTtcXG4kcmVxdWlyZWQtbGFiZWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19sYWJlbF9fY29sb3IpO1xcbiRyZXF1aXJlZC1zaWduOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fc2lnbik7XFxuJHJlcXVpcmVkLXNpZ24tY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19zaWduX19jb2xvcik7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGhvcml6b250YWwgbGF5b3V0XFxuJGhvcml6b250YWwtbGFiZWwtdGV4dC1hbGlnbjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3RleHQtYWxpZ24pO1xcbiRob3Jpem9udGFsLWxhYmVsLW1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX21pbi13aWR0aCk7XFxuJGhvcml6b250YWwtbGFiZWwtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX193aWR0aCk7XFxuJGhvcml6b250YWwtbGFiZWwtcGFkZGluZy15OlxcbiAgICB2YXIoXFxuICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19wYWRkaW5nLXksXFxuICAgICAgICBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKVxcbiAgICApOyAvLyAxLlxcbiRob3Jpem9udGFsLWxhYmVsLXZlcnRpY2FsLWFsaWdubWVudDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuJGhvcml6b250YWwtZmllbGQtdmVydGljYWwtYWxpZ25tZW50OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19maWVsZF9fdmVydGljYWwtYWxpZ25tZW50KTtcXG4kaG9yaXpvbnRhbC1mdWxsLXdpZHRoLWxhYmVsLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsLS1mdWxsLXdpZHRoX19sYWJlbF9fd2lkdGgpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBkaXNhYmxlZCBzdGF0ZVxcbiRkaXNhYmxlZC1jdXJzb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19jdXJzb3IpO1xcbiRkaXNhYmxlZC1vcGFjaXR5OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fb3BhY2l0eSk7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGJveCBmaWVsZHNcXG4kYm94LWJvcmRlci13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpO1xcbiRib3gtYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItcmFkaXVzKTtcXG4kYm94LWlucHV0LXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2lucHV0X193aWR0aCk7XFxuJGJveC1pbnB1dC1taW4td2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9faW5wdXRfX21pbi13aWR0aCk7XFxuJGJveC1wbGFjZWhvbGRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19wbGFjZWhvbGRlcl9fY29sb3IpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBib3ggZmllbGRzLCBjb21wb25lbnQgc3BlY2lmaWNcXG4kYm94LXNlbGVjdC1jYXJldC1ib3JkZXItc3R5bGU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc2VsZWN0X19jYXJldF9fYm9yZGVyLXN0eWxlKTtcXG4kYm94LXNlbGVjdC1jYXJldC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fY2FyZXRfX2JhY2tncm91bmQpO1xcbiRib3gtc2VsZWN0LW9wdGlvbi1kaXNhYmxlZC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zZWxlY3RfX29wdGlvbi0tZGlzYWJsZWRfX2NvbG9yKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogYm94IGZpZWxkIHNpemVzXFxuJGJveC1zaXplczogKFxcbiAgICBzbWFsbDogKFxcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19oZWlnaHQpLFxcbiAgICAgICAgcGFkZGluZy15OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19wYWRkaW5nLXkpLFxcbiAgICAgICAgcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19wYWRkaW5nLXgpLFxcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19mb250LXNpemUpLFxcbiAgICApLFxcbiAgICBtZWRpdW06IChcXG4gICAgICAgIGhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX2hlaWdodCksXFxuICAgICAgICBwYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19wYWRkaW5nLXkpLFxcbiAgICAgICAgcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fcGFkZGluZy14KSxcXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX2ZvbnQtc2l6ZSksXFxuICAgICksXFxuICAgIGxhcmdlOiAoXFxuICAgICAgICBoZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX2hlaWdodCksXFxuICAgICAgICBwYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX3BhZGRpbmcteSksXFxuICAgICAgICBwYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX3BhZGRpbmcteCksXFxuICAgICAgICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX2ZvbnQtc2l6ZSksXFxuICAgICksXFxuKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogY2hlY2sgZmllbGRzXFxuJGNoZWNrLWlucHV0LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dF9fc2l6ZSk7XFxuJGNoZWNrLWlucHV0LWJvcmRlci13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0X19ib3JkZXItd2lkdGgpO1xcbiRjaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLWZvY3VzX19ib3gtc2hhZG93KTtcXG4kY2hlY2stdGFwLXRhcmdldC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19fdGFwLXRhcmdldC1zaXplKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogY2hlY2sgZmllbGRzLCBjb21wb25lbnQgc3BlY2lmaWNcXG4kY2hlY2staW5wdXQtY2hlY2tib3gtYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1jaGVja2JveF9fYm9yZGVyLXJhZGl1cyk7XFxuJGNoZWNrLWlucHV0LWNoZWNrYm94LWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1jaGVja2JveC0tY2hlY2tlZF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXJhZGlvLWJvcmRlci1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tcmFkaW9fX2JvcmRlci1yYWRpdXMpO1xcbiRjaGVjay1pbnB1dC1yYWRpby1jaGVja2VkLWJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tcmFkaW8tLWNoZWNrZWRfX2JhY2tncm91bmQtaW1hZ2UpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlX193aWR0aCk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1ib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZV9fYm9yZGVyLXJhZGl1cyk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1iYWNrZ3JvdW5kLXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlX19iYWNrZ3JvdW5kLXNpemUpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtZGVmYXVsdC1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZS0tZGVmYXVsdF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1kZWZhdWx0LWJhY2tncm91bmQtcG9zaXRpb246XFxuICAgIHZhcihcXG4gICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWRlZmF1bHRfX2JhY2tncm91bmQtcG9zaXRpb25cXG4gICAgKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWNoZWNrZWRfX2JhY2tncm91bmQtaW1hZ2UpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtY2hlY2tlZC1iYWNrZ3JvdW5kLXBvc2l0aW9uOlxcbiAgICB2YXIoXFxuICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlLS1jaGVja2VkX19iYWNrZ3JvdW5kLXBvc2l0aW9uXFxuICAgICk7XFxuXCIsXCIvLyAxLiBJbnB1dCBgbGluZS1oZWlnaHRgIGlzIHNwZWNpZmllZCBpbiBgcmVtYCBzbyBpbnB1dHMgZG8gbm90IGJyZWFrIHdoZW4gdGhlaXIgZm9udCBzaXplIGdldHNcXG4vLyAgICBjaGFuZ2VkIGxhdGVyLlxcblxcbkB1c2UgXFxcInNhc3M6bWFwXFxcIjtcXG5AdXNlIFxcXCIuLi90aGVtZS90eXBvZ3JhcGh5XFxcIjtcXG5AdXNlIFxcXCIuLi90b29scy9zcGFjaW5nXFxcIjtcXG5cXG4kaGVscC10ZXh0LWxpbmUtaGVpZ2h0OiAxLjJyZW07XFxuXFxuJHZlcnRpY2FsLWlubmVyLWdhcDogc3BhY2luZy5vZigxKTtcXG4kdmVydGljYWwtaW5uZXItZ2FwLWxhcmdlOiBzcGFjaW5nLm9mKDIpO1xcbiR2ZXJ0aWNhbC1vdXRlci1zcGFjaW5nOiBzcGFjaW5nLm9mKDIpO1xcblxcbiRob3Jpem9udGFsLWlubmVyLWdhcDogc3BhY2luZy5vZigyKTtcXG4kaG9yaXpvbnRhbC1vdXRlci1zcGFjaW5nOiBzcGFjaW5nLm9mKDIpO1xcblxcbiRib3gtaW5wdXQtZm9udC1mYW1pbHk6IHR5cG9ncmFwaHkuJGZvbnQtZmFtaWx5LWJhc2U7XFxuJGJveC1pbnB1dC1mb250LXdlaWdodDogbWFwLmdldCh0eXBvZ3JhcGh5LiRmb250LXdlaWdodC12YWx1ZXMsIGRlZmF1bHQpO1xcbiRib3gtaW5wdXQtbGluZS1oZWlnaHQ6IDEuNXJlbTsgLy8gMS5cXG4kYm94LWZpZWxkLWNhcmV0LXNpemU6IDIuMjVyZW07XFxuJGJveC1maWVsZC1pbnB1dC1udW1iZXItYXJyb3dzLXdpZHRoOiAxLjVyZW07XFxuJGJveC1maWVsZC1ib3R0b20tbGluZS1oZWlnaHQ6IDJweDtcXG5cXG4kaW5saW5lLWZpZWxkLWlubmVyLWdhcDogc3BhY2luZy5vZigyKTtcXG5cXG4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzOiAoXFxuICAgIGJveDogKFxcbiAgICAgICAgZmlsbGVkOiAoZGVmYXVsdCwgaG92ZXIsIGZvY3VzLCBkaXNhYmxlZCksXFxuICAgICAgICBvdXRsaW5lOiAoZGVmYXVsdCwgaG92ZXIsIGZvY3VzLCBkaXNhYmxlZCksXFxuICAgICksXFxuICAgIGNoZWNrOiAoXFxuICAgICAgICBkZWZhdWx0OiAoZGVmYXVsdCwgY2hlY2tlZCwgZGlzYWJsZWQsIGNoZWNrZWQtZGlzYWJsZWQpLFxcbiAgICApLFxcbiAgICBjdXN0b206IChcXG4gICAgICAgIGRlZmF1bHQ6IChkZWZhdWx0LCBkaXNhYmxlZCksXFxuICAgICksXFxuICAgIHZhbGlkYXRpb246IChcXG4gICAgICAgIGludmFsaWQ6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICAgICB2YWxpZDogKGRlZmF1bHQsIGNoZWNrZWQsIGRpc2FibGVkLCBjaGVja2VkLWRpc2FibGVkKSxcXG4gICAgICAgIHdhcm5pbmc6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICksXFxuKTtcXG5cXG4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXM6IChcXG4gICAgZGVmYXVsdDogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGNoZWNrLWJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3csIHN1cnJvdW5kaW5nLXRleHQtY29sb3IpLFxcbiAgICBob3ZlcjogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGJveC1zaGFkb3cpLFxcbiAgICBmb2N1czogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGNoZWNrLWJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cpLFxcbiAgICBjaGVja2VkOiAoYm9yZGVyLWNvbG9yLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yKSxcXG4gICAgZGlzYWJsZWQ6IChjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93LCBzdXJyb3VuZGluZy10ZXh0LWNvbG9yKSxcXG4gICAgY2hlY2tlZC1kaXNhYmxlZDogKGJvcmRlci1jb2xvciwgY2hlY2stYmFja2dyb3VuZC1jb2xvciksXFxuKTtcXG5cIixcIiRmb250LXdlaWdodC12YWx1ZXM6IChcXG4gICAgbGlnaHQ6IHZhcigtLXJ1aS1mb250LXdlaWdodC1saWdodCksXFxuICAgIGRlZmF1bHQ6IHZhcigtLXJ1aS1mb250LXdlaWdodC1iYXNlKSxcXG4gICAgYm9sZDogdmFyKC0tcnVpLWZvbnQtd2VpZ2h0LWJvbGQpLFxcbik7XFxuXFxuJGZvbnQtd2VpZ2h0LWJhc2U6IHZhcigtLXJ1aS1mb250LXdlaWdodC1iYXNlKTtcXG5cXG4kZm9udC1zaXplLXZhbHVlczogKFxcbiAgICAxOiB2YXIoLS1ydWktZm9udC1zaXplLTEpLFxcbiAgICAyOiB2YXIoLS1ydWktZm9udC1zaXplLTIpLFxcbiAgICAzOiB2YXIoLS1ydWktZm9udC1zaXplLTMpLFxcbiAgICA0OiB2YXIoLS1ydWktZm9udC1zaXplLTQpLFxcbiAgICA1OiB2YXIoLS1ydWktZm9udC1zaXplLTUpLFxcbiAgICA2OiB2YXIoLS1ydWktZm9udC1zaXplLTYpLFxcbik7XFxuXFxuJGZvbnQtc2l6ZS1iYXNlOiB2YXIoLS1ydWktZm9udC1zaXplLWJhc2UpO1xcbiRmb250LXNpemUtc21hbGw6IHZhcigtLXJ1aS1mb250LXNpemUtc21hbGwpO1xcbiRmb250LXNpemUtc21hbGxlcjogdmFyKC0tcnVpLWZvbnQtc2l6ZS1zbWFsbGVyKTtcXG5cXG4kZm9udC1mYW1pbHktYmFzZTogdmFyKC0tcnVpLWZvbnQtZmFtaWx5LWJhc2UpO1xcblxcbiRsaW5lLWhlaWdodC1iYXNlOiB2YXIoLS1ydWktbGluZS1oZWlnaHQtYmFzZSk7XFxuJGxpbmUtaGVpZ2h0LXNtYWxsOiB2YXIoLS1ydWktbGluZS1oZWlnaHQtc21hbGwpO1xcblwiLFwiQG1peGluIGNyZWF0ZSgkcm90YXRlOiAwKSB7XFxuICAgIEBpbmNsdWRlIHJvdGF0ZSgpO1xcblxcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHdpZHRoOiAwLjQzNzVyZW07XFxuICAgIGhlaWdodDogMC40Mzc1cmVtO1xcbiAgICBib3JkZXItd2lkdGg6IDJweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBub25lIHNvbGlkIHNvbGlkIG5vbmU7XFxuICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xcbn1cXG5cXG5AbWl4aW4gcm90YXRlKCRyb3RhdGU6IDApIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjFyZW0pIHJvdGF0ZSgkcm90YXRlICsgNDVkZWcpO1xcbn1cXG5cIixcIi8vIDEuIER1ZSB0byBjb21wbGV4aXR5LCBpdCdzIGVhc2llciBhbmQgc2FmZXIgdG8gcmVzb2x2ZSB2YXJpYW50IGN1c3RvbSBwcm9wZXJ0aWVzIGR5bmFtaWNhbGx5IHdpdGhcXG4vLyAgICBhIG1peGluLiBUaGlzIHdheSBpdCdzIGFsc28gZWFzaWVyIHRvIG1ha2UgdGhlbWluZyBhZGp1c3RtZW50cyB0byBhbGwgc3VwcG9ydGVkIG1vZGlmaWNhdGlvbnNcXG4vLyAgICBpbiBvbmUgcGxhY2UuIEdlbmVyYXRlZCBjdXN0b20gcHJvcGVydGllcyBhcmUgY29uc3VtZWQgbWFpbmx5IGluIGZvdW5kYXRpb24gZmllbGQgc3R5bGVzIChzZWVcXG4vLyAgICBgdG9vbHMvZm9ybS1maWVsZHMvX2ZvdW5kYXRpb24uc2Nzc2AgZm9yIG1vcmUpLlxcbi8vXFxuLy8gMi4gSW50ZXJhY3Rpb24gc3RhdGVzIG90aGVyIHRoYW4gYGRlZmF1bHRgIGRlZmF1bHQgdG8gdGhlIGBkZWZhdWx0YCAoc2ljISkgc3RhdGUgYXBwZWFyYW5jZSBpZlxcbi8vICAgIGNvcnJlc3BvbmRpbmcgY3VzdG9tIHByb3BlcnRpZXMgYXJlIG5vdCBwcm92aWRlZC5cXG4vL1xcbi8vIDMuIGAuaW5wdXQ6Zm9jdXNgIGlzIGFkZGVkIGp1c3QgaW4gY2FzZSBgOmZvY3VzLXdpdGhpbmAgZG9lc24ndCB3b3JrLlxcblxcbkB1c2UgXFxcInNhc3M6bGlzdFxcXCI7XFxuQHVzZSBcXFwic2FzczptYXBcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm0tZmllbGRzXFxcIiBhcyBzZXR0aW5ncztcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuXFxuQG1peGluIF9kaXNhYmxlZC1zdGF0ZSgpIHtcXG4gICAgb3BhY2l0eTogdGhlbWUuJGRpc2FibGVkLW9wYWNpdHk7XFxuICAgIGN1cnNvcjogdGhlbWUuJGRpc2FibGVkLWN1cnNvcjtcXG59XFxuXFxuLy8gMS5cXG5AbWl4aW4gX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgJHN0YXRlKSB7XFxuICAgIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cyhtYXAuZ2V0KHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMsICR0eXBlKSksICR2YXJpYW50KSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgdmFyaWFudCBzcGVjaWZpZWQhICN7JHZhcmlhbnR9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMobWFwLmdldChzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzLCAkdHlwZSkpfS5cXFwiO1xcbiAgICB9XFxuXFxuICAgIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXMpLCAkc3RhdGUpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiSW52YWxpZCBzdGF0ZSBzcGVjaWZpZWQhICN7JHN0YXRlfSBkb2Vzbid0IGV4aXN0LiBcXFwiXFxuICAgICAgICAgICAgKyBcXFwiQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKHNldHRpbmdzLiR0aGVtZWFibGUtc3RhdGUtcHJvcGVydGllcyl9LlxcXCI7XFxuICAgIH1cXG5cXG4gICAgJHByb3BlcnRpZXM6IG1hcC5nZXQoc2V0dGluZ3MuJHRoZW1lYWJsZS1zdGF0ZS1wcm9wZXJ0aWVzLCAkc3RhdGUpO1xcbiAgICAkaW5maXg6ICR0eXBlO1xcbiAgICAkZmFsbGJhY2stc3RhdGU6IFxcXCJkZWZhdWx0XFxcIjtcXG5cXG4gICAgQGlmICR0eXBlID09IFxcXCJ2YWxpZGF0aW9uXFxcIiB7XFxuICAgICAgICAkaW5maXg6ICR2YXJpYW50O1xcbiAgICB9XFxuXFxuICAgIEBpZiAkdHlwZSAhPSBcXFwidmFsaWRhdGlvblxcXCIgYW5kICR2YXJpYW50ICE9IFxcXCJkZWZhdWx0XFxcIiB7XFxuICAgICAgICAkaW5maXg6ICN7JHR5cGV9LS0jeyR2YXJpYW50fTtcXG4gICAgfVxcblxcbiAgICBAaWYgJHN0YXRlID09IFxcXCJjaGVja2VkLWRpc2FibGVkXFxcIiB7XFxuICAgICAgICAkZmFsbGJhY2stc3RhdGU6IFxcXCJjaGVja2VkXFxcIjtcXG4gICAgfVxcblxcbiAgICBAaWYgJHN0YXRlID09IFxcXCJkZWZhdWx0XFxcIiB7XFxuICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xcbiAgICAgICAgICAgIC0tcnVpLWxvY2FsLSN7JHByb3BlcnR5fTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tI3skaW5maXh9LS0jeyRzdGF0ZX1fXyN7JHByb3BlcnR5fSk7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgLy8gMi5cXG4gICAgQGVsc2Uge1xcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcXG4gICAgICAgICAgICAtLXJ1aS1sb2NhbC0jeyRwcm9wZXJ0eX06XFxuICAgICAgICAgICAgICAgIHZhcihcXG4gICAgICAgICAgICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tI3skaW5maXh9LS0jeyRzdGF0ZX1fXyN7JHByb3BlcnR5fSxcXG4gICAgICAgICAgICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLSN7JGluZml4fS0tI3skZmFsbGJhY2stc3RhdGV9X18jeyRwcm9wZXJ0eX0pXFxuICAgICAgICAgICAgICAgICk7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIF9nZXQtdGhlbWUoJHR5cGUsICR2YXJpYW50KSB7XFxuICAgIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzKSwgJHR5cGUpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiSW52YWxpZCB0eXBlIHNwZWNpZmllZCEgI3skdHlwZX0gZG9lc24ndCBleGlzdC4gXFxcIlxcbiAgICAgICAgICAgICsgXFxcIkNob29zZSBvbmUgb2YgI3ttYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzKX0uXFxcIjtcXG4gICAgfVxcblxcbiAgICAkdGhlbWVhYmxlLXN0YXRlczogbWFwLmdldChtYXAuZ2V0KHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMsICR0eXBlKSwgJHZhcmlhbnQpO1xcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImhvdmVyXFxcIikge1xcbiAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImRlZmF1bHRcXFwiKTtcXG5cXG4gICAgICAgICY6aG92ZXIge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJob3ZlclxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9IEBlbHNlIHtcXG4gICAgICAgICYsXFxuICAgICAgICAmOmhvdmVyIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiZGVmYXVsdFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiZm9jdXNcXFwiKSB7XFxuICAgICAgICAvLyAzLlxcbiAgICAgICAgJjpmb2N1cy13aXRoaW4sXFxuICAgICAgICAmOmZvY3VzLXdpdGhpbjpob3ZlcixcXG4gICAgICAgIC5pbnB1dDpmb2N1cyB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImZvY3VzXFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJjaGVja2VkXFxcIikge1xcbiAgICAgICAgLmlucHV0OmNoZWNrZWQge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJjaGVja2VkXFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJkaXNhYmxlZFxcXCIpIHtcXG4gICAgICAgICYuaXNSb290RGlzYWJsZWQge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJkaXNhYmxlZFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiY2hlY2tlZC1kaXNhYmxlZFxcXCIpIHtcXG4gICAgICAgIC5pbnB1dDpjaGVja2VkOmRpc2FibGVkIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiY2hlY2tlZC1kaXNhYmxlZFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiB2aXN1YWwoJHR5cGUsICR2YXJpYW50OiBcXFwiZGVmYXVsdFxcXCIsICRoYXMtY2FyZXQ6IGZhbHNlKSB7XFxuICAgIEBpbmNsdWRlIF9nZXQtdGhlbWUoJHR5cGUsICR2YXJpYW50KTtcXG5cXG4gICAgLmlucHV0OmRpc2FibGVkIHtcXG4gICAgICAgIEBpbmNsdWRlIF9kaXNhYmxlZC1zdGF0ZSgpO1xcbiAgICB9XFxuXFxuICAgIEBpZiAkdHlwZSA9PSBcXFwiYm94XFxcIiBhbmQgJHZhcmlhbnQgPT0gXFxcImZpbGxlZFxcXCIge1xcbiAgICAgICAgLmlucHV0IHtcXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiAkdHlwZSA9PSBcXFwiYm94XFxcIiBhbmQgJHZhcmlhbnQgPT0gXFxcIm91dGxpbmVcXFwiIGFuZCAkaGFzLWNhcmV0IHtcXG4gICAgICAgIC5jYXJldCB7XFxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRoZW1lLiRib3gtYm9yZGVyLXdpZHRoIHRoZW1lLiRib3gtc2VsZWN0LWNhcmV0LWJvcmRlci1zdHlsZSB2YXIoLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yKTtcXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0aGVtZS4kYm94LXNlbGVjdC1jYXJldC1iYWNrZ3JvdW5kO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3REaXNhYmxlZCAuY2FyZXQge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9kaXNhYmxlZC1zdGF0ZSgpO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiB2YWxpZGF0aW9uKCR2YXJpYW50KSB7XFxuICAgIEBpbmNsdWRlIF9nZXQtdGhlbWUodmFsaWRhdGlvbiwgJHZhcmlhbnQpO1xcbn1cXG5cIixcIi8vIDEuIFNjcmVlbiByZWFkZXJzIG9ubHksIGluc3BpcmVkIGJ5IEJvb3RzdHJhcC5cXG4vLyAgICBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2Nzc1xcbi8vXFxuLy8gMi4gTWFrZSB0YXAgdGFyZ2V0IGJpZyBlbm91Z2ggdG8gaW1wcm92ZSBhY2Nlc3NpYmlsaXR5IG9uIHRvdWNoIHNjcmVlbnMuXFxuXFxuQHVzZSBcXFwiLi4vdGhlbWUvYWNjZXNzaWJpbGl0eVxcXCIgYXMgdGhlbWU7XFxuXFxuLy8gMS5cXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHdpZHRoOiAxcHg7XFxuICAgIGhlaWdodDogMXB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgICBib3JkZXI6IDA7XFxufVxcblxcbkBtaXhpbiB1bmhpZGUtdGV4dCgpIHtcXG4gICAgcG9zaXRpb246IHVuc2V0O1xcbiAgICB3aWR0aDogdW5zZXQ7XFxuICAgIGhlaWdodDogdW5zZXQ7XFxuICAgIG92ZXJmbG93OiB1bnNldDtcXG4gICAgY2xpcDogdW5zZXQ7XFxuICAgIHdoaXRlLXNwYWNlOiB1bnNldDtcXG59XFxuXFxuLy8gMi5cXG5AbWl4aW4gbWluLXRhcC10YXJnZXQoJHNpemU6IHRoZW1lLiR0YXAtdGFyZ2V0LXNpemUsICRjZW50ZXI6IHRydWUpIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcblxcbiAgICAmOjpiZWZvcmUge1xcbiAgICAgICAgY29udGVudDogXFxcIlxcXCI7XFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgICB3aWR0aDogJHNpemU7XFxuICAgICAgICBoZWlnaHQ6ICRzaXplO1xcblxcbiAgICAgICAgQGlmICRjZW50ZXIge1xcbiAgICAgICAgICAgIHRvcDogNTAlO1xcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gZm9jdXMtcmluZygpIHtcXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcXG4gICAgICAgIG91dGxpbmU6IHRoZW1lLiRmb2N1cy1vdXRsaW5lO1xcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IHRoZW1lLiRmb2N1cy1vdXRsaW5lLW9mZnNldDtcXG4gICAgICAgIGJveC1zaGFkb3c6IHRoZW1lLiRmb2N1cy1ib3gtc2hhZG93O1xcbiAgICB9XFxufVxcblwiLFwiLy8gMS4gIElubGluZSBmb3JtIGZpZWxkcyBhbmQgZmllbGRzIHdpdGggdmVydGljYWwgbGF5b3V0IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyB0aGV5IG5lZWQuIExhYmVsc1xcbi8vICAgICBkbyBub3Qgd3JhcCB1bnRpbCBmb3JjZWQgYnkgY29udGFpbmVyIG9mIHRoZSBmaWVsZC4gTWluIGFuZCBtYXggbGltaXRzIG1ha2UgZXh0cmEgbG9uZyB3b3Jkc1xcbi8vICAgICBicmVhayBpZiBuZWNlc3NhcnkuXFxuLy9cXG4vLyAyLiAgRm9ybSBmaWVsZHMgaW4gaG9yaXpvbnRhbCBsYXlvdXQgYWxzbyB0YWtlIHVwIG9ubHkgYXMgbXVjaCBzcGFjZSBhcyB0aGV5IG5lZWQuIExhYmVscyBkbyBub3RcXG4vLyAgICAgd3JhcCB1bnRpbCBsYWJlbCB3aWR0aCBsaW1pdCBpcyByZWFjaGVkICg1MCAlIG9mIGF2YWlsYWJsZSBob3Jpem9udGFsIHNwYWNlIGJ5IGRlZmF1bHQpLlxcbi8vXFxuLy8gMy4gIEhlbHAgdGV4dHMgYW5kIHZhbGlkYXRpb24gbWVzc2FnZXMgYXJlIGFsaWduZWQgYmVsb3cgaW5wdXQgYW5kIHdyYXBwZWQuIFRoZWlyIHdpZHRoIGlzIGFsd2F5c1xcbi8vICAgICBsaW1pdGVkIHRvIHRoZSB3aWR0aCBvZiB0aGUgaW5wdXQgZmllbGQgc28gdGhleSBkb24ndCBzaGlmdCBhZGphY2VudCBlbGVtZW50cyB3aGVuIHRoZXkgc2hvd1xcbi8vICAgICB1cC4gVGhpcyBhcHBsaWVzIHVubGVzcyB0aGUgZmllbGQgaXMgaW5zaWRlIEZvcm1MYXlvdXQgKHNlZSAxMCkuXFxuLy9cXG4vLyA0LiAgRGVmaW5lIGdyaWQgc3BhY2luZyBhcyBwYWRkaW5nIG9mIGNoaWxkIGVsZW1lbnRzIGJlY2F1c2UgZ3JpZCBhcmVhcyBtYWtlIHJvdyBhbmQgY29sdW1uIGdhcHNcXG4vLyAgICAgc2hvdyB1cCBldmVuIHdoZW4gbm90IG5lY2Vzc2FyeS5cXG4vL1xcbi8vIDUuICBXaGVuIGlucHV0IHNpemUgaXMgc21hbGwgYW5kIGZvcm0gZmllbGQgbGF5b3V0IGlzIHNldCB0byBob3Jpem9udGFsLCBleHBhbmQgaGVscCB0ZXh0IGFuZFxcbi8vICAgICB2YWxpZGF0aW9uIG1lc3NhZ2Ugb3ZlciBmdWxsIGZvcm0gZmllbGQgd2lkdGggdG8gaW1wcm92ZSB0aGVpciByZWFkYWJpbGl0eS4gT3RoZXJ3aXNlIHRoZVxcbi8vICAgICB0ZXh0IHdvdWxkIGJlIHBhY2tlZCBpbnRvIGEgdmVyeSBuYXJyb3cgY29sdW1uIGFuZCBoYXJkIHRvIHJlYWQuIFRvIHByZXZlbnQgaGVscCB0ZXh0IGFuZFxcbi8vICAgICB2YWxpZGF0aW9uIG1lc3NhZ2UgZnJvbSBncm93aW5nIHRoZSBsYXlvdXQgbW9yZSB0aGFuIG5lY2Vzc2FyeSAoaWUuIHRoZSBzaXplIHdpdGhvdXRcXG4vLyAgICAgaGVscC92YWxpZGF0aW9uIHRleHQpLCBgbWluLWNvbnRlbnRgIGdyaWQgc2l6aW5nIG11c3QgYmUgdXNlZCBhbG9uZyB3aXRoIGRpc2FibGVkIHdyYXBwaW5nIG9mXFxuLy8gICAgIGxhYmVsLlxcbi8vXFxuLy8gNi4gIEZ1bGwtd2lkdGggaG9yaXpvbnRhbCBmb3JtIGZpZWxkcyBwcmVmZXIgbm90IHdyYXBwaW5nIHRoZSBsYWJlbCB1bnRpbCBhIGxpbWl0IGlzIHJlYWNoZWRcXG4vLyAgICAgKDUwICUgb2YgYXZhaWxhYmxlIGhvcml6b250YWwgc3BhY2UgYnkgZGVmYXVsdCwgc2FtZSBhcyBpbiAyLikuXFxuLy9cXG4vLyA3LiAgSnVzdGlmeSBpbnB1dHMgdG8gYHN0YXJ0YCBpbiBob3Jpem9udGFsIGxheW91dHMgdG8gZml4IHBvc2l0aW9uaW5nIGlzc3VlcyB3aXRoIFNlbGVjdCBGaWVsZHMuXFxuLy8gICAgIFJldmVydGVkIGZvciBmdWxsLXdpZHRoIGZpZWxkcy5cXG4vL1xcbi8vIDguICBHcmlkIHNldHRpbmdzIGFyZSBpbmhlcml0ZWQgZnJvbSBob3Jpem9udGFsIEZvcm1MYXlvdXQgYW5kIGFwcGxpZWQgdXNpbmcgYHN1YmdyaWRgLlxcbi8vICAgICBBIGZhbGxiYWNrIGlzIHN1cHBsaWVkIHRvIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBgc3ViZ3JpZGAgeWV0LiBTZWUgRm9ybUxheW91dCBzdHlsZXNcXG4vLyAgICAgZm9yIG1vcmUuXFxuLy8gICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdC11aS1vcmcvcmVhY3QtdWkvaXNzdWVzLzIzMlxcbi8vXFxuLy8gOS4gIEhlbHAgdGV4dHMgYW5kIHZhbGlkYXRpb24gbWVzc2FnZXMgY2FuIHRha2UgdXAgZnVsbCB3aWR0aCBvZiBGb3JtTGF5b3V0LiBUaGVyZSBpcyBubyByZWFzb25cXG4vLyAgICAgdG8gbWFrZSB0aGVtIHdyYXAgYXMgdGhleSBjYW5ub3QgYnJlYWsgbGF5b3V0IG9mIEZvcm1MYXlvdXQuXFxuLy9cXG4vLyAxMC4gVmlzdWFsbHkgYWxpZ24gbGFiZWwgdG8gaW5wdXQgYmFzZWxpbmUuIEFjaGlldmVkIHdpdGggYHBhZGRpbmctdG9wYCBhbmQgYHBhZGRpbmctYm90dG9tYCBkdWVcXG4vLyAgICAgdG8gdHdvIHJlYXNvbnM6XFxuLy9cXG4vLyAgICAgKiBgYWxpZ24taXRlbXM6IGJhc2VsaW5lYCBkb2Vzbid0IHdvcmsgZm9yIGJsYW5rIHRleHQgaW5wdXRzIGluIFNhZmFyaS4gU2VlXFxuLy8gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI5NjggYW5kXFxuLy8gICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdC11aS1vcmcvcmVhY3QtdWkvaXNzdWVzLzI2NS5cXG4vL1xcbi8vICAgICAqIGBhbGlnbi1pdGVtczogYmFzZWxpbmVgIGRvZXNuJ3QgYWxsb3cgc3Vic2VxdWVudCB2ZXJ0aWNhbCBjZW50ZXJpbmcgb2YgdGFsbCBpbnB1dHMgYW5kL29yXFxuLy8gICAgICAgIG11bHRpbGluZSBsYWJlbHMgKHNlZSBgdGhlbWUuJGhvcml6b250YWwtbGFiZWwtdmVydGljYWwtYWxpZ25tZW50YCBhbmRcXG4vLyAgICAgICAgYHRoZW1lLiRob3Jpem9udGFsLWZpZWxkLXZlcnRpY2FsLWFsaWdubWVudGApLlxcbi8vXFxuLy8gMTEuIFJlc2V0IGB3aWR0aGAgcHJldmlvdXNseSBzZXQgYnkgaW5saW5lIGZpZWxkIGxheW91dCAoc2VlIGBfaW5saW5lLWZpZWxkLWxheW91dC5zY3NzYCkuXFxuLy9cXG4vLyAxMi4gTWFrZSBmaWVsZHMganVzdCBhcyB3aWRlIGFzIG5lY2Vzc2FyeS4gRmllbGRzIHNob3VsZCBiZSBpbnRlcmFjdGl2ZSBvbmx5IHdoZXJlIHRoZWlyIHZpc2libGVcXG4vLyAgICAgY29udGVudCBpcy5cXG4vL1xcbi8vIDEzLiBMYWJlbCBhbmQgZmllbGQgYXJlIHZlcnRpY2FsbHkgYWxpZ25lZCB0byB0b3AgKHN0YXJ0KSBieSBkZWZhdWx0IChzZWUgMTAuKS4gVmVydGljYWxcXG4vLyAgICAgYWxpZ25tZW50IG9mIGVhY2ggYmxvY2sgY2FuIGJlIGNoYW5nZWQgYnkgdGhlbWUgY29uZmlndXJhdGlvbi5cXG5cXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3Jtc1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybS1maWVsZHNcXFwiIGFzIHNldHRpbmdzO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL2Zvcm0tZmllbGRzXFxcIiBhcyB0aGVtZTtcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS90eXBvZ3JhcGh5XFxcIjtcXG5AdXNlIFxcXCIuLi9icmVha3BvaW50XFxcIjtcXG5cXG5AbWl4aW4gdmVydGljYWwoJGhhcy1saXN0OiBmYWxzZSkge1xcbiAgICBAaWYgJGhhcy1saXN0IHtcXG4gICAgICAgIC0tcnVpLWxvY2FsLXZlcnRpY2FsLWdhcDogI3tzZXR0aW5ncy4kdmVydGljYWwtaW5uZXItZ2FwLWxhcmdlfTtcXG4gICAgfVxcblxcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgLy8gMS5cXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgbWluLXdpZHRoOiAwOyAvLyAxLlxcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDEuXFxuXFxuICAgIC5sYWJlbCB7XFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcnVpLWxvY2FsLXZlcnRpY2FsLWdhcCwgI3tzZXR0aW5ncy4kdmVydGljYWwtaW5uZXItZ2FwfSk7XFxuICAgIH1cXG5cXG4gICAgLmhlbHBUZXh0LFxcbiAgICAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXAsICN7c2V0dGluZ3MuJHZlcnRpY2FsLWlubmVyLWdhcH0pO1xcbiAgICB9XFxuXFxuICAgIC5maWVsZCB7XFxuICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQ7IC8vIDMuXFxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDMuXFxuICAgIH1cXG59XFxuXFxuQG1peGluIGhvcml6b250YWwoJGhhcy1taW4tdGFwLXRhcmdldDogZmFsc2UpIHtcXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChmb3Jtcy4kaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XFxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDsgLy8gMi5cXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdGhlbWUuJGhvcml6b250YWwtbGFiZWwtd2lkdGggbWluLWNvbnRlbnQ7IC8vIDIuXFxuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcXFwibGFiZWwgZmllbGRcXFwiO1xcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0OyAvLyAxMC4sIDEzLlxcblxcbiAgICAgICAgLmxhYmVsIHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IGxhYmVsO1xcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXZlcnRpY2FsLWFsaWdubWVudDsgLy8gMTMuXFxuICAgICAgICAgICAgbWluLXdpZHRoOiB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC1taW4td2lkdGg7XFxuXFxuICAgICAgICAgICAgLy8gMTAuXFxuICAgICAgICAgICAgQGlmICRoYXMtbWluLXRhcC10YXJnZXQge1xcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDpcXG4gICAgICAgICAgICAgICAgICAgIGNhbGMoXFxuICAgICAgICAgICAgICAgICAgICAgICAgKCN7dGhlbWUuJGNoZWNrLXRhcC10YXJnZXQtc2l6ZX0gLSAxcmVtICogI3t0eXBvZ3JhcGh5LiRsaW5lLWhlaWdodC1iYXNlfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAvIDJcXG4gICAgICAgICAgICAgICAgICAgICk7XFxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOlxcbiAgICAgICAgICAgICAgICAgICAgY2FsYyhcXG4gICAgICAgICAgICAgICAgICAgICAgICAoI3t0aGVtZS4kY2hlY2stdGFwLXRhcmdldC1zaXplfSAtIDFyZW0gKiAje3R5cG9ncmFwaHkuJGxpbmUtaGVpZ2h0LWJhc2V9KVxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8gMlxcbiAgICAgICAgICAgICAgICAgICAgKTtcXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgLy8gMTAuLCAxMy5cXG4gICAgICAgICAgICBAZWxzZSB7XFxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAje3RoZW1lLiRob3Jpem9udGFsLWxhYmVsLXBhZGRpbmcteX07XFxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAje3RoZW1lLiRob3Jpem9udGFsLWxhYmVsLXBhZGRpbmcteX07XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHNldHRpbmdzLiRob3Jpem9udGFsLWlubmVyLWdhcDsgLy8gNC5cXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC10ZXh0LWFsaWduO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgLmZpZWxkIHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IGZpZWxkO1xcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHRoZW1lLiRob3Jpem9udGFsLWZpZWxkLXZlcnRpY2FsLWFsaWdubWVudDsgLy8gMTMuXFxuICAgICAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDsgLy8gNy5cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaG9yaXpvbnRhbC13aXRoLXNtYWxsLWlucHV0KCkge1xcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGZvcm1zLiRob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgbWluLWNvbnRlbnQ7IC8vIDUuXFxuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxcbiAgICAgICAgICAgIFxcXCJsYWJlbCBmaWVsZFxcXCJcXG4gICAgICAgICAgICBcXFwiaGVscHRleHQgaGVscHRleHRcXFwiXFxuICAgICAgICAgICAgXFxcInZhbGlkYXRpb250ZXh0IHZhbGlkYXRpb250ZXh0XFxcIjsgLy8gNS5cXG5cXG4gICAgICAgIC5sYWJlbCB7XFxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gNS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC5maWVsZCB7XFxuICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7IC8vIDUuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAuaW5wdXRDb250YWluZXIge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogZmllbGQ7IC8vIDUuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAuaGVscFRleHQge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogaGVscHRleHQ7IC8vIDUuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogdmFsaWRhdGlvbnRleHQ7IC8vIDUuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGZ1bGwtd2lkdGgoKSB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIHdpZHRoOiAxMDAlO1xcblxcbiAgICAuZmllbGQsXFxuICAgIC5pbnB1dENvbnRhaW5lcixcXG4gICAgLmlucHV0IHtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICB9XFxuXFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIHtcXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdGhlbWUuJGhvcml6b250YWwtZnVsbC13aWR0aC1sYWJlbC13aWR0aCAxZnI7IC8vIDYuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmZpZWxkIHtcXG4gICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0cmV0Y2g7IC8vIDcuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGluLWZvcm0tbGF5b3V0KCkge1xcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0OyAvLyAxMi5cXG5cXG4gICAgLmZpZWxkIHtcXG4gICAgICAgIHdpZHRoOiBhdXRvOyAvLyA5LlxcbiAgICB9XFxuXFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgLm9wdGlvbkxhYmVsIHtcXG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgLy8gMTEuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwuaGFzUm9vdFNtYWxsSW5wdXQge1xcbiAgICAgICAgICAgIGdyaWQ6IGluaGVyaXQ7IC8vIDguXFxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkOyAvLyA4LlxcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7IC8vIDguXFxuXFxuICAgICAgICAgICAgQHN1cHBvcnRzIG5vdCAoZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkKSB7XFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzOyAvLyA4LlxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbC5pc1Jvb3RGdWxsV2lkdGgge1xcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDsgLy8gOC5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAubGFiZWwsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmZpZWxkLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5pbnB1dENvbnRhaW5lcixcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaGVscFRleHQsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IHVuc2V0OyAvLyA4LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaW5wdXRDb250YWluZXIsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmhlbHBUZXh0LFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7IC8vIDguXFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwuaGFzUm9vdFNtYWxsSW5wdXQgLmZpZWxkIHtcXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgLy8gNS5cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cIixcIkB1c2UgXFxcInNhc3M6bWFwXFxcIjtcXG5AdXNlIFxcXCIuLi9zZXR0aW5ncy9icmVha3BvaW50c1xcXCI7XFxuXFxuQG1peGluIHVwKCRicmVha3BvaW50KSB7XFxuICAgIEBpZiBub3QgbWFwLmhhcy1rZXkoYnJlYWtwb2ludHMuJHZhbHVlcywgJGJyZWFrcG9pbnQpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiSW52YWxpZCBicmVha3BvaW50IHNwZWNpZmllZCEgI3skYnJlYWtwb2ludH0gZG9lc24ndCBleGlzdC4gXFxcIlxcbiAgICAgICAgICAgICsgXFxcIkNob29zZSBvbmUgb2YgI3ttYXAua2V5cyhicmVha3BvaW50cy4kdmFsdWVzKX1cXFwiO1xcbiAgICB9IEBlbHNlIGlmIG1hcC5nZXQoYnJlYWtwb2ludHMuJHZhbHVlcywgJGJyZWFrcG9pbnQpID09IDAge1xcbiAgICAgICAgQGNvbnRlbnQ7XFxuICAgIH0gQGVsc2Uge1xcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoYnJlYWtwb2ludHMuJHZhbHVlcywgJGJyZWFrcG9pbnQpKSB7XFxuICAgICAgICAgICAgQGNvbnRlbnQ7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXCIsbnVsbCxcIkB1c2UgXFxcInNhc3M6bWFwXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuXFxuQG1peGluIHNpemUoJHNpemUsICRoYXMtaW5wdXQ6IHRydWUsICRpcy1tdWx0aWxpbmU6IGZhbHNlKSB7XFxuICAgICRzaXplLXByb3BlcnRpZXM6IG1hcC5nZXQodGhlbWUuJGJveC1zaXplcywgJHNpemUpO1xcblxcbiAgICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXk6ICN7bWFwLmdldCgkc2l6ZS1wcm9wZXJ0aWVzLCBwYWRkaW5nLXkpfTtcXG4gICAgLS1ydWktbG9jYWwtcGFkZGluZy14OiAje21hcC5nZXQoJHNpemUtcHJvcGVydGllcywgcGFkZGluZy14KX07XFxuXFxuICAgIEBpZiAkaGFzLWlucHV0IHtcXG4gICAgICAgIC0tcnVpLWxvY2FsLWZvbnQtc2l6ZTogI3ttYXAuZ2V0KCRzaXplLXByb3BlcnRpZXMsIGZvbnQtc2l6ZSl9O1xcblxcbiAgICAgICAgLmlucHV0IHtcXG4gICAgICAgICAgICBAaWYgJGlzLW11bHRpbGluZSB7XFxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogbWFwLmdldCgkc2l6ZS1wcm9wZXJ0aWVzLCBoZWlnaHQpO1xcbiAgICAgICAgICAgIH0gQGVsc2Uge1xcbiAgICAgICAgICAgICAgICAtLXJ1aS1sb2NhbC1oZWlnaHQ6ICN7bWFwLmdldCgkc2l6ZS1wcm9wZXJ0aWVzLCBoZWlnaHQpfTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5sb2NhbHMgPSB7XG5cdFwicm9vdFwiOiBcIlNlbGVjdEZpZWxkX19yb290X18waWcxeGFxOFwiLFxuXHRcImxhYmVsXCI6IFwiU2VsZWN0RmllbGRfX2xhYmVsX19IbG9oTWRaYlwiLFxuXHRcImlucHV0Q29udGFpbmVyXCI6IFwiU2VsZWN0RmllbGRfX2lucHV0Q29udGFpbmVyX182T3RSRVhCSFwiLFxuXHRcImlucHV0XCI6IFwiU2VsZWN0RmllbGRfX2lucHV0X19UQkRQYzE2eVwiLFxuXHRcImNhcmV0XCI6IFwiU2VsZWN0RmllbGRfX2NhcmV0X190UWhWOGJBOFwiLFxuXHRcImNhcmV0SWNvblwiOiBcIlNlbGVjdEZpZWxkX19jYXJldEljb25fX0dGMUxTblY3XCIsXG5cdFwiYm90dG9tTGluZVwiOiBcIlNlbGVjdEZpZWxkX19ib3R0b21MaW5lX19WTm42V3lDLVwiLFxuXHRcImhlbHBUZXh0XCI6IFwiU2VsZWN0RmllbGRfX2hlbHBUZXh0X19FYmI2NW1hQVwiLFxuXHRcInZhbGlkYXRpb25UZXh0XCI6IFwiU2VsZWN0RmllbGRfX3ZhbGlkYXRpb25UZXh0X19jWnhQZ0d2R1wiLFxuXHRcImlzUm9vdFJlcXVpcmVkXCI6IFwiU2VsZWN0RmllbGRfX2lzUm9vdFJlcXVpcmVkX19RclYwSnVpaVwiLFxuXHRcImlzUm9vdFZhcmlhbnRGaWxsZWRcIjogXCJTZWxlY3RGaWVsZF9faXNSb290VmFyaWFudEZpbGxlZF9fcVZHU3poN2RcIixcblx0XCJpc1Jvb3REaXNhYmxlZFwiOiBcIlNlbGVjdEZpZWxkX19pc1Jvb3REaXNhYmxlZF9fUnhhTlBuSGRcIixcblx0XCJpc1Jvb3RWYXJpYW50T3V0bGluZVwiOiBcIlNlbGVjdEZpZWxkX19pc1Jvb3RWYXJpYW50T3V0bGluZV9feTBIRkRYUnpcIixcblx0XCJpc1Jvb3RTdGF0ZUludmFsaWRcIjogXCJTZWxlY3RGaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX19mdlc4bFJ5TVwiLFxuXHRcImlzUm9vdFN0YXRlVmFsaWRcIjogXCJTZWxlY3RGaWVsZF9faXNSb290U3RhdGVWYWxpZF9fbFZDcUFUczVcIixcblx0XCJpc1Jvb3RTdGF0ZVdhcm5pbmdcIjogXCJTZWxlY3RGaWVsZF9faXNSb290U3RhdGVXYXJuaW5nX19OajR4MVZLR1wiLFxuXHRcImlzTGFiZWxIaWRkZW5cIjogXCJTZWxlY3RGaWVsZF9faXNMYWJlbEhpZGRlbl9fNDUzTzFrTW1cIixcblx0XCJpc1Jvb3RMYXlvdXRWZXJ0aWNhbFwiOiBcIlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fY29YanRSclZcIixcblx0XCJpc1Jvb3RMYXlvdXRIb3Jpem9udGFsXCI6IFwiU2VsZWN0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX0JhQWJNMEloXCIsXG5cdFwiZmllbGRcIjogXCJTZWxlY3RGaWVsZF9fZmllbGRfX1JzZEE4TXpWXCIsXG5cdFwiaXNSb290RnVsbFdpZHRoXCI6IFwiU2VsZWN0RmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fZlBFYjVsN3NcIixcblx0XCJpc1Jvb3RJbkZvcm1MYXlvdXRcIjogXCJTZWxlY3RGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X184dHloVTFMWVwiLFxuXHRcIm9wdGlvbkxhYmVsXCI6IFwiU2VsZWN0RmllbGRfX29wdGlvbkxhYmVsX19qU1R1cmtaZVwiLFxuXHRcImhhc1Jvb3RTbWFsbElucHV0XCI6IFwiU2VsZWN0RmllbGRfX2hhc1Jvb3RTbWFsbElucHV0X19oOVczYVFwT1wiLFxuXHRcImlzUm9vdFNpemVTbWFsbFwiOiBcIlNlbGVjdEZpZWxkX19pc1Jvb3RTaXplU21hbGxfX0JtbUZTdlRjXCIsXG5cdFwiaXNSb290U2l6ZU1lZGl1bVwiOiBcIlNlbGVjdEZpZWxkX19pc1Jvb3RTaXplTWVkaXVtX19BKzVpUTJrOVwiLFxuXHRcImlzUm9vdFNpemVMYXJnZVwiOiBcIlNlbGVjdEZpZWxkX19pc1Jvb3RTaXplTGFyZ2VfX2s2ZzQtOU5yXCIsXG5cdFwiaXNSb290R3JvdXBlZFwiOiBcIlNlbGVjdEZpZWxkX19pc1Jvb3RHcm91cGVkX19IOXJJV21JMFwiXG59O1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js?!./src/lib/components/SelectField/SelectField.scss\n");
|
1246
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \".SelectField__root__0ig1xaq8 {\\n text-align: left;\\n}\\n\\n.SelectField__label__HlohMdZb {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__label__color));\\n}\\n\\n.SelectField__inputContainer__6OtREXBH {\\n position: relative;\\n display: inline-flex;\\n min-width: 0;\\n max-width: 100%;\\n}\\n\\n.SelectField__input__TBDPc16y {\\n transition-property: opacity, color, border-color, background-color, box-shadow;\\n transition-duration: 150ms;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n width: var(--rui-FormField--box__input__width);\\n min-width: var(--rui-FormField--box__input__min-width);\\n max-width: 100%;\\n height: var(--rui-local-height);\\n padding: var(--rui-local-padding-y) var(--rui-local-padding-x);\\n font-weight: var(--rui-font-weight-base);\\n font-size: var(--rui-local-font-size);\\n line-height: 1.5rem;\\n font-family: var(--rui-font-family-base);\\n vertical-align: middle;\\n color: var(--rui-local-color);\\n border: var(--rui-FormField--box__border-width) solid var(--rui-local-border-color);\\n border-radius: var(--rui-FormField--box__border-radius);\\n background: var(--rui-local-background);\\n box-shadow: var(--rui-local-box-shadow);\\n appearance: none;\\n padding-right: calc(2.25rem + var(--rui-dimension-space-2));\\n}\\n@media (prefers-reduced-motion: reduce) {\\n .SelectField__input__TBDPc16y {\\n transition-property: opacity, color, border-color, background-color, box-shadow;\\n }\\n}\\n.SelectField__input__TBDPc16y::-moz-placeholder {\\n color: var(--rui-FormField--box__placeholder__color);\\n opacity: 1;\\n}\\n.SelectField__input__TBDPc16y::placeholder {\\n color: var(--rui-FormField--box__placeholder__color);\\n opacity: 1;\\n}\\n.SelectField__input__TBDPc16y::-ms-expand {\\n display: none;\\n}\\n.SelectField__input__TBDPc16y option:disabled {\\n color: var(--rui-FormField--box--select__option--disabled__color);\\n}\\n\\n.SelectField__caret__tQhV8bA8 {\\n transition-property: border-color;\\n transition-duration: 150ms;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n position: absolute;\\n top: var(--rui-FormField--box__border-width);\\n right: var(--rui-FormField--box__border-width);\\n bottom: var(--rui-FormField--box__border-width);\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: calc(2.25rem - 2 * var(--rui-FormField--box__border-width));\\n border-start-end-radius: var(--rui-FormField--box__border-radius);\\n border-end-end-radius: var(--rui-FormField--box__border-radius);\\n pointer-events: none;\\n}\\n@media (prefers-reduced-motion: reduce) {\\n .SelectField__caret__tQhV8bA8 {\\n transition-property: border-color;\\n }\\n}\\n\\n.SelectField__caretIcon__GF1LSnV7 {\\n transform: translateY(-0.1rem) rotate(45deg);\\n display: inline-block;\\n width: 0.4375rem;\\n height: 0.4375rem;\\n border-width: 2px;\\n border-style: none solid solid none;\\n border-color: currentColor;\\n border-color: var(--rui-local-color);\\n}\\n\\n.SelectField__bottomLine__VNn6WyC- {\\n transition-property: transform, opacity;\\n transition-duration: 180ms;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n position: absolute;\\n bottom: 0;\\n width: 100%;\\n height: 2px;\\n opacity: 0;\\n transform: scaleX(0);\\n transform-origin: center center;\\n pointer-events: none;\\n}\\n@media (prefers-reduced-motion: reduce) {\\n .SelectField__bottomLine__VNn6WyC- {\\n transition-property: opacity;\\n }\\n}\\n.SelectField__input__TBDPc16y:focus ~ .SelectField__bottomLine__VNn6WyC- {\\n background-color: var(--rui-local-border-color);\\n opacity: 1;\\n transform: scaleX(1);\\n}\\n\\n.SelectField__helpText__Ebb65maA,\\n.SelectField__validationText__cZxPgGvG {\\n font-style: var(--rui-FormField__help-text__font-style);\\n font-size: var(--rui-FormField__help-text__font-size);\\n line-height: 1.2rem;\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__help-text__color));\\n}\\n\\n.SelectField__isRootRequired__QrV0Juii .SelectField__label__HlohMdZb {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField--required__label__color));\\n}\\n.SelectField__isRootRequired__QrV0Juii .SelectField__label__HlohMdZb::after {\\n content: var(--rui-FormField--required__sign);\\n color: var(--rui-FormField--required__sign__color);\\n}\\n\\n.SelectField__isRootVariantFilled__qVGSzh7d {\\n --rui-local-color: var(--rui-FormField--box--filled--default__color);\\n --rui-local-border-color: var(--rui-FormField--box--filled--default__border-color);\\n --rui-local-background: var(--rui-FormField--box--filled--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--box--filled--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--box--filled--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--box--filled--default__surrounding-text-color);\\n}\\n.SelectField__isRootVariantFilled__qVGSzh7d:hover {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--filled--hover__color,\\n var(--rui-FormField--box--filled--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--filled--hover__border-color,\\n var(--rui-FormField--box--filled--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--filled--hover__background,\\n var(--rui-FormField--box--filled--default__background)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--filled--hover__box-shadow,\\n var(--rui-FormField--box--filled--default__box-shadow)\\n );\\n}\\n.SelectField__isRootVariantFilled__qVGSzh7d:focus-within, .SelectField__isRootVariantFilled__qVGSzh7d:focus-within:hover,\\n.SelectField__isRootVariantFilled__qVGSzh7d .SelectField__input__TBDPc16y:focus {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--filled--focus__color,\\n var(--rui-FormField--box--filled--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--filled--focus__border-color,\\n var(--rui-FormField--box--filled--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--filled--focus__background,\\n var(--rui-FormField--box--filled--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--filled--focus__check-background-color,\\n var(--rui-FormField--box--filled--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--filled--focus__box-shadow,\\n var(--rui-FormField--box--filled--default__box-shadow)\\n );\\n}\\n.SelectField__isRootVariantFilled__qVGSzh7d.SelectField__isRootDisabled__RxaNPnHd {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--filled--disabled__color,\\n var(--rui-FormField--box--filled--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--filled--disabled__border-color,\\n var(--rui-FormField--box--filled--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--filled--disabled__background,\\n var(--rui-FormField--box--filled--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--filled--disabled__check-background-color,\\n var(--rui-FormField--box--filled--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--filled--disabled__box-shadow,\\n var(--rui-FormField--box--filled--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--box--filled--disabled__surrounding-text-color,\\n var(--rui-FormField--box--filled--default__surrounding-text-color)\\n );\\n}\\n.SelectField__isRootVariantFilled__qVGSzh7d .SelectField__input__TBDPc16y:disabled {\\n opacity: var(--rui-FormField--disabled__opacity);\\n cursor: var(--rui-FormField--disabled__cursor);\\n}\\n.SelectField__isRootVariantFilled__qVGSzh7d .SelectField__input__TBDPc16y {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.SelectField__isRootVariantOutline__y0HFDXRz {\\n --rui-local-color: var(--rui-FormField--box--outline--default__color);\\n --rui-local-border-color: var(--rui-FormField--box--outline--default__border-color);\\n --rui-local-background: var(--rui-FormField--box--outline--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--box--outline--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--box--outline--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--box--outline--default__surrounding-text-color);\\n}\\n.SelectField__isRootVariantOutline__y0HFDXRz:hover {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--outline--hover__color,\\n var(--rui-FormField--box--outline--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--outline--hover__border-color,\\n var(--rui-FormField--box--outline--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--outline--hover__background,\\n var(--rui-FormField--box--outline--default__background)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--outline--hover__box-shadow,\\n var(--rui-FormField--box--outline--default__box-shadow)\\n );\\n}\\n.SelectField__isRootVariantOutline__y0HFDXRz:focus-within, .SelectField__isRootVariantOutline__y0HFDXRz:focus-within:hover,\\n.SelectField__isRootVariantOutline__y0HFDXRz .SelectField__input__TBDPc16y:focus {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--outline--focus__color,\\n var(--rui-FormField--box--outline--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--outline--focus__border-color,\\n var(--rui-FormField--box--outline--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--outline--focus__background,\\n var(--rui-FormField--box--outline--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--outline--focus__check-background-color,\\n var(--rui-FormField--box--outline--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--outline--focus__box-shadow,\\n var(--rui-FormField--box--outline--default__box-shadow)\\n );\\n}\\n.SelectField__isRootVariantOutline__y0HFDXRz.SelectField__isRootDisabled__RxaNPnHd {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--outline--disabled__color,\\n var(--rui-FormField--box--outline--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--outline--disabled__border-color,\\n var(--rui-FormField--box--outline--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--outline--disabled__background,\\n var(--rui-FormField--box--outline--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--outline--disabled__check-background-color,\\n var(--rui-FormField--box--outline--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--outline--disabled__box-shadow,\\n var(--rui-FormField--box--outline--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--box--outline--disabled__surrounding-text-color,\\n var(--rui-FormField--box--outline--default__surrounding-text-color)\\n );\\n}\\n.SelectField__isRootVariantOutline__y0HFDXRz .SelectField__input__TBDPc16y:disabled {\\n opacity: var(--rui-FormField--disabled__opacity);\\n cursor: var(--rui-FormField--disabled__cursor);\\n}\\n.SelectField__isRootVariantOutline__y0HFDXRz .SelectField__caret__tQhV8bA8 {\\n border-left: var(--rui-FormField--box__border-width) var(--rui-FormField--box--select__caret__border-style) var(--rui-local-border-color);\\n background: var(--rui-FormField--box--select__caret__background);\\n}\\n.SelectField__isRootVariantOutline__y0HFDXRz.SelectField__isRootDisabled__RxaNPnHd .SelectField__caret__tQhV8bA8 {\\n opacity: var(--rui-FormField--disabled__opacity);\\n cursor: var(--rui-FormField--disabled__cursor);\\n}\\n\\n.SelectField__isRootStateInvalid__fvW8lRyM, .SelectField__isRootStateInvalid__fvW8lRyM:hover {\\n --rui-local-color: var(--rui-FormField--invalid--default__color);\\n --rui-local-border-color: var(--rui-FormField--invalid--default__border-color);\\n --rui-local-background: var(--rui-FormField--invalid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--invalid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--invalid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--invalid--default__surrounding-text-color);\\n}\\n.SelectField__isRootStateInvalid__fvW8lRyM .SelectField__input__TBDPc16y:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n}\\n.SelectField__isRootStateInvalid__fvW8lRyM.SelectField__isRootDisabled__RxaNPnHd {\\n --rui-local-color:\\n var(\\n --rui-FormField--invalid--disabled__color,\\n var(--rui-FormField--invalid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--disabled__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--invalid--disabled__background,\\n var(--rui-FormField--invalid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--disabled__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--invalid--disabled__box-shadow,\\n var(--rui-FormField--invalid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--invalid--disabled__surrounding-text-color,\\n var(--rui-FormField--invalid--default__surrounding-text-color)\\n );\\n}\\n.SelectField__isRootStateInvalid__fvW8lRyM .SelectField__input__TBDPc16y:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__border-color,\\n var(--rui-FormField--invalid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__check-background-color,\\n var(--rui-FormField--invalid--checked__check-background-color)\\n );\\n}\\n\\n.SelectField__isRootStateValid__lVCqATs5, .SelectField__isRootStateValid__lVCqATs5:hover {\\n --rui-local-color: var(--rui-FormField--valid--default__color);\\n --rui-local-border-color: var(--rui-FormField--valid--default__border-color);\\n --rui-local-background: var(--rui-FormField--valid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--valid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--valid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--valid--default__surrounding-text-color);\\n}\\n.SelectField__isRootStateValid__lVCqATs5 .SelectField__input__TBDPc16y:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n}\\n.SelectField__isRootStateValid__lVCqATs5.SelectField__isRootDisabled__RxaNPnHd {\\n --rui-local-color:\\n var(\\n --rui-FormField--valid--disabled__color,\\n var(--rui-FormField--valid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--disabled__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--valid--disabled__background,\\n var(--rui-FormField--valid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--disabled__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--valid--disabled__box-shadow,\\n var(--rui-FormField--valid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--valid--disabled__surrounding-text-color,\\n var(--rui-FormField--valid--default__surrounding-text-color)\\n );\\n}\\n.SelectField__isRootStateValid__lVCqATs5 .SelectField__input__TBDPc16y:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked-disabled__border-color,\\n var(--rui-FormField--valid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked-disabled__check-background-color,\\n var(--rui-FormField--valid--checked__check-background-color)\\n );\\n}\\n\\n.SelectField__isRootStateWarning__Nj4x1VKG, .SelectField__isRootStateWarning__Nj4x1VKG:hover {\\n --rui-local-color: var(--rui-FormField--warning--default__color);\\n --rui-local-border-color: var(--rui-FormField--warning--default__border-color);\\n --rui-local-background: var(--rui-FormField--warning--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--warning--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--warning--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--warning--default__surrounding-text-color);\\n}\\n.SelectField__isRootStateWarning__Nj4x1VKG .SelectField__input__TBDPc16y:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n}\\n.SelectField__isRootStateWarning__Nj4x1VKG.SelectField__isRootDisabled__RxaNPnHd {\\n --rui-local-color:\\n var(\\n --rui-FormField--warning--disabled__color,\\n var(--rui-FormField--warning--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--disabled__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--warning--disabled__background,\\n var(--rui-FormField--warning--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--disabled__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--warning--disabled__box-shadow,\\n var(--rui-FormField--warning--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--warning--disabled__surrounding-text-color,\\n var(--rui-FormField--warning--default__surrounding-text-color)\\n );\\n}\\n.SelectField__isRootStateWarning__Nj4x1VKG .SelectField__input__TBDPc16y:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked-disabled__border-color,\\n var(--rui-FormField--warning--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked-disabled__check-background-color,\\n var(--rui-FormField--warning--checked__check-background-color)\\n );\\n}\\n\\n.SelectField__isLabelHidden__453O1kMm {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n.SelectField__isRootLayoutVertical__coXjtRrV,\\n.SelectField__isRootLayoutHorizontal__BaAbM0Ih {\\n display: inline-flex;\\n flex-direction: column;\\n min-width: 0;\\n max-width: 100%;\\n}\\n.SelectField__isRootLayoutVertical__coXjtRrV .SelectField__label__HlohMdZb,\\n.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__label__HlohMdZb {\\n padding-bottom: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.SelectField__isRootLayoutVertical__coXjtRrV .SelectField__helpText__Ebb65maA,\\n.SelectField__isRootLayoutVertical__coXjtRrV .SelectField__validationText__cZxPgGvG,\\n.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__helpText__Ebb65maA,\\n.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__validationText__cZxPgGvG {\\n padding-top: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.SelectField__isRootLayoutVertical__coXjtRrV .SelectField__field__RsdA8MzV,\\n.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__field__RsdA8MzV {\\n width: -webkit-min-content;\\n width: -moz-min-content;\\n width: min-content;\\n max-width: 100%;\\n}\\n\\n@media (min-width: 48em) {\\n .SelectField__isRootLayoutHorizontal__BaAbM0Ih {\\n display: inline-grid;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) -webkit-min-content;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) min-content;\\n grid-template-areas: \\\"label field\\\";\\n align-items: start;\\n }\\n .SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__label__HlohMdZb {\\n grid-area: label;\\n align-self: var(--rui-FormField--horizontal__label__vertical-alignment);\\n min-width: var(--rui-FormField--horizontal__label__min-width);\\n padding-top: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-bottom: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-right: var(--rui-dimension-space-2);\\n text-align: var(--rui-FormField--horizontal__label__text-align);\\n }\\n .SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__field__RsdA8MzV {\\n grid-area: field;\\n align-self: var(--rui-FormField--horizontal__field__vertical-alignment);\\n justify-self: start;\\n }\\n}\\n\\n@media (min-width: 48em) {\\n .SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__label__HlohMdZb {\\n -ms-grid-row: 1;\\n -ms-grid-column: 1;\\n }\\n .SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__field__RsdA8MzV {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n}\\n\\n.SelectField__isRootFullWidth__fPEb5l7s {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n}\\n.SelectField__isRootFullWidth__fPEb5l7s .SelectField__field__RsdA8MzV,\\n.SelectField__isRootFullWidth__fPEb5l7s .SelectField__inputContainer__6OtREXBH,\\n.SelectField__isRootFullWidth__fPEb5l7s .SelectField__input__TBDPc16y {\\n width: 100%;\\n}\\n@media (min-width: 48em) {\\n .SelectField__isRootFullWidth__fPEb5l7s.SelectField__isRootLayoutHorizontal__BaAbM0Ih {\\n display: grid;\\n grid-template-columns: var(--rui-FormField--horizontal--full-width__label__width) 1fr;\\n }\\n .SelectField__isRootFullWidth__fPEb5l7s.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__field__RsdA8MzV {\\n justify-self: stretch;\\n }\\n}\\n\\n.SelectField__isRootInFormLayout__8tyhU1LY {\\n justify-self: start;\\n}\\n.SelectField__isRootInFormLayout__8tyhU1LY .SelectField__field__RsdA8MzV {\\n width: auto;\\n}\\n@media (min-width: 48em) {\\n .SelectField__isRootInFormLayout__8tyhU1LY .SelectField__optionLabel__jSTurkZe {\\n width: auto;\\n }\\n .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih, .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih.SelectField__hasRootSmallInput__h9W3aQpO {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n }\\n @supports not (grid-template-columns: subgrid) {\\n .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih, .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih.SelectField__hasRootSmallInput__h9W3aQpO {\\n display: contents;\\n }\\n }\\n .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih.SelectField__isRootFullWidth__fPEb5l7s {\\n grid-template-columns: subgrid;\\n }\\n .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__label__HlohMdZb, .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__field__RsdA8MzV, .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__inputContainer__6OtREXBH, .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__helpText__Ebb65maA, .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__validationText__cZxPgGvG {\\n grid-area: unset;\\n }\\n .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__field__RsdA8MzV, .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__inputContainer__6OtREXBH, .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__helpText__Ebb65maA, .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih .SelectField__validationText__cZxPgGvG {\\n grid-column-start: 2;\\n }\\n .SelectField__isRootInFormLayout__8tyhU1LY.SelectField__isRootLayoutHorizontal__BaAbM0Ih.SelectField__hasRootSmallInput__h9W3aQpO .SelectField__field__RsdA8MzV {\\n display: block;\\n }\\n}\\n\\n.SelectField__isRootSizeSmall__BmmFSvTc {\\n --rui-local-padding-y: var(--rui-FormField--box--small__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--small__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--small__font-size);\\n}\\n.SelectField__isRootSizeSmall__BmmFSvTc .SelectField__input__TBDPc16y {\\n --rui-local-height: var(--rui-FormField--box--small__height);\\n}\\n\\n.SelectField__isRootSizeMedium__A\\\\+5iQ2k9 {\\n --rui-local-padding-y: var(--rui-FormField--box--medium__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--medium__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--medium__font-size);\\n}\\n.SelectField__isRootSizeMedium__A\\\\+5iQ2k9 .SelectField__input__TBDPc16y {\\n --rui-local-height: var(--rui-FormField--box--medium__height);\\n}\\n\\n.SelectField__isRootSizeLarge__k6g4-9Nr {\\n --rui-local-padding-y: var(--rui-FormField--box--large__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--large__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--large__font-size);\\n}\\n.SelectField__isRootSizeLarge__k6g4-9Nr .SelectField__input__TBDPc16y {\\n --rui-local-height: var(--rui-FormField--box--large__height);\\n}\\n\\n.SelectField__isRootGrouped__H9rIWmI0 .SelectField__inputContainer__6OtREXBH {\\n display: block;\\n}\\n.SelectField__isRootGrouped__H9rIWmI0:not(:first-child) .SelectField__input__TBDPc16y {\\n border-start-start-radius: var(--rui-local-inner-border-radius);\\n border-end-start-radius: var(--rui-local-inner-border-radius);\\n}\\n.SelectField__isRootGrouped__H9rIWmI0:not(:last-child) .SelectField__input__TBDPc16y {\\n border-start-end-radius: var(--rui-local-inner-border-radius);\\n border-end-end-radius: var(--rui-local-inner-border-radius);\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/lib/components/SelectField/SelectField.scss\",\"webpack://./src/lib/styles/tools/form-fields/_foundation.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-elements.scss\",\"webpack://./src/lib/styles/tools/_transition.scss\",\"webpack://./src/lib/styles/settings/_animations.scss\",\"webpack://./src/lib/styles/theme/_form-fields.scss\",\"webpack://./src/lib/styles/settings/_form-fields.scss\",\"webpack://./src/lib/styles/theme/_typography.scss\",\"webpack://./src/lib/styles/tools/_caret.scss\",\"webpack://./src/lib/styles/tools/form-fields/_variants.scss\",\"webpack://./src/lib/styles/tools/_accessibility.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-layout.scss\",\"webpack://./src/lib/styles/tools/_breakpoint.scss\",\"<no source>\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-sizes.scss\"],\"names\":[],\"mappings\":\"AAQA;ECDI,gBAAA;ADLJ;;AAUA;ECKI,kFAAA;ADXJ;;AAUA;EEFI,kBAAA;EACA,oBAAA;EACA,YAAA;EACA,eAAA;AFJJ;;AAOA;EGqCQ,+EAPY;EAQZ,0BAf2B;EAgB3B,wDC3DmB;EFuBvB,wBAAA;KAAA,qBAAA;UAAA,gBAAA;EACA,8CGec;EHdd,sDGekB;EHdlB,eAAA;EACA,+BAAA;EACA,8DAAA;EACA,wCIZoB;EJapB,qCAAA;EACA,mBIboB;EJcpB,wCKXe;ELYf,sBAAA;EACA,6BAAA;EACA,mFAAA;EACA,uDGEgB;EHDhB,uCAAA;EACA,uCAAA;EAiCA,gBAAA;EACA,2DAAA;AFnCJ;AGyBY;EH1CZ;IG2CgB,+EARgB;EHd9B;AACF;AEFI;EACI,oDAAA;EACA,UAAA;AFIR;AENI;EACI,oDAAA;EACA,UAAA;AFIR;AE4BI;EACI,aAAA;AF1BR;AE+BI;EACI,iEGnC2B;ALMnC;;AA1BA;EG+BQ,iCAPY;EAQZ,0BAf2B;EAgB3B,wDC3DmB;EFwFvB,kBAAA;EACA,4CGpDe;EHqDf,8CGrDe;EHsDf,+CGtDe;EHuDf,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,kEAAA;EACA,iEG1DgB;EH2DhB,+DG3DgB;EH4DhB,oBAAA;AF7BJ;AGPY;EHpCZ;IGqCgB,iCARgB;EHkB9B;AACF;;AA5CA;EQlBI,4CAAA;EATA,qBAAA;EACA,gBAAA;EACA,iBAAA;EACA,iBAAA;EACA,mCAAA;EACA,0BAAA;ENgGA,oCAAA;AFnBJ;;AAnDA;EGuBQ,uCAPY;EAQZ,0BDkD0C;ECjD1C,wDC3DmB;EF8GvB,kBAAA;EACA,SAAA;EACA,WAAA;EACA,WI5F2B;EJ6F3B,UAAA;EACA,oBAAA;EACA,+BAAA;EACA,oBAAA;AFlBJ;AGrCY;EH5BZ;IG6BgB,4BARgB;EHgD9B;AACF;AEeI;EACI,+CAAA;EACA,UAAA;EACA,oBAAA;AFbR;;AAvEA;;ECRI,uDIjBmB;EJkBnB,qDInBkB;EJoBlB,mBKzBoB;EL0BpB,sFAAA;ADoFJ;;AA1EA;ECtBI,4FAAA;ADoGJ;AClGI;EACI,6CIRQ;EJSR,kDIRc;AL4GtB;;AA7EA;ESEY,oEAAA;EAAA,kFAAA;EAAA,8EAAA;EAAA,sGAAA;EAAA,8EAAA;EAAA,sGAAA;AToFZ;ASzDQ;EApBI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ATmGZ;ASnEQ;;EAhCI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AT+HZ;ASjFQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AT+JZ;ASlGI;EAtGA,gDJkBe;EIjBf,8CJgBc;AL2LlB;ASjGQ;EACI,6BAAA;EACA,+BAAA;EACA,8BAAA;EACA,6BAAA;EACA,4BAAA;ATmGZ;;AA/KA;ESFY,qEAAA;EAAA,mFAAA;EAAA,+EAAA;EAAA,uGAAA;EAAA,+EAAA;EAAA,uGAAA;AT0LZ;AS/JQ;EApBI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ATyMZ;ASzKQ;;EAhCI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ATqOZ;ASvLQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ATqQZ;ASxMI;EAtGA,gDJkBe;EIjBf,8CJgBc;ALiSlB;AS7LQ;EACI,yIAAA;EACA,gEJ1FkB;ALyR9B;AS5LQ;EA1HJ,gDJkBe;EIjBf,8CJgBc;ALySlB;;ASzPQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;ATiSZ;ASlPQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;ATsSZ;ASxPQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ATsUZ;ASlRQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ATkVZ;;AS1TQ;EA/BI,8DAAA;EAAA,4EAAA;EAAA,wEAAA;EAAA,gGAAA;EAAA,wEAAA;EAAA,gGAAA;ATkWZ;ASnTQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;ATuWZ;ASzTQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ATuYZ;ASnVQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ATmZZ;;AS3XQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;ATmaZ;ASpXQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;ATwaZ;AS1XQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ATwcZ;ASpZQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ATodZ;;AAvcA;EU7DI,kBAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,SAAA;AVwgBJ;;AA7cA;;EWNI,oBAAA;EACA,sBAAA;EACA,YAAA;EACA,eAAA;AXwdJ;AWtdI;;EACI,2EAAA;AXydR;AWtdI;;;;EAEI,wEAAA;AX0dR;AWvdI;;EACI,0BAAA;EAAA,uBAAA;EAAA,kBAAA;EACA,eAAA;AX0dR;;AYriBQ;EZsER;IWWQ,oBAAA;IACA,yFAAA;IAAA,iFAAA;IACA,kCAAA;IACA,kBAAA;EXydN;EWvdM;IACI,gBAAA;IACA,uENtE0B;IMuE1B,6DN9EiB;IMgGb,2IAAA;IACA,8IAAA;IAGJ,2CL5GW;IK6GX,+DNtGkB;EL4iB5B;EWncM;IACI,gBAAA;IACA,uENlG0B;IMmG1B,mBAAA;EXqcV;AACF;;AatkBA;EFgGQ;IEhGR,gBAAA;IAAA,mBAAA;EbgkBE;EWncM;IE7HR,gBAAA;IAAA,mBAAA;EbqkBE;CarkBF;;AboFA;EWgFI,aAAA;EACA,sBAAA;EACA,WAAA;AXsaJ;AWpaI;;;EAGI,WAAA;AXsaR;AYvkBQ;EDqKA;IACI,aAAA;IACA,qFAAA;EXqaV;EWlaM;IACI,qBAAA;EXoaV;AACF;;AAlgBA;EWmGI,mBAAA;AXmaJ;AWjaI;EACI,WAAA;AXmaR;AYvlBQ;EDwLA;IACI,WAAA;EXkaV;EWxZU;IAEI,aAAA;IACA,8BAAA;IACA,mBAAA;EXyZd;EWvZc;IANJ;MAOQ,iBAAA;IX0ZhB;EACF;EWvZU;IACI,8BAAA;EXyZd;EWrZM;IAKI,gBAAA;EXmZV;EWhZM;IAII,oBAAA;EX+YV;EW5YM;IACI,cAAA;EX8YV;AACF;;AA/hBA;EcvFI,kEAAA;EACA,kEAAA;EAGI,kEAAA;AdwnBR;ActnBQ;EAKQ,4DAAA;AdonBhB;;AApiBA;Ec3FI,mEAAA;EACA,mEAAA;EAGI,mEAAA;AdioBR;Ac/nBQ;EAKQ,6DAAA;Ad6nBhB;;AAziBA;Ec/FI,kEAAA;EACA,kEAAA;EAGI,kEAAA;Ad0oBR;AcxoBQ;EAKQ,4DAAA;AdsoBhB;;AExhBI;EACI,cAAA;AF2hBR;AExhBI;EACI,+DAAA;EACA,6DAAA;AF0hBR;AEvhBI;EACI,6DAAA;EACA,2DAAA;AFyhBR\",\"sourcesContent\":[\"@use \\\"../../styles/tools/form-fields/box-field-elements\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-layout\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-sizes\\\";\\n@use \\\"../../styles/tools/form-fields/foundation\\\";\\n@use \\\"../../styles/tools/form-fields/variants\\\";\\n@use \\\"../../styles/tools/accessibility\\\";\\n\\n// Foundation\\n.root {\\n @include foundation.root();\\n}\\n\\n.label {\\n @include foundation.label();\\n}\\n\\n.inputContainer {\\n @include box-field-elements.input-container();\\n}\\n\\n.input {\\n @include box-field-elements.input();\\n @include box-field-elements.input-select();\\n @include box-field-elements.input-select-option();\\n}\\n\\n.caret {\\n @include box-field-elements.caret();\\n}\\n\\n.caretIcon {\\n @include box-field-elements.caret-icon();\\n}\\n\\n.bottomLine {\\n @include box-field-elements.bottom-line();\\n}\\n\\n.helpText,\\n.validationText {\\n @include foundation.help-text();\\n}\\n\\n.isRootRequired .label {\\n @include foundation.label-required();\\n}\\n\\n// Variants\\n.isRootVariantFilled {\\n @include variants.visual(box, $variant: filled, $has-caret: true);\\n}\\n\\n.isRootVariantOutline {\\n @include variants.visual(box, $variant: outline, $has-caret: true);\\n}\\n\\n// States\\n.isRootStateInvalid {\\n @include variants.validation(invalid);\\n}\\n\\n.isRootStateValid {\\n @include variants.validation(valid);\\n}\\n\\n.isRootStateWarning {\\n @include variants.validation(warning);\\n}\\n\\n// Invisible label\\n.isLabelHidden {\\n @include accessibility.hide-text();\\n}\\n\\n// Layouts\\n.isRootLayoutVertical,\\n.isRootLayoutHorizontal {\\n @include box-field-layout.vertical();\\n}\\n\\n.isRootLayoutHorizontal {\\n @include box-field-layout.horizontal();\\n}\\n\\n.isRootFullWidth {\\n @include box-field-layout.full-width();\\n}\\n\\n.isRootInFormLayout {\\n @include box-field-layout.in-form-layout();\\n}\\n\\n// Sizes\\n.isRootSizeSmall {\\n @include box-field-sizes.size(small);\\n}\\n\\n.isRootSizeMedium {\\n @include box-field-sizes.size(medium);\\n}\\n\\n.isRootSizeLarge {\\n @include box-field-sizes.size(large);\\n}\\n\\n// Groups\\n.isRootGrouped {\\n @include box-field-elements.in-group-layout();\\n}\\n\",\"// 1. Don't let text alignment be affected by a parent.\\n// 2. Override foundation reset.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin root() {\\n text-align: left; // 1.\\n}\\n\\n@mixin fieldset() {\\n &:not(:last-child) {\\n margin-bottom: 0; // 2.\\n }\\n}\\n\\n@mixin label() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$label-color});\\n}\\n\\n@mixin label-required() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$required-label-color});\\n\\n &::after {\\n content: theme.$required-sign;\\n color: theme.$required-sign-color;\\n }\\n}\\n\\n@mixin help-text() {\\n font-style: theme.$help-text-font-style;\\n font-size: theme.$help-text-font-size;\\n line-height: settings.$help-text-line-height;\\n color: var(--rui-local-surrounding-text-color, #{theme.$help-text-color});\\n}\\n\",\"// 1. Get ready for positioning of bottom line and caret.\\n// 2. Always prefer `size` and `max` attributes when defined. Use CSS for sizing to normalize\\n// result width across browsers.\\n// 3. Let inputs properly fit various layout scenarios.\\n// 4. Leave out space for SelectField caret.\\n// 5. Use a block-level display mode to prevent extra white space below grouped inputs in Safari.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../tools/caret\\\";\\n@use \\\"../spacing\\\";\\n@use \\\"../transition\\\";\\n\\n@mixin input-container() {\\n position: relative; // 1.\\n display: inline-flex;\\n min-width: 0; // 3.\\n max-width: 100%; // 3.\\n}\\n\\n@mixin input() {\\n @include transition.add((opacity, color, border-color, background-color, box-shadow));\\n\\n appearance: none;\\n width: theme.$box-input-width;\\n min-width: theme.$box-input-min-width;\\n max-width: 100%; // 3.\\n height: var(--rui-local-height);\\n padding: var(--rui-local-padding-y) var(--rui-local-padding-x);\\n font-weight: settings.$box-input-font-weight;\\n font-size: var(--rui-local-font-size);\\n line-height: settings.$box-input-line-height;\\n font-family: settings.$box-input-font-family;\\n vertical-align: middle;\\n color: var(--rui-local-color);\\n border: theme.$box-border-width solid var(--rui-local-border-color);\\n border-radius: theme.$box-border-radius;\\n background: var(--rui-local-background);\\n box-shadow: var(--rui-local-box-shadow);\\n\\n &::placeholder {\\n color: theme.$box-placeholder-color;\\n opacity: 1;\\n }\\n}\\n\\n@mixin input-size() {\\n width:\\n calc(\\n 1ch * var(--rui-custom-input-size)\\n + var(--rui-local-arrows-width, 0)\\n + 2 * var(--rui-local-padding-x)\\n + 2 * #{theme.$box-border-width}\\n ); // 2.\\n\\n min-width: auto; // 2.\\n\\n &[type=\\\"number\\\"] {\\n --rui-local-arrows-width: #{settings.$box-field-input-number-arrows-width};\\n }\\n}\\n\\n@mixin input-textarea() {\\n resize: vertical;\\n\\n &[cols] {\\n min-width: auto;\\n }\\n}\\n\\n@mixin input-select() {\\n appearance: none;\\n padding-right: calc(#{settings.$box-field-caret-size} + #{spacing.of(2)}); // 4.\\n\\n &::-ms-expand {\\n display: none;\\n }\\n}\\n\\n@mixin input-select-option() {\\n option:disabled {\\n color: theme.$box-select-option-disabled-color;\\n }\\n}\\n\\n@mixin caret() {\\n @include transition.add((border-color));\\n\\n position: absolute; // 1.\\n top: theme.$box-border-width;\\n right: theme.$box-border-width;\\n bottom: theme.$box-border-width;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: calc(#{settings.$box-field-caret-size} - 2 * #{theme.$box-border-width});\\n border-start-end-radius: theme.$box-border-radius;\\n border-end-end-radius: theme.$box-border-radius;\\n pointer-events: none;\\n}\\n\\n@mixin caret-icon() {\\n @include caret.create();\\n\\n border-color: var(--rui-local-color);\\n}\\n\\n@mixin bottom-line() {\\n @include transition.add((transform, opacity), 180ms);\\n\\n position: absolute; // 1.\\n bottom: 0;\\n width: 100%;\\n height: settings.$box-field-bottom-line-height;\\n opacity: 0;\\n transform: scaleX(0);\\n transform-origin: center center;\\n pointer-events: none;\\n\\n .input:focus ~ & {\\n background-color: var(--rui-local-border-color);\\n opacity: 1;\\n transform: scaleX(1);\\n }\\n}\\n\\n@mixin in-group-layout() {\\n .inputContainer {\\n display: block; // 5.\\n }\\n\\n &:not(:first-child) .input {\\n border-start-start-radius: var(--rui-local-inner-border-radius);\\n border-end-start-radius: var(--rui-local-inner-border-radius);\\n }\\n\\n &:not(:last-child) .input {\\n border-start-end-radius: var(--rui-local-inner-border-radius);\\n border-end-end-radius: var(--rui-local-inner-border-radius);\\n }\\n}\\n\",\"@use \\\"sass:list\\\";\\n@use \\\"sass:meta\\\";\\n@use \\\"sass:string\\\";\\n@use \\\"../settings/animations\\\";\\n\\n$_allowed-transitions: (\\n border-color,\\n background-color,\\n background-position,\\n box-shadow,\\n color,\\n opacity,\\n transform,\\n visibility,\\n);\\n\\n$_reduced-motion-disallowed-transitions: (transform);\\n\\n@function _validate-transitions($properties) {\\n @each $property in $properties {\\n $is-allowed: list.index($_allowed-transitions, $property);\\n\\n @if not $is-allowed {\\n @return false;\\n }\\n }\\n\\n @return true;\\n}\\n\\n@function _reduce-motion-transitions($properties) {\\n $reduced-properties: ();\\n $separator: list.separator($properties);\\n\\n @each $property in $properties {\\n @if not list.index($_reduced-motion-disallowed-transitions, $property) {\\n $reduced-properties: list.append($reduced-properties, $property, $separator: $separator);\\n }\\n }\\n\\n @return $reduced-properties;\\n}\\n\\n@mixin add($properties, $duration: 150ms) {\\n $property-list: ();\\n\\n @if meta.type-of($properties) != \\\"string\\\" and meta.type-of($properties) != \\\"list\\\" {\\n @error \\\"Transition properties must be a string or a Sass list, `#{$properties}` given.\\\";\\n }\\n\\n $property-list: list.join($property-list, $properties);\\n\\n @if not _validate-transitions($property-list) {\\n @error \\\"Only [#{$_allowed-transitions}] transitions are allowed, [#{$properties}] given.\\\";\\n } @else {\\n $reduced-property-list: _reduce-motion-transitions($property-list);\\n\\n transition-property: $property-list;\\n transition-duration: $duration;\\n transition-timing-function: animations.$standard-timing-function;\\n\\n @if list.length($reduced-property-list) > 0 {\\n @media (prefers-reduced-motion: reduce) {\\n transition-property: $reduced-property-list;\\n }\\n }\\n }\\n}\\n\",\"$standard-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n\",\"// Variant specific theme options are obtained dynamically because there is way too many of them to\\n// maintain manually. See `settings/_form-fields.scss` and `tools/form-fields/_variants.scss` for\\n// details.\\n//\\n// 1. Defaults to zero when neither `--rui-FormField--horizontal__label__padding-y` (optional) nor\\n// `--rui-local-padding-y` (handled by the `size()` mixin in case of box form fields, see\\n// `_box-field-sizes.scss`) is defined. This is useful because FormLayoutCustomField may have no\\n// size specified therefore its label should have no padding at the top.\\n\\n// Forms fields: common properties\\n$label-color: var(--rui-FormField__label__color);\\n$label-font-size: var(--rui-FormField__label__font-size);\\n$help-text-font-size: var(--rui-FormField__help-text__font-size);\\n$help-text-font-style: var(--rui-FormField__help-text__font-style);\\n$help-text-color: var(--rui-FormField__help-text__color);\\n$required-label-color: var(--rui-FormField--required__label__color);\\n$required-sign: var(--rui-FormField--required__sign);\\n$required-sign-color: var(--rui-FormField--required__sign__color);\\n\\n// Form fields: horizontal layout\\n$horizontal-label-text-align: var(--rui-FormField--horizontal__label__text-align);\\n$horizontal-label-min-width: var(--rui-FormField--horizontal__label__min-width);\\n$horizontal-label-width: var(--rui-FormField--horizontal__label__width);\\n$horizontal-label-padding-y:\\n var(\\n --rui-FormField--horizontal__label__padding-y,\\n calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y))\\n ); // 1.\\n$horizontal-label-vertical-alignment: var(--rui-FormField--horizontal__label__vertical-alignment);\\n$horizontal-field-vertical-alignment: var(--rui-FormField--horizontal__field__vertical-alignment);\\n$horizontal-full-width-label-width: var(--rui-FormField--horizontal--full-width__label__width);\\n\\n// Form fields: disabled state\\n$disabled-cursor: var(--rui-FormField--disabled__cursor);\\n$disabled-opacity: var(--rui-FormField--disabled__opacity);\\n\\n// Form fields: box fields\\n$box-border-width: var(--rui-FormField--box__border-width);\\n$box-border-radius: var(--rui-FormField--box__border-radius);\\n$box-input-width: var(--rui-FormField--box__input__width);\\n$box-input-min-width: var(--rui-FormField--box__input__min-width);\\n$box-placeholder-color: var(--rui-FormField--box__placeholder__color);\\n\\n// Form fields: box fields, component specific\\n$box-select-caret-border-style: var(--rui-FormField--box--select__caret__border-style);\\n$box-select-caret-background: var(--rui-FormField--box--select__caret__background);\\n$box-select-option-disabled-color: var(--rui-FormField--box--select__option--disabled__color);\\n\\n// Form fields: box field sizes\\n$box-sizes: (\\n small: (\\n height: var(--rui-FormField--box--small__height),\\n padding-y: var(--rui-FormField--box--small__padding-y),\\n padding-x: var(--rui-FormField--box--small__padding-x),\\n font-size: var(--rui-FormField--box--small__font-size),\\n ),\\n medium: (\\n height: var(--rui-FormField--box--medium__height),\\n padding-y: var(--rui-FormField--box--medium__padding-y),\\n padding-x: var(--rui-FormField--box--medium__padding-x),\\n font-size: var(--rui-FormField--box--medium__font-size),\\n ),\\n large: (\\n height: var(--rui-FormField--box--large__height),\\n padding-y: var(--rui-FormField--box--large__padding-y),\\n padding-x: var(--rui-FormField--box--large__padding-x),\\n font-size: var(--rui-FormField--box--large__font-size),\\n ),\\n);\\n\\n// Form fields: check fields\\n$check-input-size: var(--rui-FormField--check__input__size);\\n$check-input-border-width: var(--rui-FormField--check__input__border-width);\\n$check-input-focus-box-shadow: var(--rui-FormField--check__input--focus__box-shadow);\\n$check-tap-target-size: var(--rui-FormField--check__tap-target-size);\\n\\n// Form fields: check fields, component specific\\n$check-input-checkbox-border-radius: var(--rui-FormField--check__input--checkbox__border-radius);\\n$check-input-checkbox-checked-background-image: var(--rui-FormField--check__input--checkbox--checked__background-image);\\n$check-input-radio-border-radius: var(--rui-FormField--check__input--radio__border-radius);\\n$check-input-radio-checked-background-image: var(--rui-FormField--check__input--radio--checked__background-image);\\n$check-input-toggle-width: var(--rui-FormField--check__input--toggle__width);\\n$check-input-toggle-border-radius: var(--rui-FormField--check__input--toggle__border-radius);\\n$check-input-toggle-background-size: var(--rui-FormField--check__input--toggle__background-size);\\n$check-input-toggle-default-background-image: var(--rui-FormField--check__input--toggle--default__background-image);\\n$check-input-toggle-default-background-position:\\n var(\\n --rui-FormField--check__input--toggle--default__background-position\\n );\\n$check-input-toggle-checked-background-image: var(--rui-FormField--check__input--toggle--checked__background-image);\\n$check-input-toggle-checked-background-position:\\n var(\\n --rui-FormField--check__input--toggle--checked__background-position\\n );\\n\",\"// 1. Input `line-height` is specified in `rem` so inputs do not break when their font size gets\\n// changed later.\\n\\n@use \\\"sass:map\\\";\\n@use \\\"../theme/typography\\\";\\n@use \\\"../tools/spacing\\\";\\n\\n$help-text-line-height: 1.2rem;\\n\\n$vertical-inner-gap: spacing.of(1);\\n$vertical-inner-gap-large: spacing.of(2);\\n$vertical-outer-spacing: spacing.of(2);\\n\\n$horizontal-inner-gap: spacing.of(2);\\n$horizontal-outer-spacing: spacing.of(2);\\n\\n$box-input-font-family: typography.$font-family-base;\\n$box-input-font-weight: map.get(typography.$font-weight-values, default);\\n$box-input-line-height: 1.5rem; // 1.\\n$box-field-caret-size: 2.25rem;\\n$box-field-input-number-arrows-width: 1.5rem;\\n$box-field-bottom-line-height: 2px;\\n\\n$inline-field-inner-gap: spacing.of(2);\\n\\n$themeable-variant-states: (\\n box: (\\n filled: (default, hover, focus, disabled),\\n outline: (default, hover, focus, disabled),\\n ),\\n check: (\\n default: (default, checked, disabled, checked-disabled),\\n ),\\n custom: (\\n default: (default, disabled),\\n ),\\n validation: (\\n invalid: (default, checked, disabled, checked-disabled),\\n valid: (default, checked, disabled, checked-disabled),\\n warning: (default, checked, disabled, checked-disabled),\\n ),\\n);\\n\\n$themeable-state-properties: (\\n default: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n hover: (color, border-color, background, box-shadow),\\n focus: (color, border-color, background, check-background-color, box-shadow),\\n checked: (border-color, check-background-color),\\n disabled: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n checked-disabled: (border-color, check-background-color),\\n);\\n\",\"$font-weight-values: (\\n light: var(--rui-font-weight-light),\\n default: var(--rui-font-weight-base),\\n bold: var(--rui-font-weight-bold),\\n);\\n\\n$font-weight-base: var(--rui-font-weight-base);\\n\\n$font-size-values: (\\n 1: var(--rui-font-size-1),\\n 2: var(--rui-font-size-2),\\n 3: var(--rui-font-size-3),\\n 4: var(--rui-font-size-4),\\n 5: var(--rui-font-size-5),\\n 6: var(--rui-font-size-6),\\n);\\n\\n$font-size-base: var(--rui-font-size-base);\\n$font-size-small: var(--rui-font-size-small);\\n$font-size-smaller: var(--rui-font-size-smaller);\\n\\n$font-family-base: var(--rui-font-family-base);\\n\\n$line-height-base: var(--rui-line-height-base);\\n$line-height-small: var(--rui-line-height-small);\\n\",\"@mixin create($rotate: 0) {\\n @include rotate();\\n\\n display: inline-block;\\n width: 0.4375rem;\\n height: 0.4375rem;\\n border-width: 2px;\\n border-style: none solid solid none;\\n border-color: currentColor;\\n}\\n\\n@mixin rotate($rotate: 0) {\\n transform: translateY(-0.1rem) rotate($rotate + 45deg);\\n}\\n\",\"// 1. Due to complexity, it's easier and safer to resolve variant custom properties dynamically with\\n// a mixin. This way it's also easier to make theming adjustments to all supported modifications\\n// in one place. Generated custom properties are consumed mainly in foundation field styles (see\\n// `tools/form-fields/_foundation.scss` for more).\\n//\\n// 2. Interaction states other than `default` default to the `default` (sic!) state appearance if\\n// corresponding custom properties are not provided.\\n//\\n// 3. `.input:focus` is added just in case `:focus-within` doesn't work.\\n\\n@use \\\"sass:list\\\";\\n@use \\\"sass:map\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin _disabled-state() {\\n opacity: theme.$disabled-opacity;\\n cursor: theme.$disabled-cursor;\\n}\\n\\n// 1.\\n@mixin _generate-custom-properties($type, $variant, $state) {\\n @if not list.index(map.keys(map.get(settings.$themeable-variant-states, $type)), $variant) {\\n @error \\\"Invalid variant specified! #{$variant} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(map.get(settings.$themeable-variant-states, $type))}.\\\";\\n }\\n\\n @if not list.index(map.keys(settings.$themeable-state-properties), $state) {\\n @error \\\"Invalid state specified! #{$state} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-state-properties)}.\\\";\\n }\\n\\n $properties: map.get(settings.$themeable-state-properties, $state);\\n $infix: $type;\\n $fallback-state: \\\"default\\\";\\n\\n @if $type == \\\"validation\\\" {\\n $infix: $variant;\\n }\\n\\n @if $type != \\\"validation\\\" and $variant != \\\"default\\\" {\\n $infix: #{$type}--#{$variant};\\n }\\n\\n @if $state == \\\"checked-disabled\\\" {\\n $fallback-state: \\\"checked\\\";\\n }\\n\\n @if $state == \\\"default\\\" {\\n @each $property in $properties {\\n --rui-local-#{$property}: var(--rui-FormField--#{$infix}--#{$state}__#{$property});\\n }\\n }\\n\\n // 2.\\n @else {\\n @each $property in $properties {\\n --rui-local-#{$property}:\\n var(\\n --rui-FormField--#{$infix}--#{$state}__#{$property},\\n var(--rui-FormField--#{$infix}--#{$fallback-state}__#{$property})\\n );\\n }\\n }\\n}\\n\\n@mixin _get-theme($type, $variant) {\\n @if not list.index(map.keys(settings.$themeable-variant-states), $type) {\\n @error \\\"Invalid type specified! #{$type} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-variant-states)}.\\\";\\n }\\n\\n $themeable-states: map.get(map.get(settings.$themeable-variant-states, $type), $variant);\\n\\n @if list.index($themeable-states, \\\"hover\\\") {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"hover\\\");\\n }\\n } @else {\\n &,\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"focus\\\") {\\n // 3.\\n &:focus-within,\\n &:focus-within:hover,\\n .input:focus {\\n @include _generate-custom-properties($type, $variant, \\\"focus\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked\\\") {\\n .input:checked {\\n @include _generate-custom-properties($type, $variant, \\\"checked\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"disabled\\\") {\\n &.isRootDisabled {\\n @include _generate-custom-properties($type, $variant, \\\"disabled\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked-disabled\\\") {\\n .input:checked:disabled {\\n @include _generate-custom-properties($type, $variant, \\\"checked-disabled\\\");\\n }\\n }\\n}\\n\\n@mixin visual($type, $variant: \\\"default\\\", $has-caret: false) {\\n @include _get-theme($type, $variant);\\n\\n .input:disabled {\\n @include _disabled-state();\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"filled\\\" {\\n .input {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n }\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"outline\\\" and $has-caret {\\n .caret {\\n border-left: theme.$box-border-width theme.$box-select-caret-border-style var(--rui-local-border-color);\\n background: theme.$box-select-caret-background;\\n }\\n\\n &.isRootDisabled .caret {\\n @include _disabled-state();\\n }\\n }\\n}\\n\\n@mixin validation($variant) {\\n @include _get-theme(validation, $variant);\\n}\\n\",\"// 1. Screen readers only, inspired by Bootstrap.\\n// https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss\\n//\\n// 2. Make tap target big enough to improve accessibility on touch screens.\\n\\n@use \\\"../theme/accessibility\\\" as theme;\\n\\n// 1.\\n@mixin hide-text() {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n@mixin unhide-text() {\\n position: unset;\\n width: unset;\\n height: unset;\\n overflow: unset;\\n clip: unset;\\n white-space: unset;\\n}\\n\\n// 2.\\n@mixin min-tap-target($size: theme.$tap-target-size, $center: true) {\\n position: relative;\\n\\n &::before {\\n content: \\\"\\\";\\n position: absolute;\\n width: $size;\\n height: $size;\\n\\n @if $center {\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n }\\n }\\n}\\n\\n@mixin focus-ring() {\\n &:focus-visible {\\n outline: theme.$focus-outline;\\n outline-offset: theme.$focus-outline-offset;\\n box-shadow: theme.$focus-box-shadow;\\n }\\n}\\n\",\"// 1. Inline form fields and fields with vertical layout take up as much space as they need. Labels\\n// do not wrap until forced by container of the field. Min and max limits make extra long words\\n// break if necessary.\\n//\\n// 2. Form fields in horizontal layout also take up only as much space as they need. Labels do not\\n// wrap until label width limit is reached (50 % of available horizontal space by default).\\n//\\n// 3. Help texts and validation messages are aligned below input and wrapped. Their width is always\\n// limited to the width of the input field so they don't shift adjacent elements when they show\\n// up. This applies unless the field is inside FormLayout (see 10).\\n//\\n// 4. Define grid spacing as padding of child elements because grid areas make row and column gaps\\n// show up even when not necessary.\\n//\\n// 5. When input size is small and form field layout is set to horizontal, expand help text and\\n// validation message over full form field width to improve their readability. Otherwise the\\n// text would be packed into a very narrow column and hard to read. To prevent help text and\\n// validation message from growing the layout more than necessary (ie. the size without\\n// help/validation text), `min-content` grid sizing must be used along with disabled wrapping of\\n// label.\\n//\\n// 6. Full-width horizontal form fields prefer not wrapping the label until a limit is reached\\n// (50 % of available horizontal space by default, same as in 2.).\\n//\\n// 7. Justify inputs to `start` in horizontal layouts to fix positioning issues with Select Fields.\\n// Reverted for full-width fields.\\n//\\n// 8. Grid settings are inherited from horizontal FormLayout and applied using `subgrid`.\\n// A fallback is supplied to browsers that don't support `subgrid` yet.\\n//\\n// Chrome 117+ supports `subgrid` but it doesn't work for `<fieldset>`. This is why we always\\n// use the fallback for `<fieldset>`.\\n//\\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1473242\\n// https://github.com/react-ui-org/react-ui/issues/232\\n//\\n// 9. Help texts and validation messages can take up full width of FormLayout. There is no reason\\n// to make them wrap as they cannot break layout of FormLayout.\\n//\\n// 10. Visually align label to input baseline. Achieved with `padding-top` and `padding-bottom` due\\n// to two reasons:\\n//\\n// * `align-items: baseline` doesn't work for blank text inputs in Safari. See\\n// https://bugs.webkit.org/show_bug.cgi?id=142968 and\\n// https://github.com/react-ui-org/react-ui/issues/265.\\n//\\n// * `align-items: baseline` doesn't allow subsequent vertical centering of tall inputs and/or\\n// multiline labels (see `theme.$horizontal-label-vertical-alignment` and\\n// `theme.$horizontal-field-vertical-alignment`).\\n//\\n// 11. Reset `width` previously set by inline field layout (see `_inline-field-layout.scss`).\\n//\\n// 12. Make fields just as wide as necessary. Fields should be interactive only where their visible\\n// content is.\\n//\\n// 13. Label and field are vertically aligned to top (start) by default (see 10.). Vertical\\n// alignment of each block can be changed by theme configuration.\\n\\n@use \\\"../../settings/forms\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../theme/typography\\\";\\n@use \\\"../breakpoint\\\";\\n\\n@mixin vertical($has-list: false) {\\n @if $has-list {\\n --rui-local-vertical-gap: #{settings.$vertical-inner-gap-large};\\n }\\n\\n display: inline-flex; // 1.\\n flex-direction: column;\\n min-width: 0; // 1.\\n max-width: 100%; // 1.\\n\\n .label {\\n padding-bottom: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .helpText,\\n .validationText {\\n padding-top: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .field {\\n width: min-content; // 3.\\n max-width: 100%; // 3.\\n }\\n}\\n\\n@mixin horizontal($has-min-tap-target: false) {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n display: inline-grid; // 2.\\n grid-template-columns: theme.$horizontal-label-width min-content; // 2.\\n grid-template-areas: \\\"label field\\\";\\n align-items: start; // 10., 13.\\n\\n .label {\\n grid-area: label;\\n align-self: theme.$horizontal-label-vertical-alignment; // 13.\\n min-width: theme.$horizontal-label-min-width;\\n\\n // 10.\\n @if $has-min-tap-target {\\n padding-top:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n padding-bottom:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n }\\n\\n // 10., 13.\\n @else {\\n padding-top: #{theme.$horizontal-label-padding-y};\\n padding-bottom: #{theme.$horizontal-label-padding-y};\\n }\\n\\n padding-right: settings.$horizontal-inner-gap; // 4.\\n text-align: theme.$horizontal-label-text-align;\\n }\\n\\n .field {\\n grid-area: field;\\n align-self: theme.$horizontal-field-vertical-alignment; // 13.\\n justify-self: start; // 7.\\n }\\n }\\n}\\n\\n@mixin horizontal-with-small-input() {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n grid-template-columns: min-content min-content; // 5.\\n grid-template-areas:\\n \\\"label field\\\"\\n \\\"helptext helptext\\\"\\n \\\"validationtext validationtext\\\"; // 5.\\n\\n .label {\\n white-space: nowrap; // 5.\\n }\\n\\n .field {\\n display: contents; // 5.\\n }\\n\\n .inputContainer {\\n grid-area: field; // 5.\\n }\\n\\n .helpText {\\n grid-area: helptext; // 5.\\n }\\n\\n .validationText {\\n grid-area: validationtext; // 5.\\n }\\n }\\n}\\n\\n@mixin full-width() {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n\\n .field,\\n .inputContainer,\\n .input {\\n width: 100%;\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n &.isRootLayoutHorizontal {\\n display: grid;\\n grid-template-columns: theme.$horizontal-full-width-label-width 1fr; // 6.\\n }\\n\\n &.isRootLayoutHorizontal .field {\\n justify-self: stretch; // 7.\\n }\\n }\\n}\\n\\n@mixin in-form-layout($is-fieldset: false) {\\n justify-self: start; // 12.\\n\\n .field {\\n width: auto; // 9.\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n .optionLabel {\\n width: auto; // 11.\\n }\\n\\n // 8.\\n @if $is-fieldset {\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n display: contents;\\n }\\n } @else {\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n\\n @supports not (grid-template-columns: subgrid) {\\n display: contents;\\n }\\n }\\n\\n &.isRootLayoutHorizontal.isRootFullWidth {\\n grid-template-columns: subgrid;\\n }\\n }\\n\\n &.isRootLayoutHorizontal .label,\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-area: unset; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-column-start: 2; // 8.\\n }\\n\\n &.isRootLayoutHorizontal.hasRootSmallInput .field {\\n display: block; // 5.\\n }\\n }\\n}\\n\",\"@use \\\"sass:map\\\";\\n@use \\\"../settings/breakpoints\\\";\\n\\n@mixin up($breakpoint) {\\n @if not map.has-key(breakpoints.$values, $breakpoint) {\\n @error \\\"Invalid breakpoint specified! #{$breakpoint} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(breakpoints.$values)}\\\";\\n } @else if map.get(breakpoints.$values, $breakpoint) == 0 {\\n @content;\\n } @else {\\n @media (min-width: map.get(breakpoints.$values, $breakpoint)) {\\n @content;\\n }\\n }\\n}\\n\",null,\"@use \\\"sass:map\\\";\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin size($size, $has-input: true, $is-multiline: false) {\\n $size-properties: map.get(theme.$box-sizes, $size);\\n\\n --rui-local-padding-y: #{map.get($size-properties, padding-y)};\\n --rui-local-padding-x: #{map.get($size-properties, padding-x)};\\n\\n @if $has-input {\\n --rui-local-font-size: #{map.get($size-properties, font-size)};\\n\\n .input {\\n @if $is-multiline {\\n height: auto;\\n min-height: map.get($size-properties, height);\\n } @else {\\n --rui-local-height: #{map.get($size-properties, height)};\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"SelectField__root__0ig1xaq8\",\n\t\"label\": \"SelectField__label__HlohMdZb\",\n\t\"inputContainer\": \"SelectField__inputContainer__6OtREXBH\",\n\t\"input\": \"SelectField__input__TBDPc16y\",\n\t\"caret\": \"SelectField__caret__tQhV8bA8\",\n\t\"caretIcon\": \"SelectField__caretIcon__GF1LSnV7\",\n\t\"bottomLine\": \"SelectField__bottomLine__VNn6WyC-\",\n\t\"helpText\": \"SelectField__helpText__Ebb65maA\",\n\t\"validationText\": \"SelectField__validationText__cZxPgGvG\",\n\t\"isRootRequired\": \"SelectField__isRootRequired__QrV0Juii\",\n\t\"isRootVariantFilled\": \"SelectField__isRootVariantFilled__qVGSzh7d\",\n\t\"isRootDisabled\": \"SelectField__isRootDisabled__RxaNPnHd\",\n\t\"isRootVariantOutline\": \"SelectField__isRootVariantOutline__y0HFDXRz\",\n\t\"isRootStateInvalid\": \"SelectField__isRootStateInvalid__fvW8lRyM\",\n\t\"isRootStateValid\": \"SelectField__isRootStateValid__lVCqATs5\",\n\t\"isRootStateWarning\": \"SelectField__isRootStateWarning__Nj4x1VKG\",\n\t\"isLabelHidden\": \"SelectField__isLabelHidden__453O1kMm\",\n\t\"isRootLayoutVertical\": \"SelectField__isRootLayoutVertical__coXjtRrV\",\n\t\"isRootLayoutHorizontal\": \"SelectField__isRootLayoutHorizontal__BaAbM0Ih\",\n\t\"field\": \"SelectField__field__RsdA8MzV\",\n\t\"isRootFullWidth\": \"SelectField__isRootFullWidth__fPEb5l7s\",\n\t\"isRootInFormLayout\": \"SelectField__isRootInFormLayout__8tyhU1LY\",\n\t\"optionLabel\": \"SelectField__optionLabel__jSTurkZe\",\n\t\"hasRootSmallInput\": \"SelectField__hasRootSmallInput__h9W3aQpO\",\n\t\"isRootSizeSmall\": \"SelectField__isRootSizeSmall__BmmFSvTc\",\n\t\"isRootSizeMedium\": \"SelectField__isRootSizeMedium__A+5iQ2k9\",\n\t\"isRootSizeLarge\": \"SelectField__isRootSizeLarge__k6g4-9Nr\",\n\t\"isRootGrouped\": \"SelectField__isRootGrouped__H9rIWmI0\"\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vc3JjL2xpYi9jb21wb25lbnRzL1NlbGVjdEZpZWxkL1NlbGVjdEZpZWxkLnNjc3MuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvbGliL2NvbXBvbmVudHMvU2VsZWN0RmllbGQvU2VsZWN0RmllbGQuc2Nzcz9lY2IxIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLlNlbGVjdEZpZWxkX19yb290X18waWcxeGFxOCB7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG5cXG4uU2VsZWN0RmllbGRfX2xhYmVsX19IbG9oTWRaYiB7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGRfX2xhYmVsX19jb2xvcikpO1xcbn1cXG5cXG4uU2VsZWN0RmllbGRfX2lucHV0Q29udGFpbmVyX182T3RSRVhCSCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIG1pbi13aWR0aDogMDtcXG4gIG1heC13aWR0aDogMTAwJTtcXG59XFxuXFxuLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnkge1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdztcXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICB3aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19pbnB1dF9fd2lkdGgpO1xcbiAgbWluLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2lucHV0X19taW4td2lkdGgpO1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiB2YXIoLS1ydWktbG9jYWwtaGVpZ2h0KTtcXG4gIHBhZGRpbmc6IHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXgpO1xcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXJ1aS1mb250LXdlaWdodC1iYXNlKTtcXG4gIGZvbnQtc2l6ZTogdmFyKC0tcnVpLWxvY2FsLWZvbnQtc2l6ZSk7XFxuICBsaW5lLWhlaWdodDogMS41cmVtO1xcbiAgZm9udC1mYW1pbHk6IHZhcigtLXJ1aS1mb250LWZhbWlseS1iYXNlKTtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLWNvbG9yKTtcXG4gIGJvcmRlcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3IpO1xcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItcmFkaXVzKTtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXJ1aS1sb2NhbC1ib3gtc2hhZG93KTtcXG4gIGFwcGVhcmFuY2U6IG5vbmU7XFxuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDIuMjVyZW0gKyB2YXIoLS1ydWktZGltZW5zaW9uLXNwYWNlLTIpKTtcXG59XFxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcXG4gIC5TZWxlY3RGaWVsZF9faW5wdXRfX1RCRFBjMTZ5IHtcXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdztcXG4gIH1cXG59XFxuLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnk6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fcGxhY2Vob2xkZXJfX2NvbG9yKTtcXG4gIG9wYWNpdHk6IDE7XFxufVxcbi5TZWxlY3RGaWVsZF9faW5wdXRfX1RCRFBjMTZ5OjpwbGFjZWhvbGRlciB7XFxuICBjb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19wbGFjZWhvbGRlcl9fY29sb3IpO1xcbiAgb3BhY2l0eTogMTtcXG59XFxuLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnk6Oi1tcy1leHBhbmQge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnkgb3B0aW9uOmRpc2FibGVkIHtcXG4gIGNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fb3B0aW9uLS1kaXNhYmxlZF9fY29sb3IpO1xcbn1cXG5cXG4uU2VsZWN0RmllbGRfX2NhcmV0X190UWhWOGJBOCB7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXItY29sb3I7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci13aWR0aCk7XFxuICByaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpO1xcbiAgYm90dG9tOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci13aWR0aCk7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgd2lkdGg6IGNhbGMoMi4yNXJlbSAtIDIgKiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci13aWR0aCkpO1xcbiAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXJhZGl1cyk7XFxuICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXJhZGl1cyk7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG59XFxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcXG4gIC5TZWxlY3RGaWVsZF9fY2FyZXRfX3RRaFY4YkE4IHtcXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyLWNvbG9yO1xcbiAgfVxcbn1cXG5cXG4uU2VsZWN0RmllbGRfX2NhcmV0SWNvbl9fR0YxTFNuVjcge1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjFyZW0pIHJvdGF0ZSg0NWRlZyk7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMC40Mzc1cmVtO1xcbiAgaGVpZ2h0OiAwLjQzNzVyZW07XFxuICBib3JkZXItd2lkdGg6IDJweDtcXG4gIGJvcmRlci1zdHlsZTogbm9uZSBzb2xpZCBzb2xpZCBub25lO1xcbiAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1jb2xvcik7XFxufVxcblxcbi5TZWxlY3RGaWVsZF9fYm90dG9tTGluZV9fVk5uNld5Qy0ge1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTgwbXM7XFxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvdHRvbTogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAycHg7XFxuICBvcGFjaXR5OiAwO1xcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XFxuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxufVxcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XFxuICAuU2VsZWN0RmllbGRfX2JvdHRvbUxpbmVfX1ZObjZXeUMtIHtcXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcXG4gIH1cXG59XFxuLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnk6Zm9jdXMgfiAuU2VsZWN0RmllbGRfX2JvdHRvbUxpbmVfX1ZObjZXeUMtIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3IpO1xcbiAgb3BhY2l0eTogMTtcXG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xcbn1cXG5cXG4uU2VsZWN0RmllbGRfX2hlbHBUZXh0X19FYmI2NW1hQSxcXG4uU2VsZWN0RmllbGRfX3ZhbGlkYXRpb25UZXh0X19jWnhQZ0d2RyB7XFxuICBmb250LXN0eWxlOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2ZvbnQtc3R5bGUpO1xcbiAgZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2ZvbnQtc2l6ZSk7XFxuICBsaW5lLWhlaWdodDogMS4ycmVtO1xcbiAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2NvbG9yKSk7XFxufVxcblxcbi5TZWxlY3RGaWVsZF9faXNSb290UmVxdWlyZWRfX1FyVjBKdWlpIC5TZWxlY3RGaWVsZF9fbGFiZWxfX0hsb2hNZFpiIHtcXG4gIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX2xhYmVsX19jb2xvcikpO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFJlcXVpcmVkX19RclYwSnVpaSAuU2VsZWN0RmllbGRfX2xhYmVsX19IbG9oTWRaYjo6YWZ0ZXIge1xcbiAgY29udGVudDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX3NpZ24pO1xcbiAgY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19zaWduX19jb2xvcik7XFxufVxcblxcbi5TZWxlY3RGaWVsZF9faXNSb290VmFyaWFudEZpbGxlZF9fcVZHU3poN2Qge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2JhY2tncm91bmQpO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX3FWR1N6aDdkOmhvdmVyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0taG92ZXJfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWhvdmVyX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1ob3Zlcl9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1ob3Zlcl9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RWYXJpYW50RmlsbGVkX19xVkdTemg3ZDpmb2N1cy13aXRoaW4sIC5TZWxlY3RGaWVsZF9faXNSb290VmFyaWFudEZpbGxlZF9fcVZHU3poN2Q6Zm9jdXMtd2l0aGluOmhvdmVyLFxcbi5TZWxlY3RGaWVsZF9faXNSb290VmFyaWFudEZpbGxlZF9fcVZHU3poN2QgLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnk6Zm9jdXMge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1mb2N1c19fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZm9jdXNfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWZvY3VzX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWZvY3VzX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWZvY3VzX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX3FWR1N6aDdkLlNlbGVjdEZpZWxkX19pc1Jvb3REaXNhYmxlZF9fUnhhTlBuSGQge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRpc2FibGVkX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRpc2FibGVkX19zdXJyb3VuZGluZy10ZXh0LWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX3FWR1N6aDdkIC5TZWxlY3RGaWVsZF9faW5wdXRfX1RCRFBjMTZ5OmRpc2FibGVkIHtcXG4gIG9wYWNpdHk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19vcGFjaXR5KTtcXG4gIGN1cnNvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX2N1cnNvcik7XFxufVxcbi5TZWxlY3RGaWVsZF9faXNSb290VmFyaWFudEZpbGxlZF9fcVZHU3poN2QgLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnkge1xcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XFxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xcbn1cXG5cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX195MEhGRFhSeiB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19ib3gtc2hhZG93KTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5TZWxlY3RGaWVsZF9faXNSb290VmFyaWFudE91dGxpbmVfX3kwSEZEWFJ6OmhvdmVyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWhvdmVyX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWhvdmVyX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWhvdmVyX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0taG92ZXJfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX195MEhGRFhSejpmb2N1cy13aXRoaW4sIC5TZWxlY3RGaWVsZF9faXNSb290VmFyaWFudE91dGxpbmVfX3kwSEZEWFJ6OmZvY3VzLXdpdGhpbjpob3ZlcixcXG4uU2VsZWN0RmllbGRfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX195MEhGRFhSeiAuU2VsZWN0RmllbGRfX2lucHV0X19UQkRQYzE2eTpmb2N1cyB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1mb2N1c19fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1mb2N1c19fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1mb2N1c19fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWZvY3VzX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZm9jdXNfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX195MEhGRFhSei5TZWxlY3RGaWVsZF9faXNSb290RGlzYWJsZWRfX1J4YU5QbkhkIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRpc2FibGVkX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRpc2FibGVkX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRpc2FibGVkX19zdXJyb3VuZGluZy10ZXh0LWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RWYXJpYW50T3V0bGluZV9feTBIRkRYUnogLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnk6ZGlzYWJsZWQge1xcbiAgb3BhY2l0eTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX29wYWNpdHkpO1xcbiAgY3Vyc29yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fY3Vyc29yKTtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RWYXJpYW50T3V0bGluZV9feTBIRkRYUnogLlNlbGVjdEZpZWxkX19jYXJldF9fdFFoVjhiQTgge1xcbiAgYm9yZGVyLWxlZnQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fY2FyZXRfX2JvcmRlci1zdHlsZSkgdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fY2FyZXRfX2JhY2tncm91bmQpO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX195MEhGRFhSei5TZWxlY3RGaWVsZF9faXNSb290RGlzYWJsZWRfX1J4YU5QbkhkIC5TZWxlY3RGaWVsZF9fY2FyZXRfX3RRaFY4YkE4IHtcXG4gIG9wYWNpdHk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19vcGFjaXR5KTtcXG4gIGN1cnNvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX2N1cnNvcik7XFxufVxcblxcbi5TZWxlY3RGaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX19mdlc4bFJ5TSwgLlNlbGVjdEZpZWxkX19pc1Jvb3RTdGF0ZUludmFsaWRfX2Z2VzhsUnlNOmhvdmVyIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKTtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RTdGF0ZUludmFsaWRfX2Z2VzhsUnlNIC5TZWxlY3RGaWVsZF9faW5wdXRfX1RCRFBjMTZ5OmNoZWNrZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFN0YXRlSW52YWxpZF9fZnZXOGxSeU0uU2VsZWN0RmllbGRfX2lzUm9vdERpc2FibGVkX19SeGFOUG5IZCB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19zdXJyb3VuZGluZy10ZXh0LWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5TZWxlY3RGaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX19mdlc4bFJ5TSAuU2VsZWN0RmllbGRfX2lucHV0X19UQkRQYzE2eTpjaGVja2VkOmRpc2FibGVkIHtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWQtZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuXFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RTdGF0ZVZhbGlkX19sVkNxQVRzNSwgLlNlbGVjdEZpZWxkX19pc1Jvb3RTdGF0ZVZhbGlkX19sVkNxQVRzNTpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5TZWxlY3RGaWVsZF9faXNSb290U3RhdGVWYWxpZF9fbFZDcUFUczUgLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnk6Y2hlY2tlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX2xWQ3FBVHM1LlNlbGVjdEZpZWxkX19pc1Jvb3REaXNhYmxlZF9fUnhhTlBuSGQge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19zdXJyb3VuZGluZy10ZXh0LWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX2xWQ3FBVHM1IC5TZWxlY3RGaWVsZF9faW5wdXRfX1RCRFBjMTZ5OmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuXFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX05qNHgxVktHLCAuU2VsZWN0RmllbGRfX2lzUm9vdFN0YXRlV2FybmluZ19fTmo0eDFWS0c6aG92ZXIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JhY2tncm91bmQpO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3gtc2hhZG93KTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdFN0YXRlV2FybmluZ19fTmo0eDFWS0cgLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnk6Y2hlY2tlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5TZWxlY3RGaWVsZF9faXNSb290U3RhdGVXYXJuaW5nX19OajR4MVZLRy5TZWxlY3RGaWVsZF9faXNSb290RGlzYWJsZWRfX1J4YU5QbkhkIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX05qNHgxVktHIC5TZWxlY3RGaWVsZF9faW5wdXRfX1RCRFBjMTZ5OmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG5cXG4uU2VsZWN0RmllbGRfX2lzTGFiZWxIaWRkZW5fXzQ1M08xa01tIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxcHg7XFxuICBoZWlnaHQ6IDFweDtcXG4gIHBhZGRpbmc6IDA7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBib3JkZXI6IDA7XFxufVxcblxcbi5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0VmVydGljYWxfX2NvWGp0UnJWLFxcbi5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fQmFBYk0wSWgge1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgbWluLXdpZHRoOiAwO1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdExheW91dFZlcnRpY2FsX19jb1hqdFJyViAuU2VsZWN0RmllbGRfX2xhYmVsX19IbG9oTWRaYixcXG4uU2VsZWN0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX0JhQWJNMEloIC5TZWxlY3RGaWVsZF9fbGFiZWxfX0hsb2hNZFpiIHtcXG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCB2YXIoLS1ydWktZGltZW5zaW9uLXNwYWNlLTEpKTtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fY29YanRSclYgLlNlbGVjdEZpZWxkX19oZWxwVGV4dF9fRWJiNjVtYUEsXFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fY29YanRSclYgLlNlbGVjdEZpZWxkX192YWxpZGF0aW9uVGV4dF9fY1p4UGdHdkcsXFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaCAuU2VsZWN0RmllbGRfX2hlbHBUZXh0X19FYmI2NW1hQSxcXG4uU2VsZWN0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX0JhQWJNMEloIC5TZWxlY3RGaWVsZF9fdmFsaWRhdGlvblRleHRfX2NaeFBnR3ZHIHtcXG4gIHBhZGRpbmctdG9wOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCB2YXIoLS1ydWktZGltZW5zaW9uLXNwYWNlLTEpKTtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fY29YanRSclYgLlNlbGVjdEZpZWxkX19maWVsZF9fUnNkQThNelYsXFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaCAuU2VsZWN0RmllbGRfX2ZpZWxkX19Sc2RBOE16ViB7XFxuICB3aWR0aDogLXdlYmtpdC1taW4tY29udGVudDtcXG4gIHdpZHRoOiAtbW96LW1pbi1jb250ZW50O1xcbiAgd2lkdGg6IG1pbi1jb250ZW50O1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaCB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX193aWR0aCkgLXdlYmtpdC1taW4tY29udGVudDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fd2lkdGgpIG1pbi1jb250ZW50O1xcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcXFwibGFiZWwgZmllbGRcXFwiO1xcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XFxuICB9XFxuICAuU2VsZWN0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX0JhQWJNMEloIC5TZWxlY3RGaWVsZF9fbGFiZWxfX0hsb2hNZFpiIHtcXG4gICAgZ3JpZC1hcmVhOiBsYWJlbDtcXG4gICAgYWxpZ24tc2VsZjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuICAgIG1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX21pbi13aWR0aCk7XFxuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15LCBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKSk7XFxuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15LCBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKSk7XFxuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMik7XFxuICAgIHRleHQtYWxpZ246IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX190ZXh0LWFsaWduKTtcXG4gIH1cXG4gIC5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fQmFBYk0wSWggLlNlbGVjdEZpZWxkX19maWVsZF9fUnNkQThNelYge1xcbiAgICBncmlkLWFyZWE6IGZpZWxkO1xcbiAgICBhbGlnbi1zZWxmOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19maWVsZF9fdmVydGljYWwtYWxpZ25tZW50KTtcXG4gICAganVzdGlmeS1zZWxmOiBzdGFydDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcXG4gIC5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fQmFBYk0wSWggLlNlbGVjdEZpZWxkX19sYWJlbF9fSGxvaE1kWmIge1xcbiAgICAtbXMtZ3JpZC1yb3c6IDE7XFxuICAgIC1tcy1ncmlkLWNvbHVtbjogMTtcXG4gIH1cXG4gIC5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fQmFBYk0wSWggLlNlbGVjdEZpZWxkX19maWVsZF9fUnNkQThNelYge1xcbiAgICAtbXMtZ3JpZC1yb3c6IDE7XFxuICAgIC1tcy1ncmlkLWNvbHVtbjogMjtcXG4gIH1cXG59XFxuXFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfX2ZQRWI1bDdzIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5TZWxlY3RGaWVsZF9faXNSb290RnVsbFdpZHRoX19mUEViNWw3cyAuU2VsZWN0RmllbGRfX2ZpZWxkX19Sc2RBOE16VixcXG4uU2VsZWN0RmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fZlBFYjVsN3MgLlNlbGVjdEZpZWxkX19pbnB1dENvbnRhaW5lcl9fNk90UkVYQkgsXFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfX2ZQRWI1bDdzIC5TZWxlY3RGaWVsZF9faW5wdXRfX1RCRFBjMTZ5IHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlNlbGVjdEZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfX2ZQRWI1bDdzLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaCB7XFxuICAgIGRpc3BsYXk6IGdyaWQ7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbC0tZnVsbC13aWR0aF9fbGFiZWxfX3dpZHRoKSAxZnI7XFxuICB9XFxuICAuU2VsZWN0RmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fZlBFYjVsN3MuU2VsZWN0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX0JhQWJNMEloIC5TZWxlY3RGaWVsZF9fZmllbGRfX1JzZEE4TXpWIHtcXG4gICAganVzdGlmeS1zZWxmOiBzdHJldGNoO1xcbiAgfVxcbn1cXG5cXG4uU2VsZWN0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fOHR5aFUxTFkge1xcbiAganVzdGlmeS1zZWxmOiBzdGFydDtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZIC5TZWxlY3RGaWVsZF9fZmllbGRfX1JzZEE4TXpWIHtcXG4gIHdpZHRoOiBhdXRvO1xcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZIC5TZWxlY3RGaWVsZF9fb3B0aW9uTGFiZWxfX2pTVHVya1plIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICB9XFxuICAuU2VsZWN0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fOHR5aFUxTFkuU2VsZWN0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX0JhQWJNMEloLCAuU2VsZWN0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fOHR5aFUxTFkuU2VsZWN0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX0JhQWJNMEloLlNlbGVjdEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9faDlXM2FRcE8ge1xcbiAgICBncmlkOiBpbmhlcml0O1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XFxuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XFxuICB9XFxuICBAc3VwcG9ydHMgbm90IChncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQpIHtcXG4gICAgLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaCwgLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaC5TZWxlY3RGaWVsZF9faGFzUm9vdFNtYWxsSW5wdXRfX2g5VzNhUXBPIHtcXG4gICAgICBkaXNwbGF5OiBjb250ZW50cztcXG4gICAgfVxcbiAgfVxcbiAgLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaC5TZWxlY3RGaWVsZF9faXNSb290RnVsbFdpZHRoX19mUEViNWw3cyB7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDtcXG4gIH1cXG4gIC5TZWxlY3RGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X184dHloVTFMWS5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fQmFBYk0wSWggLlNlbGVjdEZpZWxkX19sYWJlbF9fSGxvaE1kWmIsIC5TZWxlY3RGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X184dHloVTFMWS5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fQmFBYk0wSWggLlNlbGVjdEZpZWxkX19maWVsZF9fUnNkQThNelYsIC5TZWxlY3RGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X184dHloVTFMWS5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fQmFBYk0wSWggLlNlbGVjdEZpZWxkX19pbnB1dENvbnRhaW5lcl9fNk90UkVYQkgsIC5TZWxlY3RGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X184dHloVTFMWS5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fQmFBYk0wSWggLlNlbGVjdEZpZWxkX19oZWxwVGV4dF9fRWJiNjVtYUEsIC5TZWxlY3RGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X184dHloVTFMWS5TZWxlY3RGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fQmFBYk0wSWggLlNlbGVjdEZpZWxkX192YWxpZGF0aW9uVGV4dF9fY1p4UGdHdkcge1xcbiAgICBncmlkLWFyZWE6IHVuc2V0O1xcbiAgfVxcbiAgLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaCAuU2VsZWN0RmllbGRfX2ZpZWxkX19Sc2RBOE16ViwgLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaCAuU2VsZWN0RmllbGRfX2lucHV0Q29udGFpbmVyX182T3RSRVhCSCwgLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaCAuU2VsZWN0RmllbGRfX2hlbHBUZXh0X19FYmI2NW1hQSwgLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaCAuU2VsZWN0RmllbGRfX3ZhbGlkYXRpb25UZXh0X19jWnhQZ0d2RyB7XFxuICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyO1xcbiAgfVxcbiAgLlNlbGVjdEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzh0eWhVMUxZLlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaC5TZWxlY3RGaWVsZF9faGFzUm9vdFNtYWxsSW5wdXRfX2g5VzNhUXBPIC5TZWxlY3RGaWVsZF9fZmllbGRfX1JzZEE4TXpWIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxufVxcblxcbi5TZWxlY3RGaWVsZF9faXNSb290U2l6ZVNtYWxsX19CbW1GU3ZUYyB7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteSk7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteCk7XFxuICAtLXJ1aS1sb2NhbC1mb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX2ZvbnQtc2l6ZSk7XFxufVxcbi5TZWxlY3RGaWVsZF9faXNSb290U2l6ZVNtYWxsX19CbW1GU3ZUYyAuU2VsZWN0RmllbGRfX2lucHV0X19UQkRQYzE2eSB7XFxuICAtLXJ1aS1sb2NhbC1oZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX2hlaWdodCk7XFxufVxcblxcbi5TZWxlY3RGaWVsZF9faXNSb290U2l6ZU1lZGl1bV9fQVxcXFwrNWlRMms5IHtcXG4gIC0tcnVpLWxvY2FsLXBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX3BhZGRpbmcteSk7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19wYWRkaW5nLXgpO1xcbiAgLS1ydWktbG9jYWwtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fZm9udC1zaXplKTtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RTaXplTWVkaXVtX19BXFxcXCs1aVEyazkgLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnkge1xcbiAgLS1ydWktbG9jYWwtaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9faGVpZ2h0KTtcXG59XFxuXFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RTaXplTGFyZ2VfX2s2ZzQtOU5yIHtcXG4gIC0tcnVpLWxvY2FsLXBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy15KTtcXG4gIC0tcnVpLWxvY2FsLXBhZGRpbmcteDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy14KTtcXG4gIC0tcnVpLWxvY2FsLWZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fZm9udC1zaXplKTtcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RTaXplTGFyZ2VfX2s2ZzQtOU5yIC5TZWxlY3RGaWVsZF9faW5wdXRfX1RCRFBjMTZ5IHtcXG4gIC0tcnVpLWxvY2FsLWhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9faGVpZ2h0KTtcXG59XFxuXFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RHcm91cGVkX19IOXJJV21JMCAuU2VsZWN0RmllbGRfX2lucHV0Q29udGFpbmVyX182T3RSRVhCSCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLlNlbGVjdEZpZWxkX19pc1Jvb3RHcm91cGVkX19IOXJJV21JMDpub3QoOmZpcnN0LWNoaWxkKSAuU2VsZWN0RmllbGRfX2lucHV0X19UQkRQYzE2eSB7XFxuICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1ydWktbG9jYWwtaW5uZXItYm9yZGVyLXJhZGl1cyk7XFxuICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogdmFyKC0tcnVpLWxvY2FsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xcbn1cXG4uU2VsZWN0RmllbGRfX2lzUm9vdEdyb3VwZWRfX0g5cklXbUkwOm5vdCg6bGFzdC1jaGlsZCkgLlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnkge1xcbiAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLXJ1aS1sb2NhbC1pbm5lci1ib3JkZXItcmFkaXVzKTtcXG4gIGJvcmRlci1lbmQtZW5kLXJhZGl1czogdmFyKC0tcnVpLWxvY2FsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xcbn1cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL2NvbXBvbmVudHMvU2VsZWN0RmllbGQvU2VsZWN0RmllbGQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX2ZvdW5kYXRpb24uc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX2JveC1maWVsZC1lbGVtZW50cy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9fdHJhbnNpdGlvbi5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy9zZXR0aW5ncy9fYW5pbWF0aW9ucy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90aGVtZS9fZm9ybS1maWVsZHMuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvc2V0dGluZ3MvX2Zvcm0tZmllbGRzLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3RoZW1lL190eXBvZ3JhcGh5LnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL19jYXJldC5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fdmFyaWFudHMuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvX2FjY2Vzc2liaWxpdHkuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX2JveC1maWVsZC1sYXlvdXQuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvX2JyZWFrcG9pbnQuc2Nzc1wiLFwiPG5vIHNvdXJjZT5cIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL19ib3gtZmllbGQtc2l6ZXMuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFRQTtFQ0RJLGdCQUFBO0FETEo7O0FBVUE7RUNLSSxrRkFBQTtBRFhKOztBQVVBO0VFRkksa0JBQUE7RUFDQSxvQkFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0FGSko7O0FBT0E7RUdxQ1EsK0VBUFk7RUFRWiwwQkFmMkI7RUFnQjNCLHdEQzNEbUI7RUZ1QnZCLHdCQUFBO0tBQUEscUJBQUE7VUFBQSxnQkFBQTtFQUNBLDhDR2VjO0VIZGQsc0RHZWtCO0VIZGxCLGVBQUE7RUFDQSwrQkFBQTtFQUNBLDhEQUFBO0VBQ0Esd0NJWm9CO0VKYXBCLHFDQUFBO0VBQ0EsbUJJYm9CO0VKY3BCLHdDS1hlO0VMWWYsc0JBQUE7RUFDQSw2QkFBQTtFQUNBLG1GQUFBO0VBQ0EsdURHRWdCO0VIRGhCLHVDQUFBO0VBQ0EsdUNBQUE7RUFpQ0EsZ0JBQUE7RUFDQSwyREFBQTtBRm5DSjtBR3lCWTtFSDFDWjtJRzJDZ0IsK0VBUmdCO0VIZDlCO0FBQ0Y7QUVGSTtFQUNJLG9EQUFBO0VBQ0EsVUFBQTtBRklSO0FFTkk7RUFDSSxvREFBQTtFQUNBLFVBQUE7QUZJUjtBRTRCSTtFQUNJLGFBQUE7QUYxQlI7QUUrQkk7RUFDSSxpRUduQzJCO0FMTW5DOztBQTFCQTtFRytCUSxpQ0FQWTtFQVFaLDBCQWYyQjtFQWdCM0Isd0RDM0RtQjtFRndGdkIsa0JBQUE7RUFDQSw0Q0dwRGU7RUhxRGYsOENHckRlO0VIc0RmLCtDR3REZTtFSHVEZixhQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLGtFQUFBO0VBQ0EsaUVHMURnQjtFSDJEaEIsK0RHM0RnQjtFSDREaEIsb0JBQUE7QUY3Qko7QUdQWTtFSHBDWjtJR3FDZ0IsaUNBUmdCO0VIa0I5QjtBQUNGOztBQTVDQTtFUWxCSSw0Q0FBQTtFQVRBLHFCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsbUNBQUE7RUFDQSwwQkFBQTtFTmdHQSxvQ0FBQTtBRm5CSjs7QUFuREE7RUd1QlEsdUNBUFk7RUFRWiwwQkRrRDBDO0VDakQxQyx3REMzRG1CO0VGOEd2QixrQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsV0k1RjJCO0VKNkYzQixVQUFBO0VBQ0Esb0JBQUE7RUFDQSwrQkFBQTtFQUNBLG9CQUFBO0FGbEJKO0FHckNZO0VINUJaO0lHNkJnQiw0QkFSZ0I7RUhnRDlCO0FBQ0Y7QUVlSTtFQUNJLCtDQUFBO0VBQ0EsVUFBQTtFQUNBLG9CQUFBO0FGYlI7O0FBdkVBOztFQ1JJLHVESWpCbUI7RUprQm5CLHFESW5Ca0I7RUpvQmxCLG1CS3pCb0I7RUwwQnBCLHNGQUFBO0FEb0ZKOztBQTFFQTtFQ3RCSSw0RkFBQTtBRG9HSjtBQ2xHSTtFQUNJLDZDSVJRO0VKU1Isa0RJUmM7QUw0R3RCOztBQTdFQTtFU0VZLG9FQUFBO0VBQUEsa0ZBQUE7RUFBQSw4RUFBQTtFQUFBLHNHQUFBO0VBQUEsOEVBQUE7RUFBQSxzR0FBQTtBVG9GWjtBU3pEUTtFQXBCSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FUbUdaO0FTbkVROztFQWhDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBVCtIWjtBU2pGUTtFQTlDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVQrSlo7QVNsR0k7RUF0R0EsZ0RKa0JlO0VJakJmLDhDSmdCYztBTDJMbEI7QVNqR1E7RUFDSSw2QkFBQTtFQUNBLCtCQUFBO0VBQ0EsOEJBQUE7RUFDQSw2QkFBQTtFQUNBLDRCQUFBO0FUbUdaOztBQS9LQTtFU0ZZLHFFQUFBO0VBQUEsbUZBQUE7RUFBQSwrRUFBQTtFQUFBLHVHQUFBO0VBQUEsK0VBQUE7RUFBQSx1R0FBQTtBVDBMWjtBUy9KUTtFQXBCSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FUeU1aO0FTektROztFQWhDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBVHFPWjtBU3ZMUTtFQTlDSTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVRxUVo7QVN4TUk7RUF0R0EsZ0RKa0JlO0VJakJmLDhDSmdCYztBTGlTbEI7QVM3TFE7RUFDSSx5SUFBQTtFQUNBLGdFSjFGa0I7QUx5UjlCO0FTNUxRO0VBMUhKLGdESmtCZTtFSWpCZiw4Q0pnQmM7QUx5U2xCOztBU3pQUTtFQS9CSSxnRUFBQTtFQUFBLDhFQUFBO0VBQUEsMEVBQUE7RUFBQSxrR0FBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7QVRpU1o7QVNsUFE7RUF4Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVRzU1o7QVN4UFE7RUE5Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FUc1VaO0FTbFJRO0VBcERJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FUa1ZaOztBUzFUUTtFQS9CSSw4REFBQTtFQUFBLDRFQUFBO0VBQUEsd0VBQUE7RUFBQSxnR0FBQTtFQUFBLHdFQUFBO0VBQUEsZ0dBQUE7QVRrV1o7QVNuVFE7RUF4Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVR1V1o7QVN6VFE7RUE5Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FUdVlaO0FTblZRO0VBcERJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FUbVpaOztBUzNYUTtFQS9CSSxnRUFBQTtFQUFBLDhFQUFBO0VBQUEsMEVBQUE7RUFBQSxrR0FBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7QVRtYVo7QVNwWFE7RUF4Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVR3YVo7QVMxWFE7RUE5Q0k7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FUd2NaO0FTcFpRO0VBcERJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FUb2RaOztBQXZjQTtFVTdESSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtFQUNBLFNBQUE7QVZ3Z0JKOztBQTdjQTs7RVdOSSxvQkFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QVh3ZEo7QVd0ZEk7O0VBQ0ksMkVBQUE7QVh5ZFI7QVd0ZEk7Ozs7RUFFSSx3RUFBQTtBWDBkUjtBV3ZkSTs7RUFDSSwwQkFBQTtFQUFBLHVCQUFBO0VBQUEsa0JBQUE7RUFDQSxlQUFBO0FYMGRSOztBWXJpQlE7RVpzRVI7SVdXUSxvQkFBQTtJQUNBLHlGQUFBO0lBQUEsaUZBQUE7SUFDQSxrQ0FBQTtJQUNBLGtCQUFBO0VYeWROO0VXdmRNO0lBQ0ksZ0JBQUE7SUFDQSx1RU50RTBCO0lNdUUxQiw2RE45RWlCO0lNZ0diLDJJQUFBO0lBQ0EsOElBQUE7SUFHSiwyQ0w1R1c7SUs2R1gsK0ROdEdrQjtFTDRpQjVCO0VXbmNNO0lBQ0ksZ0JBQUE7SUFDQSx1RU5sRzBCO0lNbUcxQixtQkFBQTtFWHFjVjtBQUNGOztBYXRrQkE7RUZnR1E7SUVoR1IsZ0JBQUE7SUFBQSxtQkFBQTtFYmdrQkU7RVduY007SUU3SFIsZ0JBQUE7SUFBQSxtQkFBQTtFYnFrQkU7Q2Fya0JGOztBYm9GQTtFV2dGSSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxXQUFBO0FYc2FKO0FXcGFJOzs7RUFHSSxXQUFBO0FYc2FSO0FZdmtCUTtFRHFLQTtJQUNJLGFBQUE7SUFDQSxxRkFBQTtFWHFhVjtFV2xhTTtJQUNJLHFCQUFBO0VYb2FWO0FBQ0Y7O0FBbGdCQTtFV21HSSxtQkFBQTtBWG1hSjtBV2phSTtFQUNJLFdBQUE7QVhtYVI7QVl2bEJRO0VEd0xBO0lBQ0ksV0FBQTtFWGthVjtFV3haVTtJQUVJLGFBQUE7SUFDQSw4QkFBQTtJQUNBLG1CQUFBO0VYeVpkO0VXdlpjO0lBTko7TUFPUSxpQkFBQTtJWDBaaEI7RUFDRjtFV3ZaVTtJQUNJLDhCQUFBO0VYeVpkO0VXclpNO0lBS0ksZ0JBQUE7RVhtWlY7RVdoWk07SUFJSSxvQkFBQTtFWCtZVjtFVzVZTTtJQUNJLGNBQUE7RVg4WVY7QUFDRjs7QUEvaEJBO0VjdkZJLGtFQUFBO0VBQ0Esa0VBQUE7RUFHSSxrRUFBQTtBZHduQlI7QWN0bkJRO0VBS1EsNERBQUE7QWRvbkJoQjs7QUFwaUJBO0VjM0ZJLG1FQUFBO0VBQ0EsbUVBQUE7RUFHSSxtRUFBQTtBZGlvQlI7QWMvbkJRO0VBS1EsNkRBQUE7QWQ2bkJoQjs7QUF6aUJBO0VjL0ZJLGtFQUFBO0VBQ0Esa0VBQUE7RUFHSSxrRUFBQTtBZDBvQlI7QWN4b0JRO0VBS1EsNERBQUE7QWRzb0JoQjs7QUV4aEJJO0VBQ0ksY0FBQTtBRjJoQlI7QUV4aEJJO0VBQ0ksK0RBQUE7RUFDQSw2REFBQTtBRjBoQlI7QUV2aEJJO0VBQ0ksNkRBQUE7RUFDQSwyREFBQTtBRnloQlJcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2JveC1maWVsZC1lbGVtZW50c1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2JveC1maWVsZC1sYXlvdXRcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9ib3gtZmllbGQtc2l6ZXNcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9mb3VuZGF0aW9uXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvdmFyaWFudHNcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9hY2Nlc3NpYmlsaXR5XFxcIjtcXG5cXG4vLyBGb3VuZGF0aW9uXFxuLnJvb3Qge1xcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLnJvb3QoKTtcXG59XFxuXFxuLmxhYmVsIHtcXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi5sYWJlbCgpO1xcbn1cXG5cXG4uaW5wdXRDb250YWluZXIge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtZWxlbWVudHMuaW5wdXQtY29udGFpbmVyKCk7XFxufVxcblxcbi5pbnB1dCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1lbGVtZW50cy5pbnB1dCgpO1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtZWxlbWVudHMuaW5wdXQtc2VsZWN0KCk7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1lbGVtZW50cy5pbnB1dC1zZWxlY3Qtb3B0aW9uKCk7XFxufVxcblxcbi5jYXJldCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1lbGVtZW50cy5jYXJldCgpO1xcbn1cXG5cXG4uY2FyZXRJY29uIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWVsZW1lbnRzLmNhcmV0LWljb24oKTtcXG59XFxuXFxuLmJvdHRvbUxpbmUge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtZWxlbWVudHMuYm90dG9tLWxpbmUoKTtcXG59XFxuXFxuLmhlbHBUZXh0LFxcbi52YWxpZGF0aW9uVGV4dCB7XFxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24uaGVscC10ZXh0KCk7XFxufVxcblxcbi5pc1Jvb3RSZXF1aXJlZCAubGFiZWwge1xcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLmxhYmVsLXJlcXVpcmVkKCk7XFxufVxcblxcbi8vIFZhcmlhbnRzXFxuLmlzUm9vdFZhcmlhbnRGaWxsZWQge1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52aXN1YWwoYm94LCAkdmFyaWFudDogZmlsbGVkLCAkaGFzLWNhcmV0OiB0cnVlKTtcXG59XFxuXFxuLmlzUm9vdFZhcmlhbnRPdXRsaW5lIHtcXG4gICAgQGluY2x1ZGUgdmFyaWFudHMudmlzdWFsKGJveCwgJHZhcmlhbnQ6IG91dGxpbmUsICRoYXMtY2FyZXQ6IHRydWUpO1xcbn1cXG5cXG4vLyBTdGF0ZXNcXG4uaXNSb290U3RhdGVJbnZhbGlkIHtcXG4gICAgQGluY2x1ZGUgdmFyaWFudHMudmFsaWRhdGlvbihpbnZhbGlkKTtcXG59XFxuXFxuLmlzUm9vdFN0YXRlVmFsaWQge1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52YWxpZGF0aW9uKHZhbGlkKTtcXG59XFxuXFxuLmlzUm9vdFN0YXRlV2FybmluZyB7XFxuICAgIEBpbmNsdWRlIHZhcmlhbnRzLnZhbGlkYXRpb24od2FybmluZyk7XFxufVxcblxcbi8vIEludmlzaWJsZSBsYWJlbFxcbi5pc0xhYmVsSGlkZGVuIHtcXG4gICAgQGluY2x1ZGUgYWNjZXNzaWJpbGl0eS5oaWRlLXRleHQoKTtcXG59XFxuXFxuLy8gTGF5b3V0c1xcbi5pc1Jvb3RMYXlvdXRWZXJ0aWNhbCxcXG4uaXNSb290TGF5b3V0SG9yaXpvbnRhbCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1sYXlvdXQudmVydGljYWwoKTtcXG59XFxuXFxuLmlzUm9vdExheW91dEhvcml6b250YWwge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtbGF5b3V0Lmhvcml6b250YWwoKTtcXG59XFxuXFxuLmlzUm9vdEZ1bGxXaWR0aCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1sYXlvdXQuZnVsbC13aWR0aCgpO1xcbn1cXG5cXG4uaXNSb290SW5Gb3JtTGF5b3V0IHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWxheW91dC5pbi1mb3JtLWxheW91dCgpO1xcbn1cXG5cXG4vLyBTaXplc1xcbi5pc1Jvb3RTaXplU21hbGwge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtc2l6ZXMuc2l6ZShzbWFsbCk7XFxufVxcblxcbi5pc1Jvb3RTaXplTWVkaXVtIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLXNpemVzLnNpemUobWVkaXVtKTtcXG59XFxuXFxuLmlzUm9vdFNpemVMYXJnZSB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1zaXplcy5zaXplKGxhcmdlKTtcXG59XFxuXFxuLy8gR3JvdXBzXFxuLmlzUm9vdEdyb3VwZWQge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtZWxlbWVudHMuaW4tZ3JvdXAtbGF5b3V0KCk7XFxufVxcblwiLFwiLy8gMS4gRG9uJ3QgbGV0IHRleHQgYWxpZ25tZW50IGJlIGFmZmVjdGVkIGJ5IGEgcGFyZW50Llxcbi8vIDIuIE92ZXJyaWRlIGZvdW5kYXRpb24gcmVzZXQuXFxuXFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybS1maWVsZHNcXFwiIGFzIHNldHRpbmdzO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL2Zvcm0tZmllbGRzXFxcIiBhcyB0aGVtZTtcXG5cXG5AbWl4aW4gcm9vdCgpIHtcXG4gICAgdGV4dC1hbGlnbjogbGVmdDsgLy8gMS5cXG59XFxuXFxuQG1peGluIGZpZWxkc2V0KCkge1xcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gMi5cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gbGFiZWwoKSB7XFxuICAgIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgI3t0aGVtZS4kbGFiZWwtY29sb3J9KTtcXG59XFxuXFxuQG1peGluIGxhYmVsLXJlcXVpcmVkKCkge1xcbiAgICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsICN7dGhlbWUuJHJlcXVpcmVkLWxhYmVsLWNvbG9yfSk7XFxuXFxuICAgICY6OmFmdGVyIHtcXG4gICAgICAgIGNvbnRlbnQ6IHRoZW1lLiRyZXF1aXJlZC1zaWduO1xcbiAgICAgICAgY29sb3I6IHRoZW1lLiRyZXF1aXJlZC1zaWduLWNvbG9yO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBoZWxwLXRleHQoKSB7XFxuICAgIGZvbnQtc3R5bGU6IHRoZW1lLiRoZWxwLXRleHQtZm9udC1zdHlsZTtcXG4gICAgZm9udC1zaXplOiB0aGVtZS4kaGVscC10ZXh0LWZvbnQtc2l6ZTtcXG4gICAgbGluZS1oZWlnaHQ6IHNldHRpbmdzLiRoZWxwLXRleHQtbGluZS1oZWlnaHQ7XFxuICAgIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgI3t0aGVtZS4kaGVscC10ZXh0LWNvbG9yfSk7XFxufVxcblwiLFwiLy8gMS4gR2V0IHJlYWR5IGZvciBwb3NpdGlvbmluZyBvZiBib3R0b20gbGluZSBhbmQgY2FyZXQuXFxuLy8gMi4gQWx3YXlzIHByZWZlciBgc2l6ZWAgYW5kIGBtYXhgIGF0dHJpYnV0ZXMgd2hlbiBkZWZpbmVkLiBVc2UgQ1NTIGZvciBzaXppbmcgdG8gbm9ybWFsaXplXFxuLy8gICAgcmVzdWx0IHdpZHRoIGFjcm9zcyBicm93c2Vycy5cXG4vLyAzLiBMZXQgaW5wdXRzIHByb3Blcmx5IGZpdCB2YXJpb3VzIGxheW91dCBzY2VuYXJpb3MuXFxuLy8gNC4gTGVhdmUgb3V0IHNwYWNlIGZvciBTZWxlY3RGaWVsZCBjYXJldC5cXG4vLyA1LiBVc2UgYSBibG9jay1sZXZlbCBkaXNwbGF5IG1vZGUgdG8gcHJldmVudCBleHRyYSB3aGl0ZSBzcGFjZSBiZWxvdyBncm91cGVkIGlucHV0cyBpbiBTYWZhcmkuXFxuXFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybS1maWVsZHNcXFwiIGFzIHNldHRpbmdzO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL2Zvcm0tZmllbGRzXFxcIiBhcyB0aGVtZTtcXG5AdXNlIFxcXCIuLi8uLi90b29scy9jYXJldFxcXCI7XFxuQHVzZSBcXFwiLi4vc3BhY2luZ1xcXCI7XFxuQHVzZSBcXFwiLi4vdHJhbnNpdGlvblxcXCI7XFxuXFxuQG1peGluIGlucHV0LWNvbnRhaW5lcigpIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyAxLlxcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gICAgbWluLXdpZHRoOiAwOyAvLyAzLlxcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDMuXFxufVxcblxcbkBtaXhpbiBpbnB1dCgpIHtcXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi5hZGQoKG9wYWNpdHksIGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cpKTtcXG5cXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgd2lkdGg6IHRoZW1lLiRib3gtaW5wdXQtd2lkdGg7XFxuICAgIG1pbi13aWR0aDogdGhlbWUuJGJveC1pbnB1dC1taW4td2lkdGg7XFxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMy5cXG4gICAgaGVpZ2h0OiB2YXIoLS1ydWktbG9jYWwtaGVpZ2h0KTtcXG4gICAgcGFkZGluZzogdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteSkgdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteCk7XFxuICAgIGZvbnQtd2VpZ2h0OiBzZXR0aW5ncy4kYm94LWlucHV0LWZvbnQtd2VpZ2h0O1xcbiAgICBmb250LXNpemU6IHZhcigtLXJ1aS1sb2NhbC1mb250LXNpemUpO1xcbiAgICBsaW5lLWhlaWdodDogc2V0dGluZ3MuJGJveC1pbnB1dC1saW5lLWhlaWdodDtcXG4gICAgZm9udC1mYW1pbHk6IHNldHRpbmdzLiRib3gtaW5wdXQtZm9udC1mYW1pbHk7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxuICAgIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtY29sb3IpO1xcbiAgICBib3JkZXI6IHRoZW1lLiRib3gtYm9yZGVyLXdpZHRoIHNvbGlkIHZhcigtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3IpO1xcbiAgICBib3JkZXItcmFkaXVzOiB0aGVtZS4kYm94LWJvcmRlci1yYWRpdXM7XFxuICAgIGJhY2tncm91bmQ6IHZhcigtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tcnVpLWxvY2FsLWJveC1zaGFkb3cpO1xcblxcbiAgICAmOjpwbGFjZWhvbGRlciB7XFxuICAgICAgICBjb2xvcjogdGhlbWUuJGJveC1wbGFjZWhvbGRlci1jb2xvcjtcXG4gICAgICAgIG9wYWNpdHk6IDE7XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGlucHV0LXNpemUoKSB7XFxuICAgIHdpZHRoOlxcbiAgICAgICAgY2FsYyhcXG4gICAgICAgICAgICAxY2ggKiB2YXIoLS1ydWktY3VzdG9tLWlucHV0LXNpemUpXFxuICAgICAgICAgICAgKyB2YXIoLS1ydWktbG9jYWwtYXJyb3dzLXdpZHRoLCAwKVxcbiAgICAgICAgICAgICsgMiAqIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXgpXFxuICAgICAgICAgICAgKyAyICogI3t0aGVtZS4kYm94LWJvcmRlci13aWR0aH1cXG4gICAgICAgICk7IC8vIDIuXFxuXFxuICAgIG1pbi13aWR0aDogYXV0bzsgLy8gMi5cXG5cXG4gICAgJlt0eXBlPVxcXCJudW1iZXJcXFwiXSB7XFxuICAgICAgICAtLXJ1aS1sb2NhbC1hcnJvd3Mtd2lkdGg6ICN7c2V0dGluZ3MuJGJveC1maWVsZC1pbnB1dC1udW1iZXItYXJyb3dzLXdpZHRofTtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaW5wdXQtdGV4dGFyZWEoKSB7XFxuICAgIHJlc2l6ZTogdmVydGljYWw7XFxuXFxuICAgICZbY29sc10ge1xcbiAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbnB1dC1zZWxlY3QoKSB7XFxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3tzZXR0aW5ncy4kYm94LWZpZWxkLWNhcmV0LXNpemV9ICsgI3tzcGFjaW5nLm9mKDIpfSk7IC8vIDQuXFxuXFxuICAgICY6Oi1tcy1leHBhbmQge1xcbiAgICAgICAgZGlzcGxheTogbm9uZTtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaW5wdXQtc2VsZWN0LW9wdGlvbigpIHtcXG4gICAgb3B0aW9uOmRpc2FibGVkIHtcXG4gICAgICAgIGNvbG9yOiB0aGVtZS4kYm94LXNlbGVjdC1vcHRpb24tZGlzYWJsZWQtY29sb3I7XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGNhcmV0KCkge1xcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLmFkZCgoYm9yZGVyLWNvbG9yKSk7XFxuXFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLy8gMS5cXG4gICAgdG9wOiB0aGVtZS4kYm94LWJvcmRlci13aWR0aDtcXG4gICAgcmlnaHQ6IHRoZW1lLiRib3gtYm9yZGVyLXdpZHRoO1xcbiAgICBib3R0b206IHRoZW1lLiRib3gtYm9yZGVyLXdpZHRoO1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgd2lkdGg6IGNhbGMoI3tzZXR0aW5ncy4kYm94LWZpZWxkLWNhcmV0LXNpemV9IC0gMiAqICN7dGhlbWUuJGJveC1ib3JkZXItd2lkdGh9KTtcXG4gICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHRoZW1lLiRib3gtYm9yZGVyLXJhZGl1cztcXG4gICAgYm9yZGVyLWVuZC1lbmQtcmFkaXVzOiB0aGVtZS4kYm94LWJvcmRlci1yYWRpdXM7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbn1cXG5cXG5AbWl4aW4gY2FyZXQtaWNvbigpIHtcXG4gICAgQGluY2x1ZGUgY2FyZXQuY3JlYXRlKCk7XFxuXFxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcnVpLWxvY2FsLWNvbG9yKTtcXG59XFxuXFxuQG1peGluIGJvdHRvbS1saW5lKCkge1xcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLmFkZCgodHJhbnNmb3JtLCBvcGFjaXR5KSwgMTgwbXMpO1xcblxcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IC8vIDEuXFxuICAgIGJvdHRvbTogMDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGhlaWdodDogc2V0dGluZ3MuJGJveC1maWVsZC1ib3R0b20tbGluZS1oZWlnaHQ7XFxuICAgIG9wYWNpdHk6IDA7XFxuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG5cXG4gICAgLmlucHV0OmZvY3VzIH4gJiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yKTtcXG4gICAgICAgIG9wYWNpdHk6IDE7XFxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaW4tZ3JvdXAtbGF5b3V0KCkge1xcbiAgICAuaW5wdXRDb250YWluZXIge1xcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vIDUuXFxuICAgIH1cXG5cXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSAuaW5wdXQge1xcbiAgICAgICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogdmFyKC0tcnVpLWxvY2FsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xcbiAgICAgICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IHZhcigtLXJ1aS1sb2NhbC1pbm5lci1ib3JkZXItcmFkaXVzKTtcXG4gICAgfVxcblxcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmlucHV0IHtcXG4gICAgICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS1ydWktbG9jYWwtaW5uZXItYm9yZGVyLXJhZGl1cyk7XFxuICAgICAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhcigtLXJ1aS1sb2NhbC1pbm5lci1ib3JkZXItcmFkaXVzKTtcXG4gICAgfVxcbn1cXG5cIixcIkB1c2UgXFxcInNhc3M6bGlzdFxcXCI7XFxuQHVzZSBcXFwic2FzczptZXRhXFxcIjtcXG5AdXNlIFxcXCJzYXNzOnN0cmluZ1xcXCI7XFxuQHVzZSBcXFwiLi4vc2V0dGluZ3MvYW5pbWF0aW9uc1xcXCI7XFxuXFxuJF9hbGxvd2VkLXRyYW5zaXRpb25zOiAoXFxuICAgIGJvcmRlci1jb2xvcixcXG4gICAgYmFja2dyb3VuZC1jb2xvcixcXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbixcXG4gICAgYm94LXNoYWRvdyxcXG4gICAgY29sb3IsXFxuICAgIG9wYWNpdHksXFxuICAgIHRyYW5zZm9ybSxcXG4gICAgdmlzaWJpbGl0eSxcXG4pO1xcblxcbiRfcmVkdWNlZC1tb3Rpb24tZGlzYWxsb3dlZC10cmFuc2l0aW9uczogKHRyYW5zZm9ybSk7XFxuXFxuQGZ1bmN0aW9uIF92YWxpZGF0ZS10cmFuc2l0aW9ucygkcHJvcGVydGllcykge1xcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xcbiAgICAgICAgJGlzLWFsbG93ZWQ6IGxpc3QuaW5kZXgoJF9hbGxvd2VkLXRyYW5zaXRpb25zLCAkcHJvcGVydHkpO1xcblxcbiAgICAgICAgQGlmIG5vdCAkaXMtYWxsb3dlZCB7XFxuICAgICAgICAgICAgQHJldHVybiBmYWxzZTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAcmV0dXJuIHRydWU7XFxufVxcblxcbkBmdW5jdGlvbiBfcmVkdWNlLW1vdGlvbi10cmFuc2l0aW9ucygkcHJvcGVydGllcykge1xcbiAgICAkcmVkdWNlZC1wcm9wZXJ0aWVzOiAoKTtcXG4gICAgJHNlcGFyYXRvcjogbGlzdC5zZXBhcmF0b3IoJHByb3BlcnRpZXMpO1xcblxcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xcbiAgICAgICAgQGlmIG5vdCBsaXN0LmluZGV4KCRfcmVkdWNlZC1tb3Rpb24tZGlzYWxsb3dlZC10cmFuc2l0aW9ucywgJHByb3BlcnR5KSB7XFxuICAgICAgICAgICAgJHJlZHVjZWQtcHJvcGVydGllczogbGlzdC5hcHBlbmQoJHJlZHVjZWQtcHJvcGVydGllcywgJHByb3BlcnR5LCAkc2VwYXJhdG9yOiAkc2VwYXJhdG9yKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAcmV0dXJuICRyZWR1Y2VkLXByb3BlcnRpZXM7XFxufVxcblxcbkBtaXhpbiBhZGQoJHByb3BlcnRpZXMsICRkdXJhdGlvbjogMTUwbXMpIHtcXG4gICAgJHByb3BlcnR5LWxpc3Q6ICgpO1xcblxcbiAgICBAaWYgbWV0YS50eXBlLW9mKCRwcm9wZXJ0aWVzKSAhPSBcXFwic3RyaW5nXFxcIiBhbmQgbWV0YS50eXBlLW9mKCRwcm9wZXJ0aWVzKSAhPSBcXFwibGlzdFxcXCIge1xcbiAgICAgICAgQGVycm9yIFxcXCJUcmFuc2l0aW9uIHByb3BlcnRpZXMgbXVzdCBiZSBhIHN0cmluZyBvciBhIFNhc3MgbGlzdCwgYCN7JHByb3BlcnRpZXN9YCBnaXZlbi5cXFwiO1xcbiAgICB9XFxuXFxuICAgICRwcm9wZXJ0eS1saXN0OiBsaXN0LmpvaW4oJHByb3BlcnR5LWxpc3QsICRwcm9wZXJ0aWVzKTtcXG5cXG4gICAgQGlmIG5vdCBfdmFsaWRhdGUtdHJhbnNpdGlvbnMoJHByb3BlcnR5LWxpc3QpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiT25seSBbI3skX2FsbG93ZWQtdHJhbnNpdGlvbnN9XSB0cmFuc2l0aW9ucyBhcmUgYWxsb3dlZCwgWyN7JHByb3BlcnRpZXN9XSBnaXZlbi5cXFwiO1xcbiAgICB9IEBlbHNlIHtcXG4gICAgICAgICRyZWR1Y2VkLXByb3BlcnR5LWxpc3Q6IF9yZWR1Y2UtbW90aW9uLXRyYW5zaXRpb25zKCRwcm9wZXJ0eS1saXN0KTtcXG5cXG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6ICRwcm9wZXJ0eS1saXN0O1xcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGFuaW1hdGlvbnMuJHN0YW5kYXJkLXRpbWluZy1mdW5jdGlvbjtcXG5cXG4gICAgICAgIEBpZiBsaXN0Lmxlbmd0aCgkcmVkdWNlZC1wcm9wZXJ0eS1saXN0KSA+IDAge1xcbiAgICAgICAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XFxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6ICRyZWR1Y2VkLXByb3BlcnR5LWxpc3Q7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiLFwiJHN0YW5kYXJkLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcXG5cIixcIi8vIFZhcmlhbnQgc3BlY2lmaWMgdGhlbWUgb3B0aW9ucyBhcmUgb2J0YWluZWQgZHluYW1pY2FsbHkgYmVjYXVzZSB0aGVyZSBpcyB3YXkgdG9vIG1hbnkgb2YgdGhlbSB0b1xcbi8vIG1haW50YWluIG1hbnVhbGx5LiBTZWUgYHNldHRpbmdzL19mb3JtLWZpZWxkcy5zY3NzYCBhbmQgYHRvb2xzL2Zvcm0tZmllbGRzL192YXJpYW50cy5zY3NzYCBmb3JcXG4vLyBkZXRhaWxzLlxcbi8vXFxuLy8gMS4gRGVmYXVsdHMgdG8gemVybyB3aGVuIG5laXRoZXIgYC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3BhZGRpbmcteWAgKG9wdGlvbmFsKSBub3JcXG4vLyAgICBgLS1ydWktbG9jYWwtcGFkZGluZy15YCAoaGFuZGxlZCBieSB0aGUgYHNpemUoKWAgbWl4aW4gaW4gY2FzZSBvZiBib3ggZm9ybSBmaWVsZHMsIHNlZVxcbi8vICAgIGBfYm94LWZpZWxkLXNpemVzLnNjc3NgKSBpcyBkZWZpbmVkLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIEZvcm1MYXlvdXRDdXN0b21GaWVsZCBtYXkgaGF2ZSBub1xcbi8vICAgIHNpemUgc3BlY2lmaWVkIHRoZXJlZm9yZSBpdHMgbGFiZWwgc2hvdWxkIGhhdmUgbm8gcGFkZGluZyBhdCB0aGUgdG9wLlxcblxcbi8vIEZvcm1zIGZpZWxkczogY29tbW9uIHByb3BlcnRpZXNcXG4kbGFiZWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2xhYmVsX19jb2xvcik7XFxuJGxhYmVsLWZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9fbGFiZWxfX2ZvbnQtc2l6ZSk7XFxuJGhlbHAtdGV4dC1mb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fZm9udC1zaXplKTtcXG4kaGVscC10ZXh0LWZvbnQtc3R5bGU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fZm9udC1zdHlsZSk7XFxuJGhlbHAtdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19jb2xvcik7XFxuJHJlcXVpcmVkLWxhYmVsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fbGFiZWxfX2NvbG9yKTtcXG4kcmVxdWlyZWQtc2lnbjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX3NpZ24pO1xcbiRyZXF1aXJlZC1zaWduLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fc2lnbl9fY29sb3IpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBob3Jpem9udGFsIGxheW91dFxcbiRob3Jpem9udGFsLWxhYmVsLXRleHQtYWxpZ246IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX190ZXh0LWFsaWduKTtcXG4kaG9yaXpvbnRhbC1sYWJlbC1taW4td2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19taW4td2lkdGgpO1xcbiRob3Jpem9udGFsLWxhYmVsLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fd2lkdGgpO1xcbiRob3Jpem9udGFsLWxhYmVsLXBhZGRpbmcteTpcXG4gICAgdmFyKFxcbiAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15LFxcbiAgICAgICAgY2FsYyh2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci13aWR0aCkgKyB2YXIoLS1ydWktbG9jYWwtcGFkZGluZy15KSlcXG4gICAgKTsgLy8gMS5cXG4kaG9yaXpvbnRhbC1sYWJlbC12ZXJ0aWNhbC1hbGlnbm1lbnQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX192ZXJ0aWNhbC1hbGlnbm1lbnQpO1xcbiRob3Jpem9udGFsLWZpZWxkLXZlcnRpY2FsLWFsaWdubWVudDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fZmllbGRfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuJGhvcml6b250YWwtZnVsbC13aWR0aC1sYWJlbC13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbC0tZnVsbC13aWR0aF9fbGFiZWxfX3dpZHRoKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogZGlzYWJsZWQgc3RhdGVcXG4kZGlzYWJsZWQtY3Vyc29yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fY3Vyc29yKTtcXG4kZGlzYWJsZWQtb3BhY2l0eTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX29wYWNpdHkpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBib3ggZmllbGRzXFxuJGJveC1ib3JkZXItd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKTtcXG4kYm94LWJvcmRlci1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXJhZGl1cyk7XFxuJGJveC1pbnB1dC13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19pbnB1dF9fd2lkdGgpO1xcbiRib3gtaW5wdXQtbWluLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2lucHV0X19taW4td2lkdGgpO1xcbiRib3gtcGxhY2Vob2xkZXItY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fcGxhY2Vob2xkZXJfX2NvbG9yKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogYm94IGZpZWxkcywgY29tcG9uZW50IHNwZWNpZmljXFxuJGJveC1zZWxlY3QtY2FyZXQtYm9yZGVyLXN0eWxlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fY2FyZXRfX2JvcmRlci1zdHlsZSk7XFxuJGJveC1zZWxlY3QtY2FyZXQtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zZWxlY3RfX2NhcmV0X19iYWNrZ3JvdW5kKTtcXG4kYm94LXNlbGVjdC1vcHRpb24tZGlzYWJsZWQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc2VsZWN0X19vcHRpb24tLWRpc2FibGVkX19jb2xvcik7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGJveCBmaWVsZCBzaXplc1xcbiRib3gtc2l6ZXM6IChcXG4gICAgc21hbGw6IChcXG4gICAgICAgIGhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zbWFsbF9faGVpZ2h0KSxcXG4gICAgICAgIHBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zbWFsbF9fcGFkZGluZy15KSxcXG4gICAgICAgIHBhZGRpbmcteDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zbWFsbF9fcGFkZGluZy14KSxcXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zbWFsbF9fZm9udC1zaXplKSxcXG4gICAgKSxcXG4gICAgbWVkaXVtOiAoXFxuICAgICAgICBoZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19oZWlnaHQpLFxcbiAgICAgICAgcGFkZGluZy15OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fcGFkZGluZy15KSxcXG4gICAgICAgIHBhZGRpbmcteDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX3BhZGRpbmcteCksXFxuICAgICAgICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19mb250LXNpemUpLFxcbiAgICApLFxcbiAgICBsYXJnZTogKFxcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWxhcmdlX19oZWlnaHQpLFxcbiAgICAgICAgcGFkZGluZy15OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWxhcmdlX19wYWRkaW5nLXkpLFxcbiAgICAgICAgcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWxhcmdlX19wYWRkaW5nLXgpLFxcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWxhcmdlX19mb250LXNpemUpLFxcbiAgICApLFxcbik7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGNoZWNrIGZpZWxkc1xcbiRjaGVjay1pbnB1dC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXRfX3NpemUpO1xcbiRjaGVjay1pbnB1dC1ib3JkZXItd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dF9fYm9yZGVyLXdpZHRoKTtcXG4kY2hlY2staW5wdXQtZm9jdXMtYm94LXNoYWRvdzogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1mb2N1c19fYm94LXNoYWRvdyk7XFxuJGNoZWNrLXRhcC10YXJnZXQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX3RhcC10YXJnZXQtc2l6ZSk7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGNoZWNrIGZpZWxkcywgY29tcG9uZW50IHNwZWNpZmljXFxuJGNoZWNrLWlucHV0LWNoZWNrYm94LWJvcmRlci1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tY2hlY2tib3hfX2JvcmRlci1yYWRpdXMpO1xcbiRjaGVjay1pbnB1dC1jaGVja2JveC1jaGVja2VkLWJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tY2hlY2tib3gtLWNoZWNrZWRfX2JhY2tncm91bmQtaW1hZ2UpO1xcbiRjaGVjay1pbnB1dC1yYWRpby1ib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXJhZGlvX19ib3JkZXItcmFkaXVzKTtcXG4kY2hlY2staW5wdXQtcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXJhZGlvLS1jaGVja2VkX19iYWNrZ3JvdW5kLWltYWdlKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZV9fd2lkdGgpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGVfX2JvcmRlci1yYWRpdXMpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtYmFja2dyb3VuZC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZV9fYmFja2dyb3VuZC1zaXplKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWRlZmF1bHQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWRlZmF1bHRfX2JhY2tncm91bmQtaW1hZ2UpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtZGVmYXVsdC1iYWNrZ3JvdW5kLXBvc2l0aW9uOlxcbiAgICB2YXIoXFxuICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlLS1kZWZhdWx0X19iYWNrZ3JvdW5kLXBvc2l0aW9uXFxuICAgICk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1jaGVja2VkLWJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlLS1jaGVja2VkX19iYWNrZ3JvdW5kLWltYWdlKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWNoZWNrZWQtYmFja2dyb3VuZC1wb3NpdGlvbjpcXG4gICAgdmFyKFxcbiAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZS0tY2hlY2tlZF9fYmFja2dyb3VuZC1wb3NpdGlvblxcbiAgICApO1xcblwiLFwiLy8gMS4gSW5wdXQgYGxpbmUtaGVpZ2h0YCBpcyBzcGVjaWZpZWQgaW4gYHJlbWAgc28gaW5wdXRzIGRvIG5vdCBicmVhayB3aGVuIHRoZWlyIGZvbnQgc2l6ZSBnZXRzXFxuLy8gICAgY2hhbmdlZCBsYXRlci5cXG5cXG5AdXNlIFxcXCJzYXNzOm1hcFxcXCI7XFxuQHVzZSBcXFwiLi4vdGhlbWUvdHlwb2dyYXBoeVxcXCI7XFxuQHVzZSBcXFwiLi4vdG9vbHMvc3BhY2luZ1xcXCI7XFxuXFxuJGhlbHAtdGV4dC1saW5lLWhlaWdodDogMS4ycmVtO1xcblxcbiR2ZXJ0aWNhbC1pbm5lci1nYXA6IHNwYWNpbmcub2YoMSk7XFxuJHZlcnRpY2FsLWlubmVyLWdhcC1sYXJnZTogc3BhY2luZy5vZigyKTtcXG4kdmVydGljYWwtb3V0ZXItc3BhY2luZzogc3BhY2luZy5vZigyKTtcXG5cXG4kaG9yaXpvbnRhbC1pbm5lci1nYXA6IHNwYWNpbmcub2YoMik7XFxuJGhvcml6b250YWwtb3V0ZXItc3BhY2luZzogc3BhY2luZy5vZigyKTtcXG5cXG4kYm94LWlucHV0LWZvbnQtZmFtaWx5OiB0eXBvZ3JhcGh5LiRmb250LWZhbWlseS1iYXNlO1xcbiRib3gtaW5wdXQtZm9udC13ZWlnaHQ6IG1hcC5nZXQodHlwb2dyYXBoeS4kZm9udC13ZWlnaHQtdmFsdWVzLCBkZWZhdWx0KTtcXG4kYm94LWlucHV0LWxpbmUtaGVpZ2h0OiAxLjVyZW07IC8vIDEuXFxuJGJveC1maWVsZC1jYXJldC1zaXplOiAyLjI1cmVtO1xcbiRib3gtZmllbGQtaW5wdXQtbnVtYmVyLWFycm93cy13aWR0aDogMS41cmVtO1xcbiRib3gtZmllbGQtYm90dG9tLWxpbmUtaGVpZ2h0OiAycHg7XFxuXFxuJGlubGluZS1maWVsZC1pbm5lci1nYXA6IHNwYWNpbmcub2YoMik7XFxuXFxuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlczogKFxcbiAgICBib3g6IChcXG4gICAgICAgIGZpbGxlZDogKGRlZmF1bHQsIGhvdmVyLCBmb2N1cywgZGlzYWJsZWQpLFxcbiAgICAgICAgb3V0bGluZTogKGRlZmF1bHQsIGhvdmVyLCBmb2N1cywgZGlzYWJsZWQpLFxcbiAgICApLFxcbiAgICBjaGVjazogKFxcbiAgICAgICAgZGVmYXVsdDogKGRlZmF1bHQsIGNoZWNrZWQsIGRpc2FibGVkLCBjaGVja2VkLWRpc2FibGVkKSxcXG4gICAgKSxcXG4gICAgY3VzdG9tOiAoXFxuICAgICAgICBkZWZhdWx0OiAoZGVmYXVsdCwgZGlzYWJsZWQpLFxcbiAgICApLFxcbiAgICB2YWxpZGF0aW9uOiAoXFxuICAgICAgICBpbnZhbGlkOiAoZGVmYXVsdCwgY2hlY2tlZCwgZGlzYWJsZWQsIGNoZWNrZWQtZGlzYWJsZWQpLFxcbiAgICAgICAgdmFsaWQ6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICAgICB3YXJuaW5nOiAoZGVmYXVsdCwgY2hlY2tlZCwgZGlzYWJsZWQsIGNoZWNrZWQtZGlzYWJsZWQpLFxcbiAgICApLFxcbik7XFxuXFxuJHRoZW1lYWJsZS1zdGF0ZS1wcm9wZXJ0aWVzOiAoXFxuICAgIGRlZmF1bHQ6IChjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93LCBzdXJyb3VuZGluZy10ZXh0LWNvbG9yKSxcXG4gICAgaG92ZXI6IChjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLCBib3gtc2hhZG93KSxcXG4gICAgZm9jdXM6IChjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93KSxcXG4gICAgY2hlY2tlZDogKGJvcmRlci1jb2xvciwgY2hlY2stYmFja2dyb3VuZC1jb2xvciksXFxuICAgIGRpc2FibGVkOiAoY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZCwgY2hlY2stYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdywgc3Vycm91bmRpbmctdGV4dC1jb2xvciksXFxuICAgIGNoZWNrZWQtZGlzYWJsZWQ6IChib3JkZXItY29sb3IsIGNoZWNrLWJhY2tncm91bmQtY29sb3IpLFxcbik7XFxuXCIsXCIkZm9udC13ZWlnaHQtdmFsdWVzOiAoXFxuICAgIGxpZ2h0OiB2YXIoLS1ydWktZm9udC13ZWlnaHQtbGlnaHQpLFxcbiAgICBkZWZhdWx0OiB2YXIoLS1ydWktZm9udC13ZWlnaHQtYmFzZSksXFxuICAgIGJvbGQ6IHZhcigtLXJ1aS1mb250LXdlaWdodC1ib2xkKSxcXG4pO1xcblxcbiRmb250LXdlaWdodC1iYXNlOiB2YXIoLS1ydWktZm9udC13ZWlnaHQtYmFzZSk7XFxuXFxuJGZvbnQtc2l6ZS12YWx1ZXM6IChcXG4gICAgMTogdmFyKC0tcnVpLWZvbnQtc2l6ZS0xKSxcXG4gICAgMjogdmFyKC0tcnVpLWZvbnQtc2l6ZS0yKSxcXG4gICAgMzogdmFyKC0tcnVpLWZvbnQtc2l6ZS0zKSxcXG4gICAgNDogdmFyKC0tcnVpLWZvbnQtc2l6ZS00KSxcXG4gICAgNTogdmFyKC0tcnVpLWZvbnQtc2l6ZS01KSxcXG4gICAgNjogdmFyKC0tcnVpLWZvbnQtc2l6ZS02KSxcXG4pO1xcblxcbiRmb250LXNpemUtYmFzZTogdmFyKC0tcnVpLWZvbnQtc2l6ZS1iYXNlKTtcXG4kZm9udC1zaXplLXNtYWxsOiB2YXIoLS1ydWktZm9udC1zaXplLXNtYWxsKTtcXG4kZm9udC1zaXplLXNtYWxsZXI6IHZhcigtLXJ1aS1mb250LXNpemUtc21hbGxlcik7XFxuXFxuJGZvbnQtZmFtaWx5LWJhc2U6IHZhcigtLXJ1aS1mb250LWZhbWlseS1iYXNlKTtcXG5cXG4kbGluZS1oZWlnaHQtYmFzZTogdmFyKC0tcnVpLWxpbmUtaGVpZ2h0LWJhc2UpO1xcbiRsaW5lLWhlaWdodC1zbWFsbDogdmFyKC0tcnVpLWxpbmUtaGVpZ2h0LXNtYWxsKTtcXG5cIixcIkBtaXhpbiBjcmVhdGUoJHJvdGF0ZTogMCkge1xcbiAgICBAaW5jbHVkZSByb3RhdGUoKTtcXG5cXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB3aWR0aDogMC40Mzc1cmVtO1xcbiAgICBoZWlnaHQ6IDAuNDM3NXJlbTtcXG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XFxuICAgIGJvcmRlci1zdHlsZTogbm9uZSBzb2xpZCBzb2xpZCBub25lO1xcbiAgICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcXG59XFxuXFxuQG1peGluIHJvdGF0ZSgkcm90YXRlOiAwKSB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4xcmVtKSByb3RhdGUoJHJvdGF0ZSArIDQ1ZGVnKTtcXG59XFxuXCIsXCIvLyAxLiBEdWUgdG8gY29tcGxleGl0eSwgaXQncyBlYXNpZXIgYW5kIHNhZmVyIHRvIHJlc29sdmUgdmFyaWFudCBjdXN0b20gcHJvcGVydGllcyBkeW5hbWljYWxseSB3aXRoXFxuLy8gICAgYSBtaXhpbi4gVGhpcyB3YXkgaXQncyBhbHNvIGVhc2llciB0byBtYWtlIHRoZW1pbmcgYWRqdXN0bWVudHMgdG8gYWxsIHN1cHBvcnRlZCBtb2RpZmljYXRpb25zXFxuLy8gICAgaW4gb25lIHBsYWNlLiBHZW5lcmF0ZWQgY3VzdG9tIHByb3BlcnRpZXMgYXJlIGNvbnN1bWVkIG1haW5seSBpbiBmb3VuZGF0aW9uIGZpZWxkIHN0eWxlcyAoc2VlXFxuLy8gICAgYHRvb2xzL2Zvcm0tZmllbGRzL19mb3VuZGF0aW9uLnNjc3NgIGZvciBtb3JlKS5cXG4vL1xcbi8vIDIuIEludGVyYWN0aW9uIHN0YXRlcyBvdGhlciB0aGFuIGBkZWZhdWx0YCBkZWZhdWx0IHRvIHRoZSBgZGVmYXVsdGAgKHNpYyEpIHN0YXRlIGFwcGVhcmFuY2UgaWZcXG4vLyAgICBjb3JyZXNwb25kaW5nIGN1c3RvbSBwcm9wZXJ0aWVzIGFyZSBub3QgcHJvdmlkZWQuXFxuLy9cXG4vLyAzLiBgLmlucHV0OmZvY3VzYCBpcyBhZGRlZCBqdXN0IGluIGNhc2UgYDpmb2N1cy13aXRoaW5gIGRvZXNuJ3Qgd29yay5cXG5cXG5AdXNlIFxcXCJzYXNzOmxpc3RcXFwiO1xcbkB1c2UgXFxcInNhc3M6bWFwXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3JtLWZpZWxkc1xcXCIgYXMgc2V0dGluZ3M7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcblxcbkBtaXhpbiBfZGlzYWJsZWQtc3RhdGUoKSB7XFxuICAgIG9wYWNpdHk6IHRoZW1lLiRkaXNhYmxlZC1vcGFjaXR5O1xcbiAgICBjdXJzb3I6IHRoZW1lLiRkaXNhYmxlZC1jdXJzb3I7XFxufVxcblxcbi8vIDEuXFxuQG1peGluIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsICRzdGF0ZSkge1xcbiAgICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMobWFwLmdldChzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzLCAkdHlwZSkpLCAkdmFyaWFudCkge1xcbiAgICAgICAgQGVycm9yIFxcXCJJbnZhbGlkIHZhcmlhbnQgc3BlY2lmaWVkISAjeyR2YXJpYW50fSBkb2Vzbid0IGV4aXN0LiBcXFwiXFxuICAgICAgICAgICAgKyBcXFwiQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKG1hcC5nZXQoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcywgJHR5cGUpKX0uXFxcIjtcXG4gICAgfVxcblxcbiAgICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMoc2V0dGluZ3MuJHRoZW1lYWJsZS1zdGF0ZS1wcm9wZXJ0aWVzKSwgJHN0YXRlKSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgc3RhdGUgc3BlY2lmaWVkISAjeyRzdGF0ZX0gZG9lc24ndCBleGlzdC4gXFxcIlxcbiAgICAgICAgICAgICsgXFxcIkNob29zZSBvbmUgb2YgI3ttYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXMpfS5cXFwiO1xcbiAgICB9XFxuXFxuICAgICRwcm9wZXJ0aWVzOiBtYXAuZ2V0KHNldHRpbmdzLiR0aGVtZWFibGUtc3RhdGUtcHJvcGVydGllcywgJHN0YXRlKTtcXG4gICAgJGluZml4OiAkdHlwZTtcXG4gICAgJGZhbGxiYWNrLXN0YXRlOiBcXFwiZGVmYXVsdFxcXCI7XFxuXFxuICAgIEBpZiAkdHlwZSA9PSBcXFwidmFsaWRhdGlvblxcXCIge1xcbiAgICAgICAgJGluZml4OiAkdmFyaWFudDtcXG4gICAgfVxcblxcbiAgICBAaWYgJHR5cGUgIT0gXFxcInZhbGlkYXRpb25cXFwiIGFuZCAkdmFyaWFudCAhPSBcXFwiZGVmYXVsdFxcXCIge1xcbiAgICAgICAgJGluZml4OiAjeyR0eXBlfS0tI3skdmFyaWFudH07XFxuICAgIH1cXG5cXG4gICAgQGlmICRzdGF0ZSA9PSBcXFwiY2hlY2tlZC1kaXNhYmxlZFxcXCIge1xcbiAgICAgICAgJGZhbGxiYWNrLXN0YXRlOiBcXFwiY2hlY2tlZFxcXCI7XFxuICAgIH1cXG5cXG4gICAgQGlmICRzdGF0ZSA9PSBcXFwiZGVmYXVsdFxcXCIge1xcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcXG4gICAgICAgICAgICAtLXJ1aS1sb2NhbC0jeyRwcm9wZXJ0eX06IHZhcigtLXJ1aS1Gb3JtRmllbGQtLSN7JGluZml4fS0tI3skc3RhdGV9X18jeyRwcm9wZXJ0eX0pO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIC8vIDIuXFxuICAgIEBlbHNlIHtcXG4gICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XFxuICAgICAgICAgICAgLS1ydWktbG9jYWwtI3skcHJvcGVydHl9OlxcbiAgICAgICAgICAgICAgICB2YXIoXFxuICAgICAgICAgICAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLSN7JGluZml4fS0tI3skc3RhdGV9X18jeyRwcm9wZXJ0eX0sXFxuICAgICAgICAgICAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS0jeyRpbmZpeH0tLSN7JGZhbGxiYWNrLXN0YXRlfV9fI3skcHJvcGVydHl9KVxcbiAgICAgICAgICAgICAgICApO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBfZ2V0LXRoZW1lKCR0eXBlLCAkdmFyaWFudCkge1xcbiAgICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcyksICR0eXBlKSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgdHlwZSBzcGVjaWZpZWQhICN7JHR5cGV9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcyl9LlxcXCI7XFxuICAgIH1cXG5cXG4gICAgJHRoZW1lYWJsZS1zdGF0ZXM6IG1hcC5nZXQobWFwLmdldChzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzLCAkdHlwZSksICR2YXJpYW50KTtcXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJob3ZlclxcXCIpIHtcXG4gICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJkZWZhdWx0XFxcIik7XFxuXFxuICAgICAgICAmOmhvdmVyIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiaG92ZXJcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfSBAZWxzZSB7XFxuICAgICAgICAmLFxcbiAgICAgICAgJjpob3ZlciB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImRlZmF1bHRcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImZvY3VzXFxcIikge1xcbiAgICAgICAgLy8gMy5cXG4gICAgICAgICY6Zm9jdXMtd2l0aGluLFxcbiAgICAgICAgJjpmb2N1cy13aXRoaW46aG92ZXIsXFxuICAgICAgICAuaW5wdXQ6Zm9jdXMge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJmb2N1c1xcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiY2hlY2tlZFxcXCIpIHtcXG4gICAgICAgIC5pbnB1dDpjaGVja2VkIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiY2hlY2tlZFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiZGlzYWJsZWRcXFwiKSB7XFxuICAgICAgICAmLmlzUm9vdERpc2FibGVkIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiZGlzYWJsZWRcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImNoZWNrZWQtZGlzYWJsZWRcXFwiKSB7XFxuICAgICAgICAuaW5wdXQ6Y2hlY2tlZDpkaXNhYmxlZCB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImNoZWNrZWQtZGlzYWJsZWRcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gdmlzdWFsKCR0eXBlLCAkdmFyaWFudDogXFxcImRlZmF1bHRcXFwiLCAkaGFzLWNhcmV0OiBmYWxzZSkge1xcbiAgICBAaW5jbHVkZSBfZ2V0LXRoZW1lKCR0eXBlLCAkdmFyaWFudCk7XFxuXFxuICAgIC5pbnB1dDpkaXNhYmxlZCB7XFxuICAgICAgICBAaW5jbHVkZSBfZGlzYWJsZWQtc3RhdGUoKTtcXG4gICAgfVxcblxcbiAgICBAaWYgJHR5cGUgPT0gXFxcImJveFxcXCIgYW5kICR2YXJpYW50ID09IFxcXCJmaWxsZWRcXFwiIHtcXG4gICAgICAgIC5pbnB1dCB7XFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgJHR5cGUgPT0gXFxcImJveFxcXCIgYW5kICR2YXJpYW50ID09IFxcXCJvdXRsaW5lXFxcIiBhbmQgJGhhcy1jYXJldCB7XFxuICAgICAgICAuY2FyZXQge1xcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0aGVtZS4kYm94LWJvcmRlci13aWR0aCB0aGVtZS4kYm94LXNlbGVjdC1jYXJldC1ib3JkZXItc3R5bGUgdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICAgICAgICAgICAgYmFja2dyb3VuZDogdGhlbWUuJGJveC1zZWxlY3QtY2FyZXQtYmFja2dyb3VuZDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290RGlzYWJsZWQgLmNhcmV0IHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZGlzYWJsZWQtc3RhdGUoKTtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gdmFsaWRhdGlvbigkdmFyaWFudCkge1xcbiAgICBAaW5jbHVkZSBfZ2V0LXRoZW1lKHZhbGlkYXRpb24sICR2YXJpYW50KTtcXG59XFxuXCIsXCIvLyAxLiBTY3JlZW4gcmVhZGVycyBvbmx5LCBpbnNwaXJlZCBieSBCb290c3RyYXAuXFxuLy8gICAgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL3Njc3MvbWl4aW5zL19zY3JlZW4tcmVhZGVyLnNjc3NcXG4vL1xcbi8vIDIuIE1ha2UgdGFwIHRhcmdldCBiaWcgZW5vdWdoIHRvIGltcHJvdmUgYWNjZXNzaWJpbGl0eSBvbiB0b3VjaCBzY3JlZW5zLlxcblxcbkB1c2UgXFxcIi4uL3RoZW1lL2FjY2Vzc2liaWxpdHlcXFwiIGFzIHRoZW1lO1xcblxcbi8vIDEuXFxuQG1peGluIGhpZGUtdGV4dCgpIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogMXB4O1xcbiAgICBoZWlnaHQ6IDFweDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gICAgYm9yZGVyOiAwO1xcbn1cXG5cXG5AbWl4aW4gdW5oaWRlLXRleHQoKSB7XFxuICAgIHBvc2l0aW9uOiB1bnNldDtcXG4gICAgd2lkdGg6IHVuc2V0O1xcbiAgICBoZWlnaHQ6IHVuc2V0O1xcbiAgICBvdmVyZmxvdzogdW5zZXQ7XFxuICAgIGNsaXA6IHVuc2V0O1xcbiAgICB3aGl0ZS1zcGFjZTogdW5zZXQ7XFxufVxcblxcbi8vIDIuXFxuQG1peGluIG1pbi10YXAtdGFyZ2V0KCRzaXplOiB0aGVtZS4kdGFwLXRhcmdldC1zaXplLCAkY2VudGVyOiB0cnVlKSB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG5cXG4gICAgJjo6YmVmb3JlIHtcXG4gICAgICAgIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICAgICAgd2lkdGg6ICRzaXplO1xcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcXG5cXG4gICAgICAgIEBpZiAkY2VudGVyIHtcXG4gICAgICAgICAgICB0b3A6IDUwJTtcXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGZvY3VzLXJpbmcoKSB7XFxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XFxuICAgICAgICBvdXRsaW5lOiB0aGVtZS4kZm9jdXMtb3V0bGluZTtcXG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiB0aGVtZS4kZm9jdXMtb3V0bGluZS1vZmZzZXQ7XFxuICAgICAgICBib3gtc2hhZG93OiB0aGVtZS4kZm9jdXMtYm94LXNoYWRvdztcXG4gICAgfVxcbn1cXG5cIixcIi8vIDEuICBJbmxpbmUgZm9ybSBmaWVsZHMgYW5kIGZpZWxkcyB3aXRoIHZlcnRpY2FsIGxheW91dCB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgdGhleSBuZWVkLiBMYWJlbHNcXG4vLyAgICAgZG8gbm90IHdyYXAgdW50aWwgZm9yY2VkIGJ5IGNvbnRhaW5lciBvZiB0aGUgZmllbGQuIE1pbiBhbmQgbWF4IGxpbWl0cyBtYWtlIGV4dHJhIGxvbmcgd29yZHNcXG4vLyAgICAgYnJlYWsgaWYgbmVjZXNzYXJ5Llxcbi8vXFxuLy8gMi4gIEZvcm0gZmllbGRzIGluIGhvcml6b250YWwgbGF5b3V0IGFsc28gdGFrZSB1cCBvbmx5IGFzIG11Y2ggc3BhY2UgYXMgdGhleSBuZWVkLiBMYWJlbHMgZG8gbm90XFxuLy8gICAgIHdyYXAgdW50aWwgbGFiZWwgd2lkdGggbGltaXQgaXMgcmVhY2hlZCAoNTAgJSBvZiBhdmFpbGFibGUgaG9yaXpvbnRhbCBzcGFjZSBieSBkZWZhdWx0KS5cXG4vL1xcbi8vIDMuICBIZWxwIHRleHRzIGFuZCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGFyZSBhbGlnbmVkIGJlbG93IGlucHV0IGFuZCB3cmFwcGVkLiBUaGVpciB3aWR0aCBpcyBhbHdheXNcXG4vLyAgICAgbGltaXRlZCB0byB0aGUgd2lkdGggb2YgdGhlIGlucHV0IGZpZWxkIHNvIHRoZXkgZG9uJ3Qgc2hpZnQgYWRqYWNlbnQgZWxlbWVudHMgd2hlbiB0aGV5IHNob3dcXG4vLyAgICAgdXAuIFRoaXMgYXBwbGllcyB1bmxlc3MgdGhlIGZpZWxkIGlzIGluc2lkZSBGb3JtTGF5b3V0IChzZWUgMTApLlxcbi8vXFxuLy8gNC4gIERlZmluZSBncmlkIHNwYWNpbmcgYXMgcGFkZGluZyBvZiBjaGlsZCBlbGVtZW50cyBiZWNhdXNlIGdyaWQgYXJlYXMgbWFrZSByb3cgYW5kIGNvbHVtbiBnYXBzXFxuLy8gICAgIHNob3cgdXAgZXZlbiB3aGVuIG5vdCBuZWNlc3NhcnkuXFxuLy9cXG4vLyA1LiAgV2hlbiBpbnB1dCBzaXplIGlzIHNtYWxsIGFuZCBmb3JtIGZpZWxkIGxheW91dCBpcyBzZXQgdG8gaG9yaXpvbnRhbCwgZXhwYW5kIGhlbHAgdGV4dCBhbmRcXG4vLyAgICAgdmFsaWRhdGlvbiBtZXNzYWdlIG92ZXIgZnVsbCBmb3JtIGZpZWxkIHdpZHRoIHRvIGltcHJvdmUgdGhlaXIgcmVhZGFiaWxpdHkuIE90aGVyd2lzZSB0aGVcXG4vLyAgICAgdGV4dCB3b3VsZCBiZSBwYWNrZWQgaW50byBhIHZlcnkgbmFycm93IGNvbHVtbiBhbmQgaGFyZCB0byByZWFkLiBUbyBwcmV2ZW50IGhlbHAgdGV4dCBhbmRcXG4vLyAgICAgdmFsaWRhdGlvbiBtZXNzYWdlIGZyb20gZ3Jvd2luZyB0aGUgbGF5b3V0IG1vcmUgdGhhbiBuZWNlc3NhcnkgKGllLiB0aGUgc2l6ZSB3aXRob3V0XFxuLy8gICAgIGhlbHAvdmFsaWRhdGlvbiB0ZXh0KSwgYG1pbi1jb250ZW50YCBncmlkIHNpemluZyBtdXN0IGJlIHVzZWQgYWxvbmcgd2l0aCBkaXNhYmxlZCB3cmFwcGluZyBvZlxcbi8vICAgICBsYWJlbC5cXG4vL1xcbi8vIDYuICBGdWxsLXdpZHRoIGhvcml6b250YWwgZm9ybSBmaWVsZHMgcHJlZmVyIG5vdCB3cmFwcGluZyB0aGUgbGFiZWwgdW50aWwgYSBsaW1pdCBpcyByZWFjaGVkXFxuLy8gICAgICg1MCAlIG9mIGF2YWlsYWJsZSBob3Jpem9udGFsIHNwYWNlIGJ5IGRlZmF1bHQsIHNhbWUgYXMgaW4gMi4pLlxcbi8vXFxuLy8gNy4gIEp1c3RpZnkgaW5wdXRzIHRvIGBzdGFydGAgaW4gaG9yaXpvbnRhbCBsYXlvdXRzIHRvIGZpeCBwb3NpdGlvbmluZyBpc3N1ZXMgd2l0aCBTZWxlY3QgRmllbGRzLlxcbi8vICAgICBSZXZlcnRlZCBmb3IgZnVsbC13aWR0aCBmaWVsZHMuXFxuLy9cXG4vLyA4LiAgR3JpZCBzZXR0aW5ncyBhcmUgaW5oZXJpdGVkIGZyb20gaG9yaXpvbnRhbCBGb3JtTGF5b3V0IGFuZCBhcHBsaWVkIHVzaW5nIGBzdWJncmlkYC5cXG4vLyAgICAgQSBmYWxsYmFjayBpcyBzdXBwbGllZCB0byBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgYHN1YmdyaWRgIHlldC5cXG4vL1xcbi8vICAgICBDaHJvbWUgMTE3KyBzdXBwb3J0cyBgc3ViZ3JpZGAgYnV0IGl0IGRvZXNuJ3Qgd29yayBmb3IgYDxmaWVsZHNldD5gLiBUaGlzIGlzIHdoeSB3ZSBhbHdheXNcXG4vLyAgICAgdXNlIHRoZSBmYWxsYmFjayBmb3IgYDxmaWVsZHNldD5gLlxcbi8vXFxuLy8gICAgIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTE0NzMyNDJcXG4vLyAgICAgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LXVpLW9yZy9yZWFjdC11aS9pc3N1ZXMvMjMyXFxuLy9cXG4vLyA5LiAgSGVscCB0ZXh0cyBhbmQgdmFsaWRhdGlvbiBtZXNzYWdlcyBjYW4gdGFrZSB1cCBmdWxsIHdpZHRoIG9mIEZvcm1MYXlvdXQuIFRoZXJlIGlzIG5vIHJlYXNvblxcbi8vICAgICB0byBtYWtlIHRoZW0gd3JhcCBhcyB0aGV5IGNhbm5vdCBicmVhayBsYXlvdXQgb2YgRm9ybUxheW91dC5cXG4vL1xcbi8vIDEwLiBWaXN1YWxseSBhbGlnbiBsYWJlbCB0byBpbnB1dCBiYXNlbGluZS4gQWNoaWV2ZWQgd2l0aCBgcGFkZGluZy10b3BgIGFuZCBgcGFkZGluZy1ib3R0b21gIGR1ZVxcbi8vICAgICB0byB0d28gcmVhc29uczpcXG4vL1xcbi8vICAgICAqIGBhbGlnbi1pdGVtczogYmFzZWxpbmVgIGRvZXNuJ3Qgd29yayBmb3IgYmxhbmsgdGV4dCBpbnB1dHMgaW4gU2FmYXJpLiBTZWVcXG4vLyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Mjk2OCBhbmRcXG4vLyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LXVpLW9yZy9yZWFjdC11aS9pc3N1ZXMvMjY1Llxcbi8vXFxuLy8gICAgICogYGFsaWduLWl0ZW1zOiBiYXNlbGluZWAgZG9lc24ndCBhbGxvdyBzdWJzZXF1ZW50IHZlcnRpY2FsIGNlbnRlcmluZyBvZiB0YWxsIGlucHV0cyBhbmQvb3JcXG4vLyAgICAgICAgbXVsdGlsaW5lIGxhYmVscyAoc2VlIGB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC12ZXJ0aWNhbC1hbGlnbm1lbnRgIGFuZFxcbi8vICAgICAgICBgdGhlbWUuJGhvcml6b250YWwtZmllbGQtdmVydGljYWwtYWxpZ25tZW50YCkuXFxuLy9cXG4vLyAxMS4gUmVzZXQgYHdpZHRoYCBwcmV2aW91c2x5IHNldCBieSBpbmxpbmUgZmllbGQgbGF5b3V0IChzZWUgYF9pbmxpbmUtZmllbGQtbGF5b3V0LnNjc3NgKS5cXG4vL1xcbi8vIDEyLiBNYWtlIGZpZWxkcyBqdXN0IGFzIHdpZGUgYXMgbmVjZXNzYXJ5LiBGaWVsZHMgc2hvdWxkIGJlIGludGVyYWN0aXZlIG9ubHkgd2hlcmUgdGhlaXIgdmlzaWJsZVxcbi8vICAgICBjb250ZW50IGlzLlxcbi8vXFxuLy8gMTMuIExhYmVsIGFuZCBmaWVsZCBhcmUgdmVydGljYWxseSBhbGlnbmVkIHRvIHRvcCAoc3RhcnQpIGJ5IGRlZmF1bHQgKHNlZSAxMC4pLiBWZXJ0aWNhbFxcbi8vICAgICBhbGlnbm1lbnQgb2YgZWFjaCBibG9jayBjYW4gYmUgY2hhbmdlZCBieSB0aGVtZSBjb25maWd1cmF0aW9uLlxcblxcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm1zXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3JtLWZpZWxkc1xcXCIgYXMgc2V0dGluZ3M7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL3R5cG9ncmFwaHlcXFwiO1xcbkB1c2UgXFxcIi4uL2JyZWFrcG9pbnRcXFwiO1xcblxcbkBtaXhpbiB2ZXJ0aWNhbCgkaGFzLWxpc3Q6IGZhbHNlKSB7XFxuICAgIEBpZiAkaGFzLWxpc3Qge1xcbiAgICAgICAgLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwOiAje3NldHRpbmdzLiR2ZXJ0aWNhbC1pbm5lci1nYXAtbGFyZ2V9O1xcbiAgICB9XFxuXFxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyAvLyAxLlxcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBtaW4td2lkdGg6IDA7IC8vIDEuXFxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMS5cXG5cXG4gICAgLmxhYmVsIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCAje3NldHRpbmdzLiR2ZXJ0aWNhbC1pbm5lci1nYXB9KTtcXG4gICAgfVxcblxcbiAgICAuaGVscFRleHQsXFxuICAgIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tcnVpLWxvY2FsLXZlcnRpY2FsLWdhcCwgI3tzZXR0aW5ncy4kdmVydGljYWwtaW5uZXItZ2FwfSk7XFxuICAgIH1cXG5cXG4gICAgLmZpZWxkIHtcXG4gICAgICAgIHdpZHRoOiBtaW4tY29udGVudDsgLy8gMy5cXG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgLy8gMy5cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaG9yaXpvbnRhbCgkaGFzLW1pbi10YXAtdGFyZ2V0OiBmYWxzZSkge1xcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGZvcm1zLiRob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ncmlkOyAvLyAyLlxcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC13aWR0aCBtaW4tY29udGVudDsgLy8gMi5cXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFxcXCJsYWJlbCBmaWVsZFxcXCI7XFxuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7IC8vIDEwLiwgMTMuXFxuXFxuICAgICAgICAubGFiZWwge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogbGFiZWw7XFxuICAgICAgICAgICAgYWxpZ24tc2VsZjogdGhlbWUuJGhvcml6b250YWwtbGFiZWwtdmVydGljYWwtYWxpZ25tZW50OyAvLyAxMy5cXG4gICAgICAgICAgICBtaW4td2lkdGg6IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLW1pbi13aWR0aDtcXG5cXG4gICAgICAgICAgICAvLyAxMC5cXG4gICAgICAgICAgICBAaWYgJGhhcy1taW4tdGFwLXRhcmdldCB7XFxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOlxcbiAgICAgICAgICAgICAgICAgICAgY2FsYyhcXG4gICAgICAgICAgICAgICAgICAgICAgICAoI3t0aGVtZS4kY2hlY2stdGFwLXRhcmdldC1zaXplfSAtIDFyZW0gKiAje3R5cG9ncmFwaHkuJGxpbmUtaGVpZ2h0LWJhc2V9KVxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8gMlxcbiAgICAgICAgICAgICAgICAgICAgKTtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206XFxuICAgICAgICAgICAgICAgICAgICBjYWxjKFxcbiAgICAgICAgICAgICAgICAgICAgICAgICgje3RoZW1lLiRjaGVjay10YXAtdGFyZ2V0LXNpemV9IC0gMXJlbSAqICN7dHlwb2dyYXBoeS4kbGluZS1oZWlnaHQtYmFzZX0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgLyAyXFxuICAgICAgICAgICAgICAgICAgICApO1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAvLyAxMC4sIDEzLlxcbiAgICAgICAgICAgIEBlbHNlIHtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICN7dGhlbWUuJGhvcml6b250YWwtbGFiZWwtcGFkZGluZy15fTtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICN7dGhlbWUuJGhvcml6b250YWwtbGFiZWwtcGFkZGluZy15fTtcXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogc2V0dGluZ3MuJGhvcml6b250YWwtaW5uZXItZ2FwOyAvLyA0LlxcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXRleHQtYWxpZ247XFxuICAgICAgICB9XFxuXFxuICAgICAgICAuZmllbGQge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogZmllbGQ7XFxuICAgICAgICAgICAgYWxpZ24tc2VsZjogdGhlbWUuJGhvcml6b250YWwtZmllbGQtdmVydGljYWwtYWxpZ25tZW50OyAvLyAxMy5cXG4gICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0OyAvLyA3LlxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBob3Jpem9udGFsLXdpdGgtc21hbGwtaW5wdXQoKSB7XFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW4tY29udGVudCBtaW4tY29udGVudDsgLy8gNS5cXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XFxuICAgICAgICAgICAgXFxcImxhYmVsIGZpZWxkXFxcIlxcbiAgICAgICAgICAgIFxcXCJoZWxwdGV4dCBoZWxwdGV4dFxcXCJcXG4gICAgICAgICAgICBcXFwidmFsaWRhdGlvbnRleHQgdmFsaWRhdGlvbnRleHRcXFwiOyAvLyA1LlxcblxcbiAgICAgICAgLmxhYmVsIHtcXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLmZpZWxkIHtcXG4gICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50czsgLy8gNS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC5pbnB1dENvbnRhaW5lciB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBmaWVsZDsgLy8gNS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC5oZWxwVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBoZWxwdGV4dDsgLy8gNS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiB2YWxpZGF0aW9udGV4dDsgLy8gNS5cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gZnVsbC13aWR0aCgpIHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgd2lkdGg6IDEwMCU7XFxuXFxuICAgIC5maWVsZCxcXG4gICAgLmlucHV0Q29udGFpbmVyLFxcbiAgICAuaW5wdXQge1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgIH1cXG5cXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChmb3Jtcy4kaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwge1xcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XFxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB0aGVtZS4kaG9yaXpvbnRhbC1mdWxsLXdpZHRoLWxhYmVsLXdpZHRoIDFmcjsgLy8gNi5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuZmllbGQge1xcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogc3RyZXRjaDsgLy8gNy5cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaW4tZm9ybS1sYXlvdXQoJGlzLWZpZWxkc2V0OiBmYWxzZSkge1xcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0OyAvLyAxMi5cXG5cXG4gICAgLmZpZWxkIHtcXG4gICAgICAgIHdpZHRoOiBhdXRvOyAvLyA5LlxcbiAgICB9XFxuXFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgLm9wdGlvbkxhYmVsIHtcXG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgLy8gMTEuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAvLyA4LlxcbiAgICAgICAgQGlmICRpcy1maWVsZHNldCB7XFxuICAgICAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLFxcbiAgICAgICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbC5oYXNSb290U21hbGxJbnB1dCB7XFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0gQGVsc2Uge1xcbiAgICAgICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCxcXG4gICAgICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwuaGFzUm9vdFNtYWxsSW5wdXQge1xcbiAgICAgICAgICAgICAgICBncmlkOiBpbmhlcml0O1xcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XFxuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XFxuXFxuICAgICAgICAgICAgICAgIEBzdXBwb3J0cyBub3QgKGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZCkge1xcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLmlzUm9vdEZ1bGxXaWR0aCB7XFxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmxhYmVsLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaW5wdXRDb250YWluZXIsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmhlbHBUZXh0LFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiB1bnNldDsgLy8gOC5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuZmllbGQsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmlucHV0Q29udGFpbmVyLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5oZWxwVGV4dCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyOyAvLyA4LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLmhhc1Jvb3RTbWFsbElucHV0IC5maWVsZCB7XFxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vIDUuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXCIsXCJAdXNlIFxcXCJzYXNzOm1hcFxcXCI7XFxuQHVzZSBcXFwiLi4vc2V0dGluZ3MvYnJlYWtwb2ludHNcXFwiO1xcblxcbkBtaXhpbiB1cCgkYnJlYWtwb2ludCkge1xcbiAgICBAaWYgbm90IG1hcC5oYXMta2V5KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgYnJlYWtwb2ludCBzcGVjaWZpZWQhICN7JGJyZWFrcG9pbnR9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMoYnJlYWtwb2ludHMuJHZhbHVlcyl9XFxcIjtcXG4gICAgfSBAZWxzZSBpZiBtYXAuZ2V0KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSA9PSAwIHtcXG4gICAgICAgIEBjb250ZW50O1xcbiAgICB9IEBlbHNlIHtcXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSkge1xcbiAgICAgICAgICAgIEBjb250ZW50O1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiLG51bGwsXCJAdXNlIFxcXCJzYXNzOm1hcFxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcblxcbkBtaXhpbiBzaXplKCRzaXplLCAkaGFzLWlucHV0OiB0cnVlLCAkaXMtbXVsdGlsaW5lOiBmYWxzZSkge1xcbiAgICAkc2l6ZS1wcm9wZXJ0aWVzOiBtYXAuZ2V0KHRoZW1lLiRib3gtc2l6ZXMsICRzaXplKTtcXG5cXG4gICAgLS1ydWktbG9jYWwtcGFkZGluZy15OiAje21hcC5nZXQoJHNpemUtcHJvcGVydGllcywgcGFkZGluZy15KX07XFxuICAgIC0tcnVpLWxvY2FsLXBhZGRpbmcteDogI3ttYXAuZ2V0KCRzaXplLXByb3BlcnRpZXMsIHBhZGRpbmcteCl9O1xcblxcbiAgICBAaWYgJGhhcy1pbnB1dCB7XFxuICAgICAgICAtLXJ1aS1sb2NhbC1mb250LXNpemU6ICN7bWFwLmdldCgkc2l6ZS1wcm9wZXJ0aWVzLCBmb250LXNpemUpfTtcXG5cXG4gICAgICAgIC5pbnB1dCB7XFxuICAgICAgICAgICAgQGlmICRpcy1tdWx0aWxpbmUge1xcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XFxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IG1hcC5nZXQoJHNpemUtcHJvcGVydGllcywgaGVpZ2h0KTtcXG4gICAgICAgICAgICB9IEBlbHNlIHtcXG4gICAgICAgICAgICAgICAgLS1ydWktbG9jYWwtaGVpZ2h0OiAje21hcC5nZXQoJHNpemUtcHJvcGVydGllcywgaGVpZ2h0KX07XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ubG9jYWxzID0ge1xuXHRcInJvb3RcIjogXCJTZWxlY3RGaWVsZF9fcm9vdF9fMGlnMXhhcThcIixcblx0XCJsYWJlbFwiOiBcIlNlbGVjdEZpZWxkX19sYWJlbF9fSGxvaE1kWmJcIixcblx0XCJpbnB1dENvbnRhaW5lclwiOiBcIlNlbGVjdEZpZWxkX19pbnB1dENvbnRhaW5lcl9fNk90UkVYQkhcIixcblx0XCJpbnB1dFwiOiBcIlNlbGVjdEZpZWxkX19pbnB1dF9fVEJEUGMxNnlcIixcblx0XCJjYXJldFwiOiBcIlNlbGVjdEZpZWxkX19jYXJldF9fdFFoVjhiQThcIixcblx0XCJjYXJldEljb25cIjogXCJTZWxlY3RGaWVsZF9fY2FyZXRJY29uX19HRjFMU25WN1wiLFxuXHRcImJvdHRvbUxpbmVcIjogXCJTZWxlY3RGaWVsZF9fYm90dG9tTGluZV9fVk5uNld5Qy1cIixcblx0XCJoZWxwVGV4dFwiOiBcIlNlbGVjdEZpZWxkX19oZWxwVGV4dF9fRWJiNjVtYUFcIixcblx0XCJ2YWxpZGF0aW9uVGV4dFwiOiBcIlNlbGVjdEZpZWxkX192YWxpZGF0aW9uVGV4dF9fY1p4UGdHdkdcIixcblx0XCJpc1Jvb3RSZXF1aXJlZFwiOiBcIlNlbGVjdEZpZWxkX19pc1Jvb3RSZXF1aXJlZF9fUXJWMEp1aWlcIixcblx0XCJpc1Jvb3RWYXJpYW50RmlsbGVkXCI6IFwiU2VsZWN0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX3FWR1N6aDdkXCIsXG5cdFwiaXNSb290RGlzYWJsZWRcIjogXCJTZWxlY3RGaWVsZF9faXNSb290RGlzYWJsZWRfX1J4YU5QbkhkXCIsXG5cdFwiaXNSb290VmFyaWFudE91dGxpbmVcIjogXCJTZWxlY3RGaWVsZF9faXNSb290VmFyaWFudE91dGxpbmVfX3kwSEZEWFJ6XCIsXG5cdFwiaXNSb290U3RhdGVJbnZhbGlkXCI6IFwiU2VsZWN0RmllbGRfX2lzUm9vdFN0YXRlSW52YWxpZF9fZnZXOGxSeU1cIixcblx0XCJpc1Jvb3RTdGF0ZVZhbGlkXCI6IFwiU2VsZWN0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX2xWQ3FBVHM1XCIsXG5cdFwiaXNSb290U3RhdGVXYXJuaW5nXCI6IFwiU2VsZWN0RmllbGRfX2lzUm9vdFN0YXRlV2FybmluZ19fTmo0eDFWS0dcIixcblx0XCJpc0xhYmVsSGlkZGVuXCI6IFwiU2VsZWN0RmllbGRfX2lzTGFiZWxIaWRkZW5fXzQ1M08xa01tXCIsXG5cdFwiaXNSb290TGF5b3V0VmVydGljYWxcIjogXCJTZWxlY3RGaWVsZF9faXNSb290TGF5b3V0VmVydGljYWxfX2NvWGp0UnJWXCIsXG5cdFwiaXNSb290TGF5b3V0SG9yaXpvbnRhbFwiOiBcIlNlbGVjdEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19CYUFiTTBJaFwiLFxuXHRcImZpZWxkXCI6IFwiU2VsZWN0RmllbGRfX2ZpZWxkX19Sc2RBOE16VlwiLFxuXHRcImlzUm9vdEZ1bGxXaWR0aFwiOiBcIlNlbGVjdEZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfX2ZQRWI1bDdzXCIsXG5cdFwiaXNSb290SW5Gb3JtTGF5b3V0XCI6IFwiU2VsZWN0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fOHR5aFUxTFlcIixcblx0XCJvcHRpb25MYWJlbFwiOiBcIlNlbGVjdEZpZWxkX19vcHRpb25MYWJlbF9falNUdXJrWmVcIixcblx0XCJoYXNSb290U21hbGxJbnB1dFwiOiBcIlNlbGVjdEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9faDlXM2FRcE9cIixcblx0XCJpc1Jvb3RTaXplU21hbGxcIjogXCJTZWxlY3RGaWVsZF9faXNSb290U2l6ZVNtYWxsX19CbW1GU3ZUY1wiLFxuXHRcImlzUm9vdFNpemVNZWRpdW1cIjogXCJTZWxlY3RGaWVsZF9faXNSb290U2l6ZU1lZGl1bV9fQSs1aVEyazlcIixcblx0XCJpc1Jvb3RTaXplTGFyZ2VcIjogXCJTZWxlY3RGaWVsZF9faXNSb290U2l6ZUxhcmdlX19rNmc0LTlOclwiLFxuXHRcImlzUm9vdEdyb3VwZWRcIjogXCJTZWxlY3RGaWVsZF9faXNSb290R3JvdXBlZF9fSDlySVdtSTBcIlxufTtcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js?!./src/lib/components/SelectField/SelectField.scss\n");
|
1247
1247
|
|
1248
1248
|
/***/ }),
|
1249
1249
|
|
@@ -1315,7 +1315,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
|
|
1315
1315
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
1316
1316
|
|
1317
1317
|
"use strict";
|
1318
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \".TextArea__root__rz-Hzcml {\\n text-align: left;\\n}\\n\\n.TextArea__label__THp83eC1 {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__label__color));\\n}\\n\\n.TextArea__inputContainer__HCaazKgc {\\n position: relative;\\n display: inline-flex;\\n min-width: 0;\\n max-width: 100%;\\n}\\n\\n.TextArea__input__U8ugNiSz {\\n transition-property: opacity, color, border-color, background-color, box-shadow;\\n transition-duration: 150ms;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n width: var(--rui-FormField--box__input__width);\\n min-width: var(--rui-FormField--box__input__min-width);\\n max-width: 100%;\\n height: var(--rui-local-height);\\n padding: var(--rui-local-padding-y) var(--rui-local-padding-x);\\n font-weight: var(--rui-font-weight-base);\\n font-size: var(--rui-local-font-size);\\n line-height: 1.5rem;\\n font-family: var(--rui-font-family-base);\\n vertical-align: middle;\\n color: var(--rui-local-color);\\n border: var(--rui-FormField--box__border-width) solid var(--rui-local-border-color);\\n border-radius: var(--rui-FormField--box__border-radius);\\n background: var(--rui-local-background);\\n box-shadow: var(--rui-local-box-shadow);\\n resize: vertical;\\n}\\n@media (prefers-reduced-motion: reduce) {\\n .TextArea__input__U8ugNiSz {\\n transition-property: opacity, color, border-color, background-color, box-shadow;\\n }\\n}\\n.TextArea__input__U8ugNiSz::-moz-placeholder {\\n color: var(--rui-FormField--box__placeholder__color);\\n opacity: 1;\\n}\\n.TextArea__input__U8ugNiSz::placeholder {\\n color: var(--rui-FormField--box__placeholder__color);\\n opacity: 1;\\n}\\n.TextArea__input__U8ugNiSz[cols] {\\n min-width: auto;\\n}\\n\\n.TextArea__bottomLine__kDIoTXG0 {\\n transition-property: transform, opacity;\\n transition-duration: 180ms;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n position: absolute;\\n bottom: 0;\\n width: 100%;\\n height: 2px;\\n opacity: 0;\\n transform: scaleX(0);\\n transform-origin: center center;\\n pointer-events: none;\\n}\\n@media (prefers-reduced-motion: reduce) {\\n .TextArea__bottomLine__kDIoTXG0 {\\n transition-property: opacity;\\n }\\n}\\n.TextArea__input__U8ugNiSz:focus ~ .TextArea__bottomLine__kDIoTXG0 {\\n background-color: var(--rui-local-border-color);\\n opacity: 1;\\n transform: scaleX(1);\\n}\\n\\n.TextArea__helpText__SZQntsVA,\\n.TextArea__validationText__IntH9Q9Y {\\n font-style: var(--rui-FormField__help-text__font-style);\\n font-size: var(--rui-FormField__help-text__font-size);\\n line-height: 1.2rem;\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__help-text__color));\\n}\\n\\n.TextArea__isRootRequired__b3NTvodK .TextArea__label__THp83eC1 {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField--required__label__color));\\n}\\n.TextArea__isRootRequired__b3NTvodK .TextArea__label__THp83eC1::after {\\n content: var(--rui-FormField--required__sign);\\n color: var(--rui-FormField--required__sign__color);\\n}\\n\\n.TextArea__isRootVariantFilled__5bh526YA {\\n --rui-local-color: var(--rui-FormField--box--filled--default__color);\\n --rui-local-border-color: var(--rui-FormField--box--filled--default__border-color);\\n --rui-local-background: var(--rui-FormField--box--filled--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--box--filled--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--box--filled--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--box--filled--default__surrounding-text-color);\\n}\\n.TextArea__isRootVariantFilled__5bh526YA:hover {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--filled--hover__color,\\n var(--rui-FormField--box--filled--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--filled--hover__border-color,\\n var(--rui-FormField--box--filled--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--filled--hover__background,\\n var(--rui-FormField--box--filled--default__background)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--filled--hover__box-shadow,\\n var(--rui-FormField--box--filled--default__box-shadow)\\n );\\n}\\n.TextArea__isRootVariantFilled__5bh526YA:focus-within, .TextArea__isRootVariantFilled__5bh526YA:focus-within:hover,\\n.TextArea__isRootVariantFilled__5bh526YA .TextArea__input__U8ugNiSz:focus {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--filled--focus__color,\\n var(--rui-FormField--box--filled--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--filled--focus__border-color,\\n var(--rui-FormField--box--filled--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--filled--focus__background,\\n var(--rui-FormField--box--filled--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--filled--focus__check-background-color,\\n var(--rui-FormField--box--filled--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--filled--focus__box-shadow,\\n var(--rui-FormField--box--filled--default__box-shadow)\\n );\\n}\\n.TextArea__isRootVariantFilled__5bh526YA.TextArea__isRootDisabled__ShBbb4a4 {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--filled--disabled__color,\\n var(--rui-FormField--box--filled--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--filled--disabled__border-color,\\n var(--rui-FormField--box--filled--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--filled--disabled__background,\\n var(--rui-FormField--box--filled--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--filled--disabled__check-background-color,\\n var(--rui-FormField--box--filled--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--filled--disabled__box-shadow,\\n var(--rui-FormField--box--filled--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--box--filled--disabled__surrounding-text-color,\\n var(--rui-FormField--box--filled--default__surrounding-text-color)\\n );\\n}\\n.TextArea__isRootVariantFilled__5bh526YA .TextArea__input__U8ugNiSz:disabled {\\n opacity: var(--rui-FormField--disabled__opacity);\\n cursor: var(--rui-FormField--disabled__cursor);\\n}\\n.TextArea__isRootVariantFilled__5bh526YA .TextArea__input__U8ugNiSz {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.TextArea__isRootVariantOutline__nagTG037 {\\n --rui-local-color: var(--rui-FormField--box--outline--default__color);\\n --rui-local-border-color: var(--rui-FormField--box--outline--default__border-color);\\n --rui-local-background: var(--rui-FormField--box--outline--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--box--outline--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--box--outline--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--box--outline--default__surrounding-text-color);\\n}\\n.TextArea__isRootVariantOutline__nagTG037:hover {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--outline--hover__color,\\n var(--rui-FormField--box--outline--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--outline--hover__border-color,\\n var(--rui-FormField--box--outline--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--outline--hover__background,\\n var(--rui-FormField--box--outline--default__background)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--outline--hover__box-shadow,\\n var(--rui-FormField--box--outline--default__box-shadow)\\n );\\n}\\n.TextArea__isRootVariantOutline__nagTG037:focus-within, .TextArea__isRootVariantOutline__nagTG037:focus-within:hover,\\n.TextArea__isRootVariantOutline__nagTG037 .TextArea__input__U8ugNiSz:focus {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--outline--focus__color,\\n var(--rui-FormField--box--outline--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--outline--focus__border-color,\\n var(--rui-FormField--box--outline--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--outline--focus__background,\\n var(--rui-FormField--box--outline--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--outline--focus__check-background-color,\\n var(--rui-FormField--box--outline--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--outline--focus__box-shadow,\\n var(--rui-FormField--box--outline--default__box-shadow)\\n );\\n}\\n.TextArea__isRootVariantOutline__nagTG037.TextArea__isRootDisabled__ShBbb4a4 {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--outline--disabled__color,\\n var(--rui-FormField--box--outline--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--outline--disabled__border-color,\\n var(--rui-FormField--box--outline--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--outline--disabled__background,\\n var(--rui-FormField--box--outline--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--outline--disabled__check-background-color,\\n var(--rui-FormField--box--outline--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--outline--disabled__box-shadow,\\n var(--rui-FormField--box--outline--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--box--outline--disabled__surrounding-text-color,\\n var(--rui-FormField--box--outline--default__surrounding-text-color)\\n );\\n}\\n.TextArea__isRootVariantOutline__nagTG037 .TextArea__input__U8ugNiSz:disabled {\\n opacity: var(--rui-FormField--disabled__opacity);\\n cursor: var(--rui-FormField--disabled__cursor);\\n}\\n\\n.TextArea__isRootStateInvalid__zMIhL6L9, .TextArea__isRootStateInvalid__zMIhL6L9:hover {\\n --rui-local-color: var(--rui-FormField--invalid--default__color);\\n --rui-local-border-color: var(--rui-FormField--invalid--default__border-color);\\n --rui-local-background: var(--rui-FormField--invalid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--invalid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--invalid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--invalid--default__surrounding-text-color);\\n}\\n.TextArea__isRootStateInvalid__zMIhL6L9 .TextArea__input__U8ugNiSz:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n}\\n.TextArea__isRootStateInvalid__zMIhL6L9.TextArea__isRootDisabled__ShBbb4a4 {\\n --rui-local-color:\\n var(\\n --rui-FormField--invalid--disabled__color,\\n var(--rui-FormField--invalid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--disabled__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--invalid--disabled__background,\\n var(--rui-FormField--invalid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--disabled__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--invalid--disabled__box-shadow,\\n var(--rui-FormField--invalid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--invalid--disabled__surrounding-text-color,\\n var(--rui-FormField--invalid--default__surrounding-text-color)\\n );\\n}\\n.TextArea__isRootStateInvalid__zMIhL6L9 .TextArea__input__U8ugNiSz:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__border-color,\\n var(--rui-FormField--invalid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__check-background-color,\\n var(--rui-FormField--invalid--checked__check-background-color)\\n );\\n}\\n\\n.TextArea__isRootStateValid__-8\\\\+HYAG9, .TextArea__isRootStateValid__-8\\\\+HYAG9:hover {\\n --rui-local-color: var(--rui-FormField--valid--default__color);\\n --rui-local-border-color: var(--rui-FormField--valid--default__border-color);\\n --rui-local-background: var(--rui-FormField--valid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--valid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--valid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--valid--default__surrounding-text-color);\\n}\\n.TextArea__isRootStateValid__-8\\\\+HYAG9 .TextArea__input__U8ugNiSz:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n}\\n.TextArea__isRootStateValid__-8\\\\+HYAG9.TextArea__isRootDisabled__ShBbb4a4 {\\n --rui-local-color:\\n var(\\n --rui-FormField--valid--disabled__color,\\n var(--rui-FormField--valid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--disabled__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--valid--disabled__background,\\n var(--rui-FormField--valid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--disabled__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--valid--disabled__box-shadow,\\n var(--rui-FormField--valid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--valid--disabled__surrounding-text-color,\\n var(--rui-FormField--valid--default__surrounding-text-color)\\n );\\n}\\n.TextArea__isRootStateValid__-8\\\\+HYAG9 .TextArea__input__U8ugNiSz:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked-disabled__border-color,\\n var(--rui-FormField--valid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked-disabled__check-background-color,\\n var(--rui-FormField--valid--checked__check-background-color)\\n );\\n}\\n\\n.TextArea__isRootStateWarning__agp1k5d3, .TextArea__isRootStateWarning__agp1k5d3:hover {\\n --rui-local-color: var(--rui-FormField--warning--default__color);\\n --rui-local-border-color: var(--rui-FormField--warning--default__border-color);\\n --rui-local-background: var(--rui-FormField--warning--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--warning--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--warning--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--warning--default__surrounding-text-color);\\n}\\n.TextArea__isRootStateWarning__agp1k5d3 .TextArea__input__U8ugNiSz:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n}\\n.TextArea__isRootStateWarning__agp1k5d3.TextArea__isRootDisabled__ShBbb4a4 {\\n --rui-local-color:\\n var(\\n --rui-FormField--warning--disabled__color,\\n var(--rui-FormField--warning--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--disabled__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--warning--disabled__background,\\n var(--rui-FormField--warning--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--disabled__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--warning--disabled__box-shadow,\\n var(--rui-FormField--warning--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--warning--disabled__surrounding-text-color,\\n var(--rui-FormField--warning--default__surrounding-text-color)\\n );\\n}\\n.TextArea__isRootStateWarning__agp1k5d3 .TextArea__input__U8ugNiSz:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked-disabled__border-color,\\n var(--rui-FormField--warning--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked-disabled__check-background-color,\\n var(--rui-FormField--warning--checked__check-background-color)\\n );\\n}\\n\\n.TextArea__isLabelHidden__-8zjrc5E {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n.TextArea__isRootLayoutVertical__bhdQawKc,\\n.TextArea__isRootLayoutHorizontal__s3TLMaFb {\\n display: inline-flex;\\n flex-direction: column;\\n min-width: 0;\\n max-width: 100%;\\n}\\n.TextArea__isRootLayoutVertical__bhdQawKc .TextArea__label__THp83eC1,\\n.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__label__THp83eC1 {\\n padding-bottom: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.TextArea__isRootLayoutVertical__bhdQawKc .TextArea__helpText__SZQntsVA,\\n.TextArea__isRootLayoutVertical__bhdQawKc .TextArea__validationText__IntH9Q9Y,\\n.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__helpText__SZQntsVA,\\n.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__validationText__IntH9Q9Y {\\n padding-top: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.TextArea__isRootLayoutVertical__bhdQawKc .TextArea__field__mbP0Yqfj,\\n.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__field__mbP0Yqfj {\\n width: -webkit-min-content;\\n width: -moz-min-content;\\n width: min-content;\\n max-width: 100%;\\n}\\n\\n@media (min-width: 48em) {\\n .TextArea__isRootLayoutHorizontal__s3TLMaFb {\\n display: inline-grid;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) -webkit-min-content;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) min-content;\\n grid-template-areas: \\\"label field\\\";\\n align-items: start;\\n }\\n .TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__label__THp83eC1 {\\n grid-area: label;\\n align-self: var(--rui-FormField--horizontal__label__vertical-alignment);\\n min-width: var(--rui-FormField--horizontal__label__min-width);\\n padding-top: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-bottom: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-right: var(--rui-dimension-space-2);\\n text-align: var(--rui-FormField--horizontal__label__text-align);\\n }\\n .TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__field__mbP0Yqfj {\\n grid-area: field;\\n align-self: var(--rui-FormField--horizontal__field__vertical-alignment);\\n justify-self: start;\\n }\\n}\\n\\n@media (min-width: 48em) {\\n .TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__label__THp83eC1 {\\n -ms-grid-row: 1;\\n -ms-grid-column: 1;\\n }\\n .TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__field__mbP0Yqfj {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n}\\n\\n.TextArea__isRootFullWidth__8TBpS0gA {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n}\\n.TextArea__isRootFullWidth__8TBpS0gA .TextArea__field__mbP0Yqfj,\\n.TextArea__isRootFullWidth__8TBpS0gA .TextArea__inputContainer__HCaazKgc,\\n.TextArea__isRootFullWidth__8TBpS0gA .TextArea__input__U8ugNiSz {\\n width: 100%;\\n}\\n@media (min-width: 48em) {\\n .TextArea__isRootFullWidth__8TBpS0gA.TextArea__isRootLayoutHorizontal__s3TLMaFb {\\n display: grid;\\n grid-template-columns: var(--rui-FormField--horizontal--full-width__label__width) 1fr;\\n }\\n .TextArea__isRootFullWidth__8TBpS0gA.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__field__mbP0Yqfj {\\n justify-self: stretch;\\n }\\n}\\n\\n.TextArea__isRootInFormLayout__o2pBkjXB {\\n justify-self: start;\\n}\\n.TextArea__isRootInFormLayout__o2pBkjXB .TextArea__field__mbP0Yqfj {\\n width: auto;\\n}\\n@media (min-width: 48em) {\\n .TextArea__isRootInFormLayout__o2pBkjXB .TextArea__optionLabel__e3Dh\\\\+srS {\\n width: auto;\\n }\\n .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb, .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb.TextArea__hasRootSmallInput__9jFVI4Pz {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n }\\n @supports not (grid-template-columns: subgrid) {\\n .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb, .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb.TextArea__hasRootSmallInput__9jFVI4Pz {\\n display: contents;\\n }\\n }\\n .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb.TextArea__isRootFullWidth__8TBpS0gA {\\n grid-template-columns: subgrid;\\n }\\n .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__label__THp83eC1, .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__field__mbP0Yqfj, .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__inputContainer__HCaazKgc, .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__helpText__SZQntsVA, .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__validationText__IntH9Q9Y {\\n grid-area: unset;\\n }\\n .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__field__mbP0Yqfj, .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__inputContainer__HCaazKgc, .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__helpText__SZQntsVA, .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__validationText__IntH9Q9Y {\\n grid-column-start: 2;\\n }\\n .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb.TextArea__hasRootSmallInput__9jFVI4Pz .TextArea__field__mbP0Yqfj {\\n display: block;\\n }\\n}\\n\\n.TextArea__isRootSizeSmall__akIP-Mzc {\\n --rui-local-padding-y: var(--rui-FormField--box--small__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--small__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--small__font-size);\\n}\\n.TextArea__isRootSizeSmall__akIP-Mzc .TextArea__input__U8ugNiSz {\\n height: auto;\\n min-height: var(--rui-FormField--box--small__height);\\n}\\n\\n.TextArea__isRootSizeMedium__44SoWzxP {\\n --rui-local-padding-y: var(--rui-FormField--box--medium__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--medium__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--medium__font-size);\\n}\\n.TextArea__isRootSizeMedium__44SoWzxP .TextArea__input__U8ugNiSz {\\n height: auto;\\n min-height: var(--rui-FormField--box--medium__height);\\n}\\n\\n.TextArea__isRootSizeLarge__a\\\\+7c5KS4 {\\n --rui-local-padding-y: var(--rui-FormField--box--large__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--large__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--large__font-size);\\n}\\n.TextArea__isRootSizeLarge__a\\\\+7c5KS4 .TextArea__input__U8ugNiSz {\\n height: auto;\\n min-height: var(--rui-FormField--box--large__height);\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/lib/components/TextArea/TextArea.scss\",\"webpack://./src/lib/styles/tools/form-fields/_foundation.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-elements.scss\",\"webpack://./src/lib/styles/tools/_transition.scss\",\"webpack://./src/lib/styles/settings/_animations.scss\",\"webpack://./src/lib/styles/theme/_form-fields.scss\",\"webpack://./src/lib/styles/settings/_form-fields.scss\",\"webpack://./src/lib/styles/theme/_typography.scss\",\"webpack://./src/lib/styles/tools/form-fields/_variants.scss\",\"webpack://./src/lib/styles/tools/_accessibility.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-layout.scss\",\"webpack://./src/lib/styles/tools/_breakpoint.scss\",\"<no source>\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-sizes.scss\"],\"names\":[],\"mappings\":\"AAQA;ECDI,gBAAA;ADLJ;;AAUA;ECKI,kFAAA;ADXJ;;AAUA;EEFI,kBAAA;EACA,oBAAA;EACA,YAAA;EACA,eAAA;AFJJ;;AAOA;EGqCQ,+EAPY;EAQZ,0BAf2B;EAgB3B,wDC3DmB;EFuBvB,wBAAA;KAAA,qBAAA;UAAA,gBAAA;EACA,8CGec;EHdd,sDGekB;EHdlB,eAAA;EACA,+BAAA;EACA,8DAAA;EACA,wCIZoB;EJapB,qCAAA;EACA,mBIboB;EJcpB,wCKXe;ELYf,sBAAA;EACA,6BAAA;EACA,mFAAA;EACA,uDGEgB;EHDhB,uCAAA;EACA,uCAAA;EAyBA,gBAAA;AF3BJ;AG0BY;EH1CZ;IG2CgB,+EARgB;EHf9B;AACF;AEDI;EACI,oDAAA;EACA,UAAA;AFGR;AELI;EACI,oDAAA;EACA,UAAA;AFGR;AEoBI;EACI,eAAA;AFlBR;;AAvBA;EGgCQ,uCAPY;EAQZ,0BDkD0C;ECjD1C,wDC3DmB;EF8GvB,kBAAA;EACA,SAAA;EACA,WAAA;EACA,WI5F2B;EJ6F3B,UAAA;EACA,oBAAA;EACA,+BAAA;EACA,oBAAA;AFvDJ;AGAY;EHrCZ;IGsCgB,4BARgB;EHW9B;AACF;AEoDI;EACI,+CAAA;EACA,UAAA;EACA,oBAAA;AFlDR;;AA3CA;;ECCI,uDIjBmB;EJkBnB,qDInBkB;EJoBlB,mBKzBoB;EL0BpB,sFAAA;AD+CJ;;AA9CA;ECbI,4FAAA;AD+DJ;AC7DI;EACI,6CIRQ;EJSR,kDIRc;ALuEtB;;AAjDA;EQWY,oEAAA;EAAA,kFAAA;EAAA,8EAAA;EAAA,sGAAA;EAAA,8EAAA;EAAA,sGAAA;AR+CZ;AQpBQ;EApBI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AR8DZ;AQ9BQ;;EAhCI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AR0FZ;AQ5CQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AR0HZ;AQ7DI;EAtGA,gDHkBe;EGjBf,8CHgBc;ALsJlB;AQ5DQ;EACI,6BAAA;EACA,+BAAA;EACA,8BAAA;EACA,6BAAA;EACA,4BAAA;AR8DZ;;AAnJA;EQOY,qEAAA;EAAA,mFAAA;EAAA,+EAAA;EAAA,uGAAA;EAAA,+EAAA;EAAA,uGAAA;ARqJZ;AQ1HQ;EApBI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARoKZ;AQpIQ;;EAhCI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARgMZ;AQlJQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARgOZ;AQnKI;EAtGA,gDHkBe;EGjBf,8CHgBc;AL4PlB;;AQ5MQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;ARoPZ;AQrMQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;ARyPZ;AQ3MQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARyRZ;AQrOQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ARqSZ;;AQ7QQ;EA/BI,8DAAA;EAAA,4EAAA;EAAA,wEAAA;EAAA,gGAAA;EAAA,wEAAA;EAAA,gGAAA;ARqTZ;AQtQQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AR0TZ;AQ5QQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AR0VZ;AQtSQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ARsWZ;;AQ9UQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;ARsXZ;AQvUQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AR2XZ;AQ7UQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AR2ZZ;AQvWQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ARuaZ;;AAnaA;ESpDI,kBAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,SAAA;AT2dJ;;AAzaA;;EUDI,oBAAA;EACA,sBAAA;EACA,YAAA;EACA,eAAA;AV+aJ;AU7aI;;EACI,2EAAA;AVgbR;AU7aI;;;;EAEI,wEAAA;AVibR;AU9aI;;EACI,0BAAA;EAAA,uBAAA;EAAA,kBAAA;EACA,eAAA;AVibR;;AWxfQ;EX6DR;IUgBQ,oBAAA;IACA,yFAAA;IAAA,iFAAA;IACA,kCAAA;IACA,kBAAA;EVgbN;EU9aM;IACI,gBAAA;IACA,uELlE0B;IKmE1B,6DL1EiB;IK4Fb,2IAAA;IACA,8IAAA;IAGJ,2CJxGW;IIyGX,+DLlGkB;EL+f5B;EU1ZM;IACI,gBAAA;IACA,uEL9F0B;IK+F1B,mBAAA;EV4ZV;AACF;;AYzhBA;EF4FQ;IE5FR,gBAAA;IAAA,mBAAA;EZmhBE;EU1ZM;IEzHR,gBAAA;IAAA,mBAAA;EZwhBE;CYxhBF;;AZ2EA;EUqFI,aAAA;EACA,sBAAA;EACA,WAAA;AV6XJ;AU3XI;;;EAGI,WAAA;AV6XR;AW1hBQ;EDiKA;IACI,aAAA;IACA,qFAAA;EV4XV;EUzXM;IACI,qBAAA;EV2XV;AACF;;AA9dA;EUwGI,mBAAA;AV0XJ;AUxXI;EACI,WAAA;AV0XR;AW1iBQ;EDoLA;IACI,WAAA;EVyXV;EUtXM;IAEI,aAAA;IACA,8BAAA;IACA,mBAAA;EVuXV;EUrXU;IANJ;MAOQ,iBAAA;IVwXZ;EACF;EUrXM;IACI,8BAAA;EVuXV;EUpXM;IAKI,gBAAA;EVkXV;EU/WM;IAII,oBAAA;EV8WV;EU3WM;IACI,cAAA;EV6WV;AACF;;AA3fA;Ea9EI,kEAAA;EACA,kEAAA;EAGI,kEAAA;Ab2kBR;AazkBQ;EAEQ,YAAA;EACA,oDAAA;Ab0kBhB;;AAjgBA;EalFI,mEAAA;EACA,mEAAA;EAGI,mEAAA;AbqlBR;AanlBQ;EAEQ,YAAA;EACA,qDAAA;AbolBhB;;AAvgBA;EatFI,kEAAA;EACA,kEAAA;EAGI,kEAAA;Ab+lBR;Aa7lBQ;EAEQ,YAAA;EACA,oDAAA;Ab8lBhB\",\"sourcesContent\":[\"@use \\\"../../styles/tools/form-fields/box-field-elements\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-layout\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-sizes\\\";\\n@use \\\"../../styles/tools/form-fields/foundation\\\";\\n@use \\\"../../styles/tools/form-fields/variants\\\";\\n@use \\\"../../styles/tools/accessibility\\\";\\n\\n// Foundation\\n.root {\\n @include foundation.root();\\n}\\n\\n.label {\\n @include foundation.label();\\n}\\n\\n.inputContainer {\\n @include box-field-elements.input-container();\\n}\\n\\n.input {\\n @include box-field-elements.input();\\n @include box-field-elements.input-textarea();\\n}\\n\\n.bottomLine {\\n @include box-field-elements.bottom-line();\\n}\\n\\n.helpText,\\n.validationText {\\n @include foundation.help-text();\\n}\\n\\n.isRootRequired .label {\\n @include foundation.label-required();\\n}\\n\\n// Visual variants\\n.isRootVariantFilled {\\n @include variants.visual(box, $variant: filled);\\n}\\n\\n.isRootVariantOutline {\\n @include variants.visual(box, $variant: outline);\\n}\\n\\n// States\\n.isRootStateInvalid {\\n @include variants.validation(invalid);\\n}\\n\\n.isRootStateValid {\\n @include variants.validation(valid);\\n}\\n\\n.isRootStateWarning {\\n @include variants.validation(warning);\\n}\\n\\n// Invisible label\\n.isLabelHidden {\\n @include accessibility.hide-text();\\n}\\n\\n// Layouts\\n.isRootLayoutVertical,\\n.isRootLayoutHorizontal {\\n @include box-field-layout.vertical();\\n}\\n\\n.isRootLayoutHorizontal {\\n @include box-field-layout.horizontal();\\n}\\n\\n.isRootFullWidth {\\n @include box-field-layout.full-width();\\n}\\n\\n.isRootInFormLayout {\\n @include box-field-layout.in-form-layout();\\n}\\n\\n// Sizes\\n.isRootSizeSmall {\\n @include box-field-sizes.size(small, $is-multiline: true);\\n}\\n\\n.isRootSizeMedium {\\n @include box-field-sizes.size(medium, $is-multiline: true);\\n}\\n\\n.isRootSizeLarge {\\n @include box-field-sizes.size(large, $is-multiline: true);\\n}\\n\",\"// 1. Don't let text alignment be affected by a parent.\\n// 2. Override foundation reset.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin root() {\\n text-align: left; // 1.\\n}\\n\\n@mixin fieldset() {\\n &:not(:last-child) {\\n margin-bottom: 0; // 2.\\n }\\n}\\n\\n@mixin label() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$label-color});\\n}\\n\\n@mixin label-required() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$required-label-color});\\n\\n &::after {\\n content: theme.$required-sign;\\n color: theme.$required-sign-color;\\n }\\n}\\n\\n@mixin help-text() {\\n font-style: theme.$help-text-font-style;\\n font-size: theme.$help-text-font-size;\\n line-height: settings.$help-text-line-height;\\n color: var(--rui-local-surrounding-text-color, #{theme.$help-text-color});\\n}\\n\",\"// 1. Get ready for positioning of bottom line and caret.\\n// 2. Always prefer `size` and `max` attributes when defined. Use CSS for sizing to normalize\\n// result width across browsers.\\n// 3. Let inputs properly fit various layout scenarios.\\n// 4. Leave out space for SelectField caret.\\n// 5. Use a block-level display mode to prevent extra white space below grouped inputs in Safari.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../tools/caret\\\";\\n@use \\\"../spacing\\\";\\n@use \\\"../transition\\\";\\n\\n@mixin input-container() {\\n position: relative; // 1.\\n display: inline-flex;\\n min-width: 0; // 3.\\n max-width: 100%; // 3.\\n}\\n\\n@mixin input() {\\n @include transition.add((opacity, color, border-color, background-color, box-shadow));\\n\\n appearance: none;\\n width: theme.$box-input-width;\\n min-width: theme.$box-input-min-width;\\n max-width: 100%; // 3.\\n height: var(--rui-local-height);\\n padding: var(--rui-local-padding-y) var(--rui-local-padding-x);\\n font-weight: settings.$box-input-font-weight;\\n font-size: var(--rui-local-font-size);\\n line-height: settings.$box-input-line-height;\\n font-family: settings.$box-input-font-family;\\n vertical-align: middle;\\n color: var(--rui-local-color);\\n border: theme.$box-border-width solid var(--rui-local-border-color);\\n border-radius: theme.$box-border-radius;\\n background: var(--rui-local-background);\\n box-shadow: var(--rui-local-box-shadow);\\n\\n &::placeholder {\\n color: theme.$box-placeholder-color;\\n opacity: 1;\\n }\\n}\\n\\n@mixin input-size() {\\n width:\\n calc(\\n 1ch * var(--rui-custom-input-size)\\n + var(--rui-local-arrows-width, 0)\\n + 2 * var(--rui-local-padding-x)\\n + 2 * #{theme.$box-border-width}\\n ); // 2.\\n\\n min-width: auto; // 2.\\n\\n &[type=\\\"number\\\"] {\\n --rui-local-arrows-width: #{settings.$box-field-input-number-arrows-width};\\n }\\n}\\n\\n@mixin input-textarea() {\\n resize: vertical;\\n\\n &[cols] {\\n min-width: auto;\\n }\\n}\\n\\n@mixin input-select() {\\n appearance: none;\\n padding-right: calc(#{settings.$box-field-caret-size} + #{spacing.of(2)}); // 4.\\n\\n &::-ms-expand {\\n display: none;\\n }\\n}\\n\\n@mixin input-select-option() {\\n option:disabled {\\n color: theme.$box-select-option-disabled-color;\\n }\\n}\\n\\n@mixin caret() {\\n @include transition.add((border-color));\\n\\n position: absolute; // 1.\\n top: theme.$box-border-width;\\n right: theme.$box-border-width;\\n bottom: theme.$box-border-width;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: calc(#{settings.$box-field-caret-size} - 2 * #{theme.$box-border-width});\\n border-start-end-radius: theme.$box-border-radius;\\n border-end-end-radius: theme.$box-border-radius;\\n pointer-events: none;\\n}\\n\\n@mixin caret-icon() {\\n @include caret.create();\\n\\n border-color: var(--rui-local-color);\\n}\\n\\n@mixin bottom-line() {\\n @include transition.add((transform, opacity), 180ms);\\n\\n position: absolute; // 1.\\n bottom: 0;\\n width: 100%;\\n height: settings.$box-field-bottom-line-height;\\n opacity: 0;\\n transform: scaleX(0);\\n transform-origin: center center;\\n pointer-events: none;\\n\\n .input:focus ~ & {\\n background-color: var(--rui-local-border-color);\\n opacity: 1;\\n transform: scaleX(1);\\n }\\n}\\n\\n@mixin in-group-layout() {\\n .inputContainer {\\n display: block; // 5.\\n }\\n\\n &:not(:first-child) .input {\\n border-start-start-radius: var(--rui-local-inner-border-radius);\\n border-end-start-radius: var(--rui-local-inner-border-radius);\\n }\\n\\n &:not(:last-child) .input {\\n border-start-end-radius: var(--rui-local-inner-border-radius);\\n border-end-end-radius: var(--rui-local-inner-border-radius);\\n }\\n}\\n\",\"@use \\\"sass:list\\\";\\n@use \\\"sass:meta\\\";\\n@use \\\"sass:string\\\";\\n@use \\\"../settings/animations\\\";\\n\\n$_allowed-transitions: (\\n border-color,\\n background-color,\\n background-position,\\n box-shadow,\\n color,\\n opacity,\\n transform,\\n visibility,\\n);\\n\\n$_reduced-motion-disallowed-transitions: (transform);\\n\\n@function _validate-transitions($properties) {\\n @each $property in $properties {\\n $is-allowed: list.index($_allowed-transitions, $property);\\n\\n @if not $is-allowed {\\n @return false;\\n }\\n }\\n\\n @return true;\\n}\\n\\n@function _reduce-motion-transitions($properties) {\\n $reduced-properties: ();\\n $separator: list.separator($properties);\\n\\n @each $property in $properties {\\n @if not list.index($_reduced-motion-disallowed-transitions, $property) {\\n $reduced-properties: list.append($reduced-properties, $property, $separator: $separator);\\n }\\n }\\n\\n @return $reduced-properties;\\n}\\n\\n@mixin add($properties, $duration: 150ms) {\\n $property-list: ();\\n\\n @if meta.type-of($properties) != \\\"string\\\" and meta.type-of($properties) != \\\"list\\\" {\\n @error \\\"Transition properties must be a string or a Sass list, `#{$properties}` given.\\\";\\n }\\n\\n $property-list: list.join($property-list, $properties);\\n\\n @if not _validate-transitions($property-list) {\\n @error \\\"Only [#{$_allowed-transitions}] transitions are allowed, [#{$properties}] given.\\\";\\n } @else {\\n $reduced-property-list: _reduce-motion-transitions($property-list);\\n\\n transition-property: $property-list;\\n transition-duration: $duration;\\n transition-timing-function: animations.$standard-timing-function;\\n\\n @if list.length($reduced-property-list) > 0 {\\n @media (prefers-reduced-motion: reduce) {\\n transition-property: $reduced-property-list;\\n }\\n }\\n }\\n}\\n\",\"$standard-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n\",\"// Variant specific theme options are obtained dynamically because there is way too many of them to\\n// maintain manually. See `settings/_form-fields.scss` and `tools/form-fields/_variants.scss` for\\n// details.\\n//\\n// 1. Defaults to zero when neither `--rui-FormField--horizontal__label__padding-y` (optional) nor\\n// `--rui-local-padding-y` (handled by the `size()` mixin in case of box form fields, see\\n// `_box-field-sizes.scss`) is defined. This is useful because FormLayoutCustomField may have no\\n// size specified therefore its label should have no padding at the top.\\n\\n// Forms fields: common properties\\n$label-color: var(--rui-FormField__label__color);\\n$label-font-size: var(--rui-FormField__label__font-size);\\n$help-text-font-size: var(--rui-FormField__help-text__font-size);\\n$help-text-font-style: var(--rui-FormField__help-text__font-style);\\n$help-text-color: var(--rui-FormField__help-text__color);\\n$required-label-color: var(--rui-FormField--required__label__color);\\n$required-sign: var(--rui-FormField--required__sign);\\n$required-sign-color: var(--rui-FormField--required__sign__color);\\n\\n// Form fields: horizontal layout\\n$horizontal-label-text-align: var(--rui-FormField--horizontal__label__text-align);\\n$horizontal-label-min-width: var(--rui-FormField--horizontal__label__min-width);\\n$horizontal-label-width: var(--rui-FormField--horizontal__label__width);\\n$horizontal-label-padding-y:\\n var(\\n --rui-FormField--horizontal__label__padding-y,\\n calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y))\\n ); // 1.\\n$horizontal-label-vertical-alignment: var(--rui-FormField--horizontal__label__vertical-alignment);\\n$horizontal-field-vertical-alignment: var(--rui-FormField--horizontal__field__vertical-alignment);\\n$horizontal-full-width-label-width: var(--rui-FormField--horizontal--full-width__label__width);\\n\\n// Form fields: disabled state\\n$disabled-cursor: var(--rui-FormField--disabled__cursor);\\n$disabled-opacity: var(--rui-FormField--disabled__opacity);\\n\\n// Form fields: box fields\\n$box-border-width: var(--rui-FormField--box__border-width);\\n$box-border-radius: var(--rui-FormField--box__border-radius);\\n$box-input-width: var(--rui-FormField--box__input__width);\\n$box-input-min-width: var(--rui-FormField--box__input__min-width);\\n$box-placeholder-color: var(--rui-FormField--box__placeholder__color);\\n\\n// Form fields: box fields, component specific\\n$box-select-caret-border-style: var(--rui-FormField--box--select__caret__border-style);\\n$box-select-caret-background: var(--rui-FormField--box--select__caret__background);\\n$box-select-option-disabled-color: var(--rui-FormField--box--select__option--disabled__color);\\n\\n// Form fields: box field sizes\\n$box-sizes: (\\n small: (\\n height: var(--rui-FormField--box--small__height),\\n padding-y: var(--rui-FormField--box--small__padding-y),\\n padding-x: var(--rui-FormField--box--small__padding-x),\\n font-size: var(--rui-FormField--box--small__font-size),\\n ),\\n medium: (\\n height: var(--rui-FormField--box--medium__height),\\n padding-y: var(--rui-FormField--box--medium__padding-y),\\n padding-x: var(--rui-FormField--box--medium__padding-x),\\n font-size: var(--rui-FormField--box--medium__font-size),\\n ),\\n large: (\\n height: var(--rui-FormField--box--large__height),\\n padding-y: var(--rui-FormField--box--large__padding-y),\\n padding-x: var(--rui-FormField--box--large__padding-x),\\n font-size: var(--rui-FormField--box--large__font-size),\\n ),\\n);\\n\\n// Form fields: check fields\\n$check-input-size: var(--rui-FormField--check__input__size);\\n$check-input-border-width: var(--rui-FormField--check__input__border-width);\\n$check-input-focus-box-shadow: var(--rui-FormField--check__input--focus__box-shadow);\\n$check-tap-target-size: var(--rui-FormField--check__tap-target-size);\\n\\n// Form fields: check fields, component specific\\n$check-input-checkbox-border-radius: var(--rui-FormField--check__input--checkbox__border-radius);\\n$check-input-checkbox-checked-background-image: var(--rui-FormField--check__input--checkbox--checked__background-image);\\n$check-input-radio-border-radius: var(--rui-FormField--check__input--radio__border-radius);\\n$check-input-radio-checked-background-image: var(--rui-FormField--check__input--radio--checked__background-image);\\n$check-input-toggle-width: var(--rui-FormField--check__input--toggle__width);\\n$check-input-toggle-border-radius: var(--rui-FormField--check__input--toggle__border-radius);\\n$check-input-toggle-background-size: var(--rui-FormField--check__input--toggle__background-size);\\n$check-input-toggle-default-background-image: var(--rui-FormField--check__input--toggle--default__background-image);\\n$check-input-toggle-default-background-position:\\n var(\\n --rui-FormField--check__input--toggle--default__background-position\\n );\\n$check-input-toggle-checked-background-image: var(--rui-FormField--check__input--toggle--checked__background-image);\\n$check-input-toggle-checked-background-position:\\n var(\\n --rui-FormField--check__input--toggle--checked__background-position\\n );\\n\",\"// 1. Input `line-height` is specified in `rem` so inputs do not break when their font size gets\\n// changed later.\\n\\n@use \\\"sass:map\\\";\\n@use \\\"../theme/typography\\\";\\n@use \\\"../tools/spacing\\\";\\n\\n$help-text-line-height: 1.2rem;\\n\\n$vertical-inner-gap: spacing.of(1);\\n$vertical-inner-gap-large: spacing.of(2);\\n$vertical-outer-spacing: spacing.of(2);\\n\\n$horizontal-inner-gap: spacing.of(2);\\n$horizontal-outer-spacing: spacing.of(2);\\n\\n$box-input-font-family: typography.$font-family-base;\\n$box-input-font-weight: map.get(typography.$font-weight-values, default);\\n$box-input-line-height: 1.5rem; // 1.\\n$box-field-caret-size: 2.25rem;\\n$box-field-input-number-arrows-width: 1.5rem;\\n$box-field-bottom-line-height: 2px;\\n\\n$inline-field-inner-gap: spacing.of(2);\\n\\n$themeable-variant-states: (\\n box: (\\n filled: (default, hover, focus, disabled),\\n outline: (default, hover, focus, disabled),\\n ),\\n check: (\\n default: (default, checked, disabled, checked-disabled),\\n ),\\n custom: (\\n default: (default, disabled),\\n ),\\n validation: (\\n invalid: (default, checked, disabled, checked-disabled),\\n valid: (default, checked, disabled, checked-disabled),\\n warning: (default, checked, disabled, checked-disabled),\\n ),\\n);\\n\\n$themeable-state-properties: (\\n default: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n hover: (color, border-color, background, box-shadow),\\n focus: (color, border-color, background, check-background-color, box-shadow),\\n checked: (border-color, check-background-color),\\n disabled: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n checked-disabled: (border-color, check-background-color),\\n);\\n\",\"$font-weight-values: (\\n light: var(--rui-font-weight-light),\\n default: var(--rui-font-weight-base),\\n bold: var(--rui-font-weight-bold),\\n);\\n\\n$font-weight-base: var(--rui-font-weight-base);\\n\\n$font-size-values: (\\n 1: var(--rui-font-size-1),\\n 2: var(--rui-font-size-2),\\n 3: var(--rui-font-size-3),\\n 4: var(--rui-font-size-4),\\n 5: var(--rui-font-size-5),\\n 6: var(--rui-font-size-6),\\n);\\n\\n$font-size-base: var(--rui-font-size-base);\\n$font-size-small: var(--rui-font-size-small);\\n$font-size-smaller: var(--rui-font-size-smaller);\\n\\n$font-family-base: var(--rui-font-family-base);\\n\\n$line-height-base: var(--rui-line-height-base);\\n$line-height-small: var(--rui-line-height-small);\\n\",\"// 1. Due to complexity, it's easier and safer to resolve variant custom properties dynamically with\\n// a mixin. This way it's also easier to make theming adjustments to all supported modifications\\n// in one place. Generated custom properties are consumed mainly in foundation field styles (see\\n// `tools/form-fields/_foundation.scss` for more).\\n//\\n// 2. Interaction states other than `default` default to the `default` (sic!) state appearance if\\n// corresponding custom properties are not provided.\\n//\\n// 3. `.input:focus` is added just in case `:focus-within` doesn't work.\\n\\n@use \\\"sass:list\\\";\\n@use \\\"sass:map\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin _disabled-state() {\\n opacity: theme.$disabled-opacity;\\n cursor: theme.$disabled-cursor;\\n}\\n\\n// 1.\\n@mixin _generate-custom-properties($type, $variant, $state) {\\n @if not list.index(map.keys(map.get(settings.$themeable-variant-states, $type)), $variant) {\\n @error \\\"Invalid variant specified! #{$variant} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(map.get(settings.$themeable-variant-states, $type))}.\\\";\\n }\\n\\n @if not list.index(map.keys(settings.$themeable-state-properties), $state) {\\n @error \\\"Invalid state specified! #{$state} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-state-properties)}.\\\";\\n }\\n\\n $properties: map.get(settings.$themeable-state-properties, $state);\\n $infix: $type;\\n $fallback-state: \\\"default\\\";\\n\\n @if $type == \\\"validation\\\" {\\n $infix: $variant;\\n }\\n\\n @if $type != \\\"validation\\\" and $variant != \\\"default\\\" {\\n $infix: #{$type}--#{$variant};\\n }\\n\\n @if $state == \\\"checked-disabled\\\" {\\n $fallback-state: \\\"checked\\\";\\n }\\n\\n @if $state == \\\"default\\\" {\\n @each $property in $properties {\\n --rui-local-#{$property}: var(--rui-FormField--#{$infix}--#{$state}__#{$property});\\n }\\n }\\n\\n // 2.\\n @else {\\n @each $property in $properties {\\n --rui-local-#{$property}:\\n var(\\n --rui-FormField--#{$infix}--#{$state}__#{$property},\\n var(--rui-FormField--#{$infix}--#{$fallback-state}__#{$property})\\n );\\n }\\n }\\n}\\n\\n@mixin _get-theme($type, $variant) {\\n @if not list.index(map.keys(settings.$themeable-variant-states), $type) {\\n @error \\\"Invalid type specified! #{$type} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-variant-states)}.\\\";\\n }\\n\\n $themeable-states: map.get(map.get(settings.$themeable-variant-states, $type), $variant);\\n\\n @if list.index($themeable-states, \\\"hover\\\") {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"hover\\\");\\n }\\n } @else {\\n &,\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"focus\\\") {\\n // 3.\\n &:focus-within,\\n &:focus-within:hover,\\n .input:focus {\\n @include _generate-custom-properties($type, $variant, \\\"focus\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked\\\") {\\n .input:checked {\\n @include _generate-custom-properties($type, $variant, \\\"checked\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"disabled\\\") {\\n &.isRootDisabled {\\n @include _generate-custom-properties($type, $variant, \\\"disabled\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked-disabled\\\") {\\n .input:checked:disabled {\\n @include _generate-custom-properties($type, $variant, \\\"checked-disabled\\\");\\n }\\n }\\n}\\n\\n@mixin visual($type, $variant: \\\"default\\\", $has-caret: false) {\\n @include _get-theme($type, $variant);\\n\\n .input:disabled {\\n @include _disabled-state();\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"filled\\\" {\\n .input {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n }\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"outline\\\" and $has-caret {\\n .caret {\\n border-left: theme.$box-border-width theme.$box-select-caret-border-style var(--rui-local-border-color);\\n background: theme.$box-select-caret-background;\\n }\\n\\n &.isRootDisabled .caret {\\n @include _disabled-state();\\n }\\n }\\n}\\n\\n@mixin validation($variant) {\\n @include _get-theme(validation, $variant);\\n}\\n\",\"// 1. Screen readers only, inspired by Bootstrap.\\n// https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss\\n//\\n// 2. Make tap target big enough to improve accessibility on touch screens.\\n\\n@use \\\"../theme/accessibility\\\" as theme;\\n\\n// 1.\\n@mixin hide-text() {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n@mixin unhide-text() {\\n position: unset;\\n width: unset;\\n height: unset;\\n overflow: unset;\\n clip: unset;\\n white-space: unset;\\n}\\n\\n// 2.\\n@mixin min-tap-target($size: theme.$tap-target-size, $center: true) {\\n position: relative;\\n\\n &::before {\\n content: \\\"\\\";\\n position: absolute;\\n width: $size;\\n height: $size;\\n\\n @if $center {\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n }\\n }\\n}\\n\\n@mixin focus-ring() {\\n &:focus-visible {\\n outline: theme.$focus-outline;\\n outline-offset: theme.$focus-outline-offset;\\n box-shadow: theme.$focus-box-shadow;\\n }\\n}\\n\",\"// 1. Inline form fields and fields with vertical layout take up as much space as they need. Labels\\n// do not wrap until forced by container of the field. Min and max limits make extra long words\\n// break if necessary.\\n//\\n// 2. Form fields in horizontal layout also take up only as much space as they need. Labels do not\\n// wrap until label width limit is reached (50 % of available horizontal space by default).\\n//\\n// 3. Help texts and validation messages are aligned below input and wrapped. Their width is always\\n// limited to the width of the input field so they don't shift adjacent elements when they show\\n// up. This applies unless the field is inside FormLayout (see 10).\\n//\\n// 4. Define grid spacing as padding of child elements because grid areas make row and column gaps\\n// show up even when not necessary.\\n//\\n// 5. When input size is small and form field layout is set to horizontal, expand help text and\\n// validation message over full form field width to improve their readability. Otherwise the\\n// text would be packed into a very narrow column and hard to read. To prevent help text and\\n// validation message from growing the layout more than necessary (ie. the size without\\n// help/validation text), `min-content` grid sizing must be used along with disabled wrapping of\\n// label.\\n//\\n// 6. Full-width horizontal form fields prefer not wrapping the label until a limit is reached\\n// (50 % of available horizontal space by default, same as in 2.).\\n//\\n// 7. Justify inputs to `start` in horizontal layouts to fix positioning issues with Select Fields.\\n// Reverted for full-width fields.\\n//\\n// 8. Grid settings are inherited from horizontal FormLayout and applied using `subgrid`.\\n// A fallback is supplied to browsers that don't support `subgrid` yet. See FormLayout styles\\n// for more.\\n// https://github.com/react-ui-org/react-ui/issues/232\\n//\\n// 9. Help texts and validation messages can take up full width of FormLayout. There is no reason\\n// to make them wrap as they cannot break layout of FormLayout.\\n//\\n// 10. Visually align label to input baseline. Achieved with `padding-top` and `padding-bottom` due\\n// to two reasons:\\n//\\n// * `align-items: baseline` doesn't work for blank text inputs in Safari. See\\n// https://bugs.webkit.org/show_bug.cgi?id=142968 and\\n// https://github.com/react-ui-org/react-ui/issues/265.\\n//\\n// * `align-items: baseline` doesn't allow subsequent vertical centering of tall inputs and/or\\n// multiline labels (see `theme.$horizontal-label-vertical-alignment` and\\n// `theme.$horizontal-field-vertical-alignment`).\\n//\\n// 11. Reset `width` previously set by inline field layout (see `_inline-field-layout.scss`).\\n//\\n// 12. Make fields just as wide as necessary. Fields should be interactive only where their visible\\n// content is.\\n//\\n// 13. Label and field are vertically aligned to top (start) by default (see 10.). Vertical\\n// alignment of each block can be changed by theme configuration.\\n\\n@use \\\"../../settings/forms\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../theme/typography\\\";\\n@use \\\"../breakpoint\\\";\\n\\n@mixin vertical($has-list: false) {\\n @if $has-list {\\n --rui-local-vertical-gap: #{settings.$vertical-inner-gap-large};\\n }\\n\\n display: inline-flex; // 1.\\n flex-direction: column;\\n min-width: 0; // 1.\\n max-width: 100%; // 1.\\n\\n .label {\\n padding-bottom: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .helpText,\\n .validationText {\\n padding-top: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .field {\\n width: min-content; // 3.\\n max-width: 100%; // 3.\\n }\\n}\\n\\n@mixin horizontal($has-min-tap-target: false) {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n display: inline-grid; // 2.\\n grid-template-columns: theme.$horizontal-label-width min-content; // 2.\\n grid-template-areas: \\\"label field\\\";\\n align-items: start; // 10., 13.\\n\\n .label {\\n grid-area: label;\\n align-self: theme.$horizontal-label-vertical-alignment; // 13.\\n min-width: theme.$horizontal-label-min-width;\\n\\n // 10.\\n @if $has-min-tap-target {\\n padding-top:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n padding-bottom:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n }\\n\\n // 10., 13.\\n @else {\\n padding-top: #{theme.$horizontal-label-padding-y};\\n padding-bottom: #{theme.$horizontal-label-padding-y};\\n }\\n\\n padding-right: settings.$horizontal-inner-gap; // 4.\\n text-align: theme.$horizontal-label-text-align;\\n }\\n\\n .field {\\n grid-area: field;\\n align-self: theme.$horizontal-field-vertical-alignment; // 13.\\n justify-self: start; // 7.\\n }\\n }\\n}\\n\\n@mixin horizontal-with-small-input() {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n grid-template-columns: min-content min-content; // 5.\\n grid-template-areas:\\n \\\"label field\\\"\\n \\\"helptext helptext\\\"\\n \\\"validationtext validationtext\\\"; // 5.\\n\\n .label {\\n white-space: nowrap; // 5.\\n }\\n\\n .field {\\n display: contents; // 5.\\n }\\n\\n .inputContainer {\\n grid-area: field; // 5.\\n }\\n\\n .helpText {\\n grid-area: helptext; // 5.\\n }\\n\\n .validationText {\\n grid-area: validationtext; // 5.\\n }\\n }\\n}\\n\\n@mixin full-width() {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n\\n .field,\\n .inputContainer,\\n .input {\\n width: 100%;\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n &.isRootLayoutHorizontal {\\n display: grid;\\n grid-template-columns: theme.$horizontal-full-width-label-width 1fr; // 6.\\n }\\n\\n &.isRootLayoutHorizontal .field {\\n justify-self: stretch; // 7.\\n }\\n }\\n}\\n\\n@mixin in-form-layout() {\\n justify-self: start; // 12.\\n\\n .field {\\n width: auto; // 9.\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n .optionLabel {\\n width: auto; // 11.\\n }\\n\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n grid: inherit; // 8.\\n grid-template-columns: subgrid; // 8.\\n grid-column: span 2; // 8.\\n\\n @supports not (grid-template-columns: subgrid) {\\n display: contents; // 8.\\n }\\n }\\n\\n &.isRootLayoutHorizontal.isRootFullWidth {\\n grid-template-columns: subgrid; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .label,\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-area: unset; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-column-start: 2; // 8.\\n }\\n\\n &.isRootLayoutHorizontal.hasRootSmallInput .field {\\n display: block; // 5.\\n }\\n }\\n}\\n\",\"@use \\\"sass:map\\\";\\n@use \\\"../settings/breakpoints\\\";\\n\\n@mixin up($breakpoint) {\\n @if not map.has-key(breakpoints.$values, $breakpoint) {\\n @error \\\"Invalid breakpoint specified! #{$breakpoint} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(breakpoints.$values)}\\\";\\n } @else if map.get(breakpoints.$values, $breakpoint) == 0 {\\n @content;\\n } @else {\\n @media (min-width: map.get(breakpoints.$values, $breakpoint)) {\\n @content;\\n }\\n }\\n}\\n\",null,\"@use \\\"sass:map\\\";\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin size($size, $has-input: true, $is-multiline: false) {\\n $size-properties: map.get(theme.$box-sizes, $size);\\n\\n --rui-local-padding-y: #{map.get($size-properties, padding-y)};\\n --rui-local-padding-x: #{map.get($size-properties, padding-x)};\\n\\n @if $has-input {\\n --rui-local-font-size: #{map.get($size-properties, font-size)};\\n\\n .input {\\n @if $is-multiline {\\n height: auto;\\n min-height: map.get($size-properties, height);\\n } @else {\\n --rui-local-height: #{map.get($size-properties, height)};\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"TextArea__root__rz-Hzcml\",\n\t\"label\": \"TextArea__label__THp83eC1\",\n\t\"inputContainer\": \"TextArea__inputContainer__HCaazKgc\",\n\t\"input\": \"TextArea__input__U8ugNiSz\",\n\t\"bottomLine\": \"TextArea__bottomLine__kDIoTXG0\",\n\t\"helpText\": \"TextArea__helpText__SZQntsVA\",\n\t\"validationText\": \"TextArea__validationText__IntH9Q9Y\",\n\t\"isRootRequired\": \"TextArea__isRootRequired__b3NTvodK\",\n\t\"isRootVariantFilled\": \"TextArea__isRootVariantFilled__5bh526YA\",\n\t\"isRootDisabled\": \"TextArea__isRootDisabled__ShBbb4a4\",\n\t\"isRootVariantOutline\": \"TextArea__isRootVariantOutline__nagTG037\",\n\t\"isRootStateInvalid\": \"TextArea__isRootStateInvalid__zMIhL6L9\",\n\t\"isRootStateValid\": \"TextArea__isRootStateValid__-8+HYAG9\",\n\t\"isRootStateWarning\": \"TextArea__isRootStateWarning__agp1k5d3\",\n\t\"isLabelHidden\": \"TextArea__isLabelHidden__-8zjrc5E\",\n\t\"isRootLayoutVertical\": \"TextArea__isRootLayoutVertical__bhdQawKc\",\n\t\"isRootLayoutHorizontal\": \"TextArea__isRootLayoutHorizontal__s3TLMaFb\",\n\t\"field\": \"TextArea__field__mbP0Yqfj\",\n\t\"isRootFullWidth\": \"TextArea__isRootFullWidth__8TBpS0gA\",\n\t\"isRootInFormLayout\": \"TextArea__isRootInFormLayout__o2pBkjXB\",\n\t\"optionLabel\": \"TextArea__optionLabel__e3Dh+srS\",\n\t\"hasRootSmallInput\": \"TextArea__hasRootSmallInput__9jFVI4Pz\",\n\t\"isRootSizeSmall\": \"TextArea__isRootSizeSmall__akIP-Mzc\",\n\t\"isRootSizeMedium\": \"TextArea__isRootSizeMedium__44SoWzxP\",\n\t\"isRootSizeLarge\": \"TextArea__isRootSizeLarge__a+7c5KS4\"\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vc3JjL2xpYi9jb21wb25lbnRzL1RleHRBcmVhL1RleHRBcmVhLnNjc3MuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvbGliL2NvbXBvbmVudHMvVGV4dEFyZWEvVGV4dEFyZWEuc2Nzcz9lMTU0Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLlRleHRBcmVhX19yb290X19yei1IemNtbCB7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG5cXG4uVGV4dEFyZWFfX2xhYmVsX19USHA4M2VDMSB7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGRfX2xhYmVsX19jb2xvcikpO1xcbn1cXG5cXG4uVGV4dEFyZWFfX2lucHV0Q29udGFpbmVyX19IQ2FhektnYyB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIG1pbi13aWR0aDogMDtcXG4gIG1heC13aWR0aDogMTAwJTtcXG59XFxuXFxuLlRleHRBcmVhX19pbnB1dF9fVTh1Z05pU3oge1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdztcXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICB3aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19pbnB1dF9fd2lkdGgpO1xcbiAgbWluLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2lucHV0X19taW4td2lkdGgpO1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiB2YXIoLS1ydWktbG9jYWwtaGVpZ2h0KTtcXG4gIHBhZGRpbmc6IHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXgpO1xcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXJ1aS1mb250LXdlaWdodC1iYXNlKTtcXG4gIGZvbnQtc2l6ZTogdmFyKC0tcnVpLWxvY2FsLWZvbnQtc2l6ZSk7XFxuICBsaW5lLWhlaWdodDogMS41cmVtO1xcbiAgZm9udC1mYW1pbHk6IHZhcigtLXJ1aS1mb250LWZhbWlseS1iYXNlKTtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLWNvbG9yKTtcXG4gIGJvcmRlcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3IpO1xcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItcmFkaXVzKTtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXJ1aS1sb2NhbC1ib3gtc2hhZG93KTtcXG4gIHJlc2l6ZTogdmVydGljYWw7XFxufVxcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XFxuICAuVGV4dEFyZWFfX2lucHV0X19VOHVnTmlTeiB7XFxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3c7XFxuICB9XFxufVxcbi5UZXh0QXJlYV9faW5wdXRfX1U4dWdOaVN6OjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX3BsYWNlaG9sZGVyX19jb2xvcik7XFxuICBvcGFjaXR5OiAxO1xcbn1cXG4uVGV4dEFyZWFfX2lucHV0X19VOHVnTmlTejo6cGxhY2Vob2xkZXIge1xcbiAgY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fcGxhY2Vob2xkZXJfX2NvbG9yKTtcXG4gIG9wYWNpdHk6IDE7XFxufVxcbi5UZXh0QXJlYV9faW5wdXRfX1U4dWdOaVN6W2NvbHNdIHtcXG4gIG1pbi13aWR0aDogYXV0bztcXG59XFxuXFxuLlRleHRBcmVhX19ib3R0b21MaW5lX19rRElvVFhHMCB7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxODBtcztcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYm90dG9tOiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDJweDtcXG4gIG9wYWNpdHk6IDA7XFxuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG59XFxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcXG4gIC5UZXh0QXJlYV9fYm90dG9tTGluZV9fa0RJb1RYRzAge1xcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xcbiAgfVxcbn1cXG4uVGV4dEFyZWFfX2lucHV0X19VOHVnTmlTejpmb2N1cyB+IC5UZXh0QXJlYV9fYm90dG9tTGluZV9fa0RJb1RYRzAge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICBvcGFjaXR5OiAxO1xcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XFxufVxcblxcbi5UZXh0QXJlYV9faGVscFRleHRfX1NaUW50c1ZBLFxcbi5UZXh0QXJlYV9fdmFsaWRhdGlvblRleHRfX0ludEg5UTlZIHtcXG4gIGZvbnQtc3R5bGU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fZm9udC1zdHlsZSk7XFxuICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fZm9udC1zaXplKTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjJyZW07XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fY29sb3IpKTtcXG59XFxuXFxuLlRleHRBcmVhX19pc1Jvb3RSZXF1aXJlZF9fYjNOVHZvZEsgLlRleHRBcmVhX19sYWJlbF9fVEhwODNlQzEge1xcbiAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fbGFiZWxfX2NvbG9yKSk7XFxufVxcbi5UZXh0QXJlYV9faXNSb290UmVxdWlyZWRfX2IzTlR2b2RLIC5UZXh0QXJlYV9fbGFiZWxfX1RIcDgzZUMxOjphZnRlciB7XFxuICBjb250ZW50OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fc2lnbik7XFxuICBjb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX3NpZ25fX2NvbG9yKTtcXG59XFxuXFxuLlRleHRBcmVhX19pc1Jvb3RWYXJpYW50RmlsbGVkX181Ymg1MjZZQSB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5UZXh0QXJlYV9faXNSb290VmFyaWFudEZpbGxlZF9fNWJoNTI2WUE6aG92ZXIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1ob3Zlcl9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0taG92ZXJfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWhvdmVyX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWhvdmVyX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbn1cXG4uVGV4dEFyZWFfX2lzUm9vdFZhcmlhbnRGaWxsZWRfXzViaDUyNllBOmZvY3VzLXdpdGhpbiwgLlRleHRBcmVhX19pc1Jvb3RWYXJpYW50RmlsbGVkX181Ymg1MjZZQTpmb2N1cy13aXRoaW46aG92ZXIsXFxuLlRleHRBcmVhX19pc1Jvb3RWYXJpYW50RmlsbGVkX181Ymg1MjZZQSAuVGV4dEFyZWFfX2lucHV0X19VOHVnTmlTejpmb2N1cyB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWZvY3VzX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1mb2N1c19fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZm9jdXNfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZm9jdXNfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZm9jdXNfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxufVxcbi5UZXh0QXJlYV9faXNSb290VmFyaWFudEZpbGxlZF9fNWJoNTI2WUEuVGV4dEFyZWFfX2lzUm9vdERpc2FibGVkX19TaEJiYjRhNCB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRpc2FibGVkX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGlzYWJsZWRfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5UZXh0QXJlYV9faXNSb290VmFyaWFudEZpbGxlZF9fNWJoNTI2WUEgLlRleHRBcmVhX19pbnB1dF9fVTh1Z05pU3o6ZGlzYWJsZWQge1xcbiAgb3BhY2l0eTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX29wYWNpdHkpO1xcbiAgY3Vyc29yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fY3Vyc29yKTtcXG59XFxuLlRleHRBcmVhX19pc1Jvb3RWYXJpYW50RmlsbGVkX181Ymg1MjZZQSAuVGV4dEFyZWFfX2lucHV0X19VOHVnTmlTeiB7XFxuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XFxufVxcblxcbi5UZXh0QXJlYV9faXNSb290VmFyaWFudE91dGxpbmVfX25hZ1RHMDM3IHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19iYWNrZ3JvdW5kKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKTtcXG59XFxuLlRleHRBcmVhX19pc1Jvb3RWYXJpYW50T3V0bGluZV9fbmFnVEcwMzc6aG92ZXIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0taG92ZXJfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0taG92ZXJfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0taG92ZXJfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1ob3Zlcl9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxufVxcbi5UZXh0QXJlYV9faXNSb290VmFyaWFudE91dGxpbmVfX25hZ1RHMDM3OmZvY3VzLXdpdGhpbiwgLlRleHRBcmVhX19pc1Jvb3RWYXJpYW50T3V0bGluZV9fbmFnVEcwMzc6Zm9jdXMtd2l0aGluOmhvdmVyLFxcbi5UZXh0QXJlYV9faXNSb290VmFyaWFudE91dGxpbmVfX25hZ1RHMDM3IC5UZXh0QXJlYV9faW5wdXRfX1U4dWdOaVN6OmZvY3VzIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWZvY3VzX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWZvY3VzX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWZvY3VzX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZm9jdXNfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1mb2N1c19fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxufVxcbi5UZXh0QXJlYV9faXNSb290VmFyaWFudE91dGxpbmVfX25hZ1RHMDM3LlRleHRBcmVhX19pc1Jvb3REaXNhYmxlZF9fU2hCYmI0YTQge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGlzYWJsZWRfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uVGV4dEFyZWFfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX19uYWdURzAzNyAuVGV4dEFyZWFfX2lucHV0X19VOHVnTmlTejpkaXNhYmxlZCB7XFxuICBvcGFjaXR5OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fb3BhY2l0eSk7XFxuICBjdXJzb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19jdXJzb3IpO1xcbn1cXG5cXG4uVGV4dEFyZWFfX2lzUm9vdFN0YXRlSW52YWxpZF9fek1JaEw2TDksIC5UZXh0QXJlYV9faXNSb290U3RhdGVJbnZhbGlkX196TUloTDZMOTpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5UZXh0QXJlYV9faXNSb290U3RhdGVJbnZhbGlkX196TUloTDZMOSAuVGV4dEFyZWFfX2lucHV0X19VOHVnTmlTejpjaGVja2VkIHtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlRleHRBcmVhX19pc1Jvb3RTdGF0ZUludmFsaWRfX3pNSWhMNkw5LlRleHRBcmVhX19pc1Jvb3REaXNhYmxlZF9fU2hCYmI0YTQge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uVGV4dEFyZWFfX2lzUm9vdFN0YXRlSW52YWxpZF9fek1JaEw2TDkgLlRleHRBcmVhX19pbnB1dF9fVTh1Z05pU3o6Y2hlY2tlZDpkaXNhYmxlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWQtZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcblxcbi5UZXh0QXJlYV9faXNSb290U3RhdGVWYWxpZF9fLThcXFxcK0hZQUc5LCAuVGV4dEFyZWFfX2lzUm9vdFN0YXRlVmFsaWRfXy04XFxcXCtIWUFHOTpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5UZXh0QXJlYV9faXNSb290U3RhdGVWYWxpZF9fLThcXFxcK0hZQUc5IC5UZXh0QXJlYV9faW5wdXRfX1U4dWdOaVN6OmNoZWNrZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlRleHRBcmVhX19pc1Jvb3RTdGF0ZVZhbGlkX18tOFxcXFwrSFlBRzkuVGV4dEFyZWFfX2lzUm9vdERpc2FibGVkX19TaEJiYjRhNCB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5UZXh0QXJlYV9faXNSb290U3RhdGVWYWxpZF9fLThcXFxcK0hZQUc5IC5UZXh0QXJlYV9faW5wdXRfX1U4dWdOaVN6OmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuXFxuLlRleHRBcmVhX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX2FncDFrNWQzLCAuVGV4dEFyZWFfX2lzUm9vdFN0YXRlV2FybmluZ19fYWdwMWs1ZDM6aG92ZXIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JhY2tncm91bmQpO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3gtc2hhZG93KTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpO1xcbn1cXG4uVGV4dEFyZWFfX2lzUm9vdFN0YXRlV2FybmluZ19fYWdwMWs1ZDMgLlRleHRBcmVhX19pbnB1dF9fVTh1Z05pU3o6Y2hlY2tlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5UZXh0QXJlYV9faXNSb290U3RhdGVXYXJuaW5nX19hZ3AxazVkMy5UZXh0QXJlYV9faXNSb290RGlzYWJsZWRfX1NoQmJiNGE0IHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlRleHRBcmVhX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX2FncDFrNWQzIC5UZXh0QXJlYV9faW5wdXRfX1U4dWdOaVN6OmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG5cXG4uVGV4dEFyZWFfX2lzTGFiZWxIaWRkZW5fXy04empyYzVFIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxcHg7XFxuICBoZWlnaHQ6IDFweDtcXG4gIHBhZGRpbmc6IDA7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBib3JkZXI6IDA7XFxufVxcblxcbi5UZXh0QXJlYV9faXNSb290TGF5b3V0VmVydGljYWxfX2JoZFFhd0tjLFxcbi5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIge1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgbWluLXdpZHRoOiAwO1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG4uVGV4dEFyZWFfX2lzUm9vdExheW91dFZlcnRpY2FsX19iaGRRYXdLYyAuVGV4dEFyZWFfX2xhYmVsX19USHA4M2VDMSxcXG4uVGV4dEFyZWFfX2lzUm9vdExheW91dEhvcml6b250YWxfX3MzVExNYUZiIC5UZXh0QXJlYV9fbGFiZWxfX1RIcDgzZUMxIHtcXG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCB2YXIoLS1ydWktZGltZW5zaW9uLXNwYWNlLTEpKTtcXG59XFxuLlRleHRBcmVhX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fYmhkUWF3S2MgLlRleHRBcmVhX19oZWxwVGV4dF9fU1pRbnRzVkEsXFxuLlRleHRBcmVhX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fYmhkUWF3S2MgLlRleHRBcmVhX192YWxpZGF0aW9uVGV4dF9fSW50SDlROVksXFxuLlRleHRBcmVhX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19zM1RMTWFGYiAuVGV4dEFyZWFfX2hlbHBUZXh0X19TWlFudHNWQSxcXG4uVGV4dEFyZWFfX2lzUm9vdExheW91dEhvcml6b250YWxfX3MzVExNYUZiIC5UZXh0QXJlYV9fdmFsaWRhdGlvblRleHRfX0ludEg5UTlZIHtcXG4gIHBhZGRpbmctdG9wOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCB2YXIoLS1ydWktZGltZW5zaW9uLXNwYWNlLTEpKTtcXG59XFxuLlRleHRBcmVhX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fYmhkUWF3S2MgLlRleHRBcmVhX19maWVsZF9fbWJQMFlxZmosXFxuLlRleHRBcmVhX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19zM1RMTWFGYiAuVGV4dEFyZWFfX2ZpZWxkX19tYlAwWXFmaiB7XFxuICB3aWR0aDogLXdlYmtpdC1taW4tY29udGVudDtcXG4gIHdpZHRoOiAtbW96LW1pbi1jb250ZW50O1xcbiAgd2lkdGg6IG1pbi1jb250ZW50O1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlRleHRBcmVhX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19zM1RMTWFGYiB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX193aWR0aCkgLXdlYmtpdC1taW4tY29udGVudDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fd2lkdGgpIG1pbi1jb250ZW50O1xcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcXFwibGFiZWwgZmllbGRcXFwiO1xcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XFxuICB9XFxuICAuVGV4dEFyZWFfX2lzUm9vdExheW91dEhvcml6b250YWxfX3MzVExNYUZiIC5UZXh0QXJlYV9fbGFiZWxfX1RIcDgzZUMxIHtcXG4gICAgZ3JpZC1hcmVhOiBsYWJlbDtcXG4gICAgYWxpZ24tc2VsZjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuICAgIG1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX21pbi13aWR0aCk7XFxuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15LCBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKSk7XFxuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15LCBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKSk7XFxuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMik7XFxuICAgIHRleHQtYWxpZ246IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX190ZXh0LWFsaWduKTtcXG4gIH1cXG4gIC5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIgLlRleHRBcmVhX19maWVsZF9fbWJQMFlxZmoge1xcbiAgICBncmlkLWFyZWE6IGZpZWxkO1xcbiAgICBhbGlnbi1zZWxmOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19maWVsZF9fdmVydGljYWwtYWxpZ25tZW50KTtcXG4gICAganVzdGlmeS1zZWxmOiBzdGFydDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcXG4gIC5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIgLlRleHRBcmVhX19sYWJlbF9fVEhwODNlQzEge1xcbiAgICAtbXMtZ3JpZC1yb3c6IDE7XFxuICAgIC1tcy1ncmlkLWNvbHVtbjogMTtcXG4gIH1cXG4gIC5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIgLlRleHRBcmVhX19maWVsZF9fbWJQMFlxZmoge1xcbiAgICAtbXMtZ3JpZC1yb3c6IDE7XFxuICAgIC1tcy1ncmlkLWNvbHVtbjogMjtcXG4gIH1cXG59XFxuXFxuLlRleHRBcmVhX19pc1Jvb3RGdWxsV2lkdGhfXzhUQnBTMGdBIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5UZXh0QXJlYV9faXNSb290RnVsbFdpZHRoX184VEJwUzBnQSAuVGV4dEFyZWFfX2ZpZWxkX19tYlAwWXFmaixcXG4uVGV4dEFyZWFfX2lzUm9vdEZ1bGxXaWR0aF9fOFRCcFMwZ0EgLlRleHRBcmVhX19pbnB1dENvbnRhaW5lcl9fSENhYXpLZ2MsXFxuLlRleHRBcmVhX19pc1Jvb3RGdWxsV2lkdGhfXzhUQnBTMGdBIC5UZXh0QXJlYV9faW5wdXRfX1U4dWdOaVN6IHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlRleHRBcmVhX19pc1Jvb3RGdWxsV2lkdGhfXzhUQnBTMGdBLlRleHRBcmVhX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19zM1RMTWFGYiB7XFxuICAgIGRpc3BsYXk6IGdyaWQ7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbC0tZnVsbC13aWR0aF9fbGFiZWxfX3dpZHRoKSAxZnI7XFxuICB9XFxuICAuVGV4dEFyZWFfX2lzUm9vdEZ1bGxXaWR0aF9fOFRCcFMwZ0EuVGV4dEFyZWFfX2lzUm9vdExheW91dEhvcml6b250YWxfX3MzVExNYUZiIC5UZXh0QXJlYV9fZmllbGRfX21iUDBZcWZqIHtcXG4gICAganVzdGlmeS1zZWxmOiBzdHJldGNoO1xcbiAgfVxcbn1cXG5cXG4uVGV4dEFyZWFfX2lzUm9vdEluRm9ybUxheW91dF9fbzJwQmtqWEIge1xcbiAganVzdGlmeS1zZWxmOiBzdGFydDtcXG59XFxuLlRleHRBcmVhX19pc1Jvb3RJbkZvcm1MYXlvdXRfX28ycEJralhCIC5UZXh0QXJlYV9fZmllbGRfX21iUDBZcWZqIHtcXG4gIHdpZHRoOiBhdXRvO1xcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlRleHRBcmVhX19pc1Jvb3RJbkZvcm1MYXlvdXRfX28ycEJralhCIC5UZXh0QXJlYV9fb3B0aW9uTGFiZWxfX2UzRGhcXFxcK3NyUyB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcbiAgLlRleHRBcmVhX19pc1Jvb3RJbkZvcm1MYXlvdXRfX28ycEJralhCLlRleHRBcmVhX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19zM1RMTWFGYiwgLlRleHRBcmVhX19pc1Jvb3RJbkZvcm1MYXlvdXRfX28ycEJralhCLlRleHRBcmVhX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19zM1RMTWFGYi5UZXh0QXJlYV9faGFzUm9vdFNtYWxsSW5wdXRfXzlqRlZJNFB6IHtcXG4gICAgZ3JpZDogaW5oZXJpdDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xcbiAgfVxcbiAgQHN1cHBvcnRzIG5vdCAoZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkKSB7XFxuICAgIC5UZXh0QXJlYV9faXNSb290SW5Gb3JtTGF5b3V0X19vMnBCa2pYQi5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIsIC5UZXh0QXJlYV9faXNSb290SW5Gb3JtTGF5b3V0X19vMnBCa2pYQi5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIuVGV4dEFyZWFfX2hhc1Jvb3RTbWFsbElucHV0X185akZWSTRQeiB7XFxuICAgICAgZGlzcGxheTogY29udGVudHM7XFxuICAgIH1cXG4gIH1cXG4gIC5UZXh0QXJlYV9faXNSb290SW5Gb3JtTGF5b3V0X19vMnBCa2pYQi5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIuVGV4dEFyZWFfX2lzUm9vdEZ1bGxXaWR0aF9fOFRCcFMwZ0Ege1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XFxuICB9XFxuICAuVGV4dEFyZWFfX2lzUm9vdEluRm9ybUxheW91dF9fbzJwQmtqWEIuVGV4dEFyZWFfX2lzUm9vdExheW91dEhvcml6b250YWxfX3MzVExNYUZiIC5UZXh0QXJlYV9fbGFiZWxfX1RIcDgzZUMxLCAuVGV4dEFyZWFfX2lzUm9vdEluRm9ybUxheW91dF9fbzJwQmtqWEIuVGV4dEFyZWFfX2lzUm9vdExheW91dEhvcml6b250YWxfX3MzVExNYUZiIC5UZXh0QXJlYV9fZmllbGRfX21iUDBZcWZqLCAuVGV4dEFyZWFfX2lzUm9vdEluRm9ybUxheW91dF9fbzJwQmtqWEIuVGV4dEFyZWFfX2lzUm9vdExheW91dEhvcml6b250YWxfX3MzVExNYUZiIC5UZXh0QXJlYV9faW5wdXRDb250YWluZXJfX0hDYWF6S2djLCAuVGV4dEFyZWFfX2lzUm9vdEluRm9ybUxheW91dF9fbzJwQmtqWEIuVGV4dEFyZWFfX2lzUm9vdExheW91dEhvcml6b250YWxfX3MzVExNYUZiIC5UZXh0QXJlYV9faGVscFRleHRfX1NaUW50c1ZBLCAuVGV4dEFyZWFfX2lzUm9vdEluRm9ybUxheW91dF9fbzJwQmtqWEIuVGV4dEFyZWFfX2lzUm9vdExheW91dEhvcml6b250YWxfX3MzVExNYUZiIC5UZXh0QXJlYV9fdmFsaWRhdGlvblRleHRfX0ludEg5UTlZIHtcXG4gICAgZ3JpZC1hcmVhOiB1bnNldDtcXG4gIH1cXG4gIC5UZXh0QXJlYV9faXNSb290SW5Gb3JtTGF5b3V0X19vMnBCa2pYQi5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIgLlRleHRBcmVhX19maWVsZF9fbWJQMFlxZmosIC5UZXh0QXJlYV9faXNSb290SW5Gb3JtTGF5b3V0X19vMnBCa2pYQi5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIgLlRleHRBcmVhX19pbnB1dENvbnRhaW5lcl9fSENhYXpLZ2MsIC5UZXh0QXJlYV9faXNSb290SW5Gb3JtTGF5b3V0X19vMnBCa2pYQi5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIgLlRleHRBcmVhX19oZWxwVGV4dF9fU1pRbnRzVkEsIC5UZXh0QXJlYV9faXNSb290SW5Gb3JtTGF5b3V0X19vMnBCa2pYQi5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIgLlRleHRBcmVhX192YWxpZGF0aW9uVGV4dF9fSW50SDlROVkge1xcbiAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcXG4gIH1cXG4gIC5UZXh0QXJlYV9faXNSb290SW5Gb3JtTGF5b3V0X19vMnBCa2pYQi5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIuVGV4dEFyZWFfX2hhc1Jvb3RTbWFsbElucHV0X185akZWSTRQeiAuVGV4dEFyZWFfX2ZpZWxkX19tYlAwWXFmaiB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgfVxcbn1cXG5cXG4uVGV4dEFyZWFfX2lzUm9vdFNpemVTbWFsbF9fYWtJUC1NemMge1xcbiAgLS1ydWktbG9jYWwtcGFkZGluZy15OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19wYWRkaW5nLXkpO1xcbiAgLS1ydWktbG9jYWwtcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19wYWRkaW5nLXgpO1xcbiAgLS1ydWktbG9jYWwtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19mb250LXNpemUpO1xcbn1cXG4uVGV4dEFyZWFfX2lzUm9vdFNpemVTbWFsbF9fYWtJUC1NemMgLlRleHRBcmVhX19pbnB1dF9fVTh1Z05pU3oge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbiAgbWluLWhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zbWFsbF9faGVpZ2h0KTtcXG59XFxuXFxuLlRleHRBcmVhX19pc1Jvb3RTaXplTWVkaXVtX180NFNvV3p4UCB7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19wYWRkaW5nLXkpO1xcbiAgLS1ydWktbG9jYWwtcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fcGFkZGluZy14KTtcXG4gIC0tcnVpLWxvY2FsLWZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX2ZvbnQtc2l6ZSk7XFxufVxcbi5UZXh0QXJlYV9faXNSb290U2l6ZU1lZGl1bV9fNDRTb1d6eFAgLlRleHRBcmVhX19pbnB1dF9fVTh1Z05pU3oge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbiAgbWluLWhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX2hlaWdodCk7XFxufVxcblxcbi5UZXh0QXJlYV9faXNSb290U2l6ZUxhcmdlX19hXFxcXCs3YzVLUzQge1xcbiAgLS1ydWktbG9jYWwtcGFkZGluZy15OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWxhcmdlX19wYWRkaW5nLXkpO1xcbiAgLS1ydWktbG9jYWwtcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWxhcmdlX19wYWRkaW5nLXgpO1xcbiAgLS1ydWktbG9jYWwtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWxhcmdlX19mb250LXNpemUpO1xcbn1cXG4uVGV4dEFyZWFfX2lzUm9vdFNpemVMYXJnZV9fYVxcXFwrN2M1S1M0IC5UZXh0QXJlYV9faW5wdXRfX1U4dWdOaVN6IHtcXG4gIGhlaWdodDogYXV0bztcXG4gIG1pbi1oZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX2hlaWdodCk7XFxufVwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL3NyYy9saWIvY29tcG9uZW50cy9UZXh0QXJlYS9UZXh0QXJlYS5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fZm91bmRhdGlvbi5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fYm94LWZpZWxkLWVsZW1lbnRzLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL190cmFuc2l0aW9uLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3NldHRpbmdzL19hbmltYXRpb25zLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3RoZW1lL19mb3JtLWZpZWxkcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy9zZXR0aW5ncy9fZm9ybS1maWVsZHMuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdGhlbWUvX3R5cG9ncmFwaHkuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX3ZhcmlhbnRzLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL19hY2Nlc3NpYmlsaXR5LnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL19ib3gtZmllbGQtbGF5b3V0LnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL19icmVha3BvaW50LnNjc3NcIixcIjxubyBzb3VyY2U+XCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fYm94LWZpZWxkLXNpemVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBUUE7RUNESSxnQkFBQTtBRExKOztBQVVBO0VDS0ksa0ZBQUE7QURYSjs7QUFVQTtFRUZJLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtBRkpKOztBQU9BO0VHcUNRLCtFQVBZO0VBUVosMEJBZjJCO0VBZ0IzQix3REMzRG1CO0VGdUJ2Qix3QkFBQTtLQUFBLHFCQUFBO1VBQUEsZ0JBQUE7RUFDQSw4Q0dlYztFSGRkLHNER2VrQjtFSGRsQixlQUFBO0VBQ0EsK0JBQUE7RUFDQSw4REFBQTtFQUNBLHdDSVpvQjtFSmFwQixxQ0FBQTtFQUNBLG1CSWJvQjtFSmNwQix3Q0tYZTtFTFlmLHNCQUFBO0VBQ0EsNkJBQUE7RUFDQSxtRkFBQTtFQUNBLHVER0VnQjtFSERoQix1Q0FBQTtFQUNBLHVDQUFBO0VBeUJBLGdCQUFBO0FGM0JKO0FHMEJZO0VIMUNaO0lHMkNnQiwrRUFSZ0I7RUhmOUI7QUFDRjtBRURJO0VBQ0ksb0RBQUE7RUFDQSxVQUFBO0FGR1I7QUVMSTtFQUNJLG9EQUFBO0VBQ0EsVUFBQTtBRkdSO0FFb0JJO0VBQ0ksZUFBQTtBRmxCUjs7QUF2QkE7RUdnQ1EsdUNBUFk7RUFRWiwwQkRrRDBDO0VDakQxQyx3REMzRG1CO0VGOEd2QixrQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsV0k1RjJCO0VKNkYzQixVQUFBO0VBQ0Esb0JBQUE7RUFDQSwrQkFBQTtFQUNBLG9CQUFBO0FGdkRKO0FHQVk7RUhyQ1o7SUdzQ2dCLDRCQVJnQjtFSFc5QjtBQUNGO0FFb0RJO0VBQ0ksK0NBQUE7RUFDQSxVQUFBO0VBQ0Esb0JBQUE7QUZsRFI7O0FBM0NBOztFQ0NJLHVESWpCbUI7RUprQm5CLHFESW5Ca0I7RUpvQmxCLG1CS3pCb0I7RUwwQnBCLHNGQUFBO0FEK0NKOztBQTlDQTtFQ2JJLDRGQUFBO0FEK0RKO0FDN0RJO0VBQ0ksNkNJUlE7RUpTUixrRElSYztBTHVFdEI7O0FBakRBO0VRV1ksb0VBQUE7RUFBQSxrRkFBQTtFQUFBLDhFQUFBO0VBQUEsc0dBQUE7RUFBQSw4RUFBQTtFQUFBLHNHQUFBO0FSK0NaO0FRcEJRO0VBcEJJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVI4RFo7QVE5QlE7O0VBaENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSMEZaO0FRNUNRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUjBIWjtBUTdESTtFQXRHQSxnREhrQmU7RUdqQmYsOENIZ0JjO0FMc0psQjtBUTVEUTtFQUNJLDZCQUFBO0VBQ0EsK0JBQUE7RUFDQSw4QkFBQTtFQUNBLDZCQUFBO0VBQ0EsNEJBQUE7QVI4RFo7O0FBbkpBO0VRT1kscUVBQUE7RUFBQSxtRkFBQTtFQUFBLCtFQUFBO0VBQUEsdUdBQUE7RUFBQSwrRUFBQTtFQUFBLHVHQUFBO0FScUpaO0FRMUhRO0VBcEJJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVJvS1o7QVFwSVE7O0VBaENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSZ01aO0FRbEpRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUmdPWjtBUW5LSTtFQXRHQSxnREhrQmU7RUdqQmYsOENIZ0JjO0FMNFBsQjs7QVE1TVE7RUEvQkksZ0VBQUE7RUFBQSw4RUFBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7RUFBQSwwRUFBQTtFQUFBLGtHQUFBO0FSb1BaO0FRck1RO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSeVBaO0FRM01RO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUnlSWjtBUXJPUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUnFTWjs7QVE3UVE7RUEvQkksOERBQUE7RUFBQSw0RUFBQTtFQUFBLHdFQUFBO0VBQUEsZ0dBQUE7RUFBQSx3RUFBQTtFQUFBLGdHQUFBO0FScVRaO0FRdFFRO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSMFRaO0FRNVFRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUjBWWjtBUXRTUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUnNXWjs7QVE5VVE7RUEvQkksZ0VBQUE7RUFBQSw4RUFBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7RUFBQSwwRUFBQTtFQUFBLGtHQUFBO0FSc1haO0FRdlVRO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSMlhaO0FRN1VRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUjJaWjtBUXZXUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUnVhWjs7QUFuYUE7RVNwREksa0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBO0FUMmRKOztBQXphQTs7RVVESSxvQkFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QVYrYUo7QVU3YUk7O0VBQ0ksMkVBQUE7QVZnYlI7QVU3YUk7Ozs7RUFFSSx3RUFBQTtBVmliUjtBVTlhSTs7RUFDSSwwQkFBQTtFQUFBLHVCQUFBO0VBQUEsa0JBQUE7RUFDQSxlQUFBO0FWaWJSOztBV3hmUTtFWDZEUjtJVWdCUSxvQkFBQTtJQUNBLHlGQUFBO0lBQUEsaUZBQUE7SUFDQSxrQ0FBQTtJQUNBLGtCQUFBO0VWZ2JOO0VVOWFNO0lBQ0ksZ0JBQUE7SUFDQSx1RUxsRTBCO0lLbUUxQiw2REwxRWlCO0lLNEZiLDJJQUFBO0lBQ0EsOElBQUE7SUFHSiwyQ0p4R1c7SUl5R1gsK0RMbEdrQjtFTCtmNUI7RVUxWk07SUFDSSxnQkFBQTtJQUNBLHVFTDlGMEI7SUsrRjFCLG1CQUFBO0VWNFpWO0FBQ0Y7O0FZemhCQTtFRjRGUTtJRTVGUixnQkFBQTtJQUFBLG1CQUFBO0VabWhCRTtFVTFaTTtJRXpIUixnQkFBQTtJQUFBLG1CQUFBO0Vad2hCRTtDWXhoQkY7O0FaMkVBO0VVcUZJLGFBQUE7RUFDQSxzQkFBQTtFQUNBLFdBQUE7QVY2WEo7QVUzWEk7OztFQUdJLFdBQUE7QVY2WFI7QVcxaEJRO0VEaUtBO0lBQ0ksYUFBQTtJQUNBLHFGQUFBO0VWNFhWO0VVelhNO0lBQ0kscUJBQUE7RVYyWFY7QUFDRjs7QUE5ZEE7RVV3R0ksbUJBQUE7QVYwWEo7QVV4WEk7RUFDSSxXQUFBO0FWMFhSO0FXMWlCUTtFRG9MQTtJQUNJLFdBQUE7RVZ5WFY7RVV0WE07SUFFSSxhQUFBO0lBQ0EsOEJBQUE7SUFDQSxtQkFBQTtFVnVYVjtFVXJYVTtJQU5KO01BT1EsaUJBQUE7SVZ3WFo7RUFDRjtFVXJYTTtJQUNJLDhCQUFBO0VWdVhWO0VVcFhNO0lBS0ksZ0JBQUE7RVZrWFY7RVUvV007SUFJSSxvQkFBQTtFVjhXVjtFVTNXTTtJQUNJLGNBQUE7RVY2V1Y7QUFDRjs7QUEzZkE7RWE5RUksa0VBQUE7RUFDQSxrRUFBQTtFQUdJLGtFQUFBO0FiMmtCUjtBYXprQlE7RUFFUSxZQUFBO0VBQ0Esb0RBQUE7QWIwa0JoQjs7QUFqZ0JBO0VhbEZJLG1FQUFBO0VBQ0EsbUVBQUE7RUFHSSxtRUFBQTtBYnFsQlI7QWFubEJRO0VBRVEsWUFBQTtFQUNBLHFEQUFBO0Fib2xCaEI7O0FBdmdCQTtFYXRGSSxrRUFBQTtFQUNBLGtFQUFBO0VBR0ksa0VBQUE7QWIrbEJSO0FhN2xCUTtFQUVRLFlBQUE7RUFDQSxvREFBQTtBYjhsQmhCXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9ib3gtZmllbGQtZWxlbWVudHNcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9ib3gtZmllbGQtbGF5b3V0XFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvYm94LWZpZWxkLXNpemVzXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvZm91bmRhdGlvblxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL3ZhcmlhbnRzXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvYWNjZXNzaWJpbGl0eVxcXCI7XFxuXFxuLy8gRm91bmRhdGlvblxcbi5yb290IHtcXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi5yb290KCk7XFxufVxcblxcbi5sYWJlbCB7XFxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24ubGFiZWwoKTtcXG59XFxuXFxuLmlucHV0Q29udGFpbmVyIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWVsZW1lbnRzLmlucHV0LWNvbnRhaW5lcigpO1xcbn1cXG5cXG4uaW5wdXQge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtZWxlbWVudHMuaW5wdXQoKTtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWVsZW1lbnRzLmlucHV0LXRleHRhcmVhKCk7XFxufVxcblxcbi5ib3R0b21MaW5lIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWVsZW1lbnRzLmJvdHRvbS1saW5lKCk7XFxufVxcblxcbi5oZWxwVGV4dCxcXG4udmFsaWRhdGlvblRleHQge1xcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLmhlbHAtdGV4dCgpO1xcbn1cXG5cXG4uaXNSb290UmVxdWlyZWQgLmxhYmVsIHtcXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi5sYWJlbC1yZXF1aXJlZCgpO1xcbn1cXG5cXG4vLyBWaXN1YWwgdmFyaWFudHNcXG4uaXNSb290VmFyaWFudEZpbGxlZCB7XFxuICAgIEBpbmNsdWRlIHZhcmlhbnRzLnZpc3VhbChib3gsICR2YXJpYW50OiBmaWxsZWQpO1xcbn1cXG5cXG4uaXNSb290VmFyaWFudE91dGxpbmUge1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52aXN1YWwoYm94LCAkdmFyaWFudDogb3V0bGluZSk7XFxufVxcblxcbi8vIFN0YXRlc1xcbi5pc1Jvb3RTdGF0ZUludmFsaWQge1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52YWxpZGF0aW9uKGludmFsaWQpO1xcbn1cXG5cXG4uaXNSb290U3RhdGVWYWxpZCB7XFxuICAgIEBpbmNsdWRlIHZhcmlhbnRzLnZhbGlkYXRpb24odmFsaWQpO1xcbn1cXG5cXG4uaXNSb290U3RhdGVXYXJuaW5nIHtcXG4gICAgQGluY2x1ZGUgdmFyaWFudHMudmFsaWRhdGlvbih3YXJuaW5nKTtcXG59XFxuXFxuLy8gSW52aXNpYmxlIGxhYmVsXFxuLmlzTGFiZWxIaWRkZW4ge1xcbiAgICBAaW5jbHVkZSBhY2Nlc3NpYmlsaXR5LmhpZGUtdGV4dCgpO1xcbn1cXG5cXG4vLyBMYXlvdXRzXFxuLmlzUm9vdExheW91dFZlcnRpY2FsLFxcbi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWxheW91dC52ZXJ0aWNhbCgpO1xcbn1cXG5cXG4uaXNSb290TGF5b3V0SG9yaXpvbnRhbCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1sYXlvdXQuaG9yaXpvbnRhbCgpO1xcbn1cXG5cXG4uaXNSb290RnVsbFdpZHRoIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWxheW91dC5mdWxsLXdpZHRoKCk7XFxufVxcblxcbi5pc1Jvb3RJbkZvcm1MYXlvdXQge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtbGF5b3V0LmluLWZvcm0tbGF5b3V0KCk7XFxufVxcblxcbi8vIFNpemVzXFxuLmlzUm9vdFNpemVTbWFsbCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1zaXplcy5zaXplKHNtYWxsLCAkaXMtbXVsdGlsaW5lOiB0cnVlKTtcXG59XFxuXFxuLmlzUm9vdFNpemVNZWRpdW0ge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtc2l6ZXMuc2l6ZShtZWRpdW0sICRpcy1tdWx0aWxpbmU6IHRydWUpO1xcbn1cXG5cXG4uaXNSb290U2l6ZUxhcmdlIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLXNpemVzLnNpemUobGFyZ2UsICRpcy1tdWx0aWxpbmU6IHRydWUpO1xcbn1cXG5cIixcIi8vIDEuIERvbid0IGxldCB0ZXh0IGFsaWdubWVudCBiZSBhZmZlY3RlZCBieSBhIHBhcmVudC5cXG4vLyAyLiBPdmVycmlkZSBmb3VuZGF0aW9uIHJlc2V0LlxcblxcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm0tZmllbGRzXFxcIiBhcyBzZXR0aW5ncztcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuXFxuQG1peGluIHJvb3QoKSB7XFxuICAgIHRleHQtYWxpZ246IGxlZnQ7IC8vIDEuXFxufVxcblxcbkBtaXhpbiBmaWVsZHNldCgpIHtcXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIDIuXFxuICAgIH1cXG59XFxuXFxuQG1peGluIGxhYmVsKCkge1xcbiAgICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsICN7dGhlbWUuJGxhYmVsLWNvbG9yfSk7XFxufVxcblxcbkBtaXhpbiBsYWJlbC1yZXF1aXJlZCgpIHtcXG4gICAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCAje3RoZW1lLiRyZXF1aXJlZC1sYWJlbC1jb2xvcn0pO1xcblxcbiAgICAmOjphZnRlciB7XFxuICAgICAgICBjb250ZW50OiB0aGVtZS4kcmVxdWlyZWQtc2lnbjtcXG4gICAgICAgIGNvbG9yOiB0aGVtZS4kcmVxdWlyZWQtc2lnbi1jb2xvcjtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaGVscC10ZXh0KCkge1xcbiAgICBmb250LXN0eWxlOiB0aGVtZS4kaGVscC10ZXh0LWZvbnQtc3R5bGU7XFxuICAgIGZvbnQtc2l6ZTogdGhlbWUuJGhlbHAtdGV4dC1mb250LXNpemU7XFxuICAgIGxpbmUtaGVpZ2h0OiBzZXR0aW5ncy4kaGVscC10ZXh0LWxpbmUtaGVpZ2h0O1xcbiAgICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsICN7dGhlbWUuJGhlbHAtdGV4dC1jb2xvcn0pO1xcbn1cXG5cIixcIi8vIDEuIEdldCByZWFkeSBmb3IgcG9zaXRpb25pbmcgb2YgYm90dG9tIGxpbmUgYW5kIGNhcmV0Llxcbi8vIDIuIEFsd2F5cyBwcmVmZXIgYHNpemVgIGFuZCBgbWF4YCBhdHRyaWJ1dGVzIHdoZW4gZGVmaW5lZC4gVXNlIENTUyBmb3Igc2l6aW5nIHRvIG5vcm1hbGl6ZVxcbi8vICAgIHJlc3VsdCB3aWR0aCBhY3Jvc3MgYnJvd3NlcnMuXFxuLy8gMy4gTGV0IGlucHV0cyBwcm9wZXJseSBmaXQgdmFyaW91cyBsYXlvdXQgc2NlbmFyaW9zLlxcbi8vIDQuIExlYXZlIG91dCBzcGFjZSBmb3IgU2VsZWN0RmllbGQgY2FyZXQuXFxuLy8gNS4gVXNlIGEgYmxvY2stbGV2ZWwgZGlzcGxheSBtb2RlIHRvIHByZXZlbnQgZXh0cmEgd2hpdGUgc3BhY2UgYmVsb3cgZ3JvdXBlZCBpbnB1dHMgaW4gU2FmYXJpLlxcblxcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm0tZmllbGRzXFxcIiBhcyBzZXR0aW5ncztcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuQHVzZSBcXFwiLi4vLi4vdG9vbHMvY2FyZXRcXFwiO1xcbkB1c2UgXFxcIi4uL3NwYWNpbmdcXFwiO1xcbkB1c2UgXFxcIi4uL3RyYW5zaXRpb25cXFwiO1xcblxcbkBtaXhpbiBpbnB1dC1jb250YWluZXIoKSB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gMS5cXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAgIG1pbi13aWR0aDogMDsgLy8gMy5cXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAzLlxcbn1cXG5cXG5AbWl4aW4gaW5wdXQoKSB7XFxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24uYWRkKChvcGFjaXR5LCBjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93KSk7XFxuXFxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIHdpZHRoOiB0aGVtZS4kYm94LWlucHV0LXdpZHRoO1xcbiAgICBtaW4td2lkdGg6IHRoZW1lLiRib3gtaW5wdXQtbWluLXdpZHRoO1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDMuXFxuICAgIGhlaWdodDogdmFyKC0tcnVpLWxvY2FsLWhlaWdodCk7XFxuICAgIHBhZGRpbmc6IHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXgpO1xcbiAgICBmb250LXdlaWdodDogc2V0dGluZ3MuJGJveC1pbnB1dC1mb250LXdlaWdodDtcXG4gICAgZm9udC1zaXplOiB2YXIoLS1ydWktbG9jYWwtZm9udC1zaXplKTtcXG4gICAgbGluZS1oZWlnaHQ6IHNldHRpbmdzLiRib3gtaW5wdXQtbGluZS1oZWlnaHQ7XFxuICAgIGZvbnQtZmFtaWx5OiBzZXR0aW5ncy4kYm94LWlucHV0LWZvbnQtZmFtaWx5O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbiAgICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLWNvbG9yKTtcXG4gICAgYm9yZGVyOiB0aGVtZS4kYm94LWJvcmRlci13aWR0aCBzb2xpZCB2YXIoLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yKTtcXG4gICAgYm9yZGVyLXJhZGl1czogdGhlbWUuJGJveC1ib3JkZXItcmFkaXVzO1xcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ydWktbG9jYWwtYmFja2dyb3VuZCk7XFxuICAgIGJveC1zaGFkb3c6IHZhcigtLXJ1aS1sb2NhbC1ib3gtc2hhZG93KTtcXG5cXG4gICAgJjo6cGxhY2Vob2xkZXIge1xcbiAgICAgICAgY29sb3I6IHRoZW1lLiRib3gtcGxhY2Vob2xkZXItY29sb3I7XFxuICAgICAgICBvcGFjaXR5OiAxO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbnB1dC1zaXplKCkge1xcbiAgICB3aWR0aDpcXG4gICAgICAgIGNhbGMoXFxuICAgICAgICAgICAgMWNoICogdmFyKC0tcnVpLWN1c3RvbS1pbnB1dC1zaXplKVxcbiAgICAgICAgICAgICsgdmFyKC0tcnVpLWxvY2FsLWFycm93cy13aWR0aCwgMClcXG4gICAgICAgICAgICArIDIgKiB2YXIoLS1ydWktbG9jYWwtcGFkZGluZy14KVxcbiAgICAgICAgICAgICsgMiAqICN7dGhlbWUuJGJveC1ib3JkZXItd2lkdGh9XFxuICAgICAgICApOyAvLyAyLlxcblxcbiAgICBtaW4td2lkdGg6IGF1dG87IC8vIDIuXFxuXFxuICAgICZbdHlwZT1cXFwibnVtYmVyXFxcIl0ge1xcbiAgICAgICAgLS1ydWktbG9jYWwtYXJyb3dzLXdpZHRoOiAje3NldHRpbmdzLiRib3gtZmllbGQtaW5wdXQtbnVtYmVyLWFycm93cy13aWR0aH07XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGlucHV0LXRleHRhcmVhKCkge1xcbiAgICByZXNpemU6IHZlcnRpY2FsO1xcblxcbiAgICAmW2NvbHNdIHtcXG4gICAgICAgIG1pbi13aWR0aDogYXV0bztcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaW5wdXQtc2VsZWN0KCkge1xcbiAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCN7c2V0dGluZ3MuJGJveC1maWVsZC1jYXJldC1zaXplfSArICN7c3BhY2luZy5vZigyKX0pOyAvLyA0LlxcblxcbiAgICAmOjotbXMtZXhwYW5kIHtcXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGlucHV0LXNlbGVjdC1vcHRpb24oKSB7XFxuICAgIG9wdGlvbjpkaXNhYmxlZCB7XFxuICAgICAgICBjb2xvcjogdGhlbWUuJGJveC1zZWxlY3Qtb3B0aW9uLWRpc2FibGVkLWNvbG9yO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBjYXJldCgpIHtcXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi5hZGQoKGJvcmRlci1jb2xvcikpO1xcblxcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IC8vIDEuXFxuICAgIHRvcDogdGhlbWUuJGJveC1ib3JkZXItd2lkdGg7XFxuICAgIHJpZ2h0OiB0aGVtZS4kYm94LWJvcmRlci13aWR0aDtcXG4gICAgYm90dG9tOiB0aGVtZS4kYm94LWJvcmRlci13aWR0aDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgIHdpZHRoOiBjYWxjKCN7c2V0dGluZ3MuJGJveC1maWVsZC1jYXJldC1zaXplfSAtIDIgKiAje3RoZW1lLiRib3gtYm9yZGVyLXdpZHRofSk7XFxuICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiB0aGVtZS4kYm94LWJvcmRlci1yYWRpdXM7XFxuICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogdGhlbWUuJGJveC1ib3JkZXItcmFkaXVzO1xcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG59XFxuXFxuQG1peGluIGNhcmV0LWljb24oKSB7XFxuICAgIEBpbmNsdWRlIGNhcmV0LmNyZWF0ZSgpO1xcblxcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1jb2xvcik7XFxufVxcblxcbkBtaXhpbiBib3R0b20tbGluZSgpIHtcXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi5hZGQoKHRyYW5zZm9ybSwgb3BhY2l0eSksIDE4MG1zKTtcXG5cXG4gICAgcG9zaXRpb246IGFic29sdXRlOyAvLyAxLlxcbiAgICBib3R0b206IDA7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBoZWlnaHQ6IHNldHRpbmdzLiRib3gtZmllbGQtYm90dG9tLWxpbmUtaGVpZ2h0O1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuXFxuICAgIC5pbnB1dDpmb2N1cyB+ICYge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICAgICAgICBvcGFjaXR5OiAxO1xcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGluLWdyb3VwLWxheW91dCgpIHtcXG4gICAgLmlucHV0Q29udGFpbmVyIHtcXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyAvLyA1LlxcbiAgICB9XFxuXFxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmlucHV0IHtcXG4gICAgICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IHZhcigtLXJ1aS1sb2NhbC1pbm5lci1ib3JkZXItcmFkaXVzKTtcXG4gICAgICAgIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiB2YXIoLS1ydWktbG9jYWwtaW5uZXItYm9yZGVyLXJhZGl1cyk7XFxuICAgIH1cXG5cXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5pbnB1dCB7XFxuICAgICAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogdmFyKC0tcnVpLWxvY2FsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xcbiAgICAgICAgYm9yZGVyLWVuZC1lbmQtcmFkaXVzOiB2YXIoLS1ydWktbG9jYWwtaW5uZXItYm9yZGVyLXJhZGl1cyk7XFxuICAgIH1cXG59XFxuXCIsXCJAdXNlIFxcXCJzYXNzOmxpc3RcXFwiO1xcbkB1c2UgXFxcInNhc3M6bWV0YVxcXCI7XFxuQHVzZSBcXFwic2FzczpzdHJpbmdcXFwiO1xcbkB1c2UgXFxcIi4uL3NldHRpbmdzL2FuaW1hdGlvbnNcXFwiO1xcblxcbiRfYWxsb3dlZC10cmFuc2l0aW9uczogKFxcbiAgICBib3JkZXItY29sb3IsXFxuICAgIGJhY2tncm91bmQtY29sb3IsXFxuICAgIGJhY2tncm91bmQtcG9zaXRpb24sXFxuICAgIGJveC1zaGFkb3csXFxuICAgIGNvbG9yLFxcbiAgICBvcGFjaXR5LFxcbiAgICB0cmFuc2Zvcm0sXFxuICAgIHZpc2liaWxpdHksXFxuKTtcXG5cXG4kX3JlZHVjZWQtbW90aW9uLWRpc2FsbG93ZWQtdHJhbnNpdGlvbnM6ICh0cmFuc2Zvcm0pO1xcblxcbkBmdW5jdGlvbiBfdmFsaWRhdGUtdHJhbnNpdGlvbnMoJHByb3BlcnRpZXMpIHtcXG4gICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcXG4gICAgICAgICRpcy1hbGxvd2VkOiBsaXN0LmluZGV4KCRfYWxsb3dlZC10cmFuc2l0aW9ucywgJHByb3BlcnR5KTtcXG5cXG4gICAgICAgIEBpZiBub3QgJGlzLWFsbG93ZWQge1xcbiAgICAgICAgICAgIEByZXR1cm4gZmFsc2U7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQHJldHVybiB0cnVlO1xcbn1cXG5cXG5AZnVuY3Rpb24gX3JlZHVjZS1tb3Rpb24tdHJhbnNpdGlvbnMoJHByb3BlcnRpZXMpIHtcXG4gICAgJHJlZHVjZWQtcHJvcGVydGllczogKCk7XFxuICAgICRzZXBhcmF0b3I6IGxpc3Quc2VwYXJhdG9yKCRwcm9wZXJ0aWVzKTtcXG5cXG4gICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcXG4gICAgICAgIEBpZiBub3QgbGlzdC5pbmRleCgkX3JlZHVjZWQtbW90aW9uLWRpc2FsbG93ZWQtdHJhbnNpdGlvbnMsICRwcm9wZXJ0eSkge1xcbiAgICAgICAgICAgICRyZWR1Y2VkLXByb3BlcnRpZXM6IGxpc3QuYXBwZW5kKCRyZWR1Y2VkLXByb3BlcnRpZXMsICRwcm9wZXJ0eSwgJHNlcGFyYXRvcjogJHNlcGFyYXRvcik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQHJldHVybiAkcmVkdWNlZC1wcm9wZXJ0aWVzO1xcbn1cXG5cXG5AbWl4aW4gYWRkKCRwcm9wZXJ0aWVzLCAkZHVyYXRpb246IDE1MG1zKSB7XFxuICAgICRwcm9wZXJ0eS1saXN0OiAoKTtcXG5cXG4gICAgQGlmIG1ldGEudHlwZS1vZigkcHJvcGVydGllcykgIT0gXFxcInN0cmluZ1xcXCIgYW5kIG1ldGEudHlwZS1vZigkcHJvcGVydGllcykgIT0gXFxcImxpc3RcXFwiIHtcXG4gICAgICAgIEBlcnJvciBcXFwiVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIG11c3QgYmUgYSBzdHJpbmcgb3IgYSBTYXNzIGxpc3QsIGAjeyRwcm9wZXJ0aWVzfWAgZ2l2ZW4uXFxcIjtcXG4gICAgfVxcblxcbiAgICAkcHJvcGVydHktbGlzdDogbGlzdC5qb2luKCRwcm9wZXJ0eS1saXN0LCAkcHJvcGVydGllcyk7XFxuXFxuICAgIEBpZiBub3QgX3ZhbGlkYXRlLXRyYW5zaXRpb25zKCRwcm9wZXJ0eS1saXN0KSB7XFxuICAgICAgICBAZXJyb3IgXFxcIk9ubHkgWyN7JF9hbGxvd2VkLXRyYW5zaXRpb25zfV0gdHJhbnNpdGlvbnMgYXJlIGFsbG93ZWQsIFsjeyRwcm9wZXJ0aWVzfV0gZ2l2ZW4uXFxcIjtcXG4gICAgfSBAZWxzZSB7XFxuICAgICAgICAkcmVkdWNlZC1wcm9wZXJ0eS1saXN0OiBfcmVkdWNlLW1vdGlvbi10cmFuc2l0aW9ucygkcHJvcGVydHktbGlzdCk7XFxuXFxuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkcHJvcGVydHktbGlzdDtcXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcXG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb25zLiRzdGFuZGFyZC10aW1pbmctZnVuY3Rpb247XFxuXFxuICAgICAgICBAaWYgbGlzdC5sZW5ndGgoJHJlZHVjZWQtcHJvcGVydHktbGlzdCkgPiAwIHtcXG4gICAgICAgICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkcmVkdWNlZC1wcm9wZXJ0eS1saXN0O1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cIixcIiRzdGFuZGFyZC10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XFxuXCIsXCIvLyBWYXJpYW50IHNwZWNpZmljIHRoZW1lIG9wdGlvbnMgYXJlIG9idGFpbmVkIGR5bmFtaWNhbGx5IGJlY2F1c2UgdGhlcmUgaXMgd2F5IHRvbyBtYW55IG9mIHRoZW0gdG9cXG4vLyBtYWludGFpbiBtYW51YWxseS4gU2VlIGBzZXR0aW5ncy9fZm9ybS1maWVsZHMuc2Nzc2AgYW5kIGB0b29scy9mb3JtLWZpZWxkcy9fdmFyaWFudHMuc2Nzc2AgZm9yXFxuLy8gZGV0YWlscy5cXG4vL1xcbi8vIDEuIERlZmF1bHRzIHRvIHplcm8gd2hlbiBuZWl0aGVyIGAtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19wYWRkaW5nLXlgIChvcHRpb25hbCkgbm9yXFxuLy8gICAgYC0tcnVpLWxvY2FsLXBhZGRpbmcteWAgKGhhbmRsZWQgYnkgdGhlIGBzaXplKClgIG1peGluIGluIGNhc2Ugb2YgYm94IGZvcm0gZmllbGRzLCBzZWVcXG4vLyAgICBgX2JveC1maWVsZC1zaXplcy5zY3NzYCkgaXMgZGVmaW5lZC4gVGhpcyBpcyB1c2VmdWwgYmVjYXVzZSBGb3JtTGF5b3V0Q3VzdG9tRmllbGQgbWF5IGhhdmUgbm9cXG4vLyAgICBzaXplIHNwZWNpZmllZCB0aGVyZWZvcmUgaXRzIGxhYmVsIHNob3VsZCBoYXZlIG5vIHBhZGRpbmcgYXQgdGhlIHRvcC5cXG5cXG4vLyBGb3JtcyBmaWVsZHM6IGNvbW1vbiBwcm9wZXJ0aWVzXFxuJGxhYmVsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkX19sYWJlbF9fY29sb3IpO1xcbiRsYWJlbC1mb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2xhYmVsX19mb250LXNpemUpO1xcbiRoZWxwLXRleHQtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2ZvbnQtc2l6ZSk7XFxuJGhlbHAtdGV4dC1mb250LXN0eWxlOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2ZvbnQtc3R5bGUpO1xcbiRoZWxwLXRleHQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fY29sb3IpO1xcbiRyZXF1aXJlZC1sYWJlbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX2xhYmVsX19jb2xvcik7XFxuJHJlcXVpcmVkLXNpZ246IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19zaWduKTtcXG4kcmVxdWlyZWQtc2lnbi1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX3NpZ25fX2NvbG9yKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogaG9yaXpvbnRhbCBsYXlvdXRcXG4kaG9yaXpvbnRhbC1sYWJlbC10ZXh0LWFsaWduOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fdGV4dC1hbGlnbik7XFxuJGhvcml6b250YWwtbGFiZWwtbWluLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fbWluLXdpZHRoKTtcXG4kaG9yaXpvbnRhbC1sYWJlbC13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3dpZHRoKTtcXG4kaG9yaXpvbnRhbC1sYWJlbC1wYWRkaW5nLXk6XFxuICAgIHZhcihcXG4gICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3BhZGRpbmcteSxcXG4gICAgICAgIGNhbGModmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpICsgdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteSkpXFxuICAgICk7IC8vIDEuXFxuJGhvcml6b250YWwtbGFiZWwtdmVydGljYWwtYWxpZ25tZW50OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fdmVydGljYWwtYWxpZ25tZW50KTtcXG4kaG9yaXpvbnRhbC1maWVsZC12ZXJ0aWNhbC1hbGlnbm1lbnQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2ZpZWxkX192ZXJ0aWNhbC1hbGlnbm1lbnQpO1xcbiRob3Jpem9udGFsLWZ1bGwtd2lkdGgtbGFiZWwtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWwtLWZ1bGwtd2lkdGhfX2xhYmVsX193aWR0aCk7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGRpc2FibGVkIHN0YXRlXFxuJGRpc2FibGVkLWN1cnNvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX2N1cnNvcik7XFxuJGRpc2FibGVkLW9wYWNpdHk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19vcGFjaXR5KTtcXG5cXG4vLyBGb3JtIGZpZWxkczogYm94IGZpZWxkc1xcbiRib3gtYm9yZGVyLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci13aWR0aCk7XFxuJGJveC1ib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci1yYWRpdXMpO1xcbiRib3gtaW5wdXQtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9faW5wdXRfX3dpZHRoKTtcXG4kYm94LWlucHV0LW1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19pbnB1dF9fbWluLXdpZHRoKTtcXG4kYm94LXBsYWNlaG9sZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX3BsYWNlaG9sZGVyX19jb2xvcik7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGJveCBmaWVsZHMsIGNvbXBvbmVudCBzcGVjaWZpY1xcbiRib3gtc2VsZWN0LWNhcmV0LWJvcmRlci1zdHlsZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zZWxlY3RfX2NhcmV0X19ib3JkZXItc3R5bGUpO1xcbiRib3gtc2VsZWN0LWNhcmV0LWJhY2tncm91bmQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc2VsZWN0X19jYXJldF9fYmFja2dyb3VuZCk7XFxuJGJveC1zZWxlY3Qtb3B0aW9uLWRpc2FibGVkLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fb3B0aW9uLS1kaXNhYmxlZF9fY29sb3IpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBib3ggZmllbGQgc2l6ZXNcXG4kYm94LXNpemVzOiAoXFxuICAgIHNtYWxsOiAoXFxuICAgICAgICBoZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX2hlaWdodCksXFxuICAgICAgICBwYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteSksXFxuICAgICAgICBwYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteCksXFxuICAgICAgICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX2ZvbnQtc2l6ZSksXFxuICAgICksXFxuICAgIG1lZGl1bTogKFxcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9faGVpZ2h0KSxcXG4gICAgICAgIHBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX3BhZGRpbmcteSksXFxuICAgICAgICBwYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19wYWRkaW5nLXgpLFxcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fZm9udC1zaXplKSxcXG4gICAgKSxcXG4gICAgbGFyZ2U6IChcXG4gICAgICAgIGhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9faGVpZ2h0KSxcXG4gICAgICAgIHBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy15KSxcXG4gICAgICAgIHBhZGRpbmcteDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy14KSxcXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fZm9udC1zaXplKSxcXG4gICAgKSxcXG4pO1xcblxcbi8vIEZvcm0gZmllbGRzOiBjaGVjayBmaWVsZHNcXG4kY2hlY2staW5wdXQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0X19zaXplKTtcXG4kY2hlY2staW5wdXQtYm9yZGVyLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXRfX2JvcmRlci13aWR0aCk7XFxuJGNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tZm9jdXNfX2JveC1zaGFkb3cpO1xcbiRjaGVjay10YXAtdGFyZ2V0LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX190YXAtdGFyZ2V0LXNpemUpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBjaGVjayBmaWVsZHMsIGNvbXBvbmVudCBzcGVjaWZpY1xcbiRjaGVjay1pbnB1dC1jaGVja2JveC1ib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLWNoZWNrYm94X19ib3JkZXItcmFkaXVzKTtcXG4kY2hlY2staW5wdXQtY2hlY2tib3gtY2hlY2tlZC1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLWNoZWNrYm94LS1jaGVja2VkX19iYWNrZ3JvdW5kLWltYWdlKTtcXG4kY2hlY2staW5wdXQtcmFkaW8tYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1yYWRpb19fYm9yZGVyLXJhZGl1cyk7XFxuJGNoZWNrLWlucHV0LXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1yYWRpby0tY2hlY2tlZF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGVfX3dpZHRoKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWJvcmRlci1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlX19ib3JkZXItcmFkaXVzKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWJhY2tncm91bmQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGVfX2JhY2tncm91bmQtc2l6ZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1kZWZhdWx0LWJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlLS1kZWZhdWx0X19iYWNrZ3JvdW5kLWltYWdlKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWRlZmF1bHQtYmFja2dyb3VuZC1wb3NpdGlvbjpcXG4gICAgdmFyKFxcbiAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZS0tZGVmYXVsdF9fYmFja2dyb3VuZC1wb3NpdGlvblxcbiAgICApO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtY2hlY2tlZC1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZS0tY2hlY2tlZF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1jaGVja2VkLWJhY2tncm91bmQtcG9zaXRpb246XFxuICAgIHZhcihcXG4gICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWNoZWNrZWRfX2JhY2tncm91bmQtcG9zaXRpb25cXG4gICAgKTtcXG5cIixcIi8vIDEuIElucHV0IGBsaW5lLWhlaWdodGAgaXMgc3BlY2lmaWVkIGluIGByZW1gIHNvIGlucHV0cyBkbyBub3QgYnJlYWsgd2hlbiB0aGVpciBmb250IHNpemUgZ2V0c1xcbi8vICAgIGNoYW5nZWQgbGF0ZXIuXFxuXFxuQHVzZSBcXFwic2FzczptYXBcXFwiO1xcbkB1c2UgXFxcIi4uL3RoZW1lL3R5cG9ncmFwaHlcXFwiO1xcbkB1c2UgXFxcIi4uL3Rvb2xzL3NwYWNpbmdcXFwiO1xcblxcbiRoZWxwLXRleHQtbGluZS1oZWlnaHQ6IDEuMnJlbTtcXG5cXG4kdmVydGljYWwtaW5uZXItZ2FwOiBzcGFjaW5nLm9mKDEpO1xcbiR2ZXJ0aWNhbC1pbm5lci1nYXAtbGFyZ2U6IHNwYWNpbmcub2YoMik7XFxuJHZlcnRpY2FsLW91dGVyLXNwYWNpbmc6IHNwYWNpbmcub2YoMik7XFxuXFxuJGhvcml6b250YWwtaW5uZXItZ2FwOiBzcGFjaW5nLm9mKDIpO1xcbiRob3Jpem9udGFsLW91dGVyLXNwYWNpbmc6IHNwYWNpbmcub2YoMik7XFxuXFxuJGJveC1pbnB1dC1mb250LWZhbWlseTogdHlwb2dyYXBoeS4kZm9udC1mYW1pbHktYmFzZTtcXG4kYm94LWlucHV0LWZvbnQtd2VpZ2h0OiBtYXAuZ2V0KHR5cG9ncmFwaHkuJGZvbnQtd2VpZ2h0LXZhbHVlcywgZGVmYXVsdCk7XFxuJGJveC1pbnB1dC1saW5lLWhlaWdodDogMS41cmVtOyAvLyAxLlxcbiRib3gtZmllbGQtY2FyZXQtc2l6ZTogMi4yNXJlbTtcXG4kYm94LWZpZWxkLWlucHV0LW51bWJlci1hcnJvd3Mtd2lkdGg6IDEuNXJlbTtcXG4kYm94LWZpZWxkLWJvdHRvbS1saW5lLWhlaWdodDogMnB4O1xcblxcbiRpbmxpbmUtZmllbGQtaW5uZXItZ2FwOiBzcGFjaW5nLm9mKDIpO1xcblxcbiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXM6IChcXG4gICAgYm94OiAoXFxuICAgICAgICBmaWxsZWQ6IChkZWZhdWx0LCBob3ZlciwgZm9jdXMsIGRpc2FibGVkKSxcXG4gICAgICAgIG91dGxpbmU6IChkZWZhdWx0LCBob3ZlciwgZm9jdXMsIGRpc2FibGVkKSxcXG4gICAgKSxcXG4gICAgY2hlY2s6IChcXG4gICAgICAgIGRlZmF1bHQ6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICksXFxuICAgIGN1c3RvbTogKFxcbiAgICAgICAgZGVmYXVsdDogKGRlZmF1bHQsIGRpc2FibGVkKSxcXG4gICAgKSxcXG4gICAgdmFsaWRhdGlvbjogKFxcbiAgICAgICAgaW52YWxpZDogKGRlZmF1bHQsIGNoZWNrZWQsIGRpc2FibGVkLCBjaGVja2VkLWRpc2FibGVkKSxcXG4gICAgICAgIHZhbGlkOiAoZGVmYXVsdCwgY2hlY2tlZCwgZGlzYWJsZWQsIGNoZWNrZWQtZGlzYWJsZWQpLFxcbiAgICAgICAgd2FybmluZzogKGRlZmF1bHQsIGNoZWNrZWQsIGRpc2FibGVkLCBjaGVja2VkLWRpc2FibGVkKSxcXG4gICAgKSxcXG4pO1xcblxcbiR0aGVtZWFibGUtc3RhdGUtcHJvcGVydGllczogKFxcbiAgICBkZWZhdWx0OiAoY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZCwgY2hlY2stYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdywgc3Vycm91bmRpbmctdGV4dC1jb2xvciksXFxuICAgIGhvdmVyOiAoY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZCwgYm94LXNoYWRvdyksXFxuICAgIGZvY3VzOiAoY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZCwgY2hlY2stYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyksXFxuICAgIGNoZWNrZWQ6IChib3JkZXItY29sb3IsIGNoZWNrLWJhY2tncm91bmQtY29sb3IpLFxcbiAgICBkaXNhYmxlZDogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGNoZWNrLWJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3csIHN1cnJvdW5kaW5nLXRleHQtY29sb3IpLFxcbiAgICBjaGVja2VkLWRpc2FibGVkOiAoYm9yZGVyLWNvbG9yLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yKSxcXG4pO1xcblwiLFwiJGZvbnQtd2VpZ2h0LXZhbHVlczogKFxcbiAgICBsaWdodDogdmFyKC0tcnVpLWZvbnQtd2VpZ2h0LWxpZ2h0KSxcXG4gICAgZGVmYXVsdDogdmFyKC0tcnVpLWZvbnQtd2VpZ2h0LWJhc2UpLFxcbiAgICBib2xkOiB2YXIoLS1ydWktZm9udC13ZWlnaHQtYm9sZCksXFxuKTtcXG5cXG4kZm9udC13ZWlnaHQtYmFzZTogdmFyKC0tcnVpLWZvbnQtd2VpZ2h0LWJhc2UpO1xcblxcbiRmb250LXNpemUtdmFsdWVzOiAoXFxuICAgIDE6IHZhcigtLXJ1aS1mb250LXNpemUtMSksXFxuICAgIDI6IHZhcigtLXJ1aS1mb250LXNpemUtMiksXFxuICAgIDM6IHZhcigtLXJ1aS1mb250LXNpemUtMyksXFxuICAgIDQ6IHZhcigtLXJ1aS1mb250LXNpemUtNCksXFxuICAgIDU6IHZhcigtLXJ1aS1mb250LXNpemUtNSksXFxuICAgIDY6IHZhcigtLXJ1aS1mb250LXNpemUtNiksXFxuKTtcXG5cXG4kZm9udC1zaXplLWJhc2U6IHZhcigtLXJ1aS1mb250LXNpemUtYmFzZSk7XFxuJGZvbnQtc2l6ZS1zbWFsbDogdmFyKC0tcnVpLWZvbnQtc2l6ZS1zbWFsbCk7XFxuJGZvbnQtc2l6ZS1zbWFsbGVyOiB2YXIoLS1ydWktZm9udC1zaXplLXNtYWxsZXIpO1xcblxcbiRmb250LWZhbWlseS1iYXNlOiB2YXIoLS1ydWktZm9udC1mYW1pbHktYmFzZSk7XFxuXFxuJGxpbmUtaGVpZ2h0LWJhc2U6IHZhcigtLXJ1aS1saW5lLWhlaWdodC1iYXNlKTtcXG4kbGluZS1oZWlnaHQtc21hbGw6IHZhcigtLXJ1aS1saW5lLWhlaWdodC1zbWFsbCk7XFxuXCIsXCIvLyAxLiBEdWUgdG8gY29tcGxleGl0eSwgaXQncyBlYXNpZXIgYW5kIHNhZmVyIHRvIHJlc29sdmUgdmFyaWFudCBjdXN0b20gcHJvcGVydGllcyBkeW5hbWljYWxseSB3aXRoXFxuLy8gICAgYSBtaXhpbi4gVGhpcyB3YXkgaXQncyBhbHNvIGVhc2llciB0byBtYWtlIHRoZW1pbmcgYWRqdXN0bWVudHMgdG8gYWxsIHN1cHBvcnRlZCBtb2RpZmljYXRpb25zXFxuLy8gICAgaW4gb25lIHBsYWNlLiBHZW5lcmF0ZWQgY3VzdG9tIHByb3BlcnRpZXMgYXJlIGNvbnN1bWVkIG1haW5seSBpbiBmb3VuZGF0aW9uIGZpZWxkIHN0eWxlcyAoc2VlXFxuLy8gICAgYHRvb2xzL2Zvcm0tZmllbGRzL19mb3VuZGF0aW9uLnNjc3NgIGZvciBtb3JlKS5cXG4vL1xcbi8vIDIuIEludGVyYWN0aW9uIHN0YXRlcyBvdGhlciB0aGFuIGBkZWZhdWx0YCBkZWZhdWx0IHRvIHRoZSBgZGVmYXVsdGAgKHNpYyEpIHN0YXRlIGFwcGVhcmFuY2UgaWZcXG4vLyAgICBjb3JyZXNwb25kaW5nIGN1c3RvbSBwcm9wZXJ0aWVzIGFyZSBub3QgcHJvdmlkZWQuXFxuLy9cXG4vLyAzLiBgLmlucHV0OmZvY3VzYCBpcyBhZGRlZCBqdXN0IGluIGNhc2UgYDpmb2N1cy13aXRoaW5gIGRvZXNuJ3Qgd29yay5cXG5cXG5AdXNlIFxcXCJzYXNzOmxpc3RcXFwiO1xcbkB1c2UgXFxcInNhc3M6bWFwXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3JtLWZpZWxkc1xcXCIgYXMgc2V0dGluZ3M7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcblxcbkBtaXhpbiBfZGlzYWJsZWQtc3RhdGUoKSB7XFxuICAgIG9wYWNpdHk6IHRoZW1lLiRkaXNhYmxlZC1vcGFjaXR5O1xcbiAgICBjdXJzb3I6IHRoZW1lLiRkaXNhYmxlZC1jdXJzb3I7XFxufVxcblxcbi8vIDEuXFxuQG1peGluIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsICRzdGF0ZSkge1xcbiAgICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMobWFwLmdldChzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzLCAkdHlwZSkpLCAkdmFyaWFudCkge1xcbiAgICAgICAgQGVycm9yIFxcXCJJbnZhbGlkIHZhcmlhbnQgc3BlY2lmaWVkISAjeyR2YXJpYW50fSBkb2Vzbid0IGV4aXN0LiBcXFwiXFxuICAgICAgICAgICAgKyBcXFwiQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKG1hcC5nZXQoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcywgJHR5cGUpKX0uXFxcIjtcXG4gICAgfVxcblxcbiAgICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMoc2V0dGluZ3MuJHRoZW1lYWJsZS1zdGF0ZS1wcm9wZXJ0aWVzKSwgJHN0YXRlKSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgc3RhdGUgc3BlY2lmaWVkISAjeyRzdGF0ZX0gZG9lc24ndCBleGlzdC4gXFxcIlxcbiAgICAgICAgICAgICsgXFxcIkNob29zZSBvbmUgb2YgI3ttYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXMpfS5cXFwiO1xcbiAgICB9XFxuXFxuICAgICRwcm9wZXJ0aWVzOiBtYXAuZ2V0KHNldHRpbmdzLiR0aGVtZWFibGUtc3RhdGUtcHJvcGVydGllcywgJHN0YXRlKTtcXG4gICAgJGluZml4OiAkdHlwZTtcXG4gICAgJGZhbGxiYWNrLXN0YXRlOiBcXFwiZGVmYXVsdFxcXCI7XFxuXFxuICAgIEBpZiAkdHlwZSA9PSBcXFwidmFsaWRhdGlvblxcXCIge1xcbiAgICAgICAgJGluZml4OiAkdmFyaWFudDtcXG4gICAgfVxcblxcbiAgICBAaWYgJHR5cGUgIT0gXFxcInZhbGlkYXRpb25cXFwiIGFuZCAkdmFyaWFudCAhPSBcXFwiZGVmYXVsdFxcXCIge1xcbiAgICAgICAgJGluZml4OiAjeyR0eXBlfS0tI3skdmFyaWFudH07XFxuICAgIH1cXG5cXG4gICAgQGlmICRzdGF0ZSA9PSBcXFwiY2hlY2tlZC1kaXNhYmxlZFxcXCIge1xcbiAgICAgICAgJGZhbGxiYWNrLXN0YXRlOiBcXFwiY2hlY2tlZFxcXCI7XFxuICAgIH1cXG5cXG4gICAgQGlmICRzdGF0ZSA9PSBcXFwiZGVmYXVsdFxcXCIge1xcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcXG4gICAgICAgICAgICAtLXJ1aS1sb2NhbC0jeyRwcm9wZXJ0eX06IHZhcigtLXJ1aS1Gb3JtRmllbGQtLSN7JGluZml4fS0tI3skc3RhdGV9X18jeyRwcm9wZXJ0eX0pO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIC8vIDIuXFxuICAgIEBlbHNlIHtcXG4gICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XFxuICAgICAgICAgICAgLS1ydWktbG9jYWwtI3skcHJvcGVydHl9OlxcbiAgICAgICAgICAgICAgICB2YXIoXFxuICAgICAgICAgICAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLSN7JGluZml4fS0tI3skc3RhdGV9X18jeyRwcm9wZXJ0eX0sXFxuICAgICAgICAgICAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS0jeyRpbmZpeH0tLSN7JGZhbGxiYWNrLXN0YXRlfV9fI3skcHJvcGVydHl9KVxcbiAgICAgICAgICAgICAgICApO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBfZ2V0LXRoZW1lKCR0eXBlLCAkdmFyaWFudCkge1xcbiAgICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcyksICR0eXBlKSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgdHlwZSBzcGVjaWZpZWQhICN7JHR5cGV9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcyl9LlxcXCI7XFxuICAgIH1cXG5cXG4gICAgJHRoZW1lYWJsZS1zdGF0ZXM6IG1hcC5nZXQobWFwLmdldChzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzLCAkdHlwZSksICR2YXJpYW50KTtcXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJob3ZlclxcXCIpIHtcXG4gICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJkZWZhdWx0XFxcIik7XFxuXFxuICAgICAgICAmOmhvdmVyIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiaG92ZXJcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfSBAZWxzZSB7XFxuICAgICAgICAmLFxcbiAgICAgICAgJjpob3ZlciB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImRlZmF1bHRcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImZvY3VzXFxcIikge1xcbiAgICAgICAgLy8gMy5cXG4gICAgICAgICY6Zm9jdXMtd2l0aGluLFxcbiAgICAgICAgJjpmb2N1cy13aXRoaW46aG92ZXIsXFxuICAgICAgICAuaW5wdXQ6Zm9jdXMge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJmb2N1c1xcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiY2hlY2tlZFxcXCIpIHtcXG4gICAgICAgIC5pbnB1dDpjaGVja2VkIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiY2hlY2tlZFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiZGlzYWJsZWRcXFwiKSB7XFxuICAgICAgICAmLmlzUm9vdERpc2FibGVkIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiZGlzYWJsZWRcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImNoZWNrZWQtZGlzYWJsZWRcXFwiKSB7XFxuICAgICAgICAuaW5wdXQ6Y2hlY2tlZDpkaXNhYmxlZCB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImNoZWNrZWQtZGlzYWJsZWRcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gdmlzdWFsKCR0eXBlLCAkdmFyaWFudDogXFxcImRlZmF1bHRcXFwiLCAkaGFzLWNhcmV0OiBmYWxzZSkge1xcbiAgICBAaW5jbHVkZSBfZ2V0LXRoZW1lKCR0eXBlLCAkdmFyaWFudCk7XFxuXFxuICAgIC5pbnB1dDpkaXNhYmxlZCB7XFxuICAgICAgICBAaW5jbHVkZSBfZGlzYWJsZWQtc3RhdGUoKTtcXG4gICAgfVxcblxcbiAgICBAaWYgJHR5cGUgPT0gXFxcImJveFxcXCIgYW5kICR2YXJpYW50ID09IFxcXCJmaWxsZWRcXFwiIHtcXG4gICAgICAgIC5pbnB1dCB7XFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgJHR5cGUgPT0gXFxcImJveFxcXCIgYW5kICR2YXJpYW50ID09IFxcXCJvdXRsaW5lXFxcIiBhbmQgJGhhcy1jYXJldCB7XFxuICAgICAgICAuY2FyZXQge1xcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0aGVtZS4kYm94LWJvcmRlci13aWR0aCB0aGVtZS4kYm94LXNlbGVjdC1jYXJldC1ib3JkZXItc3R5bGUgdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICAgICAgICAgICAgYmFja2dyb3VuZDogdGhlbWUuJGJveC1zZWxlY3QtY2FyZXQtYmFja2dyb3VuZDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290RGlzYWJsZWQgLmNhcmV0IHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZGlzYWJsZWQtc3RhdGUoKTtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gdmFsaWRhdGlvbigkdmFyaWFudCkge1xcbiAgICBAaW5jbHVkZSBfZ2V0LXRoZW1lKHZhbGlkYXRpb24sICR2YXJpYW50KTtcXG59XFxuXCIsXCIvLyAxLiBTY3JlZW4gcmVhZGVycyBvbmx5LCBpbnNwaXJlZCBieSBCb290c3RyYXAuXFxuLy8gICAgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL3Njc3MvbWl4aW5zL19zY3JlZW4tcmVhZGVyLnNjc3NcXG4vL1xcbi8vIDIuIE1ha2UgdGFwIHRhcmdldCBiaWcgZW5vdWdoIHRvIGltcHJvdmUgYWNjZXNzaWJpbGl0eSBvbiB0b3VjaCBzY3JlZW5zLlxcblxcbkB1c2UgXFxcIi4uL3RoZW1lL2FjY2Vzc2liaWxpdHlcXFwiIGFzIHRoZW1lO1xcblxcbi8vIDEuXFxuQG1peGluIGhpZGUtdGV4dCgpIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogMXB4O1xcbiAgICBoZWlnaHQ6IDFweDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gICAgYm9yZGVyOiAwO1xcbn1cXG5cXG5AbWl4aW4gdW5oaWRlLXRleHQoKSB7XFxuICAgIHBvc2l0aW9uOiB1bnNldDtcXG4gICAgd2lkdGg6IHVuc2V0O1xcbiAgICBoZWlnaHQ6IHVuc2V0O1xcbiAgICBvdmVyZmxvdzogdW5zZXQ7XFxuICAgIGNsaXA6IHVuc2V0O1xcbiAgICB3aGl0ZS1zcGFjZTogdW5zZXQ7XFxufVxcblxcbi8vIDIuXFxuQG1peGluIG1pbi10YXAtdGFyZ2V0KCRzaXplOiB0aGVtZS4kdGFwLXRhcmdldC1zaXplLCAkY2VudGVyOiB0cnVlKSB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG5cXG4gICAgJjo6YmVmb3JlIHtcXG4gICAgICAgIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICAgICAgd2lkdGg6ICRzaXplO1xcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcXG5cXG4gICAgICAgIEBpZiAkY2VudGVyIHtcXG4gICAgICAgICAgICB0b3A6IDUwJTtcXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGZvY3VzLXJpbmcoKSB7XFxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XFxuICAgICAgICBvdXRsaW5lOiB0aGVtZS4kZm9jdXMtb3V0bGluZTtcXG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiB0aGVtZS4kZm9jdXMtb3V0bGluZS1vZmZzZXQ7XFxuICAgICAgICBib3gtc2hhZG93OiB0aGVtZS4kZm9jdXMtYm94LXNoYWRvdztcXG4gICAgfVxcbn1cXG5cIixcIi8vIDEuICBJbmxpbmUgZm9ybSBmaWVsZHMgYW5kIGZpZWxkcyB3aXRoIHZlcnRpY2FsIGxheW91dCB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgdGhleSBuZWVkLiBMYWJlbHNcXG4vLyAgICAgZG8gbm90IHdyYXAgdW50aWwgZm9yY2VkIGJ5IGNvbnRhaW5lciBvZiB0aGUgZmllbGQuIE1pbiBhbmQgbWF4IGxpbWl0cyBtYWtlIGV4dHJhIGxvbmcgd29yZHNcXG4vLyAgICAgYnJlYWsgaWYgbmVjZXNzYXJ5Llxcbi8vXFxuLy8gMi4gIEZvcm0gZmllbGRzIGluIGhvcml6b250YWwgbGF5b3V0IGFsc28gdGFrZSB1cCBvbmx5IGFzIG11Y2ggc3BhY2UgYXMgdGhleSBuZWVkLiBMYWJlbHMgZG8gbm90XFxuLy8gICAgIHdyYXAgdW50aWwgbGFiZWwgd2lkdGggbGltaXQgaXMgcmVhY2hlZCAoNTAgJSBvZiBhdmFpbGFibGUgaG9yaXpvbnRhbCBzcGFjZSBieSBkZWZhdWx0KS5cXG4vL1xcbi8vIDMuICBIZWxwIHRleHRzIGFuZCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGFyZSBhbGlnbmVkIGJlbG93IGlucHV0IGFuZCB3cmFwcGVkLiBUaGVpciB3aWR0aCBpcyBhbHdheXNcXG4vLyAgICAgbGltaXRlZCB0byB0aGUgd2lkdGggb2YgdGhlIGlucHV0IGZpZWxkIHNvIHRoZXkgZG9uJ3Qgc2hpZnQgYWRqYWNlbnQgZWxlbWVudHMgd2hlbiB0aGV5IHNob3dcXG4vLyAgICAgdXAuIFRoaXMgYXBwbGllcyB1bmxlc3MgdGhlIGZpZWxkIGlzIGluc2lkZSBGb3JtTGF5b3V0IChzZWUgMTApLlxcbi8vXFxuLy8gNC4gIERlZmluZSBncmlkIHNwYWNpbmcgYXMgcGFkZGluZyBvZiBjaGlsZCBlbGVtZW50cyBiZWNhdXNlIGdyaWQgYXJlYXMgbWFrZSByb3cgYW5kIGNvbHVtbiBnYXBzXFxuLy8gICAgIHNob3cgdXAgZXZlbiB3aGVuIG5vdCBuZWNlc3NhcnkuXFxuLy9cXG4vLyA1LiAgV2hlbiBpbnB1dCBzaXplIGlzIHNtYWxsIGFuZCBmb3JtIGZpZWxkIGxheW91dCBpcyBzZXQgdG8gaG9yaXpvbnRhbCwgZXhwYW5kIGhlbHAgdGV4dCBhbmRcXG4vLyAgICAgdmFsaWRhdGlvbiBtZXNzYWdlIG92ZXIgZnVsbCBmb3JtIGZpZWxkIHdpZHRoIHRvIGltcHJvdmUgdGhlaXIgcmVhZGFiaWxpdHkuIE90aGVyd2lzZSB0aGVcXG4vLyAgICAgdGV4dCB3b3VsZCBiZSBwYWNrZWQgaW50byBhIHZlcnkgbmFycm93IGNvbHVtbiBhbmQgaGFyZCB0byByZWFkLiBUbyBwcmV2ZW50IGhlbHAgdGV4dCBhbmRcXG4vLyAgICAgdmFsaWRhdGlvbiBtZXNzYWdlIGZyb20gZ3Jvd2luZyB0aGUgbGF5b3V0IG1vcmUgdGhhbiBuZWNlc3NhcnkgKGllLiB0aGUgc2l6ZSB3aXRob3V0XFxuLy8gICAgIGhlbHAvdmFsaWRhdGlvbiB0ZXh0KSwgYG1pbi1jb250ZW50YCBncmlkIHNpemluZyBtdXN0IGJlIHVzZWQgYWxvbmcgd2l0aCBkaXNhYmxlZCB3cmFwcGluZyBvZlxcbi8vICAgICBsYWJlbC5cXG4vL1xcbi8vIDYuICBGdWxsLXdpZHRoIGhvcml6b250YWwgZm9ybSBmaWVsZHMgcHJlZmVyIG5vdCB3cmFwcGluZyB0aGUgbGFiZWwgdW50aWwgYSBsaW1pdCBpcyByZWFjaGVkXFxuLy8gICAgICg1MCAlIG9mIGF2YWlsYWJsZSBob3Jpem9udGFsIHNwYWNlIGJ5IGRlZmF1bHQsIHNhbWUgYXMgaW4gMi4pLlxcbi8vXFxuLy8gNy4gIEp1c3RpZnkgaW5wdXRzIHRvIGBzdGFydGAgaW4gaG9yaXpvbnRhbCBsYXlvdXRzIHRvIGZpeCBwb3NpdGlvbmluZyBpc3N1ZXMgd2l0aCBTZWxlY3QgRmllbGRzLlxcbi8vICAgICBSZXZlcnRlZCBmb3IgZnVsbC13aWR0aCBmaWVsZHMuXFxuLy9cXG4vLyA4LiAgR3JpZCBzZXR0aW5ncyBhcmUgaW5oZXJpdGVkIGZyb20gaG9yaXpvbnRhbCBGb3JtTGF5b3V0IGFuZCBhcHBsaWVkIHVzaW5nIGBzdWJncmlkYC5cXG4vLyAgICAgQSBmYWxsYmFjayBpcyBzdXBwbGllZCB0byBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgYHN1YmdyaWRgIHlldC4gU2VlIEZvcm1MYXlvdXQgc3R5bGVzXFxuLy8gICAgIGZvciBtb3JlLlxcbi8vICAgICBodHRwczovL2dpdGh1Yi5jb20vcmVhY3QtdWktb3JnL3JlYWN0LXVpL2lzc3Vlcy8yMzJcXG4vL1xcbi8vIDkuICBIZWxwIHRleHRzIGFuZCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGNhbiB0YWtlIHVwIGZ1bGwgd2lkdGggb2YgRm9ybUxheW91dC4gVGhlcmUgaXMgbm8gcmVhc29uXFxuLy8gICAgIHRvIG1ha2UgdGhlbSB3cmFwIGFzIHRoZXkgY2Fubm90IGJyZWFrIGxheW91dCBvZiBGb3JtTGF5b3V0Llxcbi8vXFxuLy8gMTAuIFZpc3VhbGx5IGFsaWduIGxhYmVsIHRvIGlucHV0IGJhc2VsaW5lLiBBY2hpZXZlZCB3aXRoIGBwYWRkaW5nLXRvcGAgYW5kIGBwYWRkaW5nLWJvdHRvbWAgZHVlXFxuLy8gICAgIHRvIHR3byByZWFzb25zOlxcbi8vXFxuLy8gICAgICogYGFsaWduLWl0ZW1zOiBiYXNlbGluZWAgZG9lc24ndCB3b3JrIGZvciBibGFuayB0ZXh0IGlucHV0cyBpbiBTYWZhcmkuIFNlZVxcbi8vICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyOTY4IGFuZFxcbi8vICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vcmVhY3QtdWktb3JnL3JlYWN0LXVpL2lzc3Vlcy8yNjUuXFxuLy9cXG4vLyAgICAgKiBgYWxpZ24taXRlbXM6IGJhc2VsaW5lYCBkb2Vzbid0IGFsbG93IHN1YnNlcXVlbnQgdmVydGljYWwgY2VudGVyaW5nIG9mIHRhbGwgaW5wdXRzIGFuZC9vclxcbi8vICAgICAgICBtdWx0aWxpbmUgbGFiZWxzIChzZWUgYHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXZlcnRpY2FsLWFsaWdubWVudGAgYW5kXFxuLy8gICAgICAgIGB0aGVtZS4kaG9yaXpvbnRhbC1maWVsZC12ZXJ0aWNhbC1hbGlnbm1lbnRgKS5cXG4vL1xcbi8vIDExLiBSZXNldCBgd2lkdGhgIHByZXZpb3VzbHkgc2V0IGJ5IGlubGluZSBmaWVsZCBsYXlvdXQgKHNlZSBgX2lubGluZS1maWVsZC1sYXlvdXQuc2Nzc2ApLlxcbi8vXFxuLy8gMTIuIE1ha2UgZmllbGRzIGp1c3QgYXMgd2lkZSBhcyBuZWNlc3NhcnkuIEZpZWxkcyBzaG91bGQgYmUgaW50ZXJhY3RpdmUgb25seSB3aGVyZSB0aGVpciB2aXNpYmxlXFxuLy8gICAgIGNvbnRlbnQgaXMuXFxuLy9cXG4vLyAxMy4gTGFiZWwgYW5kIGZpZWxkIGFyZSB2ZXJ0aWNhbGx5IGFsaWduZWQgdG8gdG9wIChzdGFydCkgYnkgZGVmYXVsdCAoc2VlIDEwLikuIFZlcnRpY2FsXFxuLy8gICAgIGFsaWdubWVudCBvZiBlYWNoIGJsb2NrIGNhbiBiZSBjaGFuZ2VkIGJ5IHRoZW1lIGNvbmZpZ3VyYXRpb24uXFxuXFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybXNcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm0tZmllbGRzXFxcIiBhcyBzZXR0aW5ncztcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvdHlwb2dyYXBoeVxcXCI7XFxuQHVzZSBcXFwiLi4vYnJlYWtwb2ludFxcXCI7XFxuXFxuQG1peGluIHZlcnRpY2FsKCRoYXMtbGlzdDogZmFsc2UpIHtcXG4gICAgQGlmICRoYXMtbGlzdCB7XFxuICAgICAgICAtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXA6ICN7c2V0dGluZ3MuJHZlcnRpY2FsLWlubmVyLWdhcC1sYXJnZX07XFxuICAgIH1cXG5cXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IC8vIDEuXFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIG1pbi13aWR0aDogMDsgLy8gMS5cXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxLlxcblxcbiAgICAubGFiZWwge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXAsICN7c2V0dGluZ3MuJHZlcnRpY2FsLWlubmVyLWdhcH0pO1xcbiAgICB9XFxuXFxuICAgIC5oZWxwVGV4dCxcXG4gICAgLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCAje3NldHRpbmdzLiR2ZXJ0aWNhbC1pbm5lci1nYXB9KTtcXG4gICAgfVxcblxcbiAgICAuZmllbGQge1xcbiAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50OyAvLyAzLlxcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAzLlxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBob3Jpem9udGFsKCRoYXMtbWluLXRhcC10YXJnZXQ6IGZhbHNlKSB7XFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWdyaWQ7IC8vIDIuXFxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXdpZHRoIG1pbi1jb250ZW50OyAvLyAyLlxcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXFxcImxhYmVsIGZpZWxkXFxcIjtcXG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDsgLy8gMTAuLCAxMy5cXG5cXG4gICAgICAgIC5sYWJlbCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBsYWJlbDtcXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC12ZXJ0aWNhbC1hbGlnbm1lbnQ7IC8vIDEzLlxcbiAgICAgICAgICAgIG1pbi13aWR0aDogdGhlbWUuJGhvcml6b250YWwtbGFiZWwtbWluLXdpZHRoO1xcblxcbiAgICAgICAgICAgIC8vIDEwLlxcbiAgICAgICAgICAgIEBpZiAkaGFzLW1pbi10YXAtdGFyZ2V0IHtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6XFxuICAgICAgICAgICAgICAgICAgICBjYWxjKFxcbiAgICAgICAgICAgICAgICAgICAgICAgICgje3RoZW1lLiRjaGVjay10YXAtdGFyZ2V0LXNpemV9IC0gMXJlbSAqICN7dHlwb2dyYXBoeS4kbGluZS1oZWlnaHQtYmFzZX0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgLyAyXFxuICAgICAgICAgICAgICAgICAgICApO1xcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpcXG4gICAgICAgICAgICAgICAgICAgIGNhbGMoXFxuICAgICAgICAgICAgICAgICAgICAgICAgKCN7dGhlbWUuJGNoZWNrLXRhcC10YXJnZXQtc2l6ZX0gLSAxcmVtICogI3t0eXBvZ3JhcGh5LiRsaW5lLWhlaWdodC1iYXNlfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAvIDJcXG4gICAgICAgICAgICAgICAgICAgICk7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIC8vIDEwLiwgMTMuXFxuICAgICAgICAgICAgQGVsc2Uge1xcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogI3t0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC1wYWRkaW5nLXl9O1xcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogI3t0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC1wYWRkaW5nLXl9O1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzZXR0aW5ncy4kaG9yaXpvbnRhbC1pbm5lci1nYXA7IC8vIDQuXFxuICAgICAgICAgICAgdGV4dC1hbGlnbjogdGhlbWUuJGhvcml6b250YWwtbGFiZWwtdGV4dC1hbGlnbjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC5maWVsZCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBmaWVsZDtcXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiB0aGVtZS4kaG9yaXpvbnRhbC1maWVsZC12ZXJ0aWNhbC1hbGlnbm1lbnQ7IC8vIDEzLlxcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7IC8vIDcuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGhvcml6b250YWwtd2l0aC1zbWFsbC1pbnB1dCgpIHtcXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChmb3Jtcy4kaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XFxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbi1jb250ZW50IG1pbi1jb250ZW50OyAvLyA1LlxcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcXG4gICAgICAgICAgICBcXFwibGFiZWwgZmllbGRcXFwiXFxuICAgICAgICAgICAgXFxcImhlbHB0ZXh0IGhlbHB0ZXh0XFxcIlxcbiAgICAgICAgICAgIFxcXCJ2YWxpZGF0aW9udGV4dCB2YWxpZGF0aW9udGV4dFxcXCI7IC8vIDUuXFxuXFxuICAgICAgICAubGFiZWwge1xcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIDUuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAuZmllbGQge1xcbiAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzOyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLmlucHV0Q29udGFpbmVyIHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IGZpZWxkOyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLmhlbHBUZXh0IHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IGhlbHB0ZXh0OyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IHZhbGlkYXRpb250ZXh0OyAvLyA1LlxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBmdWxsLXdpZHRoKCkge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICB3aWR0aDogMTAwJTtcXG5cXG4gICAgLmZpZWxkLFxcbiAgICAuaW5wdXRDb250YWluZXIsXFxuICAgIC5pbnB1dCB7XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgfVxcblxcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGZvcm1zLiRob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCB7XFxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHRoZW1lLiRob3Jpem9udGFsLWZ1bGwtd2lkdGgtbGFiZWwtd2lkdGggMWZyOyAvLyA2LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCB7XFxuICAgICAgICAgICAganVzdGlmeS1zZWxmOiBzdHJldGNoOyAvLyA3LlxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbi1mb3JtLWxheW91dCgpIHtcXG4gICAganVzdGlmeS1zZWxmOiBzdGFydDsgLy8gMTIuXFxuXFxuICAgIC5maWVsZCB7XFxuICAgICAgICB3aWR0aDogYXV0bzsgLy8gOS5cXG4gICAgfVxcblxcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGZvcm1zLiRob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcXG4gICAgICAgIC5vcHRpb25MYWJlbCB7XFxuICAgICAgICAgICAgd2lkdGg6IGF1dG87IC8vIDExLlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLmhhc1Jvb3RTbWFsbElucHV0IHtcXG4gICAgICAgICAgICBncmlkOiBpbmhlcml0OyAvLyA4LlxcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDsgLy8gOC5cXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyOyAvLyA4LlxcblxcbiAgICAgICAgICAgIEBzdXBwb3J0cyBub3QgKGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZCkge1xcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50czsgLy8gOC5cXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwuaXNSb290RnVsbFdpZHRoIHtcXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7IC8vIDguXFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmxhYmVsLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaW5wdXRDb250YWluZXIsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmhlbHBUZXh0LFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiB1bnNldDsgLy8gOC5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuZmllbGQsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmlucHV0Q29udGFpbmVyLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5oZWxwVGV4dCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyOyAvLyA4LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLmhhc1Jvb3RTbWFsbElucHV0IC5maWVsZCB7XFxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vIDUuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXCIsXCJAdXNlIFxcXCJzYXNzOm1hcFxcXCI7XFxuQHVzZSBcXFwiLi4vc2V0dGluZ3MvYnJlYWtwb2ludHNcXFwiO1xcblxcbkBtaXhpbiB1cCgkYnJlYWtwb2ludCkge1xcbiAgICBAaWYgbm90IG1hcC5oYXMta2V5KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgYnJlYWtwb2ludCBzcGVjaWZpZWQhICN7JGJyZWFrcG9pbnR9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMoYnJlYWtwb2ludHMuJHZhbHVlcyl9XFxcIjtcXG4gICAgfSBAZWxzZSBpZiBtYXAuZ2V0KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSA9PSAwIHtcXG4gICAgICAgIEBjb250ZW50O1xcbiAgICB9IEBlbHNlIHtcXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSkge1xcbiAgICAgICAgICAgIEBjb250ZW50O1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiLG51bGwsXCJAdXNlIFxcXCJzYXNzOm1hcFxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcblxcbkBtaXhpbiBzaXplKCRzaXplLCAkaGFzLWlucHV0OiB0cnVlLCAkaXMtbXVsdGlsaW5lOiBmYWxzZSkge1xcbiAgICAkc2l6ZS1wcm9wZXJ0aWVzOiBtYXAuZ2V0KHRoZW1lLiRib3gtc2l6ZXMsICRzaXplKTtcXG5cXG4gICAgLS1ydWktbG9jYWwtcGFkZGluZy15OiAje21hcC5nZXQoJHNpemUtcHJvcGVydGllcywgcGFkZGluZy15KX07XFxuICAgIC0tcnVpLWxvY2FsLXBhZGRpbmcteDogI3ttYXAuZ2V0KCRzaXplLXByb3BlcnRpZXMsIHBhZGRpbmcteCl9O1xcblxcbiAgICBAaWYgJGhhcy1pbnB1dCB7XFxuICAgICAgICAtLXJ1aS1sb2NhbC1mb250LXNpemU6ICN7bWFwLmdldCgkc2l6ZS1wcm9wZXJ0aWVzLCBmb250LXNpemUpfTtcXG5cXG4gICAgICAgIC5pbnB1dCB7XFxuICAgICAgICAgICAgQGlmICRpcy1tdWx0aWxpbmUge1xcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XFxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IG1hcC5nZXQoJHNpemUtcHJvcGVydGllcywgaGVpZ2h0KTtcXG4gICAgICAgICAgICB9IEBlbHNlIHtcXG4gICAgICAgICAgICAgICAgLS1ydWktbG9jYWwtaGVpZ2h0OiAje21hcC5nZXQoJHNpemUtcHJvcGVydGllcywgaGVpZ2h0KX07XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ubG9jYWxzID0ge1xuXHRcInJvb3RcIjogXCJUZXh0QXJlYV9fcm9vdF9fcnotSHpjbWxcIixcblx0XCJsYWJlbFwiOiBcIlRleHRBcmVhX19sYWJlbF9fVEhwODNlQzFcIixcblx0XCJpbnB1dENvbnRhaW5lclwiOiBcIlRleHRBcmVhX19pbnB1dENvbnRhaW5lcl9fSENhYXpLZ2NcIixcblx0XCJpbnB1dFwiOiBcIlRleHRBcmVhX19pbnB1dF9fVTh1Z05pU3pcIixcblx0XCJib3R0b21MaW5lXCI6IFwiVGV4dEFyZWFfX2JvdHRvbUxpbmVfX2tESW9UWEcwXCIsXG5cdFwiaGVscFRleHRcIjogXCJUZXh0QXJlYV9faGVscFRleHRfX1NaUW50c1ZBXCIsXG5cdFwidmFsaWRhdGlvblRleHRcIjogXCJUZXh0QXJlYV9fdmFsaWRhdGlvblRleHRfX0ludEg5UTlZXCIsXG5cdFwiaXNSb290UmVxdWlyZWRcIjogXCJUZXh0QXJlYV9faXNSb290UmVxdWlyZWRfX2IzTlR2b2RLXCIsXG5cdFwiaXNSb290VmFyaWFudEZpbGxlZFwiOiBcIlRleHRBcmVhX19pc1Jvb3RWYXJpYW50RmlsbGVkX181Ymg1MjZZQVwiLFxuXHRcImlzUm9vdERpc2FibGVkXCI6IFwiVGV4dEFyZWFfX2lzUm9vdERpc2FibGVkX19TaEJiYjRhNFwiLFxuXHRcImlzUm9vdFZhcmlhbnRPdXRsaW5lXCI6IFwiVGV4dEFyZWFfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX19uYWdURzAzN1wiLFxuXHRcImlzUm9vdFN0YXRlSW52YWxpZFwiOiBcIlRleHRBcmVhX19pc1Jvb3RTdGF0ZUludmFsaWRfX3pNSWhMNkw5XCIsXG5cdFwiaXNSb290U3RhdGVWYWxpZFwiOiBcIlRleHRBcmVhX19pc1Jvb3RTdGF0ZVZhbGlkX18tOCtIWUFHOVwiLFxuXHRcImlzUm9vdFN0YXRlV2FybmluZ1wiOiBcIlRleHRBcmVhX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX2FncDFrNWQzXCIsXG5cdFwiaXNMYWJlbEhpZGRlblwiOiBcIlRleHRBcmVhX19pc0xhYmVsSGlkZGVuX18tOHpqcmM1RVwiLFxuXHRcImlzUm9vdExheW91dFZlcnRpY2FsXCI6IFwiVGV4dEFyZWFfX2lzUm9vdExheW91dFZlcnRpY2FsX19iaGRRYXdLY1wiLFxuXHRcImlzUm9vdExheW91dEhvcml6b250YWxcIjogXCJUZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmJcIixcblx0XCJmaWVsZFwiOiBcIlRleHRBcmVhX19maWVsZF9fbWJQMFlxZmpcIixcblx0XCJpc1Jvb3RGdWxsV2lkdGhcIjogXCJUZXh0QXJlYV9faXNSb290RnVsbFdpZHRoX184VEJwUzBnQVwiLFxuXHRcImlzUm9vdEluRm9ybUxheW91dFwiOiBcIlRleHRBcmVhX19pc1Jvb3RJbkZvcm1MYXlvdXRfX28ycEJralhCXCIsXG5cdFwib3B0aW9uTGFiZWxcIjogXCJUZXh0QXJlYV9fb3B0aW9uTGFiZWxfX2UzRGgrc3JTXCIsXG5cdFwiaGFzUm9vdFNtYWxsSW5wdXRcIjogXCJUZXh0QXJlYV9faGFzUm9vdFNtYWxsSW5wdXRfXzlqRlZJNFB6XCIsXG5cdFwiaXNSb290U2l6ZVNtYWxsXCI6IFwiVGV4dEFyZWFfX2lzUm9vdFNpemVTbWFsbF9fYWtJUC1NemNcIixcblx0XCJpc1Jvb3RTaXplTWVkaXVtXCI6IFwiVGV4dEFyZWFfX2lzUm9vdFNpemVNZWRpdW1fXzQ0U29XenhQXCIsXG5cdFwiaXNSb290U2l6ZUxhcmdlXCI6IFwiVGV4dEFyZWFfX2lzUm9vdFNpemVMYXJnZV9fYSs3YzVLUzRcIlxufTtcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js?!./src/lib/components/TextArea/TextArea.scss\n");
|
1318
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \".TextArea__root__rz-Hzcml {\\n text-align: left;\\n}\\n\\n.TextArea__label__THp83eC1 {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__label__color));\\n}\\n\\n.TextArea__inputContainer__HCaazKgc {\\n position: relative;\\n display: inline-flex;\\n min-width: 0;\\n max-width: 100%;\\n}\\n\\n.TextArea__input__U8ugNiSz {\\n transition-property: opacity, color, border-color, background-color, box-shadow;\\n transition-duration: 150ms;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n width: var(--rui-FormField--box__input__width);\\n min-width: var(--rui-FormField--box__input__min-width);\\n max-width: 100%;\\n height: var(--rui-local-height);\\n padding: var(--rui-local-padding-y) var(--rui-local-padding-x);\\n font-weight: var(--rui-font-weight-base);\\n font-size: var(--rui-local-font-size);\\n line-height: 1.5rem;\\n font-family: var(--rui-font-family-base);\\n vertical-align: middle;\\n color: var(--rui-local-color);\\n border: var(--rui-FormField--box__border-width) solid var(--rui-local-border-color);\\n border-radius: var(--rui-FormField--box__border-radius);\\n background: var(--rui-local-background);\\n box-shadow: var(--rui-local-box-shadow);\\n resize: vertical;\\n}\\n@media (prefers-reduced-motion: reduce) {\\n .TextArea__input__U8ugNiSz {\\n transition-property: opacity, color, border-color, background-color, box-shadow;\\n }\\n}\\n.TextArea__input__U8ugNiSz::-moz-placeholder {\\n color: var(--rui-FormField--box__placeholder__color);\\n opacity: 1;\\n}\\n.TextArea__input__U8ugNiSz::placeholder {\\n color: var(--rui-FormField--box__placeholder__color);\\n opacity: 1;\\n}\\n.TextArea__input__U8ugNiSz[cols] {\\n min-width: auto;\\n}\\n\\n.TextArea__bottomLine__kDIoTXG0 {\\n transition-property: transform, opacity;\\n transition-duration: 180ms;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n position: absolute;\\n bottom: 0;\\n width: 100%;\\n height: 2px;\\n opacity: 0;\\n transform: scaleX(0);\\n transform-origin: center center;\\n pointer-events: none;\\n}\\n@media (prefers-reduced-motion: reduce) {\\n .TextArea__bottomLine__kDIoTXG0 {\\n transition-property: opacity;\\n }\\n}\\n.TextArea__input__U8ugNiSz:focus ~ .TextArea__bottomLine__kDIoTXG0 {\\n background-color: var(--rui-local-border-color);\\n opacity: 1;\\n transform: scaleX(1);\\n}\\n\\n.TextArea__helpText__SZQntsVA,\\n.TextArea__validationText__IntH9Q9Y {\\n font-style: var(--rui-FormField__help-text__font-style);\\n font-size: var(--rui-FormField__help-text__font-size);\\n line-height: 1.2rem;\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__help-text__color));\\n}\\n\\n.TextArea__isRootRequired__b3NTvodK .TextArea__label__THp83eC1 {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField--required__label__color));\\n}\\n.TextArea__isRootRequired__b3NTvodK .TextArea__label__THp83eC1::after {\\n content: var(--rui-FormField--required__sign);\\n color: var(--rui-FormField--required__sign__color);\\n}\\n\\n.TextArea__isRootVariantFilled__5bh526YA {\\n --rui-local-color: var(--rui-FormField--box--filled--default__color);\\n --rui-local-border-color: var(--rui-FormField--box--filled--default__border-color);\\n --rui-local-background: var(--rui-FormField--box--filled--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--box--filled--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--box--filled--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--box--filled--default__surrounding-text-color);\\n}\\n.TextArea__isRootVariantFilled__5bh526YA:hover {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--filled--hover__color,\\n var(--rui-FormField--box--filled--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--filled--hover__border-color,\\n var(--rui-FormField--box--filled--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--filled--hover__background,\\n var(--rui-FormField--box--filled--default__background)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--filled--hover__box-shadow,\\n var(--rui-FormField--box--filled--default__box-shadow)\\n );\\n}\\n.TextArea__isRootVariantFilled__5bh526YA:focus-within, .TextArea__isRootVariantFilled__5bh526YA:focus-within:hover,\\n.TextArea__isRootVariantFilled__5bh526YA .TextArea__input__U8ugNiSz:focus {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--filled--focus__color,\\n var(--rui-FormField--box--filled--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--filled--focus__border-color,\\n var(--rui-FormField--box--filled--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--filled--focus__background,\\n var(--rui-FormField--box--filled--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--filled--focus__check-background-color,\\n var(--rui-FormField--box--filled--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--filled--focus__box-shadow,\\n var(--rui-FormField--box--filled--default__box-shadow)\\n );\\n}\\n.TextArea__isRootVariantFilled__5bh526YA.TextArea__isRootDisabled__ShBbb4a4 {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--filled--disabled__color,\\n var(--rui-FormField--box--filled--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--filled--disabled__border-color,\\n var(--rui-FormField--box--filled--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--filled--disabled__background,\\n var(--rui-FormField--box--filled--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--filled--disabled__check-background-color,\\n var(--rui-FormField--box--filled--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--filled--disabled__box-shadow,\\n var(--rui-FormField--box--filled--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--box--filled--disabled__surrounding-text-color,\\n var(--rui-FormField--box--filled--default__surrounding-text-color)\\n );\\n}\\n.TextArea__isRootVariantFilled__5bh526YA .TextArea__input__U8ugNiSz:disabled {\\n opacity: var(--rui-FormField--disabled__opacity);\\n cursor: var(--rui-FormField--disabled__cursor);\\n}\\n.TextArea__isRootVariantFilled__5bh526YA .TextArea__input__U8ugNiSz {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.TextArea__isRootVariantOutline__nagTG037 {\\n --rui-local-color: var(--rui-FormField--box--outline--default__color);\\n --rui-local-border-color: var(--rui-FormField--box--outline--default__border-color);\\n --rui-local-background: var(--rui-FormField--box--outline--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--box--outline--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--box--outline--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--box--outline--default__surrounding-text-color);\\n}\\n.TextArea__isRootVariantOutline__nagTG037:hover {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--outline--hover__color,\\n var(--rui-FormField--box--outline--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--outline--hover__border-color,\\n var(--rui-FormField--box--outline--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--outline--hover__background,\\n var(--rui-FormField--box--outline--default__background)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--outline--hover__box-shadow,\\n var(--rui-FormField--box--outline--default__box-shadow)\\n );\\n}\\n.TextArea__isRootVariantOutline__nagTG037:focus-within, .TextArea__isRootVariantOutline__nagTG037:focus-within:hover,\\n.TextArea__isRootVariantOutline__nagTG037 .TextArea__input__U8ugNiSz:focus {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--outline--focus__color,\\n var(--rui-FormField--box--outline--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--outline--focus__border-color,\\n var(--rui-FormField--box--outline--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--outline--focus__background,\\n var(--rui-FormField--box--outline--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--outline--focus__check-background-color,\\n var(--rui-FormField--box--outline--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--outline--focus__box-shadow,\\n var(--rui-FormField--box--outline--default__box-shadow)\\n );\\n}\\n.TextArea__isRootVariantOutline__nagTG037.TextArea__isRootDisabled__ShBbb4a4 {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--outline--disabled__color,\\n var(--rui-FormField--box--outline--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--outline--disabled__border-color,\\n var(--rui-FormField--box--outline--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--outline--disabled__background,\\n var(--rui-FormField--box--outline--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--outline--disabled__check-background-color,\\n var(--rui-FormField--box--outline--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--outline--disabled__box-shadow,\\n var(--rui-FormField--box--outline--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--box--outline--disabled__surrounding-text-color,\\n var(--rui-FormField--box--outline--default__surrounding-text-color)\\n );\\n}\\n.TextArea__isRootVariantOutline__nagTG037 .TextArea__input__U8ugNiSz:disabled {\\n opacity: var(--rui-FormField--disabled__opacity);\\n cursor: var(--rui-FormField--disabled__cursor);\\n}\\n\\n.TextArea__isRootStateInvalid__zMIhL6L9, .TextArea__isRootStateInvalid__zMIhL6L9:hover {\\n --rui-local-color: var(--rui-FormField--invalid--default__color);\\n --rui-local-border-color: var(--rui-FormField--invalid--default__border-color);\\n --rui-local-background: var(--rui-FormField--invalid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--invalid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--invalid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--invalid--default__surrounding-text-color);\\n}\\n.TextArea__isRootStateInvalid__zMIhL6L9 .TextArea__input__U8ugNiSz:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n}\\n.TextArea__isRootStateInvalid__zMIhL6L9.TextArea__isRootDisabled__ShBbb4a4 {\\n --rui-local-color:\\n var(\\n --rui-FormField--invalid--disabled__color,\\n var(--rui-FormField--invalid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--disabled__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--invalid--disabled__background,\\n var(--rui-FormField--invalid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--disabled__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--invalid--disabled__box-shadow,\\n var(--rui-FormField--invalid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--invalid--disabled__surrounding-text-color,\\n var(--rui-FormField--invalid--default__surrounding-text-color)\\n );\\n}\\n.TextArea__isRootStateInvalid__zMIhL6L9 .TextArea__input__U8ugNiSz:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__border-color,\\n var(--rui-FormField--invalid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__check-background-color,\\n var(--rui-FormField--invalid--checked__check-background-color)\\n );\\n}\\n\\n.TextArea__isRootStateValid__-8\\\\+HYAG9, .TextArea__isRootStateValid__-8\\\\+HYAG9:hover {\\n --rui-local-color: var(--rui-FormField--valid--default__color);\\n --rui-local-border-color: var(--rui-FormField--valid--default__border-color);\\n --rui-local-background: var(--rui-FormField--valid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--valid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--valid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--valid--default__surrounding-text-color);\\n}\\n.TextArea__isRootStateValid__-8\\\\+HYAG9 .TextArea__input__U8ugNiSz:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n}\\n.TextArea__isRootStateValid__-8\\\\+HYAG9.TextArea__isRootDisabled__ShBbb4a4 {\\n --rui-local-color:\\n var(\\n --rui-FormField--valid--disabled__color,\\n var(--rui-FormField--valid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--disabled__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--valid--disabled__background,\\n var(--rui-FormField--valid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--disabled__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--valid--disabled__box-shadow,\\n var(--rui-FormField--valid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--valid--disabled__surrounding-text-color,\\n var(--rui-FormField--valid--default__surrounding-text-color)\\n );\\n}\\n.TextArea__isRootStateValid__-8\\\\+HYAG9 .TextArea__input__U8ugNiSz:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked-disabled__border-color,\\n var(--rui-FormField--valid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked-disabled__check-background-color,\\n var(--rui-FormField--valid--checked__check-background-color)\\n );\\n}\\n\\n.TextArea__isRootStateWarning__agp1k5d3, .TextArea__isRootStateWarning__agp1k5d3:hover {\\n --rui-local-color: var(--rui-FormField--warning--default__color);\\n --rui-local-border-color: var(--rui-FormField--warning--default__border-color);\\n --rui-local-background: var(--rui-FormField--warning--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--warning--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--warning--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--warning--default__surrounding-text-color);\\n}\\n.TextArea__isRootStateWarning__agp1k5d3 .TextArea__input__U8ugNiSz:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n}\\n.TextArea__isRootStateWarning__agp1k5d3.TextArea__isRootDisabled__ShBbb4a4 {\\n --rui-local-color:\\n var(\\n --rui-FormField--warning--disabled__color,\\n var(--rui-FormField--warning--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--disabled__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--warning--disabled__background,\\n var(--rui-FormField--warning--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--disabled__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--warning--disabled__box-shadow,\\n var(--rui-FormField--warning--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--warning--disabled__surrounding-text-color,\\n var(--rui-FormField--warning--default__surrounding-text-color)\\n );\\n}\\n.TextArea__isRootStateWarning__agp1k5d3 .TextArea__input__U8ugNiSz:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked-disabled__border-color,\\n var(--rui-FormField--warning--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked-disabled__check-background-color,\\n var(--rui-FormField--warning--checked__check-background-color)\\n );\\n}\\n\\n.TextArea__isLabelHidden__-8zjrc5E {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n.TextArea__isRootLayoutVertical__bhdQawKc,\\n.TextArea__isRootLayoutHorizontal__s3TLMaFb {\\n display: inline-flex;\\n flex-direction: column;\\n min-width: 0;\\n max-width: 100%;\\n}\\n.TextArea__isRootLayoutVertical__bhdQawKc .TextArea__label__THp83eC1,\\n.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__label__THp83eC1 {\\n padding-bottom: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.TextArea__isRootLayoutVertical__bhdQawKc .TextArea__helpText__SZQntsVA,\\n.TextArea__isRootLayoutVertical__bhdQawKc .TextArea__validationText__IntH9Q9Y,\\n.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__helpText__SZQntsVA,\\n.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__validationText__IntH9Q9Y {\\n padding-top: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.TextArea__isRootLayoutVertical__bhdQawKc .TextArea__field__mbP0Yqfj,\\n.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__field__mbP0Yqfj {\\n width: -webkit-min-content;\\n width: -moz-min-content;\\n width: min-content;\\n max-width: 100%;\\n}\\n\\n@media (min-width: 48em) {\\n .TextArea__isRootLayoutHorizontal__s3TLMaFb {\\n display: inline-grid;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) -webkit-min-content;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) min-content;\\n grid-template-areas: \\\"label field\\\";\\n align-items: start;\\n }\\n .TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__label__THp83eC1 {\\n grid-area: label;\\n align-self: var(--rui-FormField--horizontal__label__vertical-alignment);\\n min-width: var(--rui-FormField--horizontal__label__min-width);\\n padding-top: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-bottom: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-right: var(--rui-dimension-space-2);\\n text-align: var(--rui-FormField--horizontal__label__text-align);\\n }\\n .TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__field__mbP0Yqfj {\\n grid-area: field;\\n align-self: var(--rui-FormField--horizontal__field__vertical-alignment);\\n justify-self: start;\\n }\\n}\\n\\n@media (min-width: 48em) {\\n .TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__label__THp83eC1 {\\n -ms-grid-row: 1;\\n -ms-grid-column: 1;\\n }\\n .TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__field__mbP0Yqfj {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n}\\n\\n.TextArea__isRootFullWidth__8TBpS0gA {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n}\\n.TextArea__isRootFullWidth__8TBpS0gA .TextArea__field__mbP0Yqfj,\\n.TextArea__isRootFullWidth__8TBpS0gA .TextArea__inputContainer__HCaazKgc,\\n.TextArea__isRootFullWidth__8TBpS0gA .TextArea__input__U8ugNiSz {\\n width: 100%;\\n}\\n@media (min-width: 48em) {\\n .TextArea__isRootFullWidth__8TBpS0gA.TextArea__isRootLayoutHorizontal__s3TLMaFb {\\n display: grid;\\n grid-template-columns: var(--rui-FormField--horizontal--full-width__label__width) 1fr;\\n }\\n .TextArea__isRootFullWidth__8TBpS0gA.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__field__mbP0Yqfj {\\n justify-self: stretch;\\n }\\n}\\n\\n.TextArea__isRootInFormLayout__o2pBkjXB {\\n justify-self: start;\\n}\\n.TextArea__isRootInFormLayout__o2pBkjXB .TextArea__field__mbP0Yqfj {\\n width: auto;\\n}\\n@media (min-width: 48em) {\\n .TextArea__isRootInFormLayout__o2pBkjXB .TextArea__optionLabel__e3Dh\\\\+srS {\\n width: auto;\\n }\\n .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb, .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb.TextArea__hasRootSmallInput__9jFVI4Pz {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n }\\n @supports not (grid-template-columns: subgrid) {\\n .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb, .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb.TextArea__hasRootSmallInput__9jFVI4Pz {\\n display: contents;\\n }\\n }\\n .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb.TextArea__isRootFullWidth__8TBpS0gA {\\n grid-template-columns: subgrid;\\n }\\n .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__label__THp83eC1, .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__field__mbP0Yqfj, .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__inputContainer__HCaazKgc, .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__helpText__SZQntsVA, .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__validationText__IntH9Q9Y {\\n grid-area: unset;\\n }\\n .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__field__mbP0Yqfj, .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__inputContainer__HCaazKgc, .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__helpText__SZQntsVA, .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb .TextArea__validationText__IntH9Q9Y {\\n grid-column-start: 2;\\n }\\n .TextArea__isRootInFormLayout__o2pBkjXB.TextArea__isRootLayoutHorizontal__s3TLMaFb.TextArea__hasRootSmallInput__9jFVI4Pz .TextArea__field__mbP0Yqfj {\\n display: block;\\n }\\n}\\n\\n.TextArea__isRootSizeSmall__akIP-Mzc {\\n --rui-local-padding-y: var(--rui-FormField--box--small__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--small__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--small__font-size);\\n}\\n.TextArea__isRootSizeSmall__akIP-Mzc .TextArea__input__U8ugNiSz {\\n height: auto;\\n min-height: var(--rui-FormField--box--small__height);\\n}\\n\\n.TextArea__isRootSizeMedium__44SoWzxP {\\n --rui-local-padding-y: var(--rui-FormField--box--medium__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--medium__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--medium__font-size);\\n}\\n.TextArea__isRootSizeMedium__44SoWzxP .TextArea__input__U8ugNiSz {\\n height: auto;\\n min-height: var(--rui-FormField--box--medium__height);\\n}\\n\\n.TextArea__isRootSizeLarge__a\\\\+7c5KS4 {\\n --rui-local-padding-y: var(--rui-FormField--box--large__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--large__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--large__font-size);\\n}\\n.TextArea__isRootSizeLarge__a\\\\+7c5KS4 .TextArea__input__U8ugNiSz {\\n height: auto;\\n min-height: var(--rui-FormField--box--large__height);\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/lib/components/TextArea/TextArea.scss\",\"webpack://./src/lib/styles/tools/form-fields/_foundation.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-elements.scss\",\"webpack://./src/lib/styles/tools/_transition.scss\",\"webpack://./src/lib/styles/settings/_animations.scss\",\"webpack://./src/lib/styles/theme/_form-fields.scss\",\"webpack://./src/lib/styles/settings/_form-fields.scss\",\"webpack://./src/lib/styles/theme/_typography.scss\",\"webpack://./src/lib/styles/tools/form-fields/_variants.scss\",\"webpack://./src/lib/styles/tools/_accessibility.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-layout.scss\",\"webpack://./src/lib/styles/tools/_breakpoint.scss\",\"<no source>\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-sizes.scss\"],\"names\":[],\"mappings\":\"AAQA;ECDI,gBAAA;ADLJ;;AAUA;ECKI,kFAAA;ADXJ;;AAUA;EEFI,kBAAA;EACA,oBAAA;EACA,YAAA;EACA,eAAA;AFJJ;;AAOA;EGqCQ,+EAPY;EAQZ,0BAf2B;EAgB3B,wDC3DmB;EFuBvB,wBAAA;KAAA,qBAAA;UAAA,gBAAA;EACA,8CGec;EHdd,sDGekB;EHdlB,eAAA;EACA,+BAAA;EACA,8DAAA;EACA,wCIZoB;EJapB,qCAAA;EACA,mBIboB;EJcpB,wCKXe;ELYf,sBAAA;EACA,6BAAA;EACA,mFAAA;EACA,uDGEgB;EHDhB,uCAAA;EACA,uCAAA;EAyBA,gBAAA;AF3BJ;AG0BY;EH1CZ;IG2CgB,+EARgB;EHf9B;AACF;AEDI;EACI,oDAAA;EACA,UAAA;AFGR;AELI;EACI,oDAAA;EACA,UAAA;AFGR;AEoBI;EACI,eAAA;AFlBR;;AAvBA;EGgCQ,uCAPY;EAQZ,0BDkD0C;ECjD1C,wDC3DmB;EF8GvB,kBAAA;EACA,SAAA;EACA,WAAA;EACA,WI5F2B;EJ6F3B,UAAA;EACA,oBAAA;EACA,+BAAA;EACA,oBAAA;AFvDJ;AGAY;EHrCZ;IGsCgB,4BARgB;EHW9B;AACF;AEoDI;EACI,+CAAA;EACA,UAAA;EACA,oBAAA;AFlDR;;AA3CA;;ECCI,uDIjBmB;EJkBnB,qDInBkB;EJoBlB,mBKzBoB;EL0BpB,sFAAA;AD+CJ;;AA9CA;ECbI,4FAAA;AD+DJ;AC7DI;EACI,6CIRQ;EJSR,kDIRc;ALuEtB;;AAjDA;EQWY,oEAAA;EAAA,kFAAA;EAAA,8EAAA;EAAA,sGAAA;EAAA,8EAAA;EAAA,sGAAA;AR+CZ;AQpBQ;EApBI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AR8DZ;AQ9BQ;;EAhCI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AR0FZ;AQ5CQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AR0HZ;AQ7DI;EAtGA,gDHkBe;EGjBf,8CHgBc;ALsJlB;AQ5DQ;EACI,6BAAA;EACA,+BAAA;EACA,8BAAA;EACA,6BAAA;EACA,4BAAA;AR8DZ;;AAnJA;EQOY,qEAAA;EAAA,mFAAA;EAAA,+EAAA;EAAA,uGAAA;EAAA,+EAAA;EAAA,uGAAA;ARqJZ;AQ1HQ;EApBI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARoKZ;AQpIQ;;EAhCI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARgMZ;AQlJQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARgOZ;AQnKI;EAtGA,gDHkBe;EGjBf,8CHgBc;AL4PlB;;AQ5MQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;ARoPZ;AQrMQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;ARyPZ;AQ3MQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARyRZ;AQrOQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ARqSZ;;AQ7QQ;EA/BI,8DAAA;EAAA,4EAAA;EAAA,wEAAA;EAAA,gGAAA;EAAA,wEAAA;EAAA,gGAAA;ARqTZ;AQtQQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AR0TZ;AQ5QQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AR0VZ;AQtSQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ARsWZ;;AQ9UQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;ARsXZ;AQvUQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;AR2XZ;AQ7UQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AR2ZZ;AQvWQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ARuaZ;;AAnaA;ESpDI,kBAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,SAAA;AT2dJ;;AAzaA;;EUGI,oBAAA;EACA,sBAAA;EACA,YAAA;EACA,eAAA;AV2aJ;AUzaI;;EACI,2EAAA;AV4aR;AUzaI;;;;EAEI,wEAAA;AV6aR;AU1aI;;EACI,0BAAA;EAAA,uBAAA;EAAA,kBAAA;EACA,eAAA;AV6aR;;AWxfQ;EX6DR;IUoBQ,oBAAA;IACA,yFAAA;IAAA,iFAAA;IACA,kCAAA;IACA,kBAAA;EV4aN;EU1aM;IACI,gBAAA;IACA,uELtE0B;IKuE1B,6DL9EiB;IKgGb,2IAAA;IACA,8IAAA;IAGJ,2CJ5GW;II6GX,+DLtGkB;EL+f5B;EUtZM;IACI,gBAAA;IACA,uELlG0B;IKmG1B,mBAAA;EVwZV;AACF;;AYzhBA;EFgGQ;IEhGR,gBAAA;IAAA,mBAAA;EZmhBE;EUtZM;IE7HR,gBAAA;IAAA,mBAAA;EZwhBE;CYxhBF;;AZ2EA;EUyFI,aAAA;EACA,sBAAA;EACA,WAAA;AVyXJ;AUvXI;;;EAGI,WAAA;AVyXR;AW1hBQ;EDqKA;IACI,aAAA;IACA,qFAAA;EVwXV;EUrXM;IACI,qBAAA;EVuXV;AACF;;AA9dA;EU4GI,mBAAA;AVsXJ;AUpXI;EACI,WAAA;AVsXR;AW1iBQ;EDwLA;IACI,WAAA;EVqXV;EU3WU;IAEI,aAAA;IACA,8BAAA;IACA,mBAAA;EV4Wd;EU1Wc;IANJ;MAOQ,iBAAA;IV6WhB;EACF;EU1WU;IACI,8BAAA;EV4Wd;EUxWM;IAKI,gBAAA;EVsWV;EUnWM;IAII,oBAAA;EVkWV;EU/VM;IACI,cAAA;EViWV;AACF;;AA3fA;Ea9EI,kEAAA;EACA,kEAAA;EAGI,kEAAA;Ab2kBR;AazkBQ;EAEQ,YAAA;EACA,oDAAA;Ab0kBhB;;AAjgBA;EalFI,mEAAA;EACA,mEAAA;EAGI,mEAAA;AbqlBR;AanlBQ;EAEQ,YAAA;EACA,qDAAA;AbolBhB;;AAvgBA;EatFI,kEAAA;EACA,kEAAA;EAGI,kEAAA;Ab+lBR;Aa7lBQ;EAEQ,YAAA;EACA,oDAAA;Ab8lBhB\",\"sourcesContent\":[\"@use \\\"../../styles/tools/form-fields/box-field-elements\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-layout\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-sizes\\\";\\n@use \\\"../../styles/tools/form-fields/foundation\\\";\\n@use \\\"../../styles/tools/form-fields/variants\\\";\\n@use \\\"../../styles/tools/accessibility\\\";\\n\\n// Foundation\\n.root {\\n @include foundation.root();\\n}\\n\\n.label {\\n @include foundation.label();\\n}\\n\\n.inputContainer {\\n @include box-field-elements.input-container();\\n}\\n\\n.input {\\n @include box-field-elements.input();\\n @include box-field-elements.input-textarea();\\n}\\n\\n.bottomLine {\\n @include box-field-elements.bottom-line();\\n}\\n\\n.helpText,\\n.validationText {\\n @include foundation.help-text();\\n}\\n\\n.isRootRequired .label {\\n @include foundation.label-required();\\n}\\n\\n// Visual variants\\n.isRootVariantFilled {\\n @include variants.visual(box, $variant: filled);\\n}\\n\\n.isRootVariantOutline {\\n @include variants.visual(box, $variant: outline);\\n}\\n\\n// States\\n.isRootStateInvalid {\\n @include variants.validation(invalid);\\n}\\n\\n.isRootStateValid {\\n @include variants.validation(valid);\\n}\\n\\n.isRootStateWarning {\\n @include variants.validation(warning);\\n}\\n\\n// Invisible label\\n.isLabelHidden {\\n @include accessibility.hide-text();\\n}\\n\\n// Layouts\\n.isRootLayoutVertical,\\n.isRootLayoutHorizontal {\\n @include box-field-layout.vertical();\\n}\\n\\n.isRootLayoutHorizontal {\\n @include box-field-layout.horizontal();\\n}\\n\\n.isRootFullWidth {\\n @include box-field-layout.full-width();\\n}\\n\\n.isRootInFormLayout {\\n @include box-field-layout.in-form-layout();\\n}\\n\\n// Sizes\\n.isRootSizeSmall {\\n @include box-field-sizes.size(small, $is-multiline: true);\\n}\\n\\n.isRootSizeMedium {\\n @include box-field-sizes.size(medium, $is-multiline: true);\\n}\\n\\n.isRootSizeLarge {\\n @include box-field-sizes.size(large, $is-multiline: true);\\n}\\n\",\"// 1. Don't let text alignment be affected by a parent.\\n// 2. Override foundation reset.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin root() {\\n text-align: left; // 1.\\n}\\n\\n@mixin fieldset() {\\n &:not(:last-child) {\\n margin-bottom: 0; // 2.\\n }\\n}\\n\\n@mixin label() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$label-color});\\n}\\n\\n@mixin label-required() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$required-label-color});\\n\\n &::after {\\n content: theme.$required-sign;\\n color: theme.$required-sign-color;\\n }\\n}\\n\\n@mixin help-text() {\\n font-style: theme.$help-text-font-style;\\n font-size: theme.$help-text-font-size;\\n line-height: settings.$help-text-line-height;\\n color: var(--rui-local-surrounding-text-color, #{theme.$help-text-color});\\n}\\n\",\"// 1. Get ready for positioning of bottom line and caret.\\n// 2. Always prefer `size` and `max` attributes when defined. Use CSS for sizing to normalize\\n// result width across browsers.\\n// 3. Let inputs properly fit various layout scenarios.\\n// 4. Leave out space for SelectField caret.\\n// 5. Use a block-level display mode to prevent extra white space below grouped inputs in Safari.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../tools/caret\\\";\\n@use \\\"../spacing\\\";\\n@use \\\"../transition\\\";\\n\\n@mixin input-container() {\\n position: relative; // 1.\\n display: inline-flex;\\n min-width: 0; // 3.\\n max-width: 100%; // 3.\\n}\\n\\n@mixin input() {\\n @include transition.add((opacity, color, border-color, background-color, box-shadow));\\n\\n appearance: none;\\n width: theme.$box-input-width;\\n min-width: theme.$box-input-min-width;\\n max-width: 100%; // 3.\\n height: var(--rui-local-height);\\n padding: var(--rui-local-padding-y) var(--rui-local-padding-x);\\n font-weight: settings.$box-input-font-weight;\\n font-size: var(--rui-local-font-size);\\n line-height: settings.$box-input-line-height;\\n font-family: settings.$box-input-font-family;\\n vertical-align: middle;\\n color: var(--rui-local-color);\\n border: theme.$box-border-width solid var(--rui-local-border-color);\\n border-radius: theme.$box-border-radius;\\n background: var(--rui-local-background);\\n box-shadow: var(--rui-local-box-shadow);\\n\\n &::placeholder {\\n color: theme.$box-placeholder-color;\\n opacity: 1;\\n }\\n}\\n\\n@mixin input-size() {\\n width:\\n calc(\\n 1ch * var(--rui-custom-input-size)\\n + var(--rui-local-arrows-width, 0)\\n + 2 * var(--rui-local-padding-x)\\n + 2 * #{theme.$box-border-width}\\n ); // 2.\\n\\n min-width: auto; // 2.\\n\\n &[type=\\\"number\\\"] {\\n --rui-local-arrows-width: #{settings.$box-field-input-number-arrows-width};\\n }\\n}\\n\\n@mixin input-textarea() {\\n resize: vertical;\\n\\n &[cols] {\\n min-width: auto;\\n }\\n}\\n\\n@mixin input-select() {\\n appearance: none;\\n padding-right: calc(#{settings.$box-field-caret-size} + #{spacing.of(2)}); // 4.\\n\\n &::-ms-expand {\\n display: none;\\n }\\n}\\n\\n@mixin input-select-option() {\\n option:disabled {\\n color: theme.$box-select-option-disabled-color;\\n }\\n}\\n\\n@mixin caret() {\\n @include transition.add((border-color));\\n\\n position: absolute; // 1.\\n top: theme.$box-border-width;\\n right: theme.$box-border-width;\\n bottom: theme.$box-border-width;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: calc(#{settings.$box-field-caret-size} - 2 * #{theme.$box-border-width});\\n border-start-end-radius: theme.$box-border-radius;\\n border-end-end-radius: theme.$box-border-radius;\\n pointer-events: none;\\n}\\n\\n@mixin caret-icon() {\\n @include caret.create();\\n\\n border-color: var(--rui-local-color);\\n}\\n\\n@mixin bottom-line() {\\n @include transition.add((transform, opacity), 180ms);\\n\\n position: absolute; // 1.\\n bottom: 0;\\n width: 100%;\\n height: settings.$box-field-bottom-line-height;\\n opacity: 0;\\n transform: scaleX(0);\\n transform-origin: center center;\\n pointer-events: none;\\n\\n .input:focus ~ & {\\n background-color: var(--rui-local-border-color);\\n opacity: 1;\\n transform: scaleX(1);\\n }\\n}\\n\\n@mixin in-group-layout() {\\n .inputContainer {\\n display: block; // 5.\\n }\\n\\n &:not(:first-child) .input {\\n border-start-start-radius: var(--rui-local-inner-border-radius);\\n border-end-start-radius: var(--rui-local-inner-border-radius);\\n }\\n\\n &:not(:last-child) .input {\\n border-start-end-radius: var(--rui-local-inner-border-radius);\\n border-end-end-radius: var(--rui-local-inner-border-radius);\\n }\\n}\\n\",\"@use \\\"sass:list\\\";\\n@use \\\"sass:meta\\\";\\n@use \\\"sass:string\\\";\\n@use \\\"../settings/animations\\\";\\n\\n$_allowed-transitions: (\\n border-color,\\n background-color,\\n background-position,\\n box-shadow,\\n color,\\n opacity,\\n transform,\\n visibility,\\n);\\n\\n$_reduced-motion-disallowed-transitions: (transform);\\n\\n@function _validate-transitions($properties) {\\n @each $property in $properties {\\n $is-allowed: list.index($_allowed-transitions, $property);\\n\\n @if not $is-allowed {\\n @return false;\\n }\\n }\\n\\n @return true;\\n}\\n\\n@function _reduce-motion-transitions($properties) {\\n $reduced-properties: ();\\n $separator: list.separator($properties);\\n\\n @each $property in $properties {\\n @if not list.index($_reduced-motion-disallowed-transitions, $property) {\\n $reduced-properties: list.append($reduced-properties, $property, $separator: $separator);\\n }\\n }\\n\\n @return $reduced-properties;\\n}\\n\\n@mixin add($properties, $duration: 150ms) {\\n $property-list: ();\\n\\n @if meta.type-of($properties) != \\\"string\\\" and meta.type-of($properties) != \\\"list\\\" {\\n @error \\\"Transition properties must be a string or a Sass list, `#{$properties}` given.\\\";\\n }\\n\\n $property-list: list.join($property-list, $properties);\\n\\n @if not _validate-transitions($property-list) {\\n @error \\\"Only [#{$_allowed-transitions}] transitions are allowed, [#{$properties}] given.\\\";\\n } @else {\\n $reduced-property-list: _reduce-motion-transitions($property-list);\\n\\n transition-property: $property-list;\\n transition-duration: $duration;\\n transition-timing-function: animations.$standard-timing-function;\\n\\n @if list.length($reduced-property-list) > 0 {\\n @media (prefers-reduced-motion: reduce) {\\n transition-property: $reduced-property-list;\\n }\\n }\\n }\\n}\\n\",\"$standard-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n\",\"// Variant specific theme options are obtained dynamically because there is way too many of them to\\n// maintain manually. See `settings/_form-fields.scss` and `tools/form-fields/_variants.scss` for\\n// details.\\n//\\n// 1. Defaults to zero when neither `--rui-FormField--horizontal__label__padding-y` (optional) nor\\n// `--rui-local-padding-y` (handled by the `size()` mixin in case of box form fields, see\\n// `_box-field-sizes.scss`) is defined. This is useful because FormLayoutCustomField may have no\\n// size specified therefore its label should have no padding at the top.\\n\\n// Forms fields: common properties\\n$label-color: var(--rui-FormField__label__color);\\n$label-font-size: var(--rui-FormField__label__font-size);\\n$help-text-font-size: var(--rui-FormField__help-text__font-size);\\n$help-text-font-style: var(--rui-FormField__help-text__font-style);\\n$help-text-color: var(--rui-FormField__help-text__color);\\n$required-label-color: var(--rui-FormField--required__label__color);\\n$required-sign: var(--rui-FormField--required__sign);\\n$required-sign-color: var(--rui-FormField--required__sign__color);\\n\\n// Form fields: horizontal layout\\n$horizontal-label-text-align: var(--rui-FormField--horizontal__label__text-align);\\n$horizontal-label-min-width: var(--rui-FormField--horizontal__label__min-width);\\n$horizontal-label-width: var(--rui-FormField--horizontal__label__width);\\n$horizontal-label-padding-y:\\n var(\\n --rui-FormField--horizontal__label__padding-y,\\n calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y))\\n ); // 1.\\n$horizontal-label-vertical-alignment: var(--rui-FormField--horizontal__label__vertical-alignment);\\n$horizontal-field-vertical-alignment: var(--rui-FormField--horizontal__field__vertical-alignment);\\n$horizontal-full-width-label-width: var(--rui-FormField--horizontal--full-width__label__width);\\n\\n// Form fields: disabled state\\n$disabled-cursor: var(--rui-FormField--disabled__cursor);\\n$disabled-opacity: var(--rui-FormField--disabled__opacity);\\n\\n// Form fields: box fields\\n$box-border-width: var(--rui-FormField--box__border-width);\\n$box-border-radius: var(--rui-FormField--box__border-radius);\\n$box-input-width: var(--rui-FormField--box__input__width);\\n$box-input-min-width: var(--rui-FormField--box__input__min-width);\\n$box-placeholder-color: var(--rui-FormField--box__placeholder__color);\\n\\n// Form fields: box fields, component specific\\n$box-select-caret-border-style: var(--rui-FormField--box--select__caret__border-style);\\n$box-select-caret-background: var(--rui-FormField--box--select__caret__background);\\n$box-select-option-disabled-color: var(--rui-FormField--box--select__option--disabled__color);\\n\\n// Form fields: box field sizes\\n$box-sizes: (\\n small: (\\n height: var(--rui-FormField--box--small__height),\\n padding-y: var(--rui-FormField--box--small__padding-y),\\n padding-x: var(--rui-FormField--box--small__padding-x),\\n font-size: var(--rui-FormField--box--small__font-size),\\n ),\\n medium: (\\n height: var(--rui-FormField--box--medium__height),\\n padding-y: var(--rui-FormField--box--medium__padding-y),\\n padding-x: var(--rui-FormField--box--medium__padding-x),\\n font-size: var(--rui-FormField--box--medium__font-size),\\n ),\\n large: (\\n height: var(--rui-FormField--box--large__height),\\n padding-y: var(--rui-FormField--box--large__padding-y),\\n padding-x: var(--rui-FormField--box--large__padding-x),\\n font-size: var(--rui-FormField--box--large__font-size),\\n ),\\n);\\n\\n// Form fields: check fields\\n$check-input-size: var(--rui-FormField--check__input__size);\\n$check-input-border-width: var(--rui-FormField--check__input__border-width);\\n$check-input-focus-box-shadow: var(--rui-FormField--check__input--focus__box-shadow);\\n$check-tap-target-size: var(--rui-FormField--check__tap-target-size);\\n\\n// Form fields: check fields, component specific\\n$check-input-checkbox-border-radius: var(--rui-FormField--check__input--checkbox__border-radius);\\n$check-input-checkbox-checked-background-image: var(--rui-FormField--check__input--checkbox--checked__background-image);\\n$check-input-radio-border-radius: var(--rui-FormField--check__input--radio__border-radius);\\n$check-input-radio-checked-background-image: var(--rui-FormField--check__input--radio--checked__background-image);\\n$check-input-toggle-width: var(--rui-FormField--check__input--toggle__width);\\n$check-input-toggle-border-radius: var(--rui-FormField--check__input--toggle__border-radius);\\n$check-input-toggle-background-size: var(--rui-FormField--check__input--toggle__background-size);\\n$check-input-toggle-default-background-image: var(--rui-FormField--check__input--toggle--default__background-image);\\n$check-input-toggle-default-background-position:\\n var(\\n --rui-FormField--check__input--toggle--default__background-position\\n );\\n$check-input-toggle-checked-background-image: var(--rui-FormField--check__input--toggle--checked__background-image);\\n$check-input-toggle-checked-background-position:\\n var(\\n --rui-FormField--check__input--toggle--checked__background-position\\n );\\n\",\"// 1. Input `line-height` is specified in `rem` so inputs do not break when their font size gets\\n// changed later.\\n\\n@use \\\"sass:map\\\";\\n@use \\\"../theme/typography\\\";\\n@use \\\"../tools/spacing\\\";\\n\\n$help-text-line-height: 1.2rem;\\n\\n$vertical-inner-gap: spacing.of(1);\\n$vertical-inner-gap-large: spacing.of(2);\\n$vertical-outer-spacing: spacing.of(2);\\n\\n$horizontal-inner-gap: spacing.of(2);\\n$horizontal-outer-spacing: spacing.of(2);\\n\\n$box-input-font-family: typography.$font-family-base;\\n$box-input-font-weight: map.get(typography.$font-weight-values, default);\\n$box-input-line-height: 1.5rem; // 1.\\n$box-field-caret-size: 2.25rem;\\n$box-field-input-number-arrows-width: 1.5rem;\\n$box-field-bottom-line-height: 2px;\\n\\n$inline-field-inner-gap: spacing.of(2);\\n\\n$themeable-variant-states: (\\n box: (\\n filled: (default, hover, focus, disabled),\\n outline: (default, hover, focus, disabled),\\n ),\\n check: (\\n default: (default, checked, disabled, checked-disabled),\\n ),\\n custom: (\\n default: (default, disabled),\\n ),\\n validation: (\\n invalid: (default, checked, disabled, checked-disabled),\\n valid: (default, checked, disabled, checked-disabled),\\n warning: (default, checked, disabled, checked-disabled),\\n ),\\n);\\n\\n$themeable-state-properties: (\\n default: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n hover: (color, border-color, background, box-shadow),\\n focus: (color, border-color, background, check-background-color, box-shadow),\\n checked: (border-color, check-background-color),\\n disabled: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n checked-disabled: (border-color, check-background-color),\\n);\\n\",\"$font-weight-values: (\\n light: var(--rui-font-weight-light),\\n default: var(--rui-font-weight-base),\\n bold: var(--rui-font-weight-bold),\\n);\\n\\n$font-weight-base: var(--rui-font-weight-base);\\n\\n$font-size-values: (\\n 1: var(--rui-font-size-1),\\n 2: var(--rui-font-size-2),\\n 3: var(--rui-font-size-3),\\n 4: var(--rui-font-size-4),\\n 5: var(--rui-font-size-5),\\n 6: var(--rui-font-size-6),\\n);\\n\\n$font-size-base: var(--rui-font-size-base);\\n$font-size-small: var(--rui-font-size-small);\\n$font-size-smaller: var(--rui-font-size-smaller);\\n\\n$font-family-base: var(--rui-font-family-base);\\n\\n$line-height-base: var(--rui-line-height-base);\\n$line-height-small: var(--rui-line-height-small);\\n\",\"// 1. Due to complexity, it's easier and safer to resolve variant custom properties dynamically with\\n// a mixin. This way it's also easier to make theming adjustments to all supported modifications\\n// in one place. Generated custom properties are consumed mainly in foundation field styles (see\\n// `tools/form-fields/_foundation.scss` for more).\\n//\\n// 2. Interaction states other than `default` default to the `default` (sic!) state appearance if\\n// corresponding custom properties are not provided.\\n//\\n// 3. `.input:focus` is added just in case `:focus-within` doesn't work.\\n\\n@use \\\"sass:list\\\";\\n@use \\\"sass:map\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin _disabled-state() {\\n opacity: theme.$disabled-opacity;\\n cursor: theme.$disabled-cursor;\\n}\\n\\n// 1.\\n@mixin _generate-custom-properties($type, $variant, $state) {\\n @if not list.index(map.keys(map.get(settings.$themeable-variant-states, $type)), $variant) {\\n @error \\\"Invalid variant specified! #{$variant} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(map.get(settings.$themeable-variant-states, $type))}.\\\";\\n }\\n\\n @if not list.index(map.keys(settings.$themeable-state-properties), $state) {\\n @error \\\"Invalid state specified! #{$state} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-state-properties)}.\\\";\\n }\\n\\n $properties: map.get(settings.$themeable-state-properties, $state);\\n $infix: $type;\\n $fallback-state: \\\"default\\\";\\n\\n @if $type == \\\"validation\\\" {\\n $infix: $variant;\\n }\\n\\n @if $type != \\\"validation\\\" and $variant != \\\"default\\\" {\\n $infix: #{$type}--#{$variant};\\n }\\n\\n @if $state == \\\"checked-disabled\\\" {\\n $fallback-state: \\\"checked\\\";\\n }\\n\\n @if $state == \\\"default\\\" {\\n @each $property in $properties {\\n --rui-local-#{$property}: var(--rui-FormField--#{$infix}--#{$state}__#{$property});\\n }\\n }\\n\\n // 2.\\n @else {\\n @each $property in $properties {\\n --rui-local-#{$property}:\\n var(\\n --rui-FormField--#{$infix}--#{$state}__#{$property},\\n var(--rui-FormField--#{$infix}--#{$fallback-state}__#{$property})\\n );\\n }\\n }\\n}\\n\\n@mixin _get-theme($type, $variant) {\\n @if not list.index(map.keys(settings.$themeable-variant-states), $type) {\\n @error \\\"Invalid type specified! #{$type} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-variant-states)}.\\\";\\n }\\n\\n $themeable-states: map.get(map.get(settings.$themeable-variant-states, $type), $variant);\\n\\n @if list.index($themeable-states, \\\"hover\\\") {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"hover\\\");\\n }\\n } @else {\\n &,\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"focus\\\") {\\n // 3.\\n &:focus-within,\\n &:focus-within:hover,\\n .input:focus {\\n @include _generate-custom-properties($type, $variant, \\\"focus\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked\\\") {\\n .input:checked {\\n @include _generate-custom-properties($type, $variant, \\\"checked\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"disabled\\\") {\\n &.isRootDisabled {\\n @include _generate-custom-properties($type, $variant, \\\"disabled\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked-disabled\\\") {\\n .input:checked:disabled {\\n @include _generate-custom-properties($type, $variant, \\\"checked-disabled\\\");\\n }\\n }\\n}\\n\\n@mixin visual($type, $variant: \\\"default\\\", $has-caret: false) {\\n @include _get-theme($type, $variant);\\n\\n .input:disabled {\\n @include _disabled-state();\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"filled\\\" {\\n .input {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n }\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"outline\\\" and $has-caret {\\n .caret {\\n border-left: theme.$box-border-width theme.$box-select-caret-border-style var(--rui-local-border-color);\\n background: theme.$box-select-caret-background;\\n }\\n\\n &.isRootDisabled .caret {\\n @include _disabled-state();\\n }\\n }\\n}\\n\\n@mixin validation($variant) {\\n @include _get-theme(validation, $variant);\\n}\\n\",\"// 1. Screen readers only, inspired by Bootstrap.\\n// https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss\\n//\\n// 2. Make tap target big enough to improve accessibility on touch screens.\\n\\n@use \\\"../theme/accessibility\\\" as theme;\\n\\n// 1.\\n@mixin hide-text() {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n@mixin unhide-text() {\\n position: unset;\\n width: unset;\\n height: unset;\\n overflow: unset;\\n clip: unset;\\n white-space: unset;\\n}\\n\\n// 2.\\n@mixin min-tap-target($size: theme.$tap-target-size, $center: true) {\\n position: relative;\\n\\n &::before {\\n content: \\\"\\\";\\n position: absolute;\\n width: $size;\\n height: $size;\\n\\n @if $center {\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n }\\n }\\n}\\n\\n@mixin focus-ring() {\\n &:focus-visible {\\n outline: theme.$focus-outline;\\n outline-offset: theme.$focus-outline-offset;\\n box-shadow: theme.$focus-box-shadow;\\n }\\n}\\n\",\"// 1. Inline form fields and fields with vertical layout take up as much space as they need. Labels\\n// do not wrap until forced by container of the field. Min and max limits make extra long words\\n// break if necessary.\\n//\\n// 2. Form fields in horizontal layout also take up only as much space as they need. Labels do not\\n// wrap until label width limit is reached (50 % of available horizontal space by default).\\n//\\n// 3. Help texts and validation messages are aligned below input and wrapped. Their width is always\\n// limited to the width of the input field so they don't shift adjacent elements when they show\\n// up. This applies unless the field is inside FormLayout (see 10).\\n//\\n// 4. Define grid spacing as padding of child elements because grid areas make row and column gaps\\n// show up even when not necessary.\\n//\\n// 5. When input size is small and form field layout is set to horizontal, expand help text and\\n// validation message over full form field width to improve their readability. Otherwise the\\n// text would be packed into a very narrow column and hard to read. To prevent help text and\\n// validation message from growing the layout more than necessary (ie. the size without\\n// help/validation text), `min-content` grid sizing must be used along with disabled wrapping of\\n// label.\\n//\\n// 6. Full-width horizontal form fields prefer not wrapping the label until a limit is reached\\n// (50 % of available horizontal space by default, same as in 2.).\\n//\\n// 7. Justify inputs to `start` in horizontal layouts to fix positioning issues with Select Fields.\\n// Reverted for full-width fields.\\n//\\n// 8. Grid settings are inherited from horizontal FormLayout and applied using `subgrid`.\\n// A fallback is supplied to browsers that don't support `subgrid` yet.\\n//\\n// Chrome 117+ supports `subgrid` but it doesn't work for `<fieldset>`. This is why we always\\n// use the fallback for `<fieldset>`.\\n//\\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1473242\\n// https://github.com/react-ui-org/react-ui/issues/232\\n//\\n// 9. Help texts and validation messages can take up full width of FormLayout. There is no reason\\n// to make them wrap as they cannot break layout of FormLayout.\\n//\\n// 10. Visually align label to input baseline. Achieved with `padding-top` and `padding-bottom` due\\n// to two reasons:\\n//\\n// * `align-items: baseline` doesn't work for blank text inputs in Safari. See\\n// https://bugs.webkit.org/show_bug.cgi?id=142968 and\\n// https://github.com/react-ui-org/react-ui/issues/265.\\n//\\n// * `align-items: baseline` doesn't allow subsequent vertical centering of tall inputs and/or\\n// multiline labels (see `theme.$horizontal-label-vertical-alignment` and\\n// `theme.$horizontal-field-vertical-alignment`).\\n//\\n// 11. Reset `width` previously set by inline field layout (see `_inline-field-layout.scss`).\\n//\\n// 12. Make fields just as wide as necessary. Fields should be interactive only where their visible\\n// content is.\\n//\\n// 13. Label and field are vertically aligned to top (start) by default (see 10.). Vertical\\n// alignment of each block can be changed by theme configuration.\\n\\n@use \\\"../../settings/forms\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../theme/typography\\\";\\n@use \\\"../breakpoint\\\";\\n\\n@mixin vertical($has-list: false) {\\n @if $has-list {\\n --rui-local-vertical-gap: #{settings.$vertical-inner-gap-large};\\n }\\n\\n display: inline-flex; // 1.\\n flex-direction: column;\\n min-width: 0; // 1.\\n max-width: 100%; // 1.\\n\\n .label {\\n padding-bottom: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .helpText,\\n .validationText {\\n padding-top: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .field {\\n width: min-content; // 3.\\n max-width: 100%; // 3.\\n }\\n}\\n\\n@mixin horizontal($has-min-tap-target: false) {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n display: inline-grid; // 2.\\n grid-template-columns: theme.$horizontal-label-width min-content; // 2.\\n grid-template-areas: \\\"label field\\\";\\n align-items: start; // 10., 13.\\n\\n .label {\\n grid-area: label;\\n align-self: theme.$horizontal-label-vertical-alignment; // 13.\\n min-width: theme.$horizontal-label-min-width;\\n\\n // 10.\\n @if $has-min-tap-target {\\n padding-top:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n padding-bottom:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n }\\n\\n // 10., 13.\\n @else {\\n padding-top: #{theme.$horizontal-label-padding-y};\\n padding-bottom: #{theme.$horizontal-label-padding-y};\\n }\\n\\n padding-right: settings.$horizontal-inner-gap; // 4.\\n text-align: theme.$horizontal-label-text-align;\\n }\\n\\n .field {\\n grid-area: field;\\n align-self: theme.$horizontal-field-vertical-alignment; // 13.\\n justify-self: start; // 7.\\n }\\n }\\n}\\n\\n@mixin horizontal-with-small-input() {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n grid-template-columns: min-content min-content; // 5.\\n grid-template-areas:\\n \\\"label field\\\"\\n \\\"helptext helptext\\\"\\n \\\"validationtext validationtext\\\"; // 5.\\n\\n .label {\\n white-space: nowrap; // 5.\\n }\\n\\n .field {\\n display: contents; // 5.\\n }\\n\\n .inputContainer {\\n grid-area: field; // 5.\\n }\\n\\n .helpText {\\n grid-area: helptext; // 5.\\n }\\n\\n .validationText {\\n grid-area: validationtext; // 5.\\n }\\n }\\n}\\n\\n@mixin full-width() {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n\\n .field,\\n .inputContainer,\\n .input {\\n width: 100%;\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n &.isRootLayoutHorizontal {\\n display: grid;\\n grid-template-columns: theme.$horizontal-full-width-label-width 1fr; // 6.\\n }\\n\\n &.isRootLayoutHorizontal .field {\\n justify-self: stretch; // 7.\\n }\\n }\\n}\\n\\n@mixin in-form-layout($is-fieldset: false) {\\n justify-self: start; // 12.\\n\\n .field {\\n width: auto; // 9.\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n .optionLabel {\\n width: auto; // 11.\\n }\\n\\n // 8.\\n @if $is-fieldset {\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n display: contents;\\n }\\n } @else {\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n\\n @supports not (grid-template-columns: subgrid) {\\n display: contents;\\n }\\n }\\n\\n &.isRootLayoutHorizontal.isRootFullWidth {\\n grid-template-columns: subgrid;\\n }\\n }\\n\\n &.isRootLayoutHorizontal .label,\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-area: unset; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-column-start: 2; // 8.\\n }\\n\\n &.isRootLayoutHorizontal.hasRootSmallInput .field {\\n display: block; // 5.\\n }\\n }\\n}\\n\",\"@use \\\"sass:map\\\";\\n@use \\\"../settings/breakpoints\\\";\\n\\n@mixin up($breakpoint) {\\n @if not map.has-key(breakpoints.$values, $breakpoint) {\\n @error \\\"Invalid breakpoint specified! #{$breakpoint} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(breakpoints.$values)}\\\";\\n } @else if map.get(breakpoints.$values, $breakpoint) == 0 {\\n @content;\\n } @else {\\n @media (min-width: map.get(breakpoints.$values, $breakpoint)) {\\n @content;\\n }\\n }\\n}\\n\",null,\"@use \\\"sass:map\\\";\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin size($size, $has-input: true, $is-multiline: false) {\\n $size-properties: map.get(theme.$box-sizes, $size);\\n\\n --rui-local-padding-y: #{map.get($size-properties, padding-y)};\\n --rui-local-padding-x: #{map.get($size-properties, padding-x)};\\n\\n @if $has-input {\\n --rui-local-font-size: #{map.get($size-properties, font-size)};\\n\\n .input {\\n @if $is-multiline {\\n height: auto;\\n min-height: map.get($size-properties, height);\\n } @else {\\n --rui-local-height: #{map.get($size-properties, height)};\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"TextArea__root__rz-Hzcml\",\n\t\"label\": \"TextArea__label__THp83eC1\",\n\t\"inputContainer\": \"TextArea__inputContainer__HCaazKgc\",\n\t\"input\": \"TextArea__input__U8ugNiSz\",\n\t\"bottomLine\": \"TextArea__bottomLine__kDIoTXG0\",\n\t\"helpText\": \"TextArea__helpText__SZQntsVA\",\n\t\"validationText\": \"TextArea__validationText__IntH9Q9Y\",\n\t\"isRootRequired\": \"TextArea__isRootRequired__b3NTvodK\",\n\t\"isRootVariantFilled\": \"TextArea__isRootVariantFilled__5bh526YA\",\n\t\"isRootDisabled\": \"TextArea__isRootDisabled__ShBbb4a4\",\n\t\"isRootVariantOutline\": \"TextArea__isRootVariantOutline__nagTG037\",\n\t\"isRootStateInvalid\": \"TextArea__isRootStateInvalid__zMIhL6L9\",\n\t\"isRootStateValid\": \"TextArea__isRootStateValid__-8+HYAG9\",\n\t\"isRootStateWarning\": \"TextArea__isRootStateWarning__agp1k5d3\",\n\t\"isLabelHidden\": \"TextArea__isLabelHidden__-8zjrc5E\",\n\t\"isRootLayoutVertical\": \"TextArea__isRootLayoutVertical__bhdQawKc\",\n\t\"isRootLayoutHorizontal\": \"TextArea__isRootLayoutHorizontal__s3TLMaFb\",\n\t\"field\": \"TextArea__field__mbP0Yqfj\",\n\t\"isRootFullWidth\": \"TextArea__isRootFullWidth__8TBpS0gA\",\n\t\"isRootInFormLayout\": \"TextArea__isRootInFormLayout__o2pBkjXB\",\n\t\"optionLabel\": \"TextArea__optionLabel__e3Dh+srS\",\n\t\"hasRootSmallInput\": \"TextArea__hasRootSmallInput__9jFVI4Pz\",\n\t\"isRootSizeSmall\": \"TextArea__isRootSizeSmall__akIP-Mzc\",\n\t\"isRootSizeMedium\": \"TextArea__isRootSizeMedium__44SoWzxP\",\n\t\"isRootSizeLarge\": \"TextArea__isRootSizeLarge__a+7c5KS4\"\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vc3JjL2xpYi9jb21wb25lbnRzL1RleHRBcmVhL1RleHRBcmVhLnNjc3MuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvbGliL2NvbXBvbmVudHMvVGV4dEFyZWEvVGV4dEFyZWEuc2Nzcz9lMTU0Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLlRleHRBcmVhX19yb290X19yei1IemNtbCB7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG5cXG4uVGV4dEFyZWFfX2xhYmVsX19USHA4M2VDMSB7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGRfX2xhYmVsX19jb2xvcikpO1xcbn1cXG5cXG4uVGV4dEFyZWFfX2lucHV0Q29udGFpbmVyX19IQ2FhektnYyB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIG1pbi13aWR0aDogMDtcXG4gIG1heC13aWR0aDogMTAwJTtcXG59XFxuXFxuLlRleHRBcmVhX19pbnB1dF9fVTh1Z05pU3oge1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdztcXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICB3aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19pbnB1dF9fd2lkdGgpO1xcbiAgbWluLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2lucHV0X19taW4td2lkdGgpO1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiB2YXIoLS1ydWktbG9jYWwtaGVpZ2h0KTtcXG4gIHBhZGRpbmc6IHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXgpO1xcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXJ1aS1mb250LXdlaWdodC1iYXNlKTtcXG4gIGZvbnQtc2l6ZTogdmFyKC0tcnVpLWxvY2FsLWZvbnQtc2l6ZSk7XFxuICBsaW5lLWhlaWdodDogMS41cmVtO1xcbiAgZm9udC1mYW1pbHk6IHZhcigtLXJ1aS1mb250LWZhbWlseS1iYXNlKTtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLWNvbG9yKTtcXG4gIGJvcmRlcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3IpO1xcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItcmFkaXVzKTtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXJ1aS1sb2NhbC1ib3gtc2hhZG93KTtcXG4gIHJlc2l6ZTogdmVydGljYWw7XFxufVxcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XFxuICAuVGV4dEFyZWFfX2lucHV0X19VOHVnTmlTeiB7XFxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3c7XFxuICB9XFxufVxcbi5UZXh0QXJlYV9faW5wdXRfX1U4dWdOaVN6OjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX3BsYWNlaG9sZGVyX19jb2xvcik7XFxuICBvcGFjaXR5OiAxO1xcbn1cXG4uVGV4dEFyZWFfX2lucHV0X19VOHVnTmlTejo6cGxhY2Vob2xkZXIge1xcbiAgY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fcGxhY2Vob2xkZXJfX2NvbG9yKTtcXG4gIG9wYWNpdHk6IDE7XFxufVxcbi5UZXh0QXJlYV9faW5wdXRfX1U4dWdOaVN6W2NvbHNdIHtcXG4gIG1pbi13aWR0aDogYXV0bztcXG59XFxuXFxuLlRleHRBcmVhX19ib3R0b21MaW5lX19rRElvVFhHMCB7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxODBtcztcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYm90dG9tOiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDJweDtcXG4gIG9wYWNpdHk6IDA7XFxuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG59XFxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcXG4gIC5UZXh0QXJlYV9fYm90dG9tTGluZV9fa0RJb1RYRzAge1xcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xcbiAgfVxcbn1cXG4uVGV4dEFyZWFfX2lucHV0X19VOHVnTmlTejpmb2N1cyB+IC5UZXh0QXJlYV9fYm90dG9tTGluZV9fa0RJb1RYRzAge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICBvcGFjaXR5OiAxO1xcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XFxufVxcblxcbi5UZXh0QXJlYV9faGVscFRleHRfX1NaUW50c1ZBLFxcbi5UZXh0QXJlYV9fdmFsaWRhdGlvblRleHRfX0ludEg5UTlZIHtcXG4gIGZvbnQtc3R5bGU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fZm9udC1zdHlsZSk7XFxuICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fZm9udC1zaXplKTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjJyZW07XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fY29sb3IpKTtcXG59XFxuXFxuLlRleHRBcmVhX19pc1Jvb3RSZXF1aXJlZF9fYjNOVHZvZEsgLlRleHRBcmVhX19sYWJlbF9fVEhwODNlQzEge1xcbiAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fbGFiZWxfX2NvbG9yKSk7XFxufVxcbi5UZXh0QXJlYV9faXNSb290UmVxdWlyZWRfX2IzTlR2b2RLIC5UZXh0QXJlYV9fbGFiZWxfX1RIcDgzZUMxOjphZnRlciB7XFxuICBjb250ZW50OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fc2lnbik7XFxuICBjb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX3NpZ25fX2NvbG9yKTtcXG59XFxuXFxuLlRleHRBcmVhX19pc1Jvb3RWYXJpYW50RmlsbGVkX181Ymg1MjZZQSB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5UZXh0QXJlYV9faXNSb290VmFyaWFudEZpbGxlZF9fNWJoNTI2WUE6aG92ZXIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1ob3Zlcl9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0taG92ZXJfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWhvdmVyX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWhvdmVyX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbn1cXG4uVGV4dEFyZWFfX2lzUm9vdFZhcmlhbnRGaWxsZWRfXzViaDUyNllBOmZvY3VzLXdpdGhpbiwgLlRleHRBcmVhX19pc1Jvb3RWYXJpYW50RmlsbGVkX181Ymg1MjZZQTpmb2N1cy13aXRoaW46aG92ZXIsXFxuLlRleHRBcmVhX19pc1Jvb3RWYXJpYW50RmlsbGVkX181Ymg1MjZZQSAuVGV4dEFyZWFfX2lucHV0X19VOHVnTmlTejpmb2N1cyB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWZvY3VzX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1mb2N1c19fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZm9jdXNfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZm9jdXNfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZm9jdXNfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxufVxcbi5UZXh0QXJlYV9faXNSb290VmFyaWFudEZpbGxlZF9fNWJoNTI2WUEuVGV4dEFyZWFfX2lzUm9vdERpc2FibGVkX19TaEJiYjRhNCB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRpc2FibGVkX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGlzYWJsZWRfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5UZXh0QXJlYV9faXNSb290VmFyaWFudEZpbGxlZF9fNWJoNTI2WUEgLlRleHRBcmVhX19pbnB1dF9fVTh1Z05pU3o6ZGlzYWJsZWQge1xcbiAgb3BhY2l0eTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX29wYWNpdHkpO1xcbiAgY3Vyc29yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fY3Vyc29yKTtcXG59XFxuLlRleHRBcmVhX19pc1Jvb3RWYXJpYW50RmlsbGVkX181Ymg1MjZZQSAuVGV4dEFyZWFfX2lucHV0X19VOHVnTmlTeiB7XFxuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XFxufVxcblxcbi5UZXh0QXJlYV9faXNSb290VmFyaWFudE91dGxpbmVfX25hZ1RHMDM3IHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19iYWNrZ3JvdW5kKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKTtcXG59XFxuLlRleHRBcmVhX19pc1Jvb3RWYXJpYW50T3V0bGluZV9fbmFnVEcwMzc6aG92ZXIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0taG92ZXJfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0taG92ZXJfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0taG92ZXJfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1ob3Zlcl9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxufVxcbi5UZXh0QXJlYV9faXNSb290VmFyaWFudE91dGxpbmVfX25hZ1RHMDM3OmZvY3VzLXdpdGhpbiwgLlRleHRBcmVhX19pc1Jvb3RWYXJpYW50T3V0bGluZV9fbmFnVEcwMzc6Zm9jdXMtd2l0aGluOmhvdmVyLFxcbi5UZXh0QXJlYV9faXNSb290VmFyaWFudE91dGxpbmVfX25hZ1RHMDM3IC5UZXh0QXJlYV9faW5wdXRfX1U4dWdOaVN6OmZvY3VzIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWZvY3VzX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWZvY3VzX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWZvY3VzX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZm9jdXNfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1mb2N1c19fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxufVxcbi5UZXh0QXJlYV9faXNSb290VmFyaWFudE91dGxpbmVfX25hZ1RHMDM3LlRleHRBcmVhX19pc1Jvb3REaXNhYmxlZF9fU2hCYmI0YTQge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGlzYWJsZWRfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uVGV4dEFyZWFfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX19uYWdURzAzNyAuVGV4dEFyZWFfX2lucHV0X19VOHVnTmlTejpkaXNhYmxlZCB7XFxuICBvcGFjaXR5OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fb3BhY2l0eSk7XFxuICBjdXJzb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19jdXJzb3IpO1xcbn1cXG5cXG4uVGV4dEFyZWFfX2lzUm9vdFN0YXRlSW52YWxpZF9fek1JaEw2TDksIC5UZXh0QXJlYV9faXNSb290U3RhdGVJbnZhbGlkX196TUloTDZMOTpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5UZXh0QXJlYV9faXNSb290U3RhdGVJbnZhbGlkX196TUloTDZMOSAuVGV4dEFyZWFfX2lucHV0X19VOHVnTmlTejpjaGVja2VkIHtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlRleHRBcmVhX19pc1Jvb3RTdGF0ZUludmFsaWRfX3pNSWhMNkw5LlRleHRBcmVhX19pc1Jvb3REaXNhYmxlZF9fU2hCYmI0YTQge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZClcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uVGV4dEFyZWFfX2lzUm9vdFN0YXRlSW52YWxpZF9fek1JaEw2TDkgLlRleHRBcmVhX19pbnB1dF9fVTh1Z05pU3o6Y2hlY2tlZDpkaXNhYmxlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWQtZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcblxcbi5UZXh0QXJlYV9faXNSb290U3RhdGVWYWxpZF9fLThcXFxcK0hZQUc5LCAuVGV4dEFyZWFfX2lzUm9vdFN0YXRlVmFsaWRfXy04XFxcXCtIWUFHOTpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5UZXh0QXJlYV9faXNSb290U3RhdGVWYWxpZF9fLThcXFxcK0hZQUc5IC5UZXh0QXJlYV9faW5wdXRfX1U4dWdOaVN6OmNoZWNrZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlRleHRBcmVhX19pc1Jvb3RTdGF0ZVZhbGlkX18tOFxcXFwrSFlBRzkuVGV4dEFyZWFfX2lzUm9vdERpc2FibGVkX19TaEJiYjRhNCB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5UZXh0QXJlYV9faXNSb290U3RhdGVWYWxpZF9fLThcXFxcK0hZQUc5IC5UZXh0QXJlYV9faW5wdXRfX1U4dWdOaVN6OmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuXFxuLlRleHRBcmVhX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX2FncDFrNWQzLCAuVGV4dEFyZWFfX2lzUm9vdFN0YXRlV2FybmluZ19fYWdwMWs1ZDM6aG92ZXIge1xcbiAgLS1ydWktbG9jYWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JhY2tncm91bmQpO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3gtc2hhZG93KTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpO1xcbn1cXG4uVGV4dEFyZWFfX2lzUm9vdFN0YXRlV2FybmluZ19fYWdwMWs1ZDMgLlRleHRBcmVhX19pbnB1dF9fVTh1Z05pU3o6Y2hlY2tlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5UZXh0QXJlYV9faXNSb290U3RhdGVXYXJuaW5nX19hZ3AxazVkMy5UZXh0QXJlYV9faXNSb290RGlzYWJsZWRfX1NoQmJiNGE0IHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlRleHRBcmVhX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX2FncDFrNWQzIC5UZXh0QXJlYV9faW5wdXRfX1U4dWdOaVN6OmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG5cXG4uVGV4dEFyZWFfX2lzTGFiZWxIaWRkZW5fXy04empyYzVFIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxcHg7XFxuICBoZWlnaHQ6IDFweDtcXG4gIHBhZGRpbmc6IDA7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBib3JkZXI6IDA7XFxufVxcblxcbi5UZXh0QXJlYV9faXNSb290TGF5b3V0VmVydGljYWxfX2JoZFFhd0tjLFxcbi5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIge1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgbWluLXdpZHRoOiAwO1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG4uVGV4dEFyZWFfX2lzUm9vdExheW91dFZlcnRpY2FsX19iaGRRYXdLYyAuVGV4dEFyZWFfX2xhYmVsX19USHA4M2VDMSxcXG4uVGV4dEFyZWFfX2lzUm9vdExheW91dEhvcml6b250YWxfX3MzVExNYUZiIC5UZXh0QXJlYV9fbGFiZWxfX1RIcDgzZUMxIHtcXG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCB2YXIoLS1ydWktZGltZW5zaW9uLXNwYWNlLTEpKTtcXG59XFxuLlRleHRBcmVhX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fYmhkUWF3S2MgLlRleHRBcmVhX19oZWxwVGV4dF9fU1pRbnRzVkEsXFxuLlRleHRBcmVhX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fYmhkUWF3S2MgLlRleHRBcmVhX192YWxpZGF0aW9uVGV4dF9fSW50SDlROVksXFxuLlRleHRBcmVhX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19zM1RMTWFGYiAuVGV4dEFyZWFfX2hlbHBUZXh0X19TWlFudHNWQSxcXG4uVGV4dEFyZWFfX2lzUm9vdExheW91dEhvcml6b250YWxfX3MzVExNYUZiIC5UZXh0QXJlYV9fdmFsaWRhdGlvblRleHRfX0ludEg5UTlZIHtcXG4gIHBhZGRpbmctdG9wOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCB2YXIoLS1ydWktZGltZW5zaW9uLXNwYWNlLTEpKTtcXG59XFxuLlRleHRBcmVhX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fYmhkUWF3S2MgLlRleHRBcmVhX19maWVsZF9fbWJQMFlxZmosXFxuLlRleHRBcmVhX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19zM1RMTWFGYiAuVGV4dEFyZWFfX2ZpZWxkX19tYlAwWXFmaiB7XFxuICB3aWR0aDogLXdlYmtpdC1taW4tY29udGVudDtcXG4gIHdpZHRoOiAtbW96LW1pbi1jb250ZW50O1xcbiAgd2lkdGg6IG1pbi1jb250ZW50O1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlRleHRBcmVhX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19zM1RMTWFGYiB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX193aWR0aCkgLXdlYmtpdC1taW4tY29udGVudDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fd2lkdGgpIG1pbi1jb250ZW50O1xcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcXFwibGFiZWwgZmllbGRcXFwiO1xcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XFxuICB9XFxuICAuVGV4dEFyZWFfX2lzUm9vdExheW91dEhvcml6b250YWxfX3MzVExNYUZiIC5UZXh0QXJlYV9fbGFiZWxfX1RIcDgzZUMxIHtcXG4gICAgZ3JpZC1hcmVhOiBsYWJlbDtcXG4gICAgYWxpZ24tc2VsZjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuICAgIG1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX21pbi13aWR0aCk7XFxuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15LCBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKSk7XFxuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15LCBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKSk7XFxuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMik7XFxuICAgIHRleHQtYWxpZ246IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX190ZXh0LWFsaWduKTtcXG4gIH1cXG4gIC5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIgLlRleHRBcmVhX19maWVsZF9fbWJQMFlxZmoge1xcbiAgICBncmlkLWFyZWE6IGZpZWxkO1xcbiAgICBhbGlnbi1zZWxmOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19maWVsZF9fdmVydGljYWwtYWxpZ25tZW50KTtcXG4gICAganVzdGlmeS1zZWxmOiBzdGFydDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcXG4gIC5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIgLlRleHRBcmVhX19sYWJlbF9fVEhwODNlQzEge1xcbiAgICAtbXMtZ3JpZC1yb3c6IDE7XFxuICAgIC1tcy1ncmlkLWNvbHVtbjogMTtcXG4gIH1cXG4gIC5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIgLlRleHRBcmVhX19maWVsZF9fbWJQMFlxZmoge1xcbiAgICAtbXMtZ3JpZC1yb3c6IDE7XFxuICAgIC1tcy1ncmlkLWNvbHVtbjogMjtcXG4gIH1cXG59XFxuXFxuLlRleHRBcmVhX19pc1Jvb3RGdWxsV2lkdGhfXzhUQnBTMGdBIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5UZXh0QXJlYV9faXNSb290RnVsbFdpZHRoX184VEJwUzBnQSAuVGV4dEFyZWFfX2ZpZWxkX19tYlAwWXFmaixcXG4uVGV4dEFyZWFfX2lzUm9vdEZ1bGxXaWR0aF9fOFRCcFMwZ0EgLlRleHRBcmVhX19pbnB1dENvbnRhaW5lcl9fSENhYXpLZ2MsXFxuLlRleHRBcmVhX19pc1Jvb3RGdWxsV2lkdGhfXzhUQnBTMGdBIC5UZXh0QXJlYV9faW5wdXRfX1U4dWdOaVN6IHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlRleHRBcmVhX19pc1Jvb3RGdWxsV2lkdGhfXzhUQnBTMGdBLlRleHRBcmVhX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19zM1RMTWFGYiB7XFxuICAgIGRpc3BsYXk6IGdyaWQ7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbC0tZnVsbC13aWR0aF9fbGFiZWxfX3dpZHRoKSAxZnI7XFxuICB9XFxuICAuVGV4dEFyZWFfX2lzUm9vdEZ1bGxXaWR0aF9fOFRCcFMwZ0EuVGV4dEFyZWFfX2lzUm9vdExheW91dEhvcml6b250YWxfX3MzVExNYUZiIC5UZXh0QXJlYV9fZmllbGRfX21iUDBZcWZqIHtcXG4gICAganVzdGlmeS1zZWxmOiBzdHJldGNoO1xcbiAgfVxcbn1cXG5cXG4uVGV4dEFyZWFfX2lzUm9vdEluRm9ybUxheW91dF9fbzJwQmtqWEIge1xcbiAganVzdGlmeS1zZWxmOiBzdGFydDtcXG59XFxuLlRleHRBcmVhX19pc1Jvb3RJbkZvcm1MYXlvdXRfX28ycEJralhCIC5UZXh0QXJlYV9fZmllbGRfX21iUDBZcWZqIHtcXG4gIHdpZHRoOiBhdXRvO1xcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlRleHRBcmVhX19pc1Jvb3RJbkZvcm1MYXlvdXRfX28ycEJralhCIC5UZXh0QXJlYV9fb3B0aW9uTGFiZWxfX2UzRGhcXFxcK3NyUyB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcbiAgLlRleHRBcmVhX19pc1Jvb3RJbkZvcm1MYXlvdXRfX28ycEJralhCLlRleHRBcmVhX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19zM1RMTWFGYiwgLlRleHRBcmVhX19pc1Jvb3RJbkZvcm1MYXlvdXRfX28ycEJralhCLlRleHRBcmVhX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX19zM1RMTWFGYi5UZXh0QXJlYV9faGFzUm9vdFNtYWxsSW5wdXRfXzlqRlZJNFB6IHtcXG4gICAgZ3JpZDogaW5oZXJpdDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xcbiAgfVxcbiAgQHN1cHBvcnRzIG5vdCAoZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkKSB7XFxuICAgIC5UZXh0QXJlYV9faXNSb290SW5Gb3JtTGF5b3V0X19vMnBCa2pYQi5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIsIC5UZXh0QXJlYV9faXNSb290SW5Gb3JtTGF5b3V0X19vMnBCa2pYQi5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIuVGV4dEFyZWFfX2hhc1Jvb3RTbWFsbElucHV0X185akZWSTRQeiB7XFxuICAgICAgZGlzcGxheTogY29udGVudHM7XFxuICAgIH1cXG4gIH1cXG4gIC5UZXh0QXJlYV9faXNSb290SW5Gb3JtTGF5b3V0X19vMnBCa2pYQi5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIuVGV4dEFyZWFfX2lzUm9vdEZ1bGxXaWR0aF9fOFRCcFMwZ0Ege1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XFxuICB9XFxuICAuVGV4dEFyZWFfX2lzUm9vdEluRm9ybUxheW91dF9fbzJwQmtqWEIuVGV4dEFyZWFfX2lzUm9vdExheW91dEhvcml6b250YWxfX3MzVExNYUZiIC5UZXh0QXJlYV9fbGFiZWxfX1RIcDgzZUMxLCAuVGV4dEFyZWFfX2lzUm9vdEluRm9ybUxheW91dF9fbzJwQmtqWEIuVGV4dEFyZWFfX2lzUm9vdExheW91dEhvcml6b250YWxfX3MzVExNYUZiIC5UZXh0QXJlYV9fZmllbGRfX21iUDBZcWZqLCAuVGV4dEFyZWFfX2lzUm9vdEluRm9ybUxheW91dF9fbzJwQmtqWEIuVGV4dEFyZWFfX2lzUm9vdExheW91dEhvcml6b250YWxfX3MzVExNYUZiIC5UZXh0QXJlYV9faW5wdXRDb250YWluZXJfX0hDYWF6S2djLCAuVGV4dEFyZWFfX2lzUm9vdEluRm9ybUxheW91dF9fbzJwQmtqWEIuVGV4dEFyZWFfX2lzUm9vdExheW91dEhvcml6b250YWxfX3MzVExNYUZiIC5UZXh0QXJlYV9faGVscFRleHRfX1NaUW50c1ZBLCAuVGV4dEFyZWFfX2lzUm9vdEluRm9ybUxheW91dF9fbzJwQmtqWEIuVGV4dEFyZWFfX2lzUm9vdExheW91dEhvcml6b250YWxfX3MzVExNYUZiIC5UZXh0QXJlYV9fdmFsaWRhdGlvblRleHRfX0ludEg5UTlZIHtcXG4gICAgZ3JpZC1hcmVhOiB1bnNldDtcXG4gIH1cXG4gIC5UZXh0QXJlYV9faXNSb290SW5Gb3JtTGF5b3V0X19vMnBCa2pYQi5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIgLlRleHRBcmVhX19maWVsZF9fbWJQMFlxZmosIC5UZXh0QXJlYV9faXNSb290SW5Gb3JtTGF5b3V0X19vMnBCa2pYQi5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIgLlRleHRBcmVhX19pbnB1dENvbnRhaW5lcl9fSENhYXpLZ2MsIC5UZXh0QXJlYV9faXNSb290SW5Gb3JtTGF5b3V0X19vMnBCa2pYQi5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIgLlRleHRBcmVhX19oZWxwVGV4dF9fU1pRbnRzVkEsIC5UZXh0QXJlYV9faXNSb290SW5Gb3JtTGF5b3V0X19vMnBCa2pYQi5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIgLlRleHRBcmVhX192YWxpZGF0aW9uVGV4dF9fSW50SDlROVkge1xcbiAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcXG4gIH1cXG4gIC5UZXh0QXJlYV9faXNSb290SW5Gb3JtTGF5b3V0X19vMnBCa2pYQi5UZXh0QXJlYV9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9fczNUTE1hRmIuVGV4dEFyZWFfX2hhc1Jvb3RTbWFsbElucHV0X185akZWSTRQeiAuVGV4dEFyZWFfX2ZpZWxkX19tYlAwWXFmaiB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgfVxcbn1cXG5cXG4uVGV4dEFyZWFfX2lzUm9vdFNpemVTbWFsbF9fYWtJUC1NemMge1xcbiAgLS1ydWktbG9jYWwtcGFkZGluZy15OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19wYWRkaW5nLXkpO1xcbiAgLS1ydWktbG9jYWwtcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19wYWRkaW5nLXgpO1xcbiAgLS1ydWktbG9jYWwtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19mb250LXNpemUpO1xcbn1cXG4uVGV4dEFyZWFfX2lzUm9vdFNpemVTbWFsbF9fYWtJUC1NemMgLlRleHRBcmVhX19pbnB1dF9fVTh1Z05pU3oge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbiAgbWluLWhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zbWFsbF9faGVpZ2h0KTtcXG59XFxuXFxuLlRleHRBcmVhX19pc1Jvb3RTaXplTWVkaXVtX180NFNvV3p4UCB7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19wYWRkaW5nLXkpO1xcbiAgLS1ydWktbG9jYWwtcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fcGFkZGluZy14KTtcXG4gIC0tcnVpLWxvY2FsLWZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX2ZvbnQtc2l6ZSk7XFxufVxcbi5UZXh0QXJlYV9faXNSb290U2l6ZU1lZGl1bV9fNDRTb1d6eFAgLlRleHRBcmVhX19pbnB1dF9fVTh1Z05pU3oge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbiAgbWluLWhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX2hlaWdodCk7XFxufVxcblxcbi5UZXh0QXJlYV9faXNSb290U2l6ZUxhcmdlX19hXFxcXCs3YzVLUzQge1xcbiAgLS1ydWktbG9jYWwtcGFkZGluZy15OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWxhcmdlX19wYWRkaW5nLXkpO1xcbiAgLS1ydWktbG9jYWwtcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWxhcmdlX19wYWRkaW5nLXgpO1xcbiAgLS1ydWktbG9jYWwtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWxhcmdlX19mb250LXNpemUpO1xcbn1cXG4uVGV4dEFyZWFfX2lzUm9vdFNpemVMYXJnZV9fYVxcXFwrN2M1S1M0IC5UZXh0QXJlYV9faW5wdXRfX1U4dWdOaVN6IHtcXG4gIGhlaWdodDogYXV0bztcXG4gIG1pbi1oZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX2hlaWdodCk7XFxufVwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL3NyYy9saWIvY29tcG9uZW50cy9UZXh0QXJlYS9UZXh0QXJlYS5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fZm91bmRhdGlvbi5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fYm94LWZpZWxkLWVsZW1lbnRzLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL190cmFuc2l0aW9uLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3NldHRpbmdzL19hbmltYXRpb25zLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3RoZW1lL19mb3JtLWZpZWxkcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy9zZXR0aW5ncy9fZm9ybS1maWVsZHMuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdGhlbWUvX3R5cG9ncmFwaHkuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX3ZhcmlhbnRzLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL19hY2Nlc3NpYmlsaXR5LnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL19ib3gtZmllbGQtbGF5b3V0LnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL19icmVha3BvaW50LnNjc3NcIixcIjxubyBzb3VyY2U+XCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fYm94LWZpZWxkLXNpemVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBUUE7RUNESSxnQkFBQTtBRExKOztBQVVBO0VDS0ksa0ZBQUE7QURYSjs7QUFVQTtFRUZJLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtBRkpKOztBQU9BO0VHcUNRLCtFQVBZO0VBUVosMEJBZjJCO0VBZ0IzQix3REMzRG1CO0VGdUJ2Qix3QkFBQTtLQUFBLHFCQUFBO1VBQUEsZ0JBQUE7RUFDQSw4Q0dlYztFSGRkLHNER2VrQjtFSGRsQixlQUFBO0VBQ0EsK0JBQUE7RUFDQSw4REFBQTtFQUNBLHdDSVpvQjtFSmFwQixxQ0FBQTtFQUNBLG1CSWJvQjtFSmNwQix3Q0tYZTtFTFlmLHNCQUFBO0VBQ0EsNkJBQUE7RUFDQSxtRkFBQTtFQUNBLHVER0VnQjtFSERoQix1Q0FBQTtFQUNBLHVDQUFBO0VBeUJBLGdCQUFBO0FGM0JKO0FHMEJZO0VIMUNaO0lHMkNnQiwrRUFSZ0I7RUhmOUI7QUFDRjtBRURJO0VBQ0ksb0RBQUE7RUFDQSxVQUFBO0FGR1I7QUVMSTtFQUNJLG9EQUFBO0VBQ0EsVUFBQTtBRkdSO0FFb0JJO0VBQ0ksZUFBQTtBRmxCUjs7QUF2QkE7RUdnQ1EsdUNBUFk7RUFRWiwwQkRrRDBDO0VDakQxQyx3REMzRG1CO0VGOEd2QixrQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsV0k1RjJCO0VKNkYzQixVQUFBO0VBQ0Esb0JBQUE7RUFDQSwrQkFBQTtFQUNBLG9CQUFBO0FGdkRKO0FHQVk7RUhyQ1o7SUdzQ2dCLDRCQVJnQjtFSFc5QjtBQUNGO0FFb0RJO0VBQ0ksK0NBQUE7RUFDQSxVQUFBO0VBQ0Esb0JBQUE7QUZsRFI7O0FBM0NBOztFQ0NJLHVESWpCbUI7RUprQm5CLHFESW5Ca0I7RUpvQmxCLG1CS3pCb0I7RUwwQnBCLHNGQUFBO0FEK0NKOztBQTlDQTtFQ2JJLDRGQUFBO0FEK0RKO0FDN0RJO0VBQ0ksNkNJUlE7RUpTUixrRElSYztBTHVFdEI7O0FBakRBO0VRV1ksb0VBQUE7RUFBQSxrRkFBQTtFQUFBLDhFQUFBO0VBQUEsc0dBQUE7RUFBQSw4RUFBQTtFQUFBLHNHQUFBO0FSK0NaO0FRcEJRO0VBcEJJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVI4RFo7QVE5QlE7O0VBaENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSMEZaO0FRNUNRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUjBIWjtBUTdESTtFQXRHQSxnREhrQmU7RUdqQmYsOENIZ0JjO0FMc0psQjtBUTVEUTtFQUNJLDZCQUFBO0VBQ0EsK0JBQUE7RUFDQSw4QkFBQTtFQUNBLDZCQUFBO0VBQ0EsNEJBQUE7QVI4RFo7O0FBbkpBO0VRT1kscUVBQUE7RUFBQSxtRkFBQTtFQUFBLCtFQUFBO0VBQUEsdUdBQUE7RUFBQSwrRUFBQTtFQUFBLHVHQUFBO0FScUpaO0FRMUhRO0VBcEJJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVJvS1o7QVFwSVE7O0VBaENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSZ01aO0FRbEpRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUmdPWjtBUW5LSTtFQXRHQSxnREhrQmU7RUdqQmYsOENIZ0JjO0FMNFBsQjs7QVE1TVE7RUEvQkksZ0VBQUE7RUFBQSw4RUFBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7RUFBQSwwRUFBQTtFQUFBLGtHQUFBO0FSb1BaO0FRck1RO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSeVBaO0FRM01RO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUnlSWjtBUXJPUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUnFTWjs7QVE3UVE7RUEvQkksOERBQUE7RUFBQSw0RUFBQTtFQUFBLHdFQUFBO0VBQUEsZ0dBQUE7RUFBQSx3RUFBQTtFQUFBLGdHQUFBO0FScVRaO0FRdFFRO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSMFRaO0FRNVFRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUjBWWjtBUXRTUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUnNXWjs7QVE5VVE7RUEvQkksZ0VBQUE7RUFBQSw4RUFBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7RUFBQSwwRUFBQTtFQUFBLGtHQUFBO0FSc1haO0FRdlVRO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSMlhaO0FRN1VRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUjJaWjtBUXZXUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUnVhWjs7QUFuYUE7RVNwREksa0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBO0FUMmRKOztBQXphQTs7RVVHSSxvQkFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QVYyYUo7QVV6YUk7O0VBQ0ksMkVBQUE7QVY0YVI7QVV6YUk7Ozs7RUFFSSx3RUFBQTtBVjZhUjtBVTFhSTs7RUFDSSwwQkFBQTtFQUFBLHVCQUFBO0VBQUEsa0JBQUE7RUFDQSxlQUFBO0FWNmFSOztBV3hmUTtFWDZEUjtJVW9CUSxvQkFBQTtJQUNBLHlGQUFBO0lBQUEsaUZBQUE7SUFDQSxrQ0FBQTtJQUNBLGtCQUFBO0VWNGFOO0VVMWFNO0lBQ0ksZ0JBQUE7SUFDQSx1RUx0RTBCO0lLdUUxQiw2REw5RWlCO0lLZ0diLDJJQUFBO0lBQ0EsOElBQUE7SUFHSiwyQ0o1R1c7SUk2R1gsK0RMdEdrQjtFTCtmNUI7RVV0Wk07SUFDSSxnQkFBQTtJQUNBLHVFTGxHMEI7SUttRzFCLG1CQUFBO0VWd1pWO0FBQ0Y7O0FZemhCQTtFRmdHUTtJRWhHUixnQkFBQTtJQUFBLG1CQUFBO0VabWhCRTtFVXRaTTtJRTdIUixnQkFBQTtJQUFBLG1CQUFBO0Vad2hCRTtDWXhoQkY7O0FaMkVBO0VVeUZJLGFBQUE7RUFDQSxzQkFBQTtFQUNBLFdBQUE7QVZ5WEo7QVV2WEk7OztFQUdJLFdBQUE7QVZ5WFI7QVcxaEJRO0VEcUtBO0lBQ0ksYUFBQTtJQUNBLHFGQUFBO0VWd1hWO0VVclhNO0lBQ0kscUJBQUE7RVZ1WFY7QUFDRjs7QUE5ZEE7RVU0R0ksbUJBQUE7QVZzWEo7QVVwWEk7RUFDSSxXQUFBO0FWc1hSO0FXMWlCUTtFRHdMQTtJQUNJLFdBQUE7RVZxWFY7RVUzV1U7SUFFSSxhQUFBO0lBQ0EsOEJBQUE7SUFDQSxtQkFBQTtFVjRXZDtFVTFXYztJQU5KO01BT1EsaUJBQUE7SVY2V2hCO0VBQ0Y7RVUxV1U7SUFDSSw4QkFBQTtFVjRXZDtFVXhXTTtJQUtJLGdCQUFBO0VWc1dWO0VVbldNO0lBSUksb0JBQUE7RVZrV1Y7RVUvVk07SUFDSSxjQUFBO0VWaVdWO0FBQ0Y7O0FBM2ZBO0VhOUVJLGtFQUFBO0VBQ0Esa0VBQUE7RUFHSSxrRUFBQTtBYjJrQlI7QWF6a0JRO0VBRVEsWUFBQTtFQUNBLG9EQUFBO0FiMGtCaEI7O0FBamdCQTtFYWxGSSxtRUFBQTtFQUNBLG1FQUFBO0VBR0ksbUVBQUE7QWJxbEJSO0FhbmxCUTtFQUVRLFlBQUE7RUFDQSxxREFBQTtBYm9sQmhCOztBQXZnQkE7RWF0Rkksa0VBQUE7RUFDQSxrRUFBQTtFQUdJLGtFQUFBO0FiK2xCUjtBYTdsQlE7RUFFUSxZQUFBO0VBQ0Esb0RBQUE7QWI4bEJoQlwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJAdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvYm94LWZpZWxkLWVsZW1lbnRzXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvYm94LWZpZWxkLWxheW91dFxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2JveC1maWVsZC1zaXplc1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2ZvdW5kYXRpb25cXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy92YXJpYW50c1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2FjY2Vzc2liaWxpdHlcXFwiO1xcblxcbi8vIEZvdW5kYXRpb25cXG4ucm9vdCB7XFxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24ucm9vdCgpO1xcbn1cXG5cXG4ubGFiZWwge1xcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLmxhYmVsKCk7XFxufVxcblxcbi5pbnB1dENvbnRhaW5lciB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1lbGVtZW50cy5pbnB1dC1jb250YWluZXIoKTtcXG59XFxuXFxuLmlucHV0IHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWVsZW1lbnRzLmlucHV0KCk7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1lbGVtZW50cy5pbnB1dC10ZXh0YXJlYSgpO1xcbn1cXG5cXG4uYm90dG9tTGluZSB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1lbGVtZW50cy5ib3R0b20tbGluZSgpO1xcbn1cXG5cXG4uaGVscFRleHQsXFxuLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi5oZWxwLXRleHQoKTtcXG59XFxuXFxuLmlzUm9vdFJlcXVpcmVkIC5sYWJlbCB7XFxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24ubGFiZWwtcmVxdWlyZWQoKTtcXG59XFxuXFxuLy8gVmlzdWFsIHZhcmlhbnRzXFxuLmlzUm9vdFZhcmlhbnRGaWxsZWQge1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52aXN1YWwoYm94LCAkdmFyaWFudDogZmlsbGVkKTtcXG59XFxuXFxuLmlzUm9vdFZhcmlhbnRPdXRsaW5lIHtcXG4gICAgQGluY2x1ZGUgdmFyaWFudHMudmlzdWFsKGJveCwgJHZhcmlhbnQ6IG91dGxpbmUpO1xcbn1cXG5cXG4vLyBTdGF0ZXNcXG4uaXNSb290U3RhdGVJbnZhbGlkIHtcXG4gICAgQGluY2x1ZGUgdmFyaWFudHMudmFsaWRhdGlvbihpbnZhbGlkKTtcXG59XFxuXFxuLmlzUm9vdFN0YXRlVmFsaWQge1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52YWxpZGF0aW9uKHZhbGlkKTtcXG59XFxuXFxuLmlzUm9vdFN0YXRlV2FybmluZyB7XFxuICAgIEBpbmNsdWRlIHZhcmlhbnRzLnZhbGlkYXRpb24od2FybmluZyk7XFxufVxcblxcbi8vIEludmlzaWJsZSBsYWJlbFxcbi5pc0xhYmVsSGlkZGVuIHtcXG4gICAgQGluY2x1ZGUgYWNjZXNzaWJpbGl0eS5oaWRlLXRleHQoKTtcXG59XFxuXFxuLy8gTGF5b3V0c1xcbi5pc1Jvb3RMYXlvdXRWZXJ0aWNhbCxcXG4uaXNSb290TGF5b3V0SG9yaXpvbnRhbCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1sYXlvdXQudmVydGljYWwoKTtcXG59XFxuXFxuLmlzUm9vdExheW91dEhvcml6b250YWwge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtbGF5b3V0Lmhvcml6b250YWwoKTtcXG59XFxuXFxuLmlzUm9vdEZ1bGxXaWR0aCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1sYXlvdXQuZnVsbC13aWR0aCgpO1xcbn1cXG5cXG4uaXNSb290SW5Gb3JtTGF5b3V0IHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWxheW91dC5pbi1mb3JtLWxheW91dCgpO1xcbn1cXG5cXG4vLyBTaXplc1xcbi5pc1Jvb3RTaXplU21hbGwge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtc2l6ZXMuc2l6ZShzbWFsbCwgJGlzLW11bHRpbGluZTogdHJ1ZSk7XFxufVxcblxcbi5pc1Jvb3RTaXplTWVkaXVtIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLXNpemVzLnNpemUobWVkaXVtLCAkaXMtbXVsdGlsaW5lOiB0cnVlKTtcXG59XFxuXFxuLmlzUm9vdFNpemVMYXJnZSB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1zaXplcy5zaXplKGxhcmdlLCAkaXMtbXVsdGlsaW5lOiB0cnVlKTtcXG59XFxuXCIsXCIvLyAxLiBEb24ndCBsZXQgdGV4dCBhbGlnbm1lbnQgYmUgYWZmZWN0ZWQgYnkgYSBwYXJlbnQuXFxuLy8gMi4gT3ZlcnJpZGUgZm91bmRhdGlvbiByZXNldC5cXG5cXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3JtLWZpZWxkc1xcXCIgYXMgc2V0dGluZ3M7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcblxcbkBtaXhpbiByb290KCkge1xcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAxLlxcbn1cXG5cXG5AbWl4aW4gZmllbGRzZXQoKSB7XFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyAyLlxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBsYWJlbCgpIHtcXG4gICAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCAje3RoZW1lLiRsYWJlbC1jb2xvcn0pO1xcbn1cXG5cXG5AbWl4aW4gbGFiZWwtcmVxdWlyZWQoKSB7XFxuICAgIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgI3t0aGVtZS4kcmVxdWlyZWQtbGFiZWwtY29sb3J9KTtcXG5cXG4gICAgJjo6YWZ0ZXIge1xcbiAgICAgICAgY29udGVudDogdGhlbWUuJHJlcXVpcmVkLXNpZ247XFxuICAgICAgICBjb2xvcjogdGhlbWUuJHJlcXVpcmVkLXNpZ24tY29sb3I7XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGhlbHAtdGV4dCgpIHtcXG4gICAgZm9udC1zdHlsZTogdGhlbWUuJGhlbHAtdGV4dC1mb250LXN0eWxlO1xcbiAgICBmb250LXNpemU6IHRoZW1lLiRoZWxwLXRleHQtZm9udC1zaXplO1xcbiAgICBsaW5lLWhlaWdodDogc2V0dGluZ3MuJGhlbHAtdGV4dC1saW5lLWhlaWdodDtcXG4gICAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCAje3RoZW1lLiRoZWxwLXRleHQtY29sb3J9KTtcXG59XFxuXCIsXCIvLyAxLiBHZXQgcmVhZHkgZm9yIHBvc2l0aW9uaW5nIG9mIGJvdHRvbSBsaW5lIGFuZCBjYXJldC5cXG4vLyAyLiBBbHdheXMgcHJlZmVyIGBzaXplYCBhbmQgYG1heGAgYXR0cmlidXRlcyB3aGVuIGRlZmluZWQuIFVzZSBDU1MgZm9yIHNpemluZyB0byBub3JtYWxpemVcXG4vLyAgICByZXN1bHQgd2lkdGggYWNyb3NzIGJyb3dzZXJzLlxcbi8vIDMuIExldCBpbnB1dHMgcHJvcGVybHkgZml0IHZhcmlvdXMgbGF5b3V0IHNjZW5hcmlvcy5cXG4vLyA0LiBMZWF2ZSBvdXQgc3BhY2UgZm9yIFNlbGVjdEZpZWxkIGNhcmV0Llxcbi8vIDUuIFVzZSBhIGJsb2NrLWxldmVsIGRpc3BsYXkgbW9kZSB0byBwcmV2ZW50IGV4dHJhIHdoaXRlIHNwYWNlIGJlbG93IGdyb3VwZWQgaW5wdXRzIGluIFNhZmFyaS5cXG5cXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3JtLWZpZWxkc1xcXCIgYXMgc2V0dGluZ3M7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcbkB1c2UgXFxcIi4uLy4uL3Rvb2xzL2NhcmV0XFxcIjtcXG5AdXNlIFxcXCIuLi9zcGFjaW5nXFxcIjtcXG5AdXNlIFxcXCIuLi90cmFuc2l0aW9uXFxcIjtcXG5cXG5AbWl4aW4gaW5wdXQtY29udGFpbmVyKCkge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIDEuXFxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbiAgICBtaW4td2lkdGg6IDA7IC8vIDMuXFxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMy5cXG59XFxuXFxuQG1peGluIGlucHV0KCkge1xcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLmFkZCgob3BhY2l0eSwgY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdykpO1xcblxcbiAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICB3aWR0aDogdGhlbWUuJGJveC1pbnB1dC13aWR0aDtcXG4gICAgbWluLXdpZHRoOiB0aGVtZS4kYm94LWlucHV0LW1pbi13aWR0aDtcXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAzLlxcbiAgICBoZWlnaHQ6IHZhcigtLXJ1aS1sb2NhbC1oZWlnaHQpO1xcbiAgICBwYWRkaW5nOiB2YXIoLS1ydWktbG9jYWwtcGFkZGluZy15KSB2YXIoLS1ydWktbG9jYWwtcGFkZGluZy14KTtcXG4gICAgZm9udC13ZWlnaHQ6IHNldHRpbmdzLiRib3gtaW5wdXQtZm9udC13ZWlnaHQ7XFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tcnVpLWxvY2FsLWZvbnQtc2l6ZSk7XFxuICAgIGxpbmUtaGVpZ2h0OiBzZXR0aW5ncy4kYm94LWlucHV0LWxpbmUtaGVpZ2h0O1xcbiAgICBmb250LWZhbWlseTogc2V0dGluZ3MuJGJveC1pbnB1dC1mb250LWZhbWlseTtcXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG4gICAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1jb2xvcik7XFxuICAgIGJvcmRlcjogdGhlbWUuJGJveC1ib3JkZXItd2lkdGggc29saWQgdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICAgIGJvcmRlci1yYWRpdXM6IHRoZW1lLiRib3gtYm9yZGVyLXJhZGl1cztcXG4gICAgYmFja2dyb3VuZDogdmFyKC0tcnVpLWxvY2FsLWJhY2tncm91bmQpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS1ydWktbG9jYWwtYm94LXNoYWRvdyk7XFxuXFxuICAgICY6OnBsYWNlaG9sZGVyIHtcXG4gICAgICAgIGNvbG9yOiB0aGVtZS4kYm94LXBsYWNlaG9sZGVyLWNvbG9yO1xcbiAgICAgICAgb3BhY2l0eTogMTtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaW5wdXQtc2l6ZSgpIHtcXG4gICAgd2lkdGg6XFxuICAgICAgICBjYWxjKFxcbiAgICAgICAgICAgIDFjaCAqIHZhcigtLXJ1aS1jdXN0b20taW5wdXQtc2l6ZSlcXG4gICAgICAgICAgICArIHZhcigtLXJ1aS1sb2NhbC1hcnJvd3Mtd2lkdGgsIDApXFxuICAgICAgICAgICAgKyAyICogdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteClcXG4gICAgICAgICAgICArIDIgKiAje3RoZW1lLiRib3gtYm9yZGVyLXdpZHRofVxcbiAgICAgICAgKTsgLy8gMi5cXG5cXG4gICAgbWluLXdpZHRoOiBhdXRvOyAvLyAyLlxcblxcbiAgICAmW3R5cGU9XFxcIm51bWJlclxcXCJdIHtcXG4gICAgICAgIC0tcnVpLWxvY2FsLWFycm93cy13aWR0aDogI3tzZXR0aW5ncy4kYm94LWZpZWxkLWlucHV0LW51bWJlci1hcnJvd3Mtd2lkdGh9O1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbnB1dC10ZXh0YXJlYSgpIHtcXG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcXG5cXG4gICAgJltjb2xzXSB7XFxuICAgICAgICBtaW4td2lkdGg6IGF1dG87XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGlucHV0LXNlbGVjdCgpIHtcXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgcGFkZGluZy1yaWdodDogY2FsYygje3NldHRpbmdzLiRib3gtZmllbGQtY2FyZXQtc2l6ZX0gKyAje3NwYWNpbmcub2YoMil9KTsgLy8gNC5cXG5cXG4gICAgJjo6LW1zLWV4cGFuZCB7XFxuICAgICAgICBkaXNwbGF5OiBub25lO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbnB1dC1zZWxlY3Qtb3B0aW9uKCkge1xcbiAgICBvcHRpb246ZGlzYWJsZWQge1xcbiAgICAgICAgY29sb3I6IHRoZW1lLiRib3gtc2VsZWN0LW9wdGlvbi1kaXNhYmxlZC1jb2xvcjtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gY2FyZXQoKSB7XFxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24uYWRkKChib3JkZXItY29sb3IpKTtcXG5cXG4gICAgcG9zaXRpb246IGFic29sdXRlOyAvLyAxLlxcbiAgICB0b3A6IHRoZW1lLiRib3gtYm9yZGVyLXdpZHRoO1xcbiAgICByaWdodDogdGhlbWUuJGJveC1ib3JkZXItd2lkdGg7XFxuICAgIGJvdHRvbTogdGhlbWUuJGJveC1ib3JkZXItd2lkdGg7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICB3aWR0aDogY2FsYygje3NldHRpbmdzLiRib3gtZmllbGQtY2FyZXQtc2l6ZX0gLSAyICogI3t0aGVtZS4kYm94LWJvcmRlci13aWR0aH0pO1xcbiAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogdGhlbWUuJGJveC1ib3JkZXItcmFkaXVzO1xcbiAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHRoZW1lLiRib3gtYm9yZGVyLXJhZGl1cztcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxufVxcblxcbkBtaXhpbiBjYXJldC1pY29uKCkge1xcbiAgICBAaW5jbHVkZSBjYXJldC5jcmVhdGUoKTtcXG5cXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktbG9jYWwtY29sb3IpO1xcbn1cXG5cXG5AbWl4aW4gYm90dG9tLWxpbmUoKSB7XFxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24uYWRkKCh0cmFuc2Zvcm0sIG9wYWNpdHkpLCAxODBtcyk7XFxuXFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLy8gMS5cXG4gICAgYm90dG9tOiAwO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgaGVpZ2h0OiBzZXR0aW5ncy4kYm94LWZpZWxkLWJvdHRvbS1saW5lLWhlaWdodDtcXG4gICAgb3BhY2l0eTogMDtcXG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XFxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xcblxcbiAgICAuaW5wdXQ6Zm9jdXMgfiAmIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3IpO1xcbiAgICAgICAgb3BhY2l0eTogMTtcXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbi1ncm91cC1sYXlvdXQoKSB7XFxuICAgIC5pbnB1dENvbnRhaW5lciB7XFxuICAgICAgICBkaXNwbGF5OiBibG9jazsgLy8gNS5cXG4gICAgfVxcblxcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIC5pbnB1dCB7XFxuICAgICAgICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1ydWktbG9jYWwtaW5uZXItYm9yZGVyLXJhZGl1cyk7XFxuICAgICAgICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogdmFyKC0tcnVpLWxvY2FsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xcbiAgICB9XFxuXFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuaW5wdXQge1xcbiAgICAgICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLXJ1aS1sb2NhbC1pbm5lci1ib3JkZXItcmFkaXVzKTtcXG4gICAgICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogdmFyKC0tcnVpLWxvY2FsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xcbiAgICB9XFxufVxcblwiLFwiQHVzZSBcXFwic2FzczpsaXN0XFxcIjtcXG5AdXNlIFxcXCJzYXNzOm1ldGFcXFwiO1xcbkB1c2UgXFxcInNhc3M6c3RyaW5nXFxcIjtcXG5AdXNlIFxcXCIuLi9zZXR0aW5ncy9hbmltYXRpb25zXFxcIjtcXG5cXG4kX2FsbG93ZWQtdHJhbnNpdGlvbnM6IChcXG4gICAgYm9yZGVyLWNvbG9yLFxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLFxcbiAgICBib3gtc2hhZG93LFxcbiAgICBjb2xvcixcXG4gICAgb3BhY2l0eSxcXG4gICAgdHJhbnNmb3JtLFxcbiAgICB2aXNpYmlsaXR5LFxcbik7XFxuXFxuJF9yZWR1Y2VkLW1vdGlvbi1kaXNhbGxvd2VkLXRyYW5zaXRpb25zOiAodHJhbnNmb3JtKTtcXG5cXG5AZnVuY3Rpb24gX3ZhbGlkYXRlLXRyYW5zaXRpb25zKCRwcm9wZXJ0aWVzKSB7XFxuICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XFxuICAgICAgICAkaXMtYWxsb3dlZDogbGlzdC5pbmRleCgkX2FsbG93ZWQtdHJhbnNpdGlvbnMsICRwcm9wZXJ0eSk7XFxuXFxuICAgICAgICBAaWYgbm90ICRpcy1hbGxvd2VkIHtcXG4gICAgICAgICAgICBAcmV0dXJuIGZhbHNlO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEByZXR1cm4gdHJ1ZTtcXG59XFxuXFxuQGZ1bmN0aW9uIF9yZWR1Y2UtbW90aW9uLXRyYW5zaXRpb25zKCRwcm9wZXJ0aWVzKSB7XFxuICAgICRyZWR1Y2VkLXByb3BlcnRpZXM6ICgpO1xcbiAgICAkc2VwYXJhdG9yOiBsaXN0LnNlcGFyYXRvcigkcHJvcGVydGllcyk7XFxuXFxuICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XFxuICAgICAgICBAaWYgbm90IGxpc3QuaW5kZXgoJF9yZWR1Y2VkLW1vdGlvbi1kaXNhbGxvd2VkLXRyYW5zaXRpb25zLCAkcHJvcGVydHkpIHtcXG4gICAgICAgICAgICAkcmVkdWNlZC1wcm9wZXJ0aWVzOiBsaXN0LmFwcGVuZCgkcmVkdWNlZC1wcm9wZXJ0aWVzLCAkcHJvcGVydHksICRzZXBhcmF0b3I6ICRzZXBhcmF0b3IpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEByZXR1cm4gJHJlZHVjZWQtcHJvcGVydGllcztcXG59XFxuXFxuQG1peGluIGFkZCgkcHJvcGVydGllcywgJGR1cmF0aW9uOiAxNTBtcykge1xcbiAgICAkcHJvcGVydHktbGlzdDogKCk7XFxuXFxuICAgIEBpZiBtZXRhLnR5cGUtb2YoJHByb3BlcnRpZXMpICE9IFxcXCJzdHJpbmdcXFwiIGFuZCBtZXRhLnR5cGUtb2YoJHByb3BlcnRpZXMpICE9IFxcXCJsaXN0XFxcIiB7XFxuICAgICAgICBAZXJyb3IgXFxcIlRyYW5zaXRpb24gcHJvcGVydGllcyBtdXN0IGJlIGEgc3RyaW5nIG9yIGEgU2FzcyBsaXN0LCBgI3skcHJvcGVydGllc31gIGdpdmVuLlxcXCI7XFxuICAgIH1cXG5cXG4gICAgJHByb3BlcnR5LWxpc3Q6IGxpc3Quam9pbigkcHJvcGVydHktbGlzdCwgJHByb3BlcnRpZXMpO1xcblxcbiAgICBAaWYgbm90IF92YWxpZGF0ZS10cmFuc2l0aW9ucygkcHJvcGVydHktbGlzdCkge1xcbiAgICAgICAgQGVycm9yIFxcXCJPbmx5IFsjeyRfYWxsb3dlZC10cmFuc2l0aW9uc31dIHRyYW5zaXRpb25zIGFyZSBhbGxvd2VkLCBbI3skcHJvcGVydGllc31dIGdpdmVuLlxcXCI7XFxuICAgIH0gQGVsc2Uge1xcbiAgICAgICAgJHJlZHVjZWQtcHJvcGVydHktbGlzdDogX3JlZHVjZS1tb3Rpb24tdHJhbnNpdGlvbnMoJHByb3BlcnR5LWxpc3QpO1xcblxcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHByb3BlcnR5LWxpc3Q7XFxuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XFxuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9ucy4kc3RhbmRhcmQtdGltaW5nLWZ1bmN0aW9uO1xcblxcbiAgICAgICAgQGlmIGxpc3QubGVuZ3RoKCRyZWR1Y2VkLXByb3BlcnR5LWxpc3QpID4gMCB7XFxuICAgICAgICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHJlZHVjZWQtcHJvcGVydHktbGlzdDtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXCIsXCIkc3RhbmRhcmQtdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcblwiLFwiLy8gVmFyaWFudCBzcGVjaWZpYyB0aGVtZSBvcHRpb25zIGFyZSBvYnRhaW5lZCBkeW5hbWljYWxseSBiZWNhdXNlIHRoZXJlIGlzIHdheSB0b28gbWFueSBvZiB0aGVtIHRvXFxuLy8gbWFpbnRhaW4gbWFudWFsbHkuIFNlZSBgc2V0dGluZ3MvX2Zvcm0tZmllbGRzLnNjc3NgIGFuZCBgdG9vbHMvZm9ybS1maWVsZHMvX3ZhcmlhbnRzLnNjc3NgIGZvclxcbi8vIGRldGFpbHMuXFxuLy9cXG4vLyAxLiBEZWZhdWx0cyB0byB6ZXJvIHdoZW4gbmVpdGhlciBgLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15YCAob3B0aW9uYWwpIG5vclxcbi8vICAgIGAtLXJ1aS1sb2NhbC1wYWRkaW5nLXlgIChoYW5kbGVkIGJ5IHRoZSBgc2l6ZSgpYCBtaXhpbiBpbiBjYXNlIG9mIGJveCBmb3JtIGZpZWxkcywgc2VlXFxuLy8gICAgYF9ib3gtZmllbGQtc2l6ZXMuc2Nzc2ApIGlzIGRlZmluZWQuIFRoaXMgaXMgdXNlZnVsIGJlY2F1c2UgRm9ybUxheW91dEN1c3RvbUZpZWxkIG1heSBoYXZlIG5vXFxuLy8gICAgc2l6ZSBzcGVjaWZpZWQgdGhlcmVmb3JlIGl0cyBsYWJlbCBzaG91bGQgaGF2ZSBubyBwYWRkaW5nIGF0IHRoZSB0b3AuXFxuXFxuLy8gRm9ybXMgZmllbGRzOiBjb21tb24gcHJvcGVydGllc1xcbiRsYWJlbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZF9fbGFiZWxfX2NvbG9yKTtcXG4kbGFiZWwtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkX19sYWJlbF9fZm9udC1zaXplKTtcXG4kaGVscC10ZXh0LWZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXNpemUpO1xcbiRoZWxwLXRleHQtZm9udC1zdHlsZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXN0eWxlKTtcXG4kaGVscC10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2NvbG9yKTtcXG4kcmVxdWlyZWQtbGFiZWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19sYWJlbF9fY29sb3IpO1xcbiRyZXF1aXJlZC1zaWduOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fc2lnbik7XFxuJHJlcXVpcmVkLXNpZ24tY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19zaWduX19jb2xvcik7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGhvcml6b250YWwgbGF5b3V0XFxuJGhvcml6b250YWwtbGFiZWwtdGV4dC1hbGlnbjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3RleHQtYWxpZ24pO1xcbiRob3Jpem9udGFsLWxhYmVsLW1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX21pbi13aWR0aCk7XFxuJGhvcml6b250YWwtbGFiZWwtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX193aWR0aCk7XFxuJGhvcml6b250YWwtbGFiZWwtcGFkZGluZy15OlxcbiAgICB2YXIoXFxuICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19wYWRkaW5nLXksXFxuICAgICAgICBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKVxcbiAgICApOyAvLyAxLlxcbiRob3Jpem9udGFsLWxhYmVsLXZlcnRpY2FsLWFsaWdubWVudDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuJGhvcml6b250YWwtZmllbGQtdmVydGljYWwtYWxpZ25tZW50OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19maWVsZF9fdmVydGljYWwtYWxpZ25tZW50KTtcXG4kaG9yaXpvbnRhbC1mdWxsLXdpZHRoLWxhYmVsLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsLS1mdWxsLXdpZHRoX19sYWJlbF9fd2lkdGgpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBkaXNhYmxlZCBzdGF0ZVxcbiRkaXNhYmxlZC1jdXJzb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19jdXJzb3IpO1xcbiRkaXNhYmxlZC1vcGFjaXR5OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fb3BhY2l0eSk7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGJveCBmaWVsZHNcXG4kYm94LWJvcmRlci13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpO1xcbiRib3gtYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItcmFkaXVzKTtcXG4kYm94LWlucHV0LXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2lucHV0X193aWR0aCk7XFxuJGJveC1pbnB1dC1taW4td2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9faW5wdXRfX21pbi13aWR0aCk7XFxuJGJveC1wbGFjZWhvbGRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19wbGFjZWhvbGRlcl9fY29sb3IpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBib3ggZmllbGRzLCBjb21wb25lbnQgc3BlY2lmaWNcXG4kYm94LXNlbGVjdC1jYXJldC1ib3JkZXItc3R5bGU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc2VsZWN0X19jYXJldF9fYm9yZGVyLXN0eWxlKTtcXG4kYm94LXNlbGVjdC1jYXJldC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fY2FyZXRfX2JhY2tncm91bmQpO1xcbiRib3gtc2VsZWN0LW9wdGlvbi1kaXNhYmxlZC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zZWxlY3RfX29wdGlvbi0tZGlzYWJsZWRfX2NvbG9yKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogYm94IGZpZWxkIHNpemVzXFxuJGJveC1zaXplczogKFxcbiAgICBzbWFsbDogKFxcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19oZWlnaHQpLFxcbiAgICAgICAgcGFkZGluZy15OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19wYWRkaW5nLXkpLFxcbiAgICAgICAgcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19wYWRkaW5nLXgpLFxcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNtYWxsX19mb250LXNpemUpLFxcbiAgICApLFxcbiAgICBtZWRpdW06IChcXG4gICAgICAgIGhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX2hlaWdodCksXFxuICAgICAgICBwYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19wYWRkaW5nLXkpLFxcbiAgICAgICAgcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fcGFkZGluZy14KSxcXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX2ZvbnQtc2l6ZSksXFxuICAgICksXFxuICAgIGxhcmdlOiAoXFxuICAgICAgICBoZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX2hlaWdodCksXFxuICAgICAgICBwYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX3BhZGRpbmcteSksXFxuICAgICAgICBwYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX3BhZGRpbmcteCksXFxuICAgICAgICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX2ZvbnQtc2l6ZSksXFxuICAgICksXFxuKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogY2hlY2sgZmllbGRzXFxuJGNoZWNrLWlucHV0LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dF9fc2l6ZSk7XFxuJGNoZWNrLWlucHV0LWJvcmRlci13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0X19ib3JkZXItd2lkdGgpO1xcbiRjaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLWZvY3VzX19ib3gtc2hhZG93KTtcXG4kY2hlY2stdGFwLXRhcmdldC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19fdGFwLXRhcmdldC1zaXplKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogY2hlY2sgZmllbGRzLCBjb21wb25lbnQgc3BlY2lmaWNcXG4kY2hlY2staW5wdXQtY2hlY2tib3gtYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1jaGVja2JveF9fYm9yZGVyLXJhZGl1cyk7XFxuJGNoZWNrLWlucHV0LWNoZWNrYm94LWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1jaGVja2JveC0tY2hlY2tlZF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXJhZGlvLWJvcmRlci1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tcmFkaW9fX2JvcmRlci1yYWRpdXMpO1xcbiRjaGVjay1pbnB1dC1yYWRpby1jaGVja2VkLWJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tcmFkaW8tLWNoZWNrZWRfX2JhY2tncm91bmQtaW1hZ2UpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlX193aWR0aCk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1ib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZV9fYm9yZGVyLXJhZGl1cyk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1iYWNrZ3JvdW5kLXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlX19iYWNrZ3JvdW5kLXNpemUpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtZGVmYXVsdC1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZS0tZGVmYXVsdF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1kZWZhdWx0LWJhY2tncm91bmQtcG9zaXRpb246XFxuICAgIHZhcihcXG4gICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWRlZmF1bHRfX2JhY2tncm91bmQtcG9zaXRpb25cXG4gICAgKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWNoZWNrZWRfX2JhY2tncm91bmQtaW1hZ2UpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtY2hlY2tlZC1iYWNrZ3JvdW5kLXBvc2l0aW9uOlxcbiAgICB2YXIoXFxuICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlLS1jaGVja2VkX19iYWNrZ3JvdW5kLXBvc2l0aW9uXFxuICAgICk7XFxuXCIsXCIvLyAxLiBJbnB1dCBgbGluZS1oZWlnaHRgIGlzIHNwZWNpZmllZCBpbiBgcmVtYCBzbyBpbnB1dHMgZG8gbm90IGJyZWFrIHdoZW4gdGhlaXIgZm9udCBzaXplIGdldHNcXG4vLyAgICBjaGFuZ2VkIGxhdGVyLlxcblxcbkB1c2UgXFxcInNhc3M6bWFwXFxcIjtcXG5AdXNlIFxcXCIuLi90aGVtZS90eXBvZ3JhcGh5XFxcIjtcXG5AdXNlIFxcXCIuLi90b29scy9zcGFjaW5nXFxcIjtcXG5cXG4kaGVscC10ZXh0LWxpbmUtaGVpZ2h0OiAxLjJyZW07XFxuXFxuJHZlcnRpY2FsLWlubmVyLWdhcDogc3BhY2luZy5vZigxKTtcXG4kdmVydGljYWwtaW5uZXItZ2FwLWxhcmdlOiBzcGFjaW5nLm9mKDIpO1xcbiR2ZXJ0aWNhbC1vdXRlci1zcGFjaW5nOiBzcGFjaW5nLm9mKDIpO1xcblxcbiRob3Jpem9udGFsLWlubmVyLWdhcDogc3BhY2luZy5vZigyKTtcXG4kaG9yaXpvbnRhbC1vdXRlci1zcGFjaW5nOiBzcGFjaW5nLm9mKDIpO1xcblxcbiRib3gtaW5wdXQtZm9udC1mYW1pbHk6IHR5cG9ncmFwaHkuJGZvbnQtZmFtaWx5LWJhc2U7XFxuJGJveC1pbnB1dC1mb250LXdlaWdodDogbWFwLmdldCh0eXBvZ3JhcGh5LiRmb250LXdlaWdodC12YWx1ZXMsIGRlZmF1bHQpO1xcbiRib3gtaW5wdXQtbGluZS1oZWlnaHQ6IDEuNXJlbTsgLy8gMS5cXG4kYm94LWZpZWxkLWNhcmV0LXNpemU6IDIuMjVyZW07XFxuJGJveC1maWVsZC1pbnB1dC1udW1iZXItYXJyb3dzLXdpZHRoOiAxLjVyZW07XFxuJGJveC1maWVsZC1ib3R0b20tbGluZS1oZWlnaHQ6IDJweDtcXG5cXG4kaW5saW5lLWZpZWxkLWlubmVyLWdhcDogc3BhY2luZy5vZigyKTtcXG5cXG4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzOiAoXFxuICAgIGJveDogKFxcbiAgICAgICAgZmlsbGVkOiAoZGVmYXVsdCwgaG92ZXIsIGZvY3VzLCBkaXNhYmxlZCksXFxuICAgICAgICBvdXRsaW5lOiAoZGVmYXVsdCwgaG92ZXIsIGZvY3VzLCBkaXNhYmxlZCksXFxuICAgICksXFxuICAgIGNoZWNrOiAoXFxuICAgICAgICBkZWZhdWx0OiAoZGVmYXVsdCwgY2hlY2tlZCwgZGlzYWJsZWQsIGNoZWNrZWQtZGlzYWJsZWQpLFxcbiAgICApLFxcbiAgICBjdXN0b206IChcXG4gICAgICAgIGRlZmF1bHQ6IChkZWZhdWx0LCBkaXNhYmxlZCksXFxuICAgICksXFxuICAgIHZhbGlkYXRpb246IChcXG4gICAgICAgIGludmFsaWQ6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICAgICB2YWxpZDogKGRlZmF1bHQsIGNoZWNrZWQsIGRpc2FibGVkLCBjaGVja2VkLWRpc2FibGVkKSxcXG4gICAgICAgIHdhcm5pbmc6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICksXFxuKTtcXG5cXG4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXM6IChcXG4gICAgZGVmYXVsdDogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGNoZWNrLWJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3csIHN1cnJvdW5kaW5nLXRleHQtY29sb3IpLFxcbiAgICBob3ZlcjogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGJveC1zaGFkb3cpLFxcbiAgICBmb2N1czogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGNoZWNrLWJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cpLFxcbiAgICBjaGVja2VkOiAoYm9yZGVyLWNvbG9yLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yKSxcXG4gICAgZGlzYWJsZWQ6IChjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93LCBzdXJyb3VuZGluZy10ZXh0LWNvbG9yKSxcXG4gICAgY2hlY2tlZC1kaXNhYmxlZDogKGJvcmRlci1jb2xvciwgY2hlY2stYmFja2dyb3VuZC1jb2xvciksXFxuKTtcXG5cIixcIiRmb250LXdlaWdodC12YWx1ZXM6IChcXG4gICAgbGlnaHQ6IHZhcigtLXJ1aS1mb250LXdlaWdodC1saWdodCksXFxuICAgIGRlZmF1bHQ6IHZhcigtLXJ1aS1mb250LXdlaWdodC1iYXNlKSxcXG4gICAgYm9sZDogdmFyKC0tcnVpLWZvbnQtd2VpZ2h0LWJvbGQpLFxcbik7XFxuXFxuJGZvbnQtd2VpZ2h0LWJhc2U6IHZhcigtLXJ1aS1mb250LXdlaWdodC1iYXNlKTtcXG5cXG4kZm9udC1zaXplLXZhbHVlczogKFxcbiAgICAxOiB2YXIoLS1ydWktZm9udC1zaXplLTEpLFxcbiAgICAyOiB2YXIoLS1ydWktZm9udC1zaXplLTIpLFxcbiAgICAzOiB2YXIoLS1ydWktZm9udC1zaXplLTMpLFxcbiAgICA0OiB2YXIoLS1ydWktZm9udC1zaXplLTQpLFxcbiAgICA1OiB2YXIoLS1ydWktZm9udC1zaXplLTUpLFxcbiAgICA2OiB2YXIoLS1ydWktZm9udC1zaXplLTYpLFxcbik7XFxuXFxuJGZvbnQtc2l6ZS1iYXNlOiB2YXIoLS1ydWktZm9udC1zaXplLWJhc2UpO1xcbiRmb250LXNpemUtc21hbGw6IHZhcigtLXJ1aS1mb250LXNpemUtc21hbGwpO1xcbiRmb250LXNpemUtc21hbGxlcjogdmFyKC0tcnVpLWZvbnQtc2l6ZS1zbWFsbGVyKTtcXG5cXG4kZm9udC1mYW1pbHktYmFzZTogdmFyKC0tcnVpLWZvbnQtZmFtaWx5LWJhc2UpO1xcblxcbiRsaW5lLWhlaWdodC1iYXNlOiB2YXIoLS1ydWktbGluZS1oZWlnaHQtYmFzZSk7XFxuJGxpbmUtaGVpZ2h0LXNtYWxsOiB2YXIoLS1ydWktbGluZS1oZWlnaHQtc21hbGwpO1xcblwiLFwiLy8gMS4gRHVlIHRvIGNvbXBsZXhpdHksIGl0J3MgZWFzaWVyIGFuZCBzYWZlciB0byByZXNvbHZlIHZhcmlhbnQgY3VzdG9tIHByb3BlcnRpZXMgZHluYW1pY2FsbHkgd2l0aFxcbi8vICAgIGEgbWl4aW4uIFRoaXMgd2F5IGl0J3MgYWxzbyBlYXNpZXIgdG8gbWFrZSB0aGVtaW5nIGFkanVzdG1lbnRzIHRvIGFsbCBzdXBwb3J0ZWQgbW9kaWZpY2F0aW9uc1xcbi8vICAgIGluIG9uZSBwbGFjZS4gR2VuZXJhdGVkIGN1c3RvbSBwcm9wZXJ0aWVzIGFyZSBjb25zdW1lZCBtYWlubHkgaW4gZm91bmRhdGlvbiBmaWVsZCBzdHlsZXMgKHNlZVxcbi8vICAgIGB0b29scy9mb3JtLWZpZWxkcy9fZm91bmRhdGlvbi5zY3NzYCBmb3IgbW9yZSkuXFxuLy9cXG4vLyAyLiBJbnRlcmFjdGlvbiBzdGF0ZXMgb3RoZXIgdGhhbiBgZGVmYXVsdGAgZGVmYXVsdCB0byB0aGUgYGRlZmF1bHRgIChzaWMhKSBzdGF0ZSBhcHBlYXJhbmNlIGlmXFxuLy8gICAgY29ycmVzcG9uZGluZyBjdXN0b20gcHJvcGVydGllcyBhcmUgbm90IHByb3ZpZGVkLlxcbi8vXFxuLy8gMy4gYC5pbnB1dDpmb2N1c2AgaXMgYWRkZWQganVzdCBpbiBjYXNlIGA6Zm9jdXMtd2l0aGluYCBkb2Vzbid0IHdvcmsuXFxuXFxuQHVzZSBcXFwic2FzczpsaXN0XFxcIjtcXG5AdXNlIFxcXCJzYXNzOm1hcFxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybS1maWVsZHNcXFwiIGFzIHNldHRpbmdzO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL2Zvcm0tZmllbGRzXFxcIiBhcyB0aGVtZTtcXG5cXG5AbWl4aW4gX2Rpc2FibGVkLXN0YXRlKCkge1xcbiAgICBvcGFjaXR5OiB0aGVtZS4kZGlzYWJsZWQtb3BhY2l0eTtcXG4gICAgY3Vyc29yOiB0aGVtZS4kZGlzYWJsZWQtY3Vyc29yO1xcbn1cXG5cXG4vLyAxLlxcbkBtaXhpbiBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCAkc3RhdGUpIHtcXG4gICAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKG1hcC5nZXQoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcywgJHR5cGUpKSwgJHZhcmlhbnQpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiSW52YWxpZCB2YXJpYW50IHNwZWNpZmllZCEgI3skdmFyaWFudH0gZG9lc24ndCBleGlzdC4gXFxcIlxcbiAgICAgICAgICAgICsgXFxcIkNob29zZSBvbmUgb2YgI3ttYXAua2V5cyhtYXAuZ2V0KHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMsICR0eXBlKSl9LlxcXCI7XFxuICAgIH1cXG5cXG4gICAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKHNldHRpbmdzLiR0aGVtZWFibGUtc3RhdGUtcHJvcGVydGllcyksICRzdGF0ZSkge1xcbiAgICAgICAgQGVycm9yIFxcXCJJbnZhbGlkIHN0YXRlIHNwZWNpZmllZCEgI3skc3RhdGV9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMoc2V0dGluZ3MuJHRoZW1lYWJsZS1zdGF0ZS1wcm9wZXJ0aWVzKX0uXFxcIjtcXG4gICAgfVxcblxcbiAgICAkcHJvcGVydGllczogbWFwLmdldChzZXR0aW5ncy4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXMsICRzdGF0ZSk7XFxuICAgICRpbmZpeDogJHR5cGU7XFxuICAgICRmYWxsYmFjay1zdGF0ZTogXFxcImRlZmF1bHRcXFwiO1xcblxcbiAgICBAaWYgJHR5cGUgPT0gXFxcInZhbGlkYXRpb25cXFwiIHtcXG4gICAgICAgICRpbmZpeDogJHZhcmlhbnQ7XFxuICAgIH1cXG5cXG4gICAgQGlmICR0eXBlICE9IFxcXCJ2YWxpZGF0aW9uXFxcIiBhbmQgJHZhcmlhbnQgIT0gXFxcImRlZmF1bHRcXFwiIHtcXG4gICAgICAgICRpbmZpeDogI3skdHlwZX0tLSN7JHZhcmlhbnR9O1xcbiAgICB9XFxuXFxuICAgIEBpZiAkc3RhdGUgPT0gXFxcImNoZWNrZWQtZGlzYWJsZWRcXFwiIHtcXG4gICAgICAgICRmYWxsYmFjay1zdGF0ZTogXFxcImNoZWNrZWRcXFwiO1xcbiAgICB9XFxuXFxuICAgIEBpZiAkc3RhdGUgPT0gXFxcImRlZmF1bHRcXFwiIHtcXG4gICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XFxuICAgICAgICAgICAgLS1ydWktbG9jYWwtI3skcHJvcGVydHl9OiB2YXIoLS1ydWktRm9ybUZpZWxkLS0jeyRpbmZpeH0tLSN7JHN0YXRlfV9fI3skcHJvcGVydHl9KTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICAvLyAyLlxcbiAgICBAZWxzZSB7XFxuICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xcbiAgICAgICAgICAgIC0tcnVpLWxvY2FsLSN7JHByb3BlcnR5fTpcXG4gICAgICAgICAgICAgICAgdmFyKFxcbiAgICAgICAgICAgICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS0jeyRpbmZpeH0tLSN7JHN0YXRlfV9fI3skcHJvcGVydHl9LFxcbiAgICAgICAgICAgICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tI3skaW5maXh9LS0jeyRmYWxsYmFjay1zdGF0ZX1fXyN7JHByb3BlcnR5fSlcXG4gICAgICAgICAgICAgICAgKTtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gX2dldC10aGVtZSgkdHlwZSwgJHZhcmlhbnQpIHtcXG4gICAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMpLCAkdHlwZSkge1xcbiAgICAgICAgQGVycm9yIFxcXCJJbnZhbGlkIHR5cGUgc3BlY2lmaWVkISAjeyR0eXBlfSBkb2Vzbid0IGV4aXN0LiBcXFwiXFxuICAgICAgICAgICAgKyBcXFwiQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMpfS5cXFwiO1xcbiAgICB9XFxuXFxuICAgICR0aGVtZWFibGUtc3RhdGVzOiBtYXAuZ2V0KG1hcC5nZXQoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcywgJHR5cGUpLCAkdmFyaWFudCk7XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiaG92ZXJcXFwiKSB7XFxuICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiZGVmYXVsdFxcXCIpO1xcblxcbiAgICAgICAgJjpob3ZlciB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImhvdmVyXFxcIik7XFxuICAgICAgICB9XFxuICAgIH0gQGVsc2Uge1xcbiAgICAgICAgJixcXG4gICAgICAgICY6aG92ZXIge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJkZWZhdWx0XFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJmb2N1c1xcXCIpIHtcXG4gICAgICAgIC8vIDMuXFxuICAgICAgICAmOmZvY3VzLXdpdGhpbixcXG4gICAgICAgICY6Zm9jdXMtd2l0aGluOmhvdmVyLFxcbiAgICAgICAgLmlucHV0OmZvY3VzIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiZm9jdXNcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImNoZWNrZWRcXFwiKSB7XFxuICAgICAgICAuaW5wdXQ6Y2hlY2tlZCB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImNoZWNrZWRcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImRpc2FibGVkXFxcIikge1xcbiAgICAgICAgJi5pc1Jvb3REaXNhYmxlZCB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImRpc2FibGVkXFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJjaGVja2VkLWRpc2FibGVkXFxcIikge1xcbiAgICAgICAgLmlucHV0OmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJjaGVja2VkLWRpc2FibGVkXFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIHZpc3VhbCgkdHlwZSwgJHZhcmlhbnQ6IFxcXCJkZWZhdWx0XFxcIiwgJGhhcy1jYXJldDogZmFsc2UpIHtcXG4gICAgQGluY2x1ZGUgX2dldC10aGVtZSgkdHlwZSwgJHZhcmlhbnQpO1xcblxcbiAgICAuaW5wdXQ6ZGlzYWJsZWQge1xcbiAgICAgICAgQGluY2x1ZGUgX2Rpc2FibGVkLXN0YXRlKCk7XFxuICAgIH1cXG5cXG4gICAgQGlmICR0eXBlID09IFxcXCJib3hcXFwiIGFuZCAkdmFyaWFudCA9PSBcXFwiZmlsbGVkXFxcIiB7XFxuICAgICAgICAuaW5wdXQge1xcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmICR0eXBlID09IFxcXCJib3hcXFwiIGFuZCAkdmFyaWFudCA9PSBcXFwib3V0bGluZVxcXCIgYW5kICRoYXMtY2FyZXQge1xcbiAgICAgICAgLmNhcmV0IHtcXG4gICAgICAgICAgICBib3JkZXItbGVmdDogdGhlbWUuJGJveC1ib3JkZXItd2lkdGggdGhlbWUuJGJveC1zZWxlY3QtY2FyZXQtYm9yZGVyLXN0eWxlIHZhcigtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3IpO1xcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLiRib3gtc2VsZWN0LWNhcmV0LWJhY2tncm91bmQ7XFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdERpc2FibGVkIC5jYXJldCB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2Rpc2FibGVkLXN0YXRlKCk7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIHZhbGlkYXRpb24oJHZhcmlhbnQpIHtcXG4gICAgQGluY2x1ZGUgX2dldC10aGVtZSh2YWxpZGF0aW9uLCAkdmFyaWFudCk7XFxufVxcblwiLFwiLy8gMS4gU2NyZWVuIHJlYWRlcnMgb25seSwgaW5zcGlyZWQgYnkgQm9vdHN0cmFwLlxcbi8vICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzXFxuLy9cXG4vLyAyLiBNYWtlIHRhcCB0YXJnZXQgYmlnIGVub3VnaCB0byBpbXByb3ZlIGFjY2Vzc2liaWxpdHkgb24gdG91Y2ggc2NyZWVucy5cXG5cXG5AdXNlIFxcXCIuLi90aGVtZS9hY2Nlc3NpYmlsaXR5XFxcIiBhcyB0aGVtZTtcXG5cXG4vLyAxLlxcbkBtaXhpbiBoaWRlLXRleHQoKSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDFweDtcXG4gICAgaGVpZ2h0OiAxcHg7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICAgIGJvcmRlcjogMDtcXG59XFxuXFxuQG1peGluIHVuaGlkZS10ZXh0KCkge1xcbiAgICBwb3NpdGlvbjogdW5zZXQ7XFxuICAgIHdpZHRoOiB1bnNldDtcXG4gICAgaGVpZ2h0OiB1bnNldDtcXG4gICAgb3ZlcmZsb3c6IHVuc2V0O1xcbiAgICBjbGlwOiB1bnNldDtcXG4gICAgd2hpdGUtc3BhY2U6IHVuc2V0O1xcbn1cXG5cXG4vLyAyLlxcbkBtaXhpbiBtaW4tdGFwLXRhcmdldCgkc2l6ZTogdGhlbWUuJHRhcC10YXJnZXQtc2l6ZSwgJGNlbnRlcjogdHJ1ZSkge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuXFxuICAgICY6OmJlZm9yZSB7XFxuICAgICAgICBjb250ZW50OiBcXFwiXFxcIjtcXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcXG4gICAgICAgIGhlaWdodDogJHNpemU7XFxuXFxuICAgICAgICBAaWYgJGNlbnRlciB7XFxuICAgICAgICAgICAgdG9wOiA1MCU7XFxuICAgICAgICAgICAgbGVmdDogNTAlO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBmb2N1cy1yaW5nKCkge1xcbiAgICAmOmZvY3VzLXZpc2libGUge1xcbiAgICAgICAgb3V0bGluZTogdGhlbWUuJGZvY3VzLW91dGxpbmU7XFxuICAgICAgICBvdXRsaW5lLW9mZnNldDogdGhlbWUuJGZvY3VzLW91dGxpbmUtb2Zmc2V0O1xcbiAgICAgICAgYm94LXNoYWRvdzogdGhlbWUuJGZvY3VzLWJveC1zaGFkb3c7XFxuICAgIH1cXG59XFxuXCIsXCIvLyAxLiAgSW5saW5lIGZvcm0gZmllbGRzIGFuZCBmaWVsZHMgd2l0aCB2ZXJ0aWNhbCBsYXlvdXQgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHRoZXkgbmVlZC4gTGFiZWxzXFxuLy8gICAgIGRvIG5vdCB3cmFwIHVudGlsIGZvcmNlZCBieSBjb250YWluZXIgb2YgdGhlIGZpZWxkLiBNaW4gYW5kIG1heCBsaW1pdHMgbWFrZSBleHRyYSBsb25nIHdvcmRzXFxuLy8gICAgIGJyZWFrIGlmIG5lY2Vzc2FyeS5cXG4vL1xcbi8vIDIuICBGb3JtIGZpZWxkcyBpbiBob3Jpem9udGFsIGxheW91dCBhbHNvIHRha2UgdXAgb25seSBhcyBtdWNoIHNwYWNlIGFzIHRoZXkgbmVlZC4gTGFiZWxzIGRvIG5vdFxcbi8vICAgICB3cmFwIHVudGlsIGxhYmVsIHdpZHRoIGxpbWl0IGlzIHJlYWNoZWQgKDUwICUgb2YgYXZhaWxhYmxlIGhvcml6b250YWwgc3BhY2UgYnkgZGVmYXVsdCkuXFxuLy9cXG4vLyAzLiAgSGVscCB0ZXh0cyBhbmQgdmFsaWRhdGlvbiBtZXNzYWdlcyBhcmUgYWxpZ25lZCBiZWxvdyBpbnB1dCBhbmQgd3JhcHBlZC4gVGhlaXIgd2lkdGggaXMgYWx3YXlzXFxuLy8gICAgIGxpbWl0ZWQgdG8gdGhlIHdpZHRoIG9mIHRoZSBpbnB1dCBmaWVsZCBzbyB0aGV5IGRvbid0IHNoaWZ0IGFkamFjZW50IGVsZW1lbnRzIHdoZW4gdGhleSBzaG93XFxuLy8gICAgIHVwLiBUaGlzIGFwcGxpZXMgdW5sZXNzIHRoZSBmaWVsZCBpcyBpbnNpZGUgRm9ybUxheW91dCAoc2VlIDEwKS5cXG4vL1xcbi8vIDQuICBEZWZpbmUgZ3JpZCBzcGFjaW5nIGFzIHBhZGRpbmcgb2YgY2hpbGQgZWxlbWVudHMgYmVjYXVzZSBncmlkIGFyZWFzIG1ha2Ugcm93IGFuZCBjb2x1bW4gZ2Fwc1xcbi8vICAgICBzaG93IHVwIGV2ZW4gd2hlbiBub3QgbmVjZXNzYXJ5Llxcbi8vXFxuLy8gNS4gIFdoZW4gaW5wdXQgc2l6ZSBpcyBzbWFsbCBhbmQgZm9ybSBmaWVsZCBsYXlvdXQgaXMgc2V0IHRvIGhvcml6b250YWwsIGV4cGFuZCBoZWxwIHRleHQgYW5kXFxuLy8gICAgIHZhbGlkYXRpb24gbWVzc2FnZSBvdmVyIGZ1bGwgZm9ybSBmaWVsZCB3aWR0aCB0byBpbXByb3ZlIHRoZWlyIHJlYWRhYmlsaXR5LiBPdGhlcndpc2UgdGhlXFxuLy8gICAgIHRleHQgd291bGQgYmUgcGFja2VkIGludG8gYSB2ZXJ5IG5hcnJvdyBjb2x1bW4gYW5kIGhhcmQgdG8gcmVhZC4gVG8gcHJldmVudCBoZWxwIHRleHQgYW5kXFxuLy8gICAgIHZhbGlkYXRpb24gbWVzc2FnZSBmcm9tIGdyb3dpbmcgdGhlIGxheW91dCBtb3JlIHRoYW4gbmVjZXNzYXJ5IChpZS4gdGhlIHNpemUgd2l0aG91dFxcbi8vICAgICBoZWxwL3ZhbGlkYXRpb24gdGV4dCksIGBtaW4tY29udGVudGAgZ3JpZCBzaXppbmcgbXVzdCBiZSB1c2VkIGFsb25nIHdpdGggZGlzYWJsZWQgd3JhcHBpbmcgb2ZcXG4vLyAgICAgbGFiZWwuXFxuLy9cXG4vLyA2LiAgRnVsbC13aWR0aCBob3Jpem9udGFsIGZvcm0gZmllbGRzIHByZWZlciBub3Qgd3JhcHBpbmcgdGhlIGxhYmVsIHVudGlsIGEgbGltaXQgaXMgcmVhY2hlZFxcbi8vICAgICAoNTAgJSBvZiBhdmFpbGFibGUgaG9yaXpvbnRhbCBzcGFjZSBieSBkZWZhdWx0LCBzYW1lIGFzIGluIDIuKS5cXG4vL1xcbi8vIDcuICBKdXN0aWZ5IGlucHV0cyB0byBgc3RhcnRgIGluIGhvcml6b250YWwgbGF5b3V0cyB0byBmaXggcG9zaXRpb25pbmcgaXNzdWVzIHdpdGggU2VsZWN0IEZpZWxkcy5cXG4vLyAgICAgUmV2ZXJ0ZWQgZm9yIGZ1bGwtd2lkdGggZmllbGRzLlxcbi8vXFxuLy8gOC4gIEdyaWQgc2V0dGluZ3MgYXJlIGluaGVyaXRlZCBmcm9tIGhvcml6b250YWwgRm9ybUxheW91dCBhbmQgYXBwbGllZCB1c2luZyBgc3ViZ3JpZGAuXFxuLy8gICAgIEEgZmFsbGJhY2sgaXMgc3VwcGxpZWQgdG8gYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGBzdWJncmlkYCB5ZXQuXFxuLy9cXG4vLyAgICAgQ2hyb21lIDExNysgc3VwcG9ydHMgYHN1YmdyaWRgIGJ1dCBpdCBkb2Vzbid0IHdvcmsgZm9yIGA8ZmllbGRzZXQ+YC4gVGhpcyBpcyB3aHkgd2UgYWx3YXlzXFxuLy8gICAgIHVzZSB0aGUgZmFsbGJhY2sgZm9yIGA8ZmllbGRzZXQ+YC5cXG4vL1xcbi8vICAgICBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0xNDczMjQyXFxuLy8gICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdC11aS1vcmcvcmVhY3QtdWkvaXNzdWVzLzIzMlxcbi8vXFxuLy8gOS4gIEhlbHAgdGV4dHMgYW5kIHZhbGlkYXRpb24gbWVzc2FnZXMgY2FuIHRha2UgdXAgZnVsbCB3aWR0aCBvZiBGb3JtTGF5b3V0LiBUaGVyZSBpcyBubyByZWFzb25cXG4vLyAgICAgdG8gbWFrZSB0aGVtIHdyYXAgYXMgdGhleSBjYW5ub3QgYnJlYWsgbGF5b3V0IG9mIEZvcm1MYXlvdXQuXFxuLy9cXG4vLyAxMC4gVmlzdWFsbHkgYWxpZ24gbGFiZWwgdG8gaW5wdXQgYmFzZWxpbmUuIEFjaGlldmVkIHdpdGggYHBhZGRpbmctdG9wYCBhbmQgYHBhZGRpbmctYm90dG9tYCBkdWVcXG4vLyAgICAgdG8gdHdvIHJlYXNvbnM6XFxuLy9cXG4vLyAgICAgKiBgYWxpZ24taXRlbXM6IGJhc2VsaW5lYCBkb2Vzbid0IHdvcmsgZm9yIGJsYW5rIHRleHQgaW5wdXRzIGluIFNhZmFyaS4gU2VlXFxuLy8gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI5NjggYW5kXFxuLy8gICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdC11aS1vcmcvcmVhY3QtdWkvaXNzdWVzLzI2NS5cXG4vL1xcbi8vICAgICAqIGBhbGlnbi1pdGVtczogYmFzZWxpbmVgIGRvZXNuJ3QgYWxsb3cgc3Vic2VxdWVudCB2ZXJ0aWNhbCBjZW50ZXJpbmcgb2YgdGFsbCBpbnB1dHMgYW5kL29yXFxuLy8gICAgICAgIG11bHRpbGluZSBsYWJlbHMgKHNlZSBgdGhlbWUuJGhvcml6b250YWwtbGFiZWwtdmVydGljYWwtYWxpZ25tZW50YCBhbmRcXG4vLyAgICAgICAgYHRoZW1lLiRob3Jpem9udGFsLWZpZWxkLXZlcnRpY2FsLWFsaWdubWVudGApLlxcbi8vXFxuLy8gMTEuIFJlc2V0IGB3aWR0aGAgcHJldmlvdXNseSBzZXQgYnkgaW5saW5lIGZpZWxkIGxheW91dCAoc2VlIGBfaW5saW5lLWZpZWxkLWxheW91dC5zY3NzYCkuXFxuLy9cXG4vLyAxMi4gTWFrZSBmaWVsZHMganVzdCBhcyB3aWRlIGFzIG5lY2Vzc2FyeS4gRmllbGRzIHNob3VsZCBiZSBpbnRlcmFjdGl2ZSBvbmx5IHdoZXJlIHRoZWlyIHZpc2libGVcXG4vLyAgICAgY29udGVudCBpcy5cXG4vL1xcbi8vIDEzLiBMYWJlbCBhbmQgZmllbGQgYXJlIHZlcnRpY2FsbHkgYWxpZ25lZCB0byB0b3AgKHN0YXJ0KSBieSBkZWZhdWx0IChzZWUgMTAuKS4gVmVydGljYWxcXG4vLyAgICAgYWxpZ25tZW50IG9mIGVhY2ggYmxvY2sgY2FuIGJlIGNoYW5nZWQgYnkgdGhlbWUgY29uZmlndXJhdGlvbi5cXG5cXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3Jtc1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybS1maWVsZHNcXFwiIGFzIHNldHRpbmdzO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL2Zvcm0tZmllbGRzXFxcIiBhcyB0aGVtZTtcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS90eXBvZ3JhcGh5XFxcIjtcXG5AdXNlIFxcXCIuLi9icmVha3BvaW50XFxcIjtcXG5cXG5AbWl4aW4gdmVydGljYWwoJGhhcy1saXN0OiBmYWxzZSkge1xcbiAgICBAaWYgJGhhcy1saXN0IHtcXG4gICAgICAgIC0tcnVpLWxvY2FsLXZlcnRpY2FsLWdhcDogI3tzZXR0aW5ncy4kdmVydGljYWwtaW5uZXItZ2FwLWxhcmdlfTtcXG4gICAgfVxcblxcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgLy8gMS5cXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgbWluLXdpZHRoOiAwOyAvLyAxLlxcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDEuXFxuXFxuICAgIC5sYWJlbCB7XFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcnVpLWxvY2FsLXZlcnRpY2FsLWdhcCwgI3tzZXR0aW5ncy4kdmVydGljYWwtaW5uZXItZ2FwfSk7XFxuICAgIH1cXG5cXG4gICAgLmhlbHBUZXh0LFxcbiAgICAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXAsICN7c2V0dGluZ3MuJHZlcnRpY2FsLWlubmVyLWdhcH0pO1xcbiAgICB9XFxuXFxuICAgIC5maWVsZCB7XFxuICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQ7IC8vIDMuXFxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDMuXFxuICAgIH1cXG59XFxuXFxuQG1peGluIGhvcml6b250YWwoJGhhcy1taW4tdGFwLXRhcmdldDogZmFsc2UpIHtcXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChmb3Jtcy4kaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XFxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDsgLy8gMi5cXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdGhlbWUuJGhvcml6b250YWwtbGFiZWwtd2lkdGggbWluLWNvbnRlbnQ7IC8vIDIuXFxuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcXFwibGFiZWwgZmllbGRcXFwiO1xcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0OyAvLyAxMC4sIDEzLlxcblxcbiAgICAgICAgLmxhYmVsIHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IGxhYmVsO1xcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXZlcnRpY2FsLWFsaWdubWVudDsgLy8gMTMuXFxuICAgICAgICAgICAgbWluLXdpZHRoOiB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC1taW4td2lkdGg7XFxuXFxuICAgICAgICAgICAgLy8gMTAuXFxuICAgICAgICAgICAgQGlmICRoYXMtbWluLXRhcC10YXJnZXQge1xcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDpcXG4gICAgICAgICAgICAgICAgICAgIGNhbGMoXFxuICAgICAgICAgICAgICAgICAgICAgICAgKCN7dGhlbWUuJGNoZWNrLXRhcC10YXJnZXQtc2l6ZX0gLSAxcmVtICogI3t0eXBvZ3JhcGh5LiRsaW5lLWhlaWdodC1iYXNlfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAvIDJcXG4gICAgICAgICAgICAgICAgICAgICk7XFxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOlxcbiAgICAgICAgICAgICAgICAgICAgY2FsYyhcXG4gICAgICAgICAgICAgICAgICAgICAgICAoI3t0aGVtZS4kY2hlY2stdGFwLXRhcmdldC1zaXplfSAtIDFyZW0gKiAje3R5cG9ncmFwaHkuJGxpbmUtaGVpZ2h0LWJhc2V9KVxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8gMlxcbiAgICAgICAgICAgICAgICAgICAgKTtcXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgLy8gMTAuLCAxMy5cXG4gICAgICAgICAgICBAZWxzZSB7XFxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAje3RoZW1lLiRob3Jpem9udGFsLWxhYmVsLXBhZGRpbmcteX07XFxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAje3RoZW1lLiRob3Jpem9udGFsLWxhYmVsLXBhZGRpbmcteX07XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHNldHRpbmdzLiRob3Jpem9udGFsLWlubmVyLWdhcDsgLy8gNC5cXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC10ZXh0LWFsaWduO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgLmZpZWxkIHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IGZpZWxkO1xcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHRoZW1lLiRob3Jpem9udGFsLWZpZWxkLXZlcnRpY2FsLWFsaWdubWVudDsgLy8gMTMuXFxuICAgICAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDsgLy8gNy5cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaG9yaXpvbnRhbC13aXRoLXNtYWxsLWlucHV0KCkge1xcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGZvcm1zLiRob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgbWluLWNvbnRlbnQ7IC8vIDUuXFxuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxcbiAgICAgICAgICAgIFxcXCJsYWJlbCBmaWVsZFxcXCJcXG4gICAgICAgICAgICBcXFwiaGVscHRleHQgaGVscHRleHRcXFwiXFxuICAgICAgICAgICAgXFxcInZhbGlkYXRpb250ZXh0IHZhbGlkYXRpb250ZXh0XFxcIjsgLy8gNS5cXG5cXG4gICAgICAgIC5sYWJlbCB7XFxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gNS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC5maWVsZCB7XFxuICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7IC8vIDUuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAuaW5wdXRDb250YWluZXIge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogZmllbGQ7IC8vIDUuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAuaGVscFRleHQge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogaGVscHRleHQ7IC8vIDUuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogdmFsaWRhdGlvbnRleHQ7IC8vIDUuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGZ1bGwtd2lkdGgoKSB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIHdpZHRoOiAxMDAlO1xcblxcbiAgICAuZmllbGQsXFxuICAgIC5pbnB1dENvbnRhaW5lcixcXG4gICAgLmlucHV0IHtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICB9XFxuXFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIHtcXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdGhlbWUuJGhvcml6b250YWwtZnVsbC13aWR0aC1sYWJlbC13aWR0aCAxZnI7IC8vIDYuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmZpZWxkIHtcXG4gICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0cmV0Y2g7IC8vIDcuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGluLWZvcm0tbGF5b3V0KCRpcy1maWVsZHNldDogZmFsc2UpIHtcXG4gICAganVzdGlmeS1zZWxmOiBzdGFydDsgLy8gMTIuXFxuXFxuICAgIC5maWVsZCB7XFxuICAgICAgICB3aWR0aDogYXV0bzsgLy8gOS5cXG4gICAgfVxcblxcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGZvcm1zLiRob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcXG4gICAgICAgIC5vcHRpb25MYWJlbCB7XFxuICAgICAgICAgICAgd2lkdGg6IGF1dG87IC8vIDExLlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLy8gOC5cXG4gICAgICAgIEBpZiAkaXMtZmllbGRzZXQge1xcbiAgICAgICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCxcXG4gICAgICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwuaGFzUm9vdFNtYWxsSW5wdXQge1xcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9IEBlbHNlIHtcXG4gICAgICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwsXFxuICAgICAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLmhhc1Jvb3RTbWFsbElucHV0IHtcXG4gICAgICAgICAgICAgICAgZ3JpZDogaW5oZXJpdDtcXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xcblxcbiAgICAgICAgICAgICAgICBAc3VwcG9ydHMgbm90IChncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQpIHtcXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbC5pc1Jvb3RGdWxsV2lkdGgge1xcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5sYWJlbCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuZmllbGQsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmlucHV0Q29udGFpbmVyLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5oZWxwVGV4dCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgICAgIGdyaWQtYXJlYTogdW5zZXQ7IC8vIDguXFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmZpZWxkLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5pbnB1dENvbnRhaW5lcixcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaGVscFRleHQsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMjsgLy8gOC5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbC5oYXNSb290U21hbGxJbnB1dCAuZmllbGQge1xcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyAvLyA1LlxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiLFwiQHVzZSBcXFwic2FzczptYXBcXFwiO1xcbkB1c2UgXFxcIi4uL3NldHRpbmdzL2JyZWFrcG9pbnRzXFxcIjtcXG5cXG5AbWl4aW4gdXAoJGJyZWFrcG9pbnQpIHtcXG4gICAgQGlmIG5vdCBtYXAuaGFzLWtleShicmVha3BvaW50cy4kdmFsdWVzLCAkYnJlYWtwb2ludCkge1xcbiAgICAgICAgQGVycm9yIFxcXCJJbnZhbGlkIGJyZWFrcG9pbnQgc3BlY2lmaWVkISAjeyRicmVha3BvaW50fSBkb2Vzbid0IGV4aXN0LiBcXFwiXFxuICAgICAgICAgICAgKyBcXFwiQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKGJyZWFrcG9pbnRzLiR2YWx1ZXMpfVxcXCI7XFxuICAgIH0gQGVsc2UgaWYgbWFwLmdldChicmVha3BvaW50cy4kdmFsdWVzLCAkYnJlYWtwb2ludCkgPT0gMCB7XFxuICAgICAgICBAY29udGVudDtcXG4gICAgfSBAZWxzZSB7XFxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldChicmVha3BvaW50cy4kdmFsdWVzLCAkYnJlYWtwb2ludCkpIHtcXG4gICAgICAgICAgICBAY29udGVudDtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cIixudWxsLFwiQHVzZSBcXFwic2FzczptYXBcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL2Zvcm0tZmllbGRzXFxcIiBhcyB0aGVtZTtcXG5cXG5AbWl4aW4gc2l6ZSgkc2l6ZSwgJGhhcy1pbnB1dDogdHJ1ZSwgJGlzLW11bHRpbGluZTogZmFsc2UpIHtcXG4gICAgJHNpemUtcHJvcGVydGllczogbWFwLmdldCh0aGVtZS4kYm94LXNpemVzLCAkc2l6ZSk7XFxuXFxuICAgIC0tcnVpLWxvY2FsLXBhZGRpbmcteTogI3ttYXAuZ2V0KCRzaXplLXByb3BlcnRpZXMsIHBhZGRpbmcteSl9O1xcbiAgICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXg6ICN7bWFwLmdldCgkc2l6ZS1wcm9wZXJ0aWVzLCBwYWRkaW5nLXgpfTtcXG5cXG4gICAgQGlmICRoYXMtaW5wdXQge1xcbiAgICAgICAgLS1ydWktbG9jYWwtZm9udC1zaXplOiAje21hcC5nZXQoJHNpemUtcHJvcGVydGllcywgZm9udC1zaXplKX07XFxuXFxuICAgICAgICAuaW5wdXQge1xcbiAgICAgICAgICAgIEBpZiAkaXMtbXVsdGlsaW5lIHtcXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBtYXAuZ2V0KCRzaXplLXByb3BlcnRpZXMsIGhlaWdodCk7XFxuICAgICAgICAgICAgfSBAZWxzZSB7XFxuICAgICAgICAgICAgICAgIC0tcnVpLWxvY2FsLWhlaWdodDogI3ttYXAuZ2V0KCRzaXplLXByb3BlcnRpZXMsIGhlaWdodCl9O1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLmxvY2FscyA9IHtcblx0XCJyb290XCI6IFwiVGV4dEFyZWFfX3Jvb3RfX3J6LUh6Y21sXCIsXG5cdFwibGFiZWxcIjogXCJUZXh0QXJlYV9fbGFiZWxfX1RIcDgzZUMxXCIsXG5cdFwiaW5wdXRDb250YWluZXJcIjogXCJUZXh0QXJlYV9faW5wdXRDb250YWluZXJfX0hDYWF6S2djXCIsXG5cdFwiaW5wdXRcIjogXCJUZXh0QXJlYV9faW5wdXRfX1U4dWdOaVN6XCIsXG5cdFwiYm90dG9tTGluZVwiOiBcIlRleHRBcmVhX19ib3R0b21MaW5lX19rRElvVFhHMFwiLFxuXHRcImhlbHBUZXh0XCI6IFwiVGV4dEFyZWFfX2hlbHBUZXh0X19TWlFudHNWQVwiLFxuXHRcInZhbGlkYXRpb25UZXh0XCI6IFwiVGV4dEFyZWFfX3ZhbGlkYXRpb25UZXh0X19JbnRIOVE5WVwiLFxuXHRcImlzUm9vdFJlcXVpcmVkXCI6IFwiVGV4dEFyZWFfX2lzUm9vdFJlcXVpcmVkX19iM05Udm9kS1wiLFxuXHRcImlzUm9vdFZhcmlhbnRGaWxsZWRcIjogXCJUZXh0QXJlYV9faXNSb290VmFyaWFudEZpbGxlZF9fNWJoNTI2WUFcIixcblx0XCJpc1Jvb3REaXNhYmxlZFwiOiBcIlRleHRBcmVhX19pc1Jvb3REaXNhYmxlZF9fU2hCYmI0YTRcIixcblx0XCJpc1Jvb3RWYXJpYW50T3V0bGluZVwiOiBcIlRleHRBcmVhX19pc1Jvb3RWYXJpYW50T3V0bGluZV9fbmFnVEcwMzdcIixcblx0XCJpc1Jvb3RTdGF0ZUludmFsaWRcIjogXCJUZXh0QXJlYV9faXNSb290U3RhdGVJbnZhbGlkX196TUloTDZMOVwiLFxuXHRcImlzUm9vdFN0YXRlVmFsaWRcIjogXCJUZXh0QXJlYV9faXNSb290U3RhdGVWYWxpZF9fLTgrSFlBRzlcIixcblx0XCJpc1Jvb3RTdGF0ZVdhcm5pbmdcIjogXCJUZXh0QXJlYV9faXNSb290U3RhdGVXYXJuaW5nX19hZ3AxazVkM1wiLFxuXHRcImlzTGFiZWxIaWRkZW5cIjogXCJUZXh0QXJlYV9faXNMYWJlbEhpZGRlbl9fLTh6anJjNUVcIixcblx0XCJpc1Jvb3RMYXlvdXRWZXJ0aWNhbFwiOiBcIlRleHRBcmVhX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fYmhkUWF3S2NcIixcblx0XCJpc1Jvb3RMYXlvdXRIb3Jpem9udGFsXCI6IFwiVGV4dEFyZWFfX2lzUm9vdExheW91dEhvcml6b250YWxfX3MzVExNYUZiXCIsXG5cdFwiZmllbGRcIjogXCJUZXh0QXJlYV9fZmllbGRfX21iUDBZcWZqXCIsXG5cdFwiaXNSb290RnVsbFdpZHRoXCI6IFwiVGV4dEFyZWFfX2lzUm9vdEZ1bGxXaWR0aF9fOFRCcFMwZ0FcIixcblx0XCJpc1Jvb3RJbkZvcm1MYXlvdXRcIjogXCJUZXh0QXJlYV9faXNSb290SW5Gb3JtTGF5b3V0X19vMnBCa2pYQlwiLFxuXHRcIm9wdGlvbkxhYmVsXCI6IFwiVGV4dEFyZWFfX29wdGlvbkxhYmVsX19lM0RoK3NyU1wiLFxuXHRcImhhc1Jvb3RTbWFsbElucHV0XCI6IFwiVGV4dEFyZWFfX2hhc1Jvb3RTbWFsbElucHV0X185akZWSTRQelwiLFxuXHRcImlzUm9vdFNpemVTbWFsbFwiOiBcIlRleHRBcmVhX19pc1Jvb3RTaXplU21hbGxfX2FrSVAtTXpjXCIsXG5cdFwiaXNSb290U2l6ZU1lZGl1bVwiOiBcIlRleHRBcmVhX19pc1Jvb3RTaXplTWVkaXVtX180NFNvV3p4UFwiLFxuXHRcImlzUm9vdFNpemVMYXJnZVwiOiBcIlRleHRBcmVhX19pc1Jvb3RTaXplTGFyZ2VfX2ErN2M1S1M0XCJcbn07XG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js?!./src/lib/components/TextArea/TextArea.scss\n");
|
1319
1319
|
|
1320
1320
|
/***/ }),
|
1321
1321
|
|
@@ -1327,7 +1327,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
|
|
1327
1327
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
1328
1328
|
|
1329
1329
|
"use strict";
|
1330
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \".TextField__root__-CnhpfBr {\\n text-align: left;\\n}\\n\\n.TextField__label__-nAzBSUI {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__label__color));\\n}\\n\\n.TextField__inputContainer__t-42E39c {\\n position: relative;\\n display: inline-flex;\\n min-width: 0;\\n max-width: 100%;\\n}\\n\\n.TextField__input__vrAdszzS {\\n transition-property: opacity, color, border-color, background-color, box-shadow;\\n transition-duration: 150ms;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n width: var(--rui-FormField--box__input__width);\\n min-width: var(--rui-FormField--box__input__min-width);\\n max-width: 100%;\\n height: var(--rui-local-height);\\n padding: var(--rui-local-padding-y) var(--rui-local-padding-x);\\n font-weight: var(--rui-font-weight-base);\\n font-size: var(--rui-local-font-size);\\n line-height: 1.5rem;\\n font-family: var(--rui-font-family-base);\\n vertical-align: middle;\\n color: var(--rui-local-color);\\n border: var(--rui-FormField--box__border-width) solid var(--rui-local-border-color);\\n border-radius: var(--rui-FormField--box__border-radius);\\n background: var(--rui-local-background);\\n box-shadow: var(--rui-local-box-shadow);\\n}\\n@media (prefers-reduced-motion: reduce) {\\n .TextField__input__vrAdszzS {\\n transition-property: opacity, color, border-color, background-color, box-shadow;\\n }\\n}\\n.TextField__input__vrAdszzS::-moz-placeholder {\\n color: var(--rui-FormField--box__placeholder__color);\\n opacity: 1;\\n}\\n.TextField__input__vrAdszzS::placeholder {\\n color: var(--rui-FormField--box__placeholder__color);\\n opacity: 1;\\n}\\n\\n.TextField__bottomLine__BkgKRfX3 {\\n transition-property: transform, opacity;\\n transition-duration: 180ms;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n position: absolute;\\n bottom: 0;\\n width: 100%;\\n height: 2px;\\n opacity: 0;\\n transform: scaleX(0);\\n transform-origin: center center;\\n pointer-events: none;\\n}\\n@media (prefers-reduced-motion: reduce) {\\n .TextField__bottomLine__BkgKRfX3 {\\n transition-property: opacity;\\n }\\n}\\n.TextField__input__vrAdszzS:focus ~ .TextField__bottomLine__BkgKRfX3 {\\n background-color: var(--rui-local-border-color);\\n opacity: 1;\\n transform: scaleX(1);\\n}\\n\\n.TextField__helpText__t-gdnjev,\\n.TextField__validationText__7Buu9W9G {\\n font-style: var(--rui-FormField__help-text__font-style);\\n font-size: var(--rui-FormField__help-text__font-size);\\n line-height: 1.2rem;\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__help-text__color));\\n}\\n\\n.TextField__hasRootCustomInputSize__nnny3Ta- .TextField__input__vrAdszzS {\\n width: calc(\\n 1ch * var(--rui-custom-input-size)\\n + var(--rui-local-arrows-width, 0)\\n + 2 * var(--rui-local-padding-x)\\n + 2 * var(--rui-FormField--box__border-width)\\n );\\n min-width: auto;\\n}\\n.TextField__hasRootCustomInputSize__nnny3Ta- .TextField__input__vrAdszzS[type=number] {\\n --rui-local-arrows-width: 1.5rem;\\n}\\n\\n.TextField__isRootRequired__e3NIJBxc .TextField__label__-nAzBSUI {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField--required__label__color));\\n}\\n.TextField__isRootRequired__e3NIJBxc .TextField__label__-nAzBSUI::after {\\n content: var(--rui-FormField--required__sign);\\n color: var(--rui-FormField--required__sign__color);\\n}\\n\\n.TextField__isRootVariantFilled__BW8Hu\\\\+6b {\\n --rui-local-color: var(--rui-FormField--box--filled--default__color);\\n --rui-local-border-color: var(--rui-FormField--box--filled--default__border-color);\\n --rui-local-background: var(--rui-FormField--box--filled--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--box--filled--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--box--filled--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--box--filled--default__surrounding-text-color);\\n}\\n.TextField__isRootVariantFilled__BW8Hu\\\\+6b:hover {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--filled--hover__color,\\n var(--rui-FormField--box--filled--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--filled--hover__border-color,\\n var(--rui-FormField--box--filled--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--filled--hover__background,\\n var(--rui-FormField--box--filled--default__background)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--filled--hover__box-shadow,\\n var(--rui-FormField--box--filled--default__box-shadow)\\n );\\n}\\n.TextField__isRootVariantFilled__BW8Hu\\\\+6b:focus-within, .TextField__isRootVariantFilled__BW8Hu\\\\+6b:focus-within:hover,\\n.TextField__isRootVariantFilled__BW8Hu\\\\+6b .TextField__input__vrAdszzS:focus {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--filled--focus__color,\\n var(--rui-FormField--box--filled--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--filled--focus__border-color,\\n var(--rui-FormField--box--filled--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--filled--focus__background,\\n var(--rui-FormField--box--filled--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--filled--focus__check-background-color,\\n var(--rui-FormField--box--filled--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--filled--focus__box-shadow,\\n var(--rui-FormField--box--filled--default__box-shadow)\\n );\\n}\\n.TextField__isRootVariantFilled__BW8Hu\\\\+6b.TextField__isRootDisabled__r6JvsFXK {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--filled--disabled__color,\\n var(--rui-FormField--box--filled--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--filled--disabled__border-color,\\n var(--rui-FormField--box--filled--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--filled--disabled__background,\\n var(--rui-FormField--box--filled--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--filled--disabled__check-background-color,\\n var(--rui-FormField--box--filled--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--filled--disabled__box-shadow,\\n var(--rui-FormField--box--filled--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--box--filled--disabled__surrounding-text-color,\\n var(--rui-FormField--box--filled--default__surrounding-text-color)\\n );\\n}\\n.TextField__isRootVariantFilled__BW8Hu\\\\+6b .TextField__input__vrAdszzS:disabled {\\n opacity: var(--rui-FormField--disabled__opacity);\\n cursor: var(--rui-FormField--disabled__cursor);\\n}\\n.TextField__isRootVariantFilled__BW8Hu\\\\+6b .TextField__input__vrAdszzS {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.TextField__isRootVariantOutline__5jL8MTXw {\\n --rui-local-color: var(--rui-FormField--box--outline--default__color);\\n --rui-local-border-color: var(--rui-FormField--box--outline--default__border-color);\\n --rui-local-background: var(--rui-FormField--box--outline--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--box--outline--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--box--outline--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--box--outline--default__surrounding-text-color);\\n}\\n.TextField__isRootVariantOutline__5jL8MTXw:hover {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--outline--hover__color,\\n var(--rui-FormField--box--outline--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--outline--hover__border-color,\\n var(--rui-FormField--box--outline--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--outline--hover__background,\\n var(--rui-FormField--box--outline--default__background)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--outline--hover__box-shadow,\\n var(--rui-FormField--box--outline--default__box-shadow)\\n );\\n}\\n.TextField__isRootVariantOutline__5jL8MTXw:focus-within, .TextField__isRootVariantOutline__5jL8MTXw:focus-within:hover,\\n.TextField__isRootVariantOutline__5jL8MTXw .TextField__input__vrAdszzS:focus {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--outline--focus__color,\\n var(--rui-FormField--box--outline--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--outline--focus__border-color,\\n var(--rui-FormField--box--outline--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--outline--focus__background,\\n var(--rui-FormField--box--outline--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--outline--focus__check-background-color,\\n var(--rui-FormField--box--outline--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--outline--focus__box-shadow,\\n var(--rui-FormField--box--outline--default__box-shadow)\\n );\\n}\\n.TextField__isRootVariantOutline__5jL8MTXw.TextField__isRootDisabled__r6JvsFXK {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--outline--disabled__color,\\n var(--rui-FormField--box--outline--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--outline--disabled__border-color,\\n var(--rui-FormField--box--outline--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--outline--disabled__background,\\n var(--rui-FormField--box--outline--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--outline--disabled__check-background-color,\\n var(--rui-FormField--box--outline--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--outline--disabled__box-shadow,\\n var(--rui-FormField--box--outline--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--box--outline--disabled__surrounding-text-color,\\n var(--rui-FormField--box--outline--default__surrounding-text-color)\\n );\\n}\\n.TextField__isRootVariantOutline__5jL8MTXw .TextField__input__vrAdszzS:disabled {\\n opacity: var(--rui-FormField--disabled__opacity);\\n cursor: var(--rui-FormField--disabled__cursor);\\n}\\n\\n.TextField__isRootStateInvalid__7Z1b9U7V, .TextField__isRootStateInvalid__7Z1b9U7V:hover {\\n --rui-local-color: var(--rui-FormField--invalid--default__color);\\n --rui-local-border-color: var(--rui-FormField--invalid--default__border-color);\\n --rui-local-background: var(--rui-FormField--invalid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--invalid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--invalid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--invalid--default__surrounding-text-color);\\n}\\n.TextField__isRootStateInvalid__7Z1b9U7V .TextField__input__vrAdszzS:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n}\\n.TextField__isRootStateInvalid__7Z1b9U7V.TextField__isRootDisabled__r6JvsFXK {\\n --rui-local-color:\\n var(\\n --rui-FormField--invalid--disabled__color,\\n var(--rui-FormField--invalid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--disabled__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--invalid--disabled__background,\\n var(--rui-FormField--invalid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--disabled__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--invalid--disabled__box-shadow,\\n var(--rui-FormField--invalid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--invalid--disabled__surrounding-text-color,\\n var(--rui-FormField--invalid--default__surrounding-text-color)\\n );\\n}\\n.TextField__isRootStateInvalid__7Z1b9U7V .TextField__input__vrAdszzS:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__border-color,\\n var(--rui-FormField--invalid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__check-background-color,\\n var(--rui-FormField--invalid--checked__check-background-color)\\n );\\n}\\n\\n.TextField__isRootStateValid__ccO8vxLh, .TextField__isRootStateValid__ccO8vxLh:hover {\\n --rui-local-color: var(--rui-FormField--valid--default__color);\\n --rui-local-border-color: var(--rui-FormField--valid--default__border-color);\\n --rui-local-background: var(--rui-FormField--valid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--valid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--valid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--valid--default__surrounding-text-color);\\n}\\n.TextField__isRootStateValid__ccO8vxLh .TextField__input__vrAdszzS:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n}\\n.TextField__isRootStateValid__ccO8vxLh.TextField__isRootDisabled__r6JvsFXK {\\n --rui-local-color:\\n var(\\n --rui-FormField--valid--disabled__color,\\n var(--rui-FormField--valid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--disabled__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--valid--disabled__background,\\n var(--rui-FormField--valid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--disabled__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--valid--disabled__box-shadow,\\n var(--rui-FormField--valid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--valid--disabled__surrounding-text-color,\\n var(--rui-FormField--valid--default__surrounding-text-color)\\n );\\n}\\n.TextField__isRootStateValid__ccO8vxLh .TextField__input__vrAdszzS:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked-disabled__border-color,\\n var(--rui-FormField--valid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked-disabled__check-background-color,\\n var(--rui-FormField--valid--checked__check-background-color)\\n );\\n}\\n\\n.TextField__isRootStateWarning__RMEwtH2I, .TextField__isRootStateWarning__RMEwtH2I:hover {\\n --rui-local-color: var(--rui-FormField--warning--default__color);\\n --rui-local-border-color: var(--rui-FormField--warning--default__border-color);\\n --rui-local-background: var(--rui-FormField--warning--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--warning--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--warning--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--warning--default__surrounding-text-color);\\n}\\n.TextField__isRootStateWarning__RMEwtH2I .TextField__input__vrAdszzS:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n}\\n.TextField__isRootStateWarning__RMEwtH2I.TextField__isRootDisabled__r6JvsFXK {\\n --rui-local-color:\\n var(\\n --rui-FormField--warning--disabled__color,\\n var(--rui-FormField--warning--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--disabled__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--warning--disabled__background,\\n var(--rui-FormField--warning--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--disabled__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--warning--disabled__box-shadow,\\n var(--rui-FormField--warning--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--warning--disabled__surrounding-text-color,\\n var(--rui-FormField--warning--default__surrounding-text-color)\\n );\\n}\\n.TextField__isRootStateWarning__RMEwtH2I .TextField__input__vrAdszzS:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked-disabled__border-color,\\n var(--rui-FormField--warning--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked-disabled__check-background-color,\\n var(--rui-FormField--warning--checked__check-background-color)\\n );\\n}\\n\\n.TextField__isLabelHidden__Dje5PXNs {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n.TextField__isRootLayoutVertical__qFeU9p0I,\\n.TextField__isRootLayoutHorizontal__xKlslec7 {\\n display: inline-flex;\\n flex-direction: column;\\n min-width: 0;\\n max-width: 100%;\\n}\\n.TextField__isRootLayoutVertical__qFeU9p0I .TextField__label__-nAzBSUI,\\n.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__label__-nAzBSUI {\\n padding-bottom: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.TextField__isRootLayoutVertical__qFeU9p0I .TextField__helpText__t-gdnjev,\\n.TextField__isRootLayoutVertical__qFeU9p0I .TextField__validationText__7Buu9W9G,\\n.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__helpText__t-gdnjev,\\n.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__validationText__7Buu9W9G {\\n padding-top: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.TextField__isRootLayoutVertical__qFeU9p0I .TextField__field__8FOvcKqB,\\n.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__field__8FOvcKqB {\\n width: -webkit-min-content;\\n width: -moz-min-content;\\n width: min-content;\\n max-width: 100%;\\n}\\n\\n@media (min-width: 48em) {\\n .TextField__isRootLayoutHorizontal__xKlslec7 {\\n display: inline-grid;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) -webkit-min-content;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) min-content;\\n grid-template-areas: \\\"label field\\\";\\n align-items: start;\\n }\\n .TextField__isRootLayoutHorizontal__xKlslec7 .TextField__label__-nAzBSUI {\\n grid-area: label;\\n align-self: var(--rui-FormField--horizontal__label__vertical-alignment);\\n min-width: var(--rui-FormField--horizontal__label__min-width);\\n padding-top: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-bottom: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-right: var(--rui-dimension-space-2);\\n text-align: var(--rui-FormField--horizontal__label__text-align);\\n }\\n .TextField__isRootLayoutHorizontal__xKlslec7 .TextField__field__8FOvcKqB {\\n grid-area: field;\\n align-self: var(--rui-FormField--horizontal__field__vertical-alignment);\\n justify-self: start;\\n }\\n}\\n\\n.TextField__isRootFullWidth__2QI4JCSw {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n}\\n.TextField__isRootFullWidth__2QI4JCSw .TextField__field__8FOvcKqB,\\n.TextField__isRootFullWidth__2QI4JCSw .TextField__inputContainer__t-42E39c,\\n.TextField__isRootFullWidth__2QI4JCSw .TextField__input__vrAdszzS {\\n width: 100%;\\n}\\n@media (min-width: 48em) {\\n .TextField__isRootFullWidth__2QI4JCSw.TextField__isRootLayoutHorizontal__xKlslec7 {\\n display: grid;\\n grid-template-columns: var(--rui-FormField--horizontal--full-width__label__width) 1fr;\\n }\\n .TextField__isRootFullWidth__2QI4JCSw.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__field__8FOvcKqB {\\n justify-self: stretch;\\n }\\n}\\n\\n.TextField__isRootInFormLayout__54LhSnIJ {\\n justify-self: start;\\n}\\n.TextField__isRootInFormLayout__54LhSnIJ .TextField__field__8FOvcKqB {\\n width: auto;\\n}\\n@media (min-width: 48em) {\\n .TextField__isRootInFormLayout__54LhSnIJ .TextField__optionLabel__ZaQCUUB9 {\\n width: auto;\\n }\\n .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7, .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7.TextField__hasRootSmallInput__1poBsv7N {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n }\\n @supports not (grid-template-columns: subgrid) {\\n .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7, .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7.TextField__hasRootSmallInput__1poBsv7N {\\n display: contents;\\n }\\n }\\n .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7.TextField__isRootFullWidth__2QI4JCSw {\\n grid-template-columns: subgrid;\\n }\\n .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__label__-nAzBSUI, .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__field__8FOvcKqB, .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__inputContainer__t-42E39c, .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__helpText__t-gdnjev, .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__validationText__7Buu9W9G {\\n grid-area: unset;\\n }\\n .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__field__8FOvcKqB, .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__inputContainer__t-42E39c, .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__helpText__t-gdnjev, .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__validationText__7Buu9W9G {\\n grid-column-start: 2;\\n }\\n .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7.TextField__hasRootSmallInput__1poBsv7N .TextField__field__8FOvcKqB {\\n display: block;\\n }\\n}\\n\\n@media (min-width: 48em) {\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 {\\n grid-template-columns: -webkit-min-content -webkit-min-content;\\n grid-template-columns: min-content min-content;\\n grid-template-areas: \\\"label field\\\" \\\"helptext helptext\\\" \\\"validationtext validationtext\\\";\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__label__-nAzBSUI {\\n white-space: nowrap;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__field__8FOvcKqB {\\n display: contents;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__inputContainer__t-42E39c {\\n grid-area: field;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__helpText__t-gdnjev {\\n grid-area: helptext;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__validationText__7Buu9W9G {\\n grid-area: validationtext;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 > .TextField__label__-nAzBSUI {\\n -ms-grid-row: 1;\\n -ms-grid-column: 1;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 > .TextField__field__8FOvcKqB {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n}\\n\\n@media (min-width: 48em) {\\n .TextField__isRootLayoutHorizontal__xKlslec7 .TextField__label__-nAzBSUI {\\n -ms-grid-row: 1;\\n -ms-grid-column: 1;\\n }\\n .TextField__isRootLayoutHorizontal__xKlslec7 .TextField__field__8FOvcKqB {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__inputContainer__t-42E39c {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 > .TextField__inputContainer__t-42E39c {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__helpText__t-gdnjev {\\n -ms-grid-row: 2;\\n -ms-grid-column: 1;\\n -ms-grid-column-span: 2;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__validationText__7Buu9W9G {\\n -ms-grid-row: 3;\\n -ms-grid-column: 1;\\n -ms-grid-column-span: 2;\\n }\\n}\\n\\n.TextField__isRootSizeSmall__zOUX0eAB {\\n --rui-local-padding-y: var(--rui-FormField--box--small__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--small__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--small__font-size);\\n}\\n.TextField__isRootSizeSmall__zOUX0eAB .TextField__input__vrAdszzS {\\n --rui-local-height: var(--rui-FormField--box--small__height);\\n}\\n\\n.TextField__isRootSizeMedium__Sz-zudPJ {\\n --rui-local-padding-y: var(--rui-FormField--box--medium__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--medium__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--medium__font-size);\\n}\\n.TextField__isRootSizeMedium__Sz-zudPJ .TextField__input__vrAdszzS {\\n --rui-local-height: var(--rui-FormField--box--medium__height);\\n}\\n\\n.TextField__isRootSizeLarge__opPDd9tc {\\n --rui-local-padding-y: var(--rui-FormField--box--large__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--large__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--large__font-size);\\n}\\n.TextField__isRootSizeLarge__opPDd9tc .TextField__input__vrAdszzS {\\n --rui-local-height: var(--rui-FormField--box--large__height);\\n}\\n\\n.TextField__isRootGrouped__LWSqpRxk .TextField__inputContainer__t-42E39c {\\n display: block;\\n}\\n.TextField__isRootGrouped__LWSqpRxk:not(:first-child) .TextField__input__vrAdszzS {\\n border-start-start-radius: var(--rui-local-inner-border-radius);\\n border-end-start-radius: var(--rui-local-inner-border-radius);\\n}\\n.TextField__isRootGrouped__LWSqpRxk:not(:last-child) .TextField__input__vrAdszzS {\\n border-start-end-radius: var(--rui-local-inner-border-radius);\\n border-end-end-radius: var(--rui-local-inner-border-radius);\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/lib/components/TextField/TextField.scss\",\"webpack://./src/lib/styles/tools/form-fields/_foundation.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-elements.scss\",\"webpack://./src/lib/styles/tools/_transition.scss\",\"webpack://./src/lib/styles/settings/_animations.scss\",\"webpack://./src/lib/styles/theme/_form-fields.scss\",\"webpack://./src/lib/styles/settings/_form-fields.scss\",\"webpack://./src/lib/styles/theme/_typography.scss\",\"webpack://./src/lib/styles/tools/form-fields/_variants.scss\",\"webpack://./src/lib/styles/tools/_accessibility.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-layout.scss\",\"webpack://./src/lib/styles/tools/_breakpoint.scss\",\"<no source>\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-sizes.scss\"],\"names\":[],\"mappings\":\"AAQA;ECDI,gBAAA;ADLJ;;AAUA;ECKI,kFAAA;ADXJ;;AAUA;EEFI,kBAAA;EACA,oBAAA;EACA,YAAA;EACA,eAAA;AFJJ;;AAOA;EGqCQ,+EAPY;EAQZ,0BAf2B;EAgB3B,wDC3DmB;EFuBvB,wBAAA;KAAA,qBAAA;UAAA,gBAAA;EACA,8CGec;EHdd,sDGekB;EHdlB,eAAA;EACA,+BAAA;EACA,8DAAA;EACA,wCIZoB;EJapB,qCAAA;EACA,mBIboB;EJcpB,wCKXe;ELYf,sBAAA;EACA,6BAAA;EACA,mFAAA;EACA,uDGEgB;EHDhB,uCAAA;EACA,uCAAA;AFHJ;AG2BY;EH1CZ;IG2CgB,+EARgB;EHhB9B;AACF;AEAI;EACI,oDAAA;EACA,UAAA;AFER;AEJI;EACI,oDAAA;EACA,UAAA;AFER;;AApBA;EGiCQ,uCAPY;EAQZ,0BDkD0C;ECjD1C,wDC3DmB;EF8GvB,kBAAA;EACA,SAAA;EACA,WAAA;EACA,WI5F2B;EJ6F3B,UAAA;EACA,oBAAA;EACA,+BAAA;EACA,oBAAA;AF3DJ;AGIY;EHtCZ;IGuCgB,4BARgB;EHO9B;AACF;AEwDI;EACI,+CAAA;EACA,UAAA;EACA,oBAAA;AFtDR;;AAxCA;;ECEI,uDIjBmB;EJkBnB,qDInBkB;EJoBlB,mBKzBoB;EL0BpB,sFAAA;AD2CJ;;AA3CA;EEcI;;;;;SACI;EAOJ,eAAA;AF+BJ;AE7BI;EACI,gCAAA;AF+BR;;AApDA;EChBI,4FAAA;ADwEJ;ACtEI;EACI,6CIRQ;EJSR,kDIRc;ALgFtB;;AAvDA;EQQY,oEAAA;EAAA,kFAAA;EAAA,8EAAA;EAAA,sGAAA;EAAA,8EAAA;EAAA,sGAAA;ARwDZ;AQ7BQ;EApBI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARuEZ;AQvCQ;;EAhCI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARmGZ;AQrDQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARmIZ;AQtEI;EAtGA,gDHkBe;EGjBf,8CHgBc;AL+JlB;AQrEQ;EACI,6BAAA;EACA,+BAAA;EACA,8BAAA;EACA,6BAAA;EACA,4BAAA;ARuEZ;;AAzJA;EQIY,qEAAA;EAAA,mFAAA;EAAA,+EAAA;EAAA,uGAAA;EAAA,+EAAA;EAAA,uGAAA;AR8JZ;AQnIQ;EApBI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AR6KZ;AQ7IQ;;EAhCI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARyMZ;AQ3JQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARyOZ;AQ5KI;EAtGA,gDHkBe;EGjBf,8CHgBc;ALqQlB;;AQrNQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;AR6PZ;AQ9MQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;ARkQZ;AQpNQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARkSZ;AQ9OQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AR8SZ;;AQtRQ;EA/BI,8DAAA;EAAA,4EAAA;EAAA,wEAAA;EAAA,gGAAA;EAAA,wEAAA;EAAA,gGAAA;AR8TZ;AQ/QQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;ARmUZ;AQrRQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARmWZ;AQ/SQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AR+WZ;;AQvVQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;AR+XZ;AQhVQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;ARoYZ;AQtVQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARoaZ;AQhXQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ARgbZ;;AAzaA;ESvDI,kBAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,SAAA;AToeJ;;AA/aA;;EUJI,oBAAA;EACA,sBAAA;EACA,YAAA;EACA,eAAA;AVwbJ;AUtbI;;EACI,2EAAA;AVybR;AUtbI;;;;EAEI,wEAAA;AV0bR;AUvbI;;EACI,0BAAA;EAAA,uBAAA;EAAA,kBAAA;EACA,eAAA;AV0bR;;AWjgBQ;EXgER;IUaQ,oBAAA;IACA,yFAAA;IAAA,iFAAA;IACA,kCAAA;IACA,kBAAA;EVybN;EUvbM;IACI,gBAAA;IACA,uELlE0B;IKmE1B,6DL1EiB;IK4Fb,2IAAA;IACA,8IAAA;IAGJ,2CJxGW;IIyGX,+DLlGkB;ELwgB5B;EUnaM;IACI,gBAAA;IACA,uEL9F0B;IK+F1B,mBAAA;EVqaV;AACF;;AApdA;EUkFI,aAAA;EACA,sBAAA;EACA,WAAA;AVsYJ;AUpYI;;;EAGI,WAAA;AVsYR;AWniBQ;EDiKA;IACI,aAAA;IACA,qFAAA;EVqYV;EUlYM;IACI,qBAAA;EVoYV;AACF;;AApeA;EUqGI,mBAAA;AVmYJ;AUjYI;EACI,WAAA;AVmYR;AWnjBQ;EDoLA;IACI,WAAA;EVkYV;EU/XM;IAEI,aAAA;IACA,8BAAA;IACA,mBAAA;EVgYV;EU9XU;IANJ;MAOQ,iBAAA;IViYZ;EACF;EU9XM;IACI,8BAAA;EVgYV;EU7XM;IAKI,gBAAA;EV2XV;EUxXM;IAII,oBAAA;EVuXV;EUpXM;IACI,cAAA;EVsXV;AACF;;AW9kBQ;EX4ER;IU6CQ,8DAAA;IAAA,8CAAA;IACA,sFACI;EVydV;EUrdM;IACI,mBAAA;EVudV;EUpdM;IACI,iBAAA;EVsdV;EUndM;IACI,gBAAA;EVqdV;EUldM;IACI,mBAAA;EVodV;EUjdM;IACI,yBAAA;EVmdV;EUjhBM;IE5FR,gBAAA;IAAA,mBAAA;EZ4hBE;EUnaM;IEzHR,gBAAA;IAAA,mBAAA;EZiiBE;AA6EF;;AY9mBA;EF4FQ;IE5FR,gBAAA;IAAA,mBAAA;EZ4hBE;EUnaM;IEzHR,gBAAA;IAAA,mBAAA;EZiiBE;EUhZM;IEjJR,gBAAA;IAAA,mBAAA;EZumBE;EUtdM;IEjJR,gBAAA;IAAA,mBAAA;EZumBE;EUldM;IErJR,gBAAA;IAAA,mBAAA;IAAA,wBAAA;EZ0mBE;EUjdM;IEzJR,gBAAA;IAAA,mBAAA;IAAA,wBAAA;EZ6mBE;CY7mBF;;AZ2FA;EarFI,kEAAA;EACA,kEAAA;EAGI,kEAAA;Ab0mBR;AaxmBQ;EAKQ,4DAAA;AbsmBhB;;AAxhBA;EazFI,mEAAA;EACA,mEAAA;EAGI,mEAAA;AbmnBR;AajnBQ;EAKQ,6DAAA;Ab+mBhB;;AA7hBA;Ea7FI,kEAAA;EACA,kEAAA;EAGI,kEAAA;Ab4nBR;Aa1nBQ;EAKQ,4DAAA;AbwnBhB;;AE1gBI;EACI,cAAA;AF6gBR;AE1gBI;EACI,+DAAA;EACA,6DAAA;AF4gBR;AEzgBI;EACI,6DAAA;EACA,2DAAA;AF2gBR\",\"sourcesContent\":[\"@use \\\"../../styles/tools/form-fields/box-field-elements\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-layout\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-sizes\\\";\\n@use \\\"../../styles/tools/form-fields/foundation\\\";\\n@use \\\"../../styles/tools/form-fields/variants\\\";\\n@use \\\"../../styles/tools/accessibility\\\";\\n\\n// Foundation\\n.root {\\n @include foundation.root();\\n}\\n\\n.label {\\n @include foundation.label();\\n}\\n\\n.inputContainer {\\n @include box-field-elements.input-container();\\n}\\n\\n.input {\\n @include box-field-elements.input();\\n}\\n\\n.bottomLine {\\n @include box-field-elements.bottom-line();\\n}\\n\\n.helpText,\\n.validationText {\\n @include foundation.help-text();\\n}\\n\\n.hasRootCustomInputSize .input {\\n @include box-field-elements.input-size();\\n}\\n\\n.isRootRequired .label {\\n @include foundation.label-required();\\n}\\n\\n// Variants\\n.isRootVariantFilled {\\n @include variants.visual(box, $variant: filled);\\n}\\n\\n.isRootVariantOutline {\\n @include variants.visual(box, $variant: outline);\\n}\\n\\n// States\\n.isRootStateInvalid {\\n @include variants.validation(invalid);\\n}\\n\\n.isRootStateValid {\\n @include variants.validation(valid);\\n}\\n\\n.isRootStateWarning {\\n @include variants.validation(warning);\\n}\\n\\n// Invisible label\\n.isLabelHidden {\\n @include accessibility.hide-text();\\n}\\n\\n// Layouts\\n.isRootLayoutVertical,\\n.isRootLayoutHorizontal {\\n @include box-field-layout.vertical();\\n}\\n\\n.isRootLayoutHorizontal {\\n @include box-field-layout.horizontal();\\n}\\n\\n.isRootFullWidth {\\n @include box-field-layout.full-width();\\n}\\n\\n.isRootInFormLayout {\\n @include box-field-layout.in-form-layout();\\n}\\n\\n.hasRootSmallInput.isRootLayoutHorizontal {\\n @include box-field-layout.horizontal-with-small-input();\\n}\\n\\n// Sizes\\n.isRootSizeSmall {\\n @include box-field-sizes.size(small);\\n}\\n\\n.isRootSizeMedium {\\n @include box-field-sizes.size(medium);\\n}\\n\\n.isRootSizeLarge {\\n @include box-field-sizes.size(large);\\n}\\n\\n// Groups\\n.isRootGrouped {\\n @include box-field-elements.in-group-layout();\\n}\\n\",\"// 1. Don't let text alignment be affected by a parent.\\n// 2. Override foundation reset.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin root() {\\n text-align: left; // 1.\\n}\\n\\n@mixin fieldset() {\\n &:not(:last-child) {\\n margin-bottom: 0; // 2.\\n }\\n}\\n\\n@mixin label() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$label-color});\\n}\\n\\n@mixin label-required() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$required-label-color});\\n\\n &::after {\\n content: theme.$required-sign;\\n color: theme.$required-sign-color;\\n }\\n}\\n\\n@mixin help-text() {\\n font-style: theme.$help-text-font-style;\\n font-size: theme.$help-text-font-size;\\n line-height: settings.$help-text-line-height;\\n color: var(--rui-local-surrounding-text-color, #{theme.$help-text-color});\\n}\\n\",\"// 1. Get ready for positioning of bottom line and caret.\\n// 2. Always prefer `size` and `max` attributes when defined. Use CSS for sizing to normalize\\n// result width across browsers.\\n// 3. Let inputs properly fit various layout scenarios.\\n// 4. Leave out space for SelectField caret.\\n// 5. Use a block-level display mode to prevent extra white space below grouped inputs in Safari.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../tools/caret\\\";\\n@use \\\"../spacing\\\";\\n@use \\\"../transition\\\";\\n\\n@mixin input-container() {\\n position: relative; // 1.\\n display: inline-flex;\\n min-width: 0; // 3.\\n max-width: 100%; // 3.\\n}\\n\\n@mixin input() {\\n @include transition.add((opacity, color, border-color, background-color, box-shadow));\\n\\n appearance: none;\\n width: theme.$box-input-width;\\n min-width: theme.$box-input-min-width;\\n max-width: 100%; // 3.\\n height: var(--rui-local-height);\\n padding: var(--rui-local-padding-y) var(--rui-local-padding-x);\\n font-weight: settings.$box-input-font-weight;\\n font-size: var(--rui-local-font-size);\\n line-height: settings.$box-input-line-height;\\n font-family: settings.$box-input-font-family;\\n vertical-align: middle;\\n color: var(--rui-local-color);\\n border: theme.$box-border-width solid var(--rui-local-border-color);\\n border-radius: theme.$box-border-radius;\\n background: var(--rui-local-background);\\n box-shadow: var(--rui-local-box-shadow);\\n\\n &::placeholder {\\n color: theme.$box-placeholder-color;\\n opacity: 1;\\n }\\n}\\n\\n@mixin input-size() {\\n width:\\n calc(\\n 1ch * var(--rui-custom-input-size)\\n + var(--rui-local-arrows-width, 0)\\n + 2 * var(--rui-local-padding-x)\\n + 2 * #{theme.$box-border-width}\\n ); // 2.\\n\\n min-width: auto; // 2.\\n\\n &[type=\\\"number\\\"] {\\n --rui-local-arrows-width: #{settings.$box-field-input-number-arrows-width};\\n }\\n}\\n\\n@mixin input-textarea() {\\n resize: vertical;\\n\\n &[cols] {\\n min-width: auto;\\n }\\n}\\n\\n@mixin input-select() {\\n appearance: none;\\n padding-right: calc(#{settings.$box-field-caret-size} + #{spacing.of(2)}); // 4.\\n\\n &::-ms-expand {\\n display: none;\\n }\\n}\\n\\n@mixin input-select-option() {\\n option:disabled {\\n color: theme.$box-select-option-disabled-color;\\n }\\n}\\n\\n@mixin caret() {\\n @include transition.add((border-color));\\n\\n position: absolute; // 1.\\n top: theme.$box-border-width;\\n right: theme.$box-border-width;\\n bottom: theme.$box-border-width;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: calc(#{settings.$box-field-caret-size} - 2 * #{theme.$box-border-width});\\n border-start-end-radius: theme.$box-border-radius;\\n border-end-end-radius: theme.$box-border-radius;\\n pointer-events: none;\\n}\\n\\n@mixin caret-icon() {\\n @include caret.create();\\n\\n border-color: var(--rui-local-color);\\n}\\n\\n@mixin bottom-line() {\\n @include transition.add((transform, opacity), 180ms);\\n\\n position: absolute; // 1.\\n bottom: 0;\\n width: 100%;\\n height: settings.$box-field-bottom-line-height;\\n opacity: 0;\\n transform: scaleX(0);\\n transform-origin: center center;\\n pointer-events: none;\\n\\n .input:focus ~ & {\\n background-color: var(--rui-local-border-color);\\n opacity: 1;\\n transform: scaleX(1);\\n }\\n}\\n\\n@mixin in-group-layout() {\\n .inputContainer {\\n display: block; // 5.\\n }\\n\\n &:not(:first-child) .input {\\n border-start-start-radius: var(--rui-local-inner-border-radius);\\n border-end-start-radius: var(--rui-local-inner-border-radius);\\n }\\n\\n &:not(:last-child) .input {\\n border-start-end-radius: var(--rui-local-inner-border-radius);\\n border-end-end-radius: var(--rui-local-inner-border-radius);\\n }\\n}\\n\",\"@use \\\"sass:list\\\";\\n@use \\\"sass:meta\\\";\\n@use \\\"sass:string\\\";\\n@use \\\"../settings/animations\\\";\\n\\n$_allowed-transitions: (\\n border-color,\\n background-color,\\n background-position,\\n box-shadow,\\n color,\\n opacity,\\n transform,\\n visibility,\\n);\\n\\n$_reduced-motion-disallowed-transitions: (transform);\\n\\n@function _validate-transitions($properties) {\\n @each $property in $properties {\\n $is-allowed: list.index($_allowed-transitions, $property);\\n\\n @if not $is-allowed {\\n @return false;\\n }\\n }\\n\\n @return true;\\n}\\n\\n@function _reduce-motion-transitions($properties) {\\n $reduced-properties: ();\\n $separator: list.separator($properties);\\n\\n @each $property in $properties {\\n @if not list.index($_reduced-motion-disallowed-transitions, $property) {\\n $reduced-properties: list.append($reduced-properties, $property, $separator: $separator);\\n }\\n }\\n\\n @return $reduced-properties;\\n}\\n\\n@mixin add($properties, $duration: 150ms) {\\n $property-list: ();\\n\\n @if meta.type-of($properties) != \\\"string\\\" and meta.type-of($properties) != \\\"list\\\" {\\n @error \\\"Transition properties must be a string or a Sass list, `#{$properties}` given.\\\";\\n }\\n\\n $property-list: list.join($property-list, $properties);\\n\\n @if not _validate-transitions($property-list) {\\n @error \\\"Only [#{$_allowed-transitions}] transitions are allowed, [#{$properties}] given.\\\";\\n } @else {\\n $reduced-property-list: _reduce-motion-transitions($property-list);\\n\\n transition-property: $property-list;\\n transition-duration: $duration;\\n transition-timing-function: animations.$standard-timing-function;\\n\\n @if list.length($reduced-property-list) > 0 {\\n @media (prefers-reduced-motion: reduce) {\\n transition-property: $reduced-property-list;\\n }\\n }\\n }\\n}\\n\",\"$standard-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n\",\"// Variant specific theme options are obtained dynamically because there is way too many of them to\\n// maintain manually. See `settings/_form-fields.scss` and `tools/form-fields/_variants.scss` for\\n// details.\\n//\\n// 1. Defaults to zero when neither `--rui-FormField--horizontal__label__padding-y` (optional) nor\\n// `--rui-local-padding-y` (handled by the `size()` mixin in case of box form fields, see\\n// `_box-field-sizes.scss`) is defined. This is useful because FormLayoutCustomField may have no\\n// size specified therefore its label should have no padding at the top.\\n\\n// Forms fields: common properties\\n$label-color: var(--rui-FormField__label__color);\\n$label-font-size: var(--rui-FormField__label__font-size);\\n$help-text-font-size: var(--rui-FormField__help-text__font-size);\\n$help-text-font-style: var(--rui-FormField__help-text__font-style);\\n$help-text-color: var(--rui-FormField__help-text__color);\\n$required-label-color: var(--rui-FormField--required__label__color);\\n$required-sign: var(--rui-FormField--required__sign);\\n$required-sign-color: var(--rui-FormField--required__sign__color);\\n\\n// Form fields: horizontal layout\\n$horizontal-label-text-align: var(--rui-FormField--horizontal__label__text-align);\\n$horizontal-label-min-width: var(--rui-FormField--horizontal__label__min-width);\\n$horizontal-label-width: var(--rui-FormField--horizontal__label__width);\\n$horizontal-label-padding-y:\\n var(\\n --rui-FormField--horizontal__label__padding-y,\\n calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y))\\n ); // 1.\\n$horizontal-label-vertical-alignment: var(--rui-FormField--horizontal__label__vertical-alignment);\\n$horizontal-field-vertical-alignment: var(--rui-FormField--horizontal__field__vertical-alignment);\\n$horizontal-full-width-label-width: var(--rui-FormField--horizontal--full-width__label__width);\\n\\n// Form fields: disabled state\\n$disabled-cursor: var(--rui-FormField--disabled__cursor);\\n$disabled-opacity: var(--rui-FormField--disabled__opacity);\\n\\n// Form fields: box fields\\n$box-border-width: var(--rui-FormField--box__border-width);\\n$box-border-radius: var(--rui-FormField--box__border-radius);\\n$box-input-width: var(--rui-FormField--box__input__width);\\n$box-input-min-width: var(--rui-FormField--box__input__min-width);\\n$box-placeholder-color: var(--rui-FormField--box__placeholder__color);\\n\\n// Form fields: box fields, component specific\\n$box-select-caret-border-style: var(--rui-FormField--box--select__caret__border-style);\\n$box-select-caret-background: var(--rui-FormField--box--select__caret__background);\\n$box-select-option-disabled-color: var(--rui-FormField--box--select__option--disabled__color);\\n\\n// Form fields: box field sizes\\n$box-sizes: (\\n small: (\\n height: var(--rui-FormField--box--small__height),\\n padding-y: var(--rui-FormField--box--small__padding-y),\\n padding-x: var(--rui-FormField--box--small__padding-x),\\n font-size: var(--rui-FormField--box--small__font-size),\\n ),\\n medium: (\\n height: var(--rui-FormField--box--medium__height),\\n padding-y: var(--rui-FormField--box--medium__padding-y),\\n padding-x: var(--rui-FormField--box--medium__padding-x),\\n font-size: var(--rui-FormField--box--medium__font-size),\\n ),\\n large: (\\n height: var(--rui-FormField--box--large__height),\\n padding-y: var(--rui-FormField--box--large__padding-y),\\n padding-x: var(--rui-FormField--box--large__padding-x),\\n font-size: var(--rui-FormField--box--large__font-size),\\n ),\\n);\\n\\n// Form fields: check fields\\n$check-input-size: var(--rui-FormField--check__input__size);\\n$check-input-border-width: var(--rui-FormField--check__input__border-width);\\n$check-input-focus-box-shadow: var(--rui-FormField--check__input--focus__box-shadow);\\n$check-tap-target-size: var(--rui-FormField--check__tap-target-size);\\n\\n// Form fields: check fields, component specific\\n$check-input-checkbox-border-radius: var(--rui-FormField--check__input--checkbox__border-radius);\\n$check-input-checkbox-checked-background-image: var(--rui-FormField--check__input--checkbox--checked__background-image);\\n$check-input-radio-border-radius: var(--rui-FormField--check__input--radio__border-radius);\\n$check-input-radio-checked-background-image: var(--rui-FormField--check__input--radio--checked__background-image);\\n$check-input-toggle-width: var(--rui-FormField--check__input--toggle__width);\\n$check-input-toggle-border-radius: var(--rui-FormField--check__input--toggle__border-radius);\\n$check-input-toggle-background-size: var(--rui-FormField--check__input--toggle__background-size);\\n$check-input-toggle-default-background-image: var(--rui-FormField--check__input--toggle--default__background-image);\\n$check-input-toggle-default-background-position:\\n var(\\n --rui-FormField--check__input--toggle--default__background-position\\n );\\n$check-input-toggle-checked-background-image: var(--rui-FormField--check__input--toggle--checked__background-image);\\n$check-input-toggle-checked-background-position:\\n var(\\n --rui-FormField--check__input--toggle--checked__background-position\\n );\\n\",\"// 1. Input `line-height` is specified in `rem` so inputs do not break when their font size gets\\n// changed later.\\n\\n@use \\\"sass:map\\\";\\n@use \\\"../theme/typography\\\";\\n@use \\\"../tools/spacing\\\";\\n\\n$help-text-line-height: 1.2rem;\\n\\n$vertical-inner-gap: spacing.of(1);\\n$vertical-inner-gap-large: spacing.of(2);\\n$vertical-outer-spacing: spacing.of(2);\\n\\n$horizontal-inner-gap: spacing.of(2);\\n$horizontal-outer-spacing: spacing.of(2);\\n\\n$box-input-font-family: typography.$font-family-base;\\n$box-input-font-weight: map.get(typography.$font-weight-values, default);\\n$box-input-line-height: 1.5rem; // 1.\\n$box-field-caret-size: 2.25rem;\\n$box-field-input-number-arrows-width: 1.5rem;\\n$box-field-bottom-line-height: 2px;\\n\\n$inline-field-inner-gap: spacing.of(2);\\n\\n$themeable-variant-states: (\\n box: (\\n filled: (default, hover, focus, disabled),\\n outline: (default, hover, focus, disabled),\\n ),\\n check: (\\n default: (default, checked, disabled, checked-disabled),\\n ),\\n custom: (\\n default: (default, disabled),\\n ),\\n validation: (\\n invalid: (default, checked, disabled, checked-disabled),\\n valid: (default, checked, disabled, checked-disabled),\\n warning: (default, checked, disabled, checked-disabled),\\n ),\\n);\\n\\n$themeable-state-properties: (\\n default: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n hover: (color, border-color, background, box-shadow),\\n focus: (color, border-color, background, check-background-color, box-shadow),\\n checked: (border-color, check-background-color),\\n disabled: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n checked-disabled: (border-color, check-background-color),\\n);\\n\",\"$font-weight-values: (\\n light: var(--rui-font-weight-light),\\n default: var(--rui-font-weight-base),\\n bold: var(--rui-font-weight-bold),\\n);\\n\\n$font-weight-base: var(--rui-font-weight-base);\\n\\n$font-size-values: (\\n 1: var(--rui-font-size-1),\\n 2: var(--rui-font-size-2),\\n 3: var(--rui-font-size-3),\\n 4: var(--rui-font-size-4),\\n 5: var(--rui-font-size-5),\\n 6: var(--rui-font-size-6),\\n);\\n\\n$font-size-base: var(--rui-font-size-base);\\n$font-size-small: var(--rui-font-size-small);\\n$font-size-smaller: var(--rui-font-size-smaller);\\n\\n$font-family-base: var(--rui-font-family-base);\\n\\n$line-height-base: var(--rui-line-height-base);\\n$line-height-small: var(--rui-line-height-small);\\n\",\"// 1. Due to complexity, it's easier and safer to resolve variant custom properties dynamically with\\n// a mixin. This way it's also easier to make theming adjustments to all supported modifications\\n// in one place. Generated custom properties are consumed mainly in foundation field styles (see\\n// `tools/form-fields/_foundation.scss` for more).\\n//\\n// 2. Interaction states other than `default` default to the `default` (sic!) state appearance if\\n// corresponding custom properties are not provided.\\n//\\n// 3. `.input:focus` is added just in case `:focus-within` doesn't work.\\n\\n@use \\\"sass:list\\\";\\n@use \\\"sass:map\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin _disabled-state() {\\n opacity: theme.$disabled-opacity;\\n cursor: theme.$disabled-cursor;\\n}\\n\\n// 1.\\n@mixin _generate-custom-properties($type, $variant, $state) {\\n @if not list.index(map.keys(map.get(settings.$themeable-variant-states, $type)), $variant) {\\n @error \\\"Invalid variant specified! #{$variant} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(map.get(settings.$themeable-variant-states, $type))}.\\\";\\n }\\n\\n @if not list.index(map.keys(settings.$themeable-state-properties), $state) {\\n @error \\\"Invalid state specified! #{$state} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-state-properties)}.\\\";\\n }\\n\\n $properties: map.get(settings.$themeable-state-properties, $state);\\n $infix: $type;\\n $fallback-state: \\\"default\\\";\\n\\n @if $type == \\\"validation\\\" {\\n $infix: $variant;\\n }\\n\\n @if $type != \\\"validation\\\" and $variant != \\\"default\\\" {\\n $infix: #{$type}--#{$variant};\\n }\\n\\n @if $state == \\\"checked-disabled\\\" {\\n $fallback-state: \\\"checked\\\";\\n }\\n\\n @if $state == \\\"default\\\" {\\n @each $property in $properties {\\n --rui-local-#{$property}: var(--rui-FormField--#{$infix}--#{$state}__#{$property});\\n }\\n }\\n\\n // 2.\\n @else {\\n @each $property in $properties {\\n --rui-local-#{$property}:\\n var(\\n --rui-FormField--#{$infix}--#{$state}__#{$property},\\n var(--rui-FormField--#{$infix}--#{$fallback-state}__#{$property})\\n );\\n }\\n }\\n}\\n\\n@mixin _get-theme($type, $variant) {\\n @if not list.index(map.keys(settings.$themeable-variant-states), $type) {\\n @error \\\"Invalid type specified! #{$type} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-variant-states)}.\\\";\\n }\\n\\n $themeable-states: map.get(map.get(settings.$themeable-variant-states, $type), $variant);\\n\\n @if list.index($themeable-states, \\\"hover\\\") {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"hover\\\");\\n }\\n } @else {\\n &,\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"focus\\\") {\\n // 3.\\n &:focus-within,\\n &:focus-within:hover,\\n .input:focus {\\n @include _generate-custom-properties($type, $variant, \\\"focus\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked\\\") {\\n .input:checked {\\n @include _generate-custom-properties($type, $variant, \\\"checked\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"disabled\\\") {\\n &.isRootDisabled {\\n @include _generate-custom-properties($type, $variant, \\\"disabled\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked-disabled\\\") {\\n .input:checked:disabled {\\n @include _generate-custom-properties($type, $variant, \\\"checked-disabled\\\");\\n }\\n }\\n}\\n\\n@mixin visual($type, $variant: \\\"default\\\", $has-caret: false) {\\n @include _get-theme($type, $variant);\\n\\n .input:disabled {\\n @include _disabled-state();\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"filled\\\" {\\n .input {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n }\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"outline\\\" and $has-caret {\\n .caret {\\n border-left: theme.$box-border-width theme.$box-select-caret-border-style var(--rui-local-border-color);\\n background: theme.$box-select-caret-background;\\n }\\n\\n &.isRootDisabled .caret {\\n @include _disabled-state();\\n }\\n }\\n}\\n\\n@mixin validation($variant) {\\n @include _get-theme(validation, $variant);\\n}\\n\",\"// 1. Screen readers only, inspired by Bootstrap.\\n// https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss\\n//\\n// 2. Make tap target big enough to improve accessibility on touch screens.\\n\\n@use \\\"../theme/accessibility\\\" as theme;\\n\\n// 1.\\n@mixin hide-text() {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n@mixin unhide-text() {\\n position: unset;\\n width: unset;\\n height: unset;\\n overflow: unset;\\n clip: unset;\\n white-space: unset;\\n}\\n\\n// 2.\\n@mixin min-tap-target($size: theme.$tap-target-size, $center: true) {\\n position: relative;\\n\\n &::before {\\n content: \\\"\\\";\\n position: absolute;\\n width: $size;\\n height: $size;\\n\\n @if $center {\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n }\\n }\\n}\\n\\n@mixin focus-ring() {\\n &:focus-visible {\\n outline: theme.$focus-outline;\\n outline-offset: theme.$focus-outline-offset;\\n box-shadow: theme.$focus-box-shadow;\\n }\\n}\\n\",\"// 1. Inline form fields and fields with vertical layout take up as much space as they need. Labels\\n// do not wrap until forced by container of the field. Min and max limits make extra long words\\n// break if necessary.\\n//\\n// 2. Form fields in horizontal layout also take up only as much space as they need. Labels do not\\n// wrap until label width limit is reached (50 % of available horizontal space by default).\\n//\\n// 3. Help texts and validation messages are aligned below input and wrapped. Their width is always\\n// limited to the width of the input field so they don't shift adjacent elements when they show\\n// up. This applies unless the field is inside FormLayout (see 10).\\n//\\n// 4. Define grid spacing as padding of child elements because grid areas make row and column gaps\\n// show up even when not necessary.\\n//\\n// 5. When input size is small and form field layout is set to horizontal, expand help text and\\n// validation message over full form field width to improve their readability. Otherwise the\\n// text would be packed into a very narrow column and hard to read. To prevent help text and\\n// validation message from growing the layout more than necessary (ie. the size without\\n// help/validation text), `min-content` grid sizing must be used along with disabled wrapping of\\n// label.\\n//\\n// 6. Full-width horizontal form fields prefer not wrapping the label until a limit is reached\\n// (50 % of available horizontal space by default, same as in 2.).\\n//\\n// 7. Justify inputs to `start` in horizontal layouts to fix positioning issues with Select Fields.\\n// Reverted for full-width fields.\\n//\\n// 8. Grid settings are inherited from horizontal FormLayout and applied using `subgrid`.\\n// A fallback is supplied to browsers that don't support `subgrid` yet. See FormLayout styles\\n// for more.\\n// https://github.com/react-ui-org/react-ui/issues/232\\n//\\n// 9. Help texts and validation messages can take up full width of FormLayout. There is no reason\\n// to make them wrap as they cannot break layout of FormLayout.\\n//\\n// 10. Visually align label to input baseline. Achieved with `padding-top` and `padding-bottom` due\\n// to two reasons:\\n//\\n// * `align-items: baseline` doesn't work for blank text inputs in Safari. See\\n// https://bugs.webkit.org/show_bug.cgi?id=142968 and\\n// https://github.com/react-ui-org/react-ui/issues/265.\\n//\\n// * `align-items: baseline` doesn't allow subsequent vertical centering of tall inputs and/or\\n// multiline labels (see `theme.$horizontal-label-vertical-alignment` and\\n// `theme.$horizontal-field-vertical-alignment`).\\n//\\n// 11. Reset `width` previously set by inline field layout (see `_inline-field-layout.scss`).\\n//\\n// 12. Make fields just as wide as necessary. Fields should be interactive only where their visible\\n// content is.\\n//\\n// 13. Label and field are vertically aligned to top (start) by default (see 10.). Vertical\\n// alignment of each block can be changed by theme configuration.\\n\\n@use \\\"../../settings/forms\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../theme/typography\\\";\\n@use \\\"../breakpoint\\\";\\n\\n@mixin vertical($has-list: false) {\\n @if $has-list {\\n --rui-local-vertical-gap: #{settings.$vertical-inner-gap-large};\\n }\\n\\n display: inline-flex; // 1.\\n flex-direction: column;\\n min-width: 0; // 1.\\n max-width: 100%; // 1.\\n\\n .label {\\n padding-bottom: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .helpText,\\n .validationText {\\n padding-top: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .field {\\n width: min-content; // 3.\\n max-width: 100%; // 3.\\n }\\n}\\n\\n@mixin horizontal($has-min-tap-target: false) {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n display: inline-grid; // 2.\\n grid-template-columns: theme.$horizontal-label-width min-content; // 2.\\n grid-template-areas: \\\"label field\\\";\\n align-items: start; // 10., 13.\\n\\n .label {\\n grid-area: label;\\n align-self: theme.$horizontal-label-vertical-alignment; // 13.\\n min-width: theme.$horizontal-label-min-width;\\n\\n // 10.\\n @if $has-min-tap-target {\\n padding-top:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n padding-bottom:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n }\\n\\n // 10., 13.\\n @else {\\n padding-top: #{theme.$horizontal-label-padding-y};\\n padding-bottom: #{theme.$horizontal-label-padding-y};\\n }\\n\\n padding-right: settings.$horizontal-inner-gap; // 4.\\n text-align: theme.$horizontal-label-text-align;\\n }\\n\\n .field {\\n grid-area: field;\\n align-self: theme.$horizontal-field-vertical-alignment; // 13.\\n justify-self: start; // 7.\\n }\\n }\\n}\\n\\n@mixin horizontal-with-small-input() {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n grid-template-columns: min-content min-content; // 5.\\n grid-template-areas:\\n \\\"label field\\\"\\n \\\"helptext helptext\\\"\\n \\\"validationtext validationtext\\\"; // 5.\\n\\n .label {\\n white-space: nowrap; // 5.\\n }\\n\\n .field {\\n display: contents; // 5.\\n }\\n\\n .inputContainer {\\n grid-area: field; // 5.\\n }\\n\\n .helpText {\\n grid-area: helptext; // 5.\\n }\\n\\n .validationText {\\n grid-area: validationtext; // 5.\\n }\\n }\\n}\\n\\n@mixin full-width() {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n\\n .field,\\n .inputContainer,\\n .input {\\n width: 100%;\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n &.isRootLayoutHorizontal {\\n display: grid;\\n grid-template-columns: theme.$horizontal-full-width-label-width 1fr; // 6.\\n }\\n\\n &.isRootLayoutHorizontal .field {\\n justify-self: stretch; // 7.\\n }\\n }\\n}\\n\\n@mixin in-form-layout() {\\n justify-self: start; // 12.\\n\\n .field {\\n width: auto; // 9.\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n .optionLabel {\\n width: auto; // 11.\\n }\\n\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n grid: inherit; // 8.\\n grid-template-columns: subgrid; // 8.\\n grid-column: span 2; // 8.\\n\\n @supports not (grid-template-columns: subgrid) {\\n display: contents; // 8.\\n }\\n }\\n\\n &.isRootLayoutHorizontal.isRootFullWidth {\\n grid-template-columns: subgrid; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .label,\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-area: unset; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-column-start: 2; // 8.\\n }\\n\\n &.isRootLayoutHorizontal.hasRootSmallInput .field {\\n display: block; // 5.\\n }\\n }\\n}\\n\",\"@use \\\"sass:map\\\";\\n@use \\\"../settings/breakpoints\\\";\\n\\n@mixin up($breakpoint) {\\n @if not map.has-key(breakpoints.$values, $breakpoint) {\\n @error \\\"Invalid breakpoint specified! #{$breakpoint} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(breakpoints.$values)}\\\";\\n } @else if map.get(breakpoints.$values, $breakpoint) == 0 {\\n @content;\\n } @else {\\n @media (min-width: map.get(breakpoints.$values, $breakpoint)) {\\n @content;\\n }\\n }\\n}\\n\",null,\"@use \\\"sass:map\\\";\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin size($size, $has-input: true, $is-multiline: false) {\\n $size-properties: map.get(theme.$box-sizes, $size);\\n\\n --rui-local-padding-y: #{map.get($size-properties, padding-y)};\\n --rui-local-padding-x: #{map.get($size-properties, padding-x)};\\n\\n @if $has-input {\\n --rui-local-font-size: #{map.get($size-properties, font-size)};\\n\\n .input {\\n @if $is-multiline {\\n height: auto;\\n min-height: map.get($size-properties, height);\\n } @else {\\n --rui-local-height: #{map.get($size-properties, height)};\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"TextField__root__-CnhpfBr\",\n\t\"label\": \"TextField__label__-nAzBSUI\",\n\t\"inputContainer\": \"TextField__inputContainer__t-42E39c\",\n\t\"input\": \"TextField__input__vrAdszzS\",\n\t\"bottomLine\": \"TextField__bottomLine__BkgKRfX3\",\n\t\"helpText\": \"TextField__helpText__t-gdnjev\",\n\t\"validationText\": \"TextField__validationText__7Buu9W9G\",\n\t\"hasRootCustomInputSize\": \"TextField__hasRootCustomInputSize__nnny3Ta-\",\n\t\"isRootRequired\": \"TextField__isRootRequired__e3NIJBxc\",\n\t\"isRootVariantFilled\": \"TextField__isRootVariantFilled__BW8Hu+6b\",\n\t\"isRootDisabled\": \"TextField__isRootDisabled__r6JvsFXK\",\n\t\"isRootVariantOutline\": \"TextField__isRootVariantOutline__5jL8MTXw\",\n\t\"isRootStateInvalid\": \"TextField__isRootStateInvalid__7Z1b9U7V\",\n\t\"isRootStateValid\": \"TextField__isRootStateValid__ccO8vxLh\",\n\t\"isRootStateWarning\": \"TextField__isRootStateWarning__RMEwtH2I\",\n\t\"isLabelHidden\": \"TextField__isLabelHidden__Dje5PXNs\",\n\t\"isRootLayoutVertical\": \"TextField__isRootLayoutVertical__qFeU9p0I\",\n\t\"isRootLayoutHorizontal\": \"TextField__isRootLayoutHorizontal__xKlslec7\",\n\t\"field\": \"TextField__field__8FOvcKqB\",\n\t\"isRootFullWidth\": \"TextField__isRootFullWidth__2QI4JCSw\",\n\t\"isRootInFormLayout\": \"TextField__isRootInFormLayout__54LhSnIJ\",\n\t\"optionLabel\": \"TextField__optionLabel__ZaQCUUB9\",\n\t\"hasRootSmallInput\": \"TextField__hasRootSmallInput__1poBsv7N\",\n\t\"isRootSizeSmall\": \"TextField__isRootSizeSmall__zOUX0eAB\",\n\t\"isRootSizeMedium\": \"TextField__isRootSizeMedium__Sz-zudPJ\",\n\t\"isRootSizeLarge\": \"TextField__isRootSizeLarge__opPDd9tc\",\n\t\"isRootGrouped\": \"TextField__isRootGrouped__LWSqpRxk\"\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vc3JjL2xpYi9jb21wb25lbnRzL1RleHRGaWVsZC9UZXh0RmllbGQuc2Nzcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9saWIvY29tcG9uZW50cy9UZXh0RmllbGQvVGV4dEZpZWxkLnNjc3M/NTU4NyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi5UZXh0RmllbGRfX3Jvb3RfXy1DbmhwZkJyIHtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcblxcbi5UZXh0RmllbGRfX2xhYmVsX18tbkF6QlNVSSB7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGRfX2xhYmVsX19jb2xvcikpO1xcbn1cXG5cXG4uVGV4dEZpZWxkX19pbnB1dENvbnRhaW5lcl9fdC00MkUzOWMge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICBtaW4td2lkdGg6IDA7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcblxcbi5UZXh0RmllbGRfX2lucHV0X192ckFkc3p6UyB7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93O1xcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7XFxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gIHdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2lucHV0X193aWR0aCk7XFxuICBtaW4td2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9faW5wdXRfX21pbi13aWR0aCk7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IHZhcigtLXJ1aS1sb2NhbC1oZWlnaHQpO1xcbiAgcGFkZGluZzogdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteSkgdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteCk7XFxuICBmb250LXdlaWdodDogdmFyKC0tcnVpLWZvbnQtd2VpZ2h0LWJhc2UpO1xcbiAgZm9udC1zaXplOiB2YXIoLS1ydWktbG9jYWwtZm9udC1zaXplKTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XFxuICBmb250LWZhbWlseTogdmFyKC0tcnVpLWZvbnQtZmFtaWx5LWJhc2UpO1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG4gIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtY29sb3IpO1xcbiAgYm9yZGVyOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci1yYWRpdXMpO1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcnVpLWxvY2FsLWJhY2tncm91bmQpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tcnVpLWxvY2FsLWJveC1zaGFkb3cpO1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xcbiAgLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTIHtcXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdztcXG4gIH1cXG59XFxuLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX3BsYWNlaG9sZGVyX19jb2xvcik7XFxuICBvcGFjaXR5OiAxO1xcbn1cXG4uVGV4dEZpZWxkX19pbnB1dF9fdnJBZHN6elM6OnBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX3BsYWNlaG9sZGVyX19jb2xvcik7XFxuICBvcGFjaXR5OiAxO1xcbn1cXG5cXG4uVGV4dEZpZWxkX19ib3R0b21MaW5lX19Ca2dLUmZYMyB7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxODBtcztcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYm90dG9tOiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDJweDtcXG4gIG9wYWNpdHk6IDA7XFxuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG59XFxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcXG4gIC5UZXh0RmllbGRfX2JvdHRvbUxpbmVfX0JrZ0tSZlgzIHtcXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcXG4gIH1cXG59XFxuLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTOmZvY3VzIH4gLlRleHRGaWVsZF9fYm90dG9tTGluZV9fQmtnS1JmWDMge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICBvcGFjaXR5OiAxO1xcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XFxufVxcblxcbi5UZXh0RmllbGRfX2hlbHBUZXh0X190LWdkbmpldixcXG4uVGV4dEZpZWxkX192YWxpZGF0aW9uVGV4dF9fN0J1dTlXOUcge1xcbiAgZm9udC1zdHlsZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXN0eWxlKTtcXG4gIGZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXNpemUpO1xcbiAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcXG4gIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19jb2xvcikpO1xcbn1cXG5cXG4uVGV4dEZpZWxkX19oYXNSb290Q3VzdG9tSW5wdXRTaXplX19ubm55M1RhLSAuVGV4dEZpZWxkX19pbnB1dF9fdnJBZHN6elMge1xcbiAgd2lkdGg6IGNhbGMoXFxuICAgICAgICAgICAgMWNoICogdmFyKC0tcnVpLWN1c3RvbS1pbnB1dC1zaXplKVxcbiAgICAgICAgICAgICsgdmFyKC0tcnVpLWxvY2FsLWFycm93cy13aWR0aCwgMClcXG4gICAgICAgICAgICArIDIgKiB2YXIoLS1ydWktbG9jYWwtcGFkZGluZy14KVxcbiAgICAgICAgICAgICsgMiAqIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKVxcbiAgICAgICAgKTtcXG4gIG1pbi13aWR0aDogYXV0bztcXG59XFxuLlRleHRGaWVsZF9faGFzUm9vdEN1c3RvbUlucHV0U2l6ZV9fbm5ueTNUYS0gLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTW3R5cGU9bnVtYmVyXSB7XFxuICAtLXJ1aS1sb2NhbC1hcnJvd3Mtd2lkdGg6IDEuNXJlbTtcXG59XFxuXFxuLlRleHRGaWVsZF9faXNSb290UmVxdWlyZWRfX2UzTklKQnhjIC5UZXh0RmllbGRfX2xhYmVsX18tbkF6QlNVSSB7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19sYWJlbF9fY29sb3IpKTtcXG59XFxuLlRleHRGaWVsZF9faXNSb290UmVxdWlyZWRfX2UzTklKQnhjIC5UZXh0RmllbGRfX2xhYmVsX18tbkF6QlNVSTo6YWZ0ZXIge1xcbiAgY29udGVudDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX3NpZ24pO1xcbiAgY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19zaWduX19jb2xvcik7XFxufVxcblxcbi5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX0JXOEh1XFxcXCs2YiB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX0JXOEh1XFxcXCs2Yjpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWhvdmVyX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1ob3Zlcl9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0taG92ZXJfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0taG92ZXJfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX0JXOEh1XFxcXCs2Yjpmb2N1cy13aXRoaW4sIC5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX0JXOEh1XFxcXCs2Yjpmb2N1cy13aXRoaW46aG92ZXIsXFxuLlRleHRGaWVsZF9faXNSb290VmFyaWFudEZpbGxlZF9fQlc4SHVcXFxcKzZiIC5UZXh0RmllbGRfX2lucHV0X192ckFkc3p6Uzpmb2N1cyB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWZvY3VzX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1mb2N1c19fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZm9jdXNfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZm9jdXNfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZm9jdXNfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX0JXOEh1XFxcXCs2Yi5UZXh0RmllbGRfX2lzUm9vdERpc2FibGVkX19yNkp2c0ZYSyB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRpc2FibGVkX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGlzYWJsZWRfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX0JXOEh1XFxcXCs2YiAuVGV4dEZpZWxkX19pbnB1dF9fdnJBZHN6elM6ZGlzYWJsZWQge1xcbiAgb3BhY2l0eTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX29wYWNpdHkpO1xcbiAgY3Vyc29yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fY3Vyc29yKTtcXG59XFxuLlRleHRGaWVsZF9faXNSb290VmFyaWFudEZpbGxlZF9fQlc4SHVcXFxcKzZiIC5UZXh0RmllbGRfX2lucHV0X192ckFkc3p6UyB7XFxuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XFxufVxcblxcbi5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX181akw4TVRYdyB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19ib3gtc2hhZG93KTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX181akw4TVRYdzpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1ob3Zlcl9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1ob3Zlcl9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1ob3Zlcl9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWhvdmVyX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG59XFxuLlRleHRGaWVsZF9faXNSb290VmFyaWFudE91dGxpbmVfXzVqTDhNVFh3OmZvY3VzLXdpdGhpbiwgLlRleHRGaWVsZF9faXNSb290VmFyaWFudE91dGxpbmVfXzVqTDhNVFh3OmZvY3VzLXdpdGhpbjpob3ZlcixcXG4uVGV4dEZpZWxkX19pc1Jvb3RWYXJpYW50T3V0bGluZV9fNWpMOE1UWHcgLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTOmZvY3VzIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWZvY3VzX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWZvY3VzX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWZvY3VzX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZm9jdXNfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1mb2N1c19fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX181akw4TVRYdy5UZXh0RmllbGRfX2lzUm9vdERpc2FibGVkX19yNkp2c0ZYSyB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kaXNhYmxlZF9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGlzYWJsZWRfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kaXNhYmxlZF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX181akw4TVRYdyAuVGV4dEZpZWxkX19pbnB1dF9fdnJBZHN6elM6ZGlzYWJsZWQge1xcbiAgb3BhY2l0eTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX29wYWNpdHkpO1xcbiAgY3Vyc29yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fY3Vyc29yKTtcXG59XFxuXFxuLlRleHRGaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX183WjFiOVU3ViwgLlRleHRGaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX183WjFiOVU3Vjpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFN0YXRlSW52YWxpZF9fN1oxYjlVN1YgLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTOmNoZWNrZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uVGV4dEZpZWxkX19pc1Jvb3RTdGF0ZUludmFsaWRfXzdaMWI5VTdWLlRleHRGaWVsZF9faXNSb290RGlzYWJsZWRfX3I2SnZzRlhLIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlRleHRGaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX183WjFiOVU3ViAuVGV4dEZpZWxkX19pbnB1dF9fdnJBZHN6elM6Y2hlY2tlZDpkaXNhYmxlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWQtZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcblxcbi5UZXh0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX2NjTzh2eExoLCAuVGV4dEZpZWxkX19pc1Jvb3RTdGF0ZVZhbGlkX19jY084dnhMaDpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX2NjTzh2eExoIC5UZXh0RmllbGRfX2lucHV0X192ckFkc3p6UzpjaGVja2VkIHtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX2NjTzh2eExoLlRleHRGaWVsZF9faXNSb290RGlzYWJsZWRfX3I2SnZzRlhLIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlRleHRGaWVsZF9faXNSb290U3RhdGVWYWxpZF9fY2NPOHZ4TGggLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTOmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuXFxuLlRleHRGaWVsZF9faXNSb290U3RhdGVXYXJuaW5nX19STUV3dEgySSwgLlRleHRGaWVsZF9faXNSb290U3RhdGVXYXJuaW5nX19STUV3dEgySTpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFN0YXRlV2FybmluZ19fUk1Fd3RIMkkgLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTOmNoZWNrZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uVGV4dEZpZWxkX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX1JNRXd0SDJJLlRleHRGaWVsZF9faXNSb290RGlzYWJsZWRfX3I2SnZzRlhLIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlRleHRGaWVsZF9faXNSb290U3RhdGVXYXJuaW5nX19STUV3dEgySSAuVGV4dEZpZWxkX19pbnB1dF9fdnJBZHN6elM6Y2hlY2tlZDpkaXNhYmxlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWQtZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcblxcbi5UZXh0RmllbGRfX2lzTGFiZWxIaWRkZW5fX0RqZTVQWE5zIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxcHg7XFxuICBoZWlnaHQ6IDFweDtcXG4gIHBhZGRpbmc6IDA7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBib3JkZXI6IDA7XFxufVxcblxcbi5UZXh0RmllbGRfX2lzUm9vdExheW91dFZlcnRpY2FsX19xRmVVOXAwSSxcXG4uVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX194S2xzbGVjNyB7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBtaW4td2lkdGg6IDA7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdExheW91dFZlcnRpY2FsX19xRmVVOXAwSSAuVGV4dEZpZWxkX19sYWJlbF9fLW5BekJTVUksXFxuLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcgLlRleHRGaWVsZF9fbGFiZWxfXy1uQXpCU1VJIHtcXG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCB2YXIoLS1ydWktZGltZW5zaW9uLXNwYWNlLTEpKTtcXG59XFxuLlRleHRGaWVsZF9faXNSb290TGF5b3V0VmVydGljYWxfX3FGZVU5cDBJIC5UZXh0RmllbGRfX2hlbHBUZXh0X190LWdkbmpldixcXG4uVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fcUZlVTlwMEkgLlRleHRGaWVsZF9fdmFsaWRhdGlvblRleHRfXzdCdXU5VzlHLFxcbi5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2hlbHBUZXh0X190LWdkbmpldixcXG4uVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX194S2xzbGVjNyAuVGV4dEZpZWxkX192YWxpZGF0aW9uVGV4dF9fN0J1dTlXOUcge1xcbiAgcGFkZGluZy10b3A6IHZhcigtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXAsIHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMSkpO1xcbn1cXG4uVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fcUZlVTlwMEkgLlRleHRGaWVsZF9fZmllbGRfXzhGT3ZjS3FCLFxcbi5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2ZpZWxkX184Rk92Y0txQiB7XFxuICB3aWR0aDogLXdlYmtpdC1taW4tY29udGVudDtcXG4gIHdpZHRoOiAtbW96LW1pbi1jb250ZW50O1xcbiAgd2lkdGg6IG1pbi1jb250ZW50O1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fd2lkdGgpIC13ZWJraXQtbWluLWNvbnRlbnQ7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3dpZHRoKSBtaW4tY29udGVudDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXFxcImxhYmVsIGZpZWxkXFxcIjtcXG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xcbiAgfVxcbiAgLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcgLlRleHRGaWVsZF9fbGFiZWxfXy1uQXpCU1VJIHtcXG4gICAgZ3JpZC1hcmVhOiBsYWJlbDtcXG4gICAgYWxpZ24tc2VsZjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuICAgIG1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX21pbi13aWR0aCk7XFxuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15LCBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKSk7XFxuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15LCBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKSk7XFxuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMik7XFxuICAgIHRleHQtYWxpZ246IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX190ZXh0LWFsaWduKTtcXG4gIH1cXG4gIC5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2ZpZWxkX184Rk92Y0txQiB7XFxuICAgIGdyaWQtYXJlYTogZmllbGQ7XFxuICAgIGFsaWduLXNlbGY6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2ZpZWxkX192ZXJ0aWNhbC1hbGlnbm1lbnQpO1xcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xcbiAgfVxcbn1cXG5cXG4uVGV4dEZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfXzJRSTRKQ1N3IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fMlFJNEpDU3cgLlRleHRGaWVsZF9fZmllbGRfXzhGT3ZjS3FCLFxcbi5UZXh0RmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fMlFJNEpDU3cgLlRleHRGaWVsZF9faW5wdXRDb250YWluZXJfX3QtNDJFMzljLFxcbi5UZXh0RmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fMlFJNEpDU3cgLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlRleHRGaWVsZF9faXNSb290RnVsbFdpZHRoX18yUUk0SkNTdy5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsLS1mdWxsLXdpZHRoX19sYWJlbF9fd2lkdGgpIDFmcjtcXG4gIH1cXG4gIC5UZXh0RmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fMlFJNEpDU3cuVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX194S2xzbGVjNyAuVGV4dEZpZWxkX19maWVsZF9fOEZPdmNLcUIge1xcbiAgICBqdXN0aWZ5LXNlbGY6IHN0cmV0Y2g7XFxuICB9XFxufVxcblxcbi5UZXh0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fNTRMaFNuSUoge1xcbiAganVzdGlmeS1zZWxmOiBzdGFydDtcXG59XFxuLlRleHRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X181NExoU25JSiAuVGV4dEZpZWxkX19maWVsZF9fOEZPdmNLcUIge1xcbiAgd2lkdGg6IGF1dG87XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XFxuICAuVGV4dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzU0TGhTbklKIC5UZXh0RmllbGRfX29wdGlvbkxhYmVsX19aYVFDVVVCOSB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcbiAgLlRleHRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X181NExoU25JSi5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3LCAuVGV4dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzU0TGhTbklKLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcuVGV4dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fMXBvQnN2N04ge1xcbiAgICBncmlkOiBpbmhlcml0O1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XFxuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XFxuICB9XFxuICBAc3VwcG9ydHMgbm90IChncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQpIHtcXG4gICAgLlRleHRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X181NExoU25JSi5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3LCAuVGV4dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzU0TGhTbklKLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcuVGV4dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fMXBvQnN2N04ge1xcbiAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xcbiAgICB9XFxuICB9XFxuICAuVGV4dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzU0TGhTbklKLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcuVGV4dEZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfXzJRSTRKQ1N3IHtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xcbiAgfVxcbiAgLlRleHRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X181NExoU25JSi5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2xhYmVsX18tbkF6QlNVSSwgLlRleHRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X181NExoU25JSi5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2ZpZWxkX184Rk92Y0txQiwgLlRleHRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X181NExoU25JSi5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2lucHV0Q29udGFpbmVyX190LTQyRTM5YywgLlRleHRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X181NExoU25JSi5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2hlbHBUZXh0X190LWdkbmpldiwgLlRleHRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X181NExoU25JSi5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX3ZhbGlkYXRpb25UZXh0X183QnV1OVc5RyB7XFxuICAgIGdyaWQtYXJlYTogdW5zZXQ7XFxuICB9XFxuICAuVGV4dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzU0TGhTbklKLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcgLlRleHRGaWVsZF9fZmllbGRfXzhGT3ZjS3FCLCAuVGV4dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzU0TGhTbklKLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcgLlRleHRGaWVsZF9faW5wdXRDb250YWluZXJfX3QtNDJFMzljLCAuVGV4dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzU0TGhTbklKLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcgLlRleHRGaWVsZF9faGVscFRleHRfX3QtZ2RuamV2LCAuVGV4dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzU0TGhTbklKLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcgLlRleHRGaWVsZF9fdmFsaWRhdGlvblRleHRfXzdCdXU5VzlHIHtcXG4gICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XFxuICB9XFxuICAuVGV4dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzU0TGhTbklKLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcuVGV4dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fMXBvQnN2N04gLlRleHRGaWVsZF9fZmllbGRfXzhGT3ZjS3FCIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XFxuICAuVGV4dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fMXBvQnN2N04uVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX194S2xzbGVjNyB7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogLXdlYmtpdC1taW4tY29udGVudCAtd2Via2l0LW1pbi1jb250ZW50O1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbi1jb250ZW50IG1pbi1jb250ZW50O1xcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcXFwibGFiZWwgZmllbGRcXFwiIFxcXCJoZWxwdGV4dCBoZWxwdGV4dFxcXCIgXFxcInZhbGlkYXRpb250ZXh0IHZhbGlkYXRpb250ZXh0XFxcIjtcXG4gIH1cXG4gIC5UZXh0RmllbGRfX2hhc1Jvb3RTbWFsbElucHV0X18xcG9Cc3Y3Ti5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2xhYmVsX18tbkF6QlNVSSB7XFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB9XFxuICAuVGV4dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fMXBvQnN2N04uVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX194S2xzbGVjNyAuVGV4dEZpZWxkX19maWVsZF9fOEZPdmNLcUIge1xcbiAgICBkaXNwbGF5OiBjb250ZW50cztcXG4gIH1cXG4gIC5UZXh0RmllbGRfX2hhc1Jvb3RTbWFsbElucHV0X18xcG9Cc3Y3Ti5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2lucHV0Q29udGFpbmVyX190LTQyRTM5YyB7XFxuICAgIGdyaWQtYXJlYTogZmllbGQ7XFxuICB9XFxuICAuVGV4dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fMXBvQnN2N04uVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX194S2xzbGVjNyAuVGV4dEZpZWxkX19oZWxwVGV4dF9fdC1nZG5qZXYge1xcbiAgICBncmlkLWFyZWE6IGhlbHB0ZXh0O1xcbiAgfVxcbiAgLlRleHRGaWVsZF9faGFzUm9vdFNtYWxsSW5wdXRfXzFwb0JzdjdOLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcgLlRleHRGaWVsZF9fdmFsaWRhdGlvblRleHRfXzdCdXU5VzlHIHtcXG4gICAgZ3JpZC1hcmVhOiB2YWxpZGF0aW9udGV4dDtcXG4gIH1cXG4gIC5UZXh0RmllbGRfX2hhc1Jvb3RTbWFsbElucHV0X18xcG9Cc3Y3Ti5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3ID4gLlRleHRGaWVsZF9fbGFiZWxfXy1uQXpCU1VJIHtcXG4gICAgLW1zLWdyaWQtcm93OiAxO1xcbiAgICAtbXMtZ3JpZC1jb2x1bW46IDE7XFxuICB9XFxuICAuVGV4dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fMXBvQnN2N04uVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX194S2xzbGVjNyA+IC5UZXh0RmllbGRfX2ZpZWxkX184Rk92Y0txQiB7XFxuICAgIC1tcy1ncmlkLXJvdzogMTtcXG4gICAgLW1zLWdyaWQtY29sdW1uOiAyO1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcgLlRleHRGaWVsZF9fbGFiZWxfXy1uQXpCU1VJIHtcXG4gICAgLW1zLWdyaWQtcm93OiAxO1xcbiAgICAtbXMtZ3JpZC1jb2x1bW46IDE7XFxuICB9XFxuICAuVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX194S2xzbGVjNyAuVGV4dEZpZWxkX19maWVsZF9fOEZPdmNLcUIge1xcbiAgICAtbXMtZ3JpZC1yb3c6IDE7XFxuICAgIC1tcy1ncmlkLWNvbHVtbjogMjtcXG4gIH1cXG4gIC5UZXh0RmllbGRfX2hhc1Jvb3RTbWFsbElucHV0X18xcG9Cc3Y3Ti5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2lucHV0Q29udGFpbmVyX190LTQyRTM5YyB7XFxuICAgIC1tcy1ncmlkLXJvdzogMTtcXG4gICAgLW1zLWdyaWQtY29sdW1uOiAyO1xcbiAgfVxcbiAgLlRleHRGaWVsZF9faGFzUm9vdFNtYWxsSW5wdXRfXzFwb0JzdjdOLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcgPiAuVGV4dEZpZWxkX19pbnB1dENvbnRhaW5lcl9fdC00MkUzOWMge1xcbiAgICAtbXMtZ3JpZC1yb3c6IDE7XFxuICAgIC1tcy1ncmlkLWNvbHVtbjogMjtcXG4gIH1cXG4gIC5UZXh0RmllbGRfX2hhc1Jvb3RTbWFsbElucHV0X18xcG9Cc3Y3Ti5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2hlbHBUZXh0X190LWdkbmpldiB7XFxuICAgIC1tcy1ncmlkLXJvdzogMjtcXG4gICAgLW1zLWdyaWQtY29sdW1uOiAxO1xcbiAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMjtcXG4gIH1cXG4gIC5UZXh0RmllbGRfX2hhc1Jvb3RTbWFsbElucHV0X18xcG9Cc3Y3Ti5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX3ZhbGlkYXRpb25UZXh0X183QnV1OVc5RyB7XFxuICAgIC1tcy1ncmlkLXJvdzogMztcXG4gICAgLW1zLWdyaWQtY29sdW1uOiAxO1xcbiAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMjtcXG4gIH1cXG59XFxuXFxuLlRleHRGaWVsZF9faXNSb290U2l6ZVNtYWxsX196T1VYMGVBQiB7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteSk7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteCk7XFxuICAtLXJ1aS1sb2NhbC1mb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX2ZvbnQtc2l6ZSk7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFNpemVTbWFsbF9fek9VWDBlQUIgLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTIHtcXG4gIC0tcnVpLWxvY2FsLWhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zbWFsbF9faGVpZ2h0KTtcXG59XFxuXFxuLlRleHRGaWVsZF9faXNSb290U2l6ZU1lZGl1bV9fU3otenVkUEoge1xcbiAgLS1ydWktbG9jYWwtcGFkZGluZy15OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fcGFkZGluZy15KTtcXG4gIC0tcnVpLWxvY2FsLXBhZGRpbmcteDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX3BhZGRpbmcteCk7XFxuICAtLXJ1aS1sb2NhbC1mb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19mb250LXNpemUpO1xcbn1cXG4uVGV4dEZpZWxkX19pc1Jvb3RTaXplTWVkaXVtX19Tei16dWRQSiAuVGV4dEZpZWxkX19pbnB1dF9fdnJBZHN6elMge1xcbiAgLS1ydWktbG9jYWwtaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9faGVpZ2h0KTtcXG59XFxuXFxuLlRleHRGaWVsZF9faXNSb290U2l6ZUxhcmdlX19vcFBEZDl0YyB7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX3BhZGRpbmcteSk7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX3BhZGRpbmcteCk7XFxuICAtLXJ1aS1sb2NhbC1mb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX2ZvbnQtc2l6ZSk7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFNpemVMYXJnZV9fb3BQRGQ5dGMgLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTIHtcXG4gIC0tcnVpLWxvY2FsLWhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9faGVpZ2h0KTtcXG59XFxuXFxuLlRleHRGaWVsZF9faXNSb290R3JvdXBlZF9fTFdTcXBSeGsgLlRleHRGaWVsZF9faW5wdXRDb250YWluZXJfX3QtNDJFMzljIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uVGV4dEZpZWxkX19pc1Jvb3RHcm91cGVkX19MV1NxcFJ4azpub3QoOmZpcnN0LWNoaWxkKSAuVGV4dEZpZWxkX19pbnB1dF9fdnJBZHN6elMge1xcbiAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogdmFyKC0tcnVpLWxvY2FsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xcbiAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IHZhcigtLXJ1aS1sb2NhbC1pbm5lci1ib3JkZXItcmFkaXVzKTtcXG59XFxuLlRleHRGaWVsZF9faXNSb290R3JvdXBlZF9fTFdTcXBSeGs6bm90KDpsYXN0LWNoaWxkKSAuVGV4dEZpZWxkX19pbnB1dF9fdnJBZHN6elMge1xcbiAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLXJ1aS1sb2NhbC1pbm5lci1ib3JkZXItcmFkaXVzKTtcXG4gIGJvcmRlci1lbmQtZW5kLXJhZGl1czogdmFyKC0tcnVpLWxvY2FsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xcbn1cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL2NvbXBvbmVudHMvVGV4dEZpZWxkL1RleHRGaWVsZC5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fZm91bmRhdGlvbi5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fYm94LWZpZWxkLWVsZW1lbnRzLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL190cmFuc2l0aW9uLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3NldHRpbmdzL19hbmltYXRpb25zLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3RoZW1lL19mb3JtLWZpZWxkcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy9zZXR0aW5ncy9fZm9ybS1maWVsZHMuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdGhlbWUvX3R5cG9ncmFwaHkuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX3ZhcmlhbnRzLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL19hY2Nlc3NpYmlsaXR5LnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL19ib3gtZmllbGQtbGF5b3V0LnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL19icmVha3BvaW50LnNjc3NcIixcIjxubyBzb3VyY2U+XCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fYm94LWZpZWxkLXNpemVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBUUE7RUNESSxnQkFBQTtBRExKOztBQVVBO0VDS0ksa0ZBQUE7QURYSjs7QUFVQTtFRUZJLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtBRkpKOztBQU9BO0VHcUNRLCtFQVBZO0VBUVosMEJBZjJCO0VBZ0IzQix3REMzRG1CO0VGdUJ2Qix3QkFBQTtLQUFBLHFCQUFBO1VBQUEsZ0JBQUE7RUFDQSw4Q0dlYztFSGRkLHNER2VrQjtFSGRsQixlQUFBO0VBQ0EsK0JBQUE7RUFDQSw4REFBQTtFQUNBLHdDSVpvQjtFSmFwQixxQ0FBQTtFQUNBLG1CSWJvQjtFSmNwQix3Q0tYZTtFTFlmLHNCQUFBO0VBQ0EsNkJBQUE7RUFDQSxtRkFBQTtFQUNBLHVER0VnQjtFSERoQix1Q0FBQTtFQUNBLHVDQUFBO0FGSEo7QUcyQlk7RUgxQ1o7SUcyQ2dCLCtFQVJnQjtFSGhCOUI7QUFDRjtBRUFJO0VBQ0ksb0RBQUE7RUFDQSxVQUFBO0FGRVI7QUVKSTtFQUNJLG9EQUFBO0VBQ0EsVUFBQTtBRkVSOztBQXBCQTtFR2lDUSx1Q0FQWTtFQVFaLDBCRGtEMEM7RUNqRDFDLHdEQzNEbUI7RUY4R3ZCLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSxXSTVGMkI7RUo2RjNCLFVBQUE7RUFDQSxvQkFBQTtFQUNBLCtCQUFBO0VBQ0Esb0JBQUE7QUYzREo7QUdJWTtFSHRDWjtJR3VDZ0IsNEJBUmdCO0VITzlCO0FBQ0Y7QUV3REk7RUFDSSwrQ0FBQTtFQUNBLFVBQUE7RUFDQSxvQkFBQTtBRnREUjs7QUF4Q0E7O0VDRUksdURJakJtQjtFSmtCbkIscURJbkJrQjtFSm9CbEIsbUJLekJvQjtFTDBCcEIsc0ZBQUE7QUQyQ0o7O0FBM0NBO0VFY0k7Ozs7O1NBQ0k7RUFPSixlQUFBO0FGK0JKO0FFN0JJO0VBQ0ksZ0NBQUE7QUYrQlI7O0FBcERBO0VDaEJJLDRGQUFBO0FEd0VKO0FDdEVJO0VBQ0ksNkNJUlE7RUpTUixrRElSYztBTGdGdEI7O0FBdkRBO0VRUVksb0VBQUE7RUFBQSxrRkFBQTtFQUFBLDhFQUFBO0VBQUEsc0dBQUE7RUFBQSw4RUFBQTtFQUFBLHNHQUFBO0FSd0RaO0FRN0JRO0VBcEJJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVJ1RVo7QVF2Q1E7O0VBaENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSbUdaO0FRckRRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUm1JWjtBUXRFSTtFQXRHQSxnREhrQmU7RUdqQmYsOENIZ0JjO0FMK0psQjtBUXJFUTtFQUNJLDZCQUFBO0VBQ0EsK0JBQUE7RUFDQSw4QkFBQTtFQUNBLDZCQUFBO0VBQ0EsNEJBQUE7QVJ1RVo7O0FBekpBO0VRSVkscUVBQUE7RUFBQSxtRkFBQTtFQUFBLCtFQUFBO0VBQUEsdUdBQUE7RUFBQSwrRUFBQTtFQUFBLHVHQUFBO0FSOEpaO0FRbklRO0VBcEJJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVI2S1o7QVE3SVE7O0VBaENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSeU1aO0FRM0pRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUnlPWjtBUTVLSTtFQXRHQSxnREhrQmU7RUdqQmYsOENIZ0JjO0FMcVFsQjs7QVFyTlE7RUEvQkksZ0VBQUE7RUFBQSw4RUFBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7RUFBQSwwRUFBQTtFQUFBLGtHQUFBO0FSNlBaO0FROU1RO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSa1FaO0FRcE5RO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUmtTWjtBUTlPUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUjhTWjs7QVF0UlE7RUEvQkksOERBQUE7RUFBQSw0RUFBQTtFQUFBLHdFQUFBO0VBQUEsZ0dBQUE7RUFBQSx3RUFBQTtFQUFBLGdHQUFBO0FSOFRaO0FRL1FRO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSbVVaO0FRclJRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUm1XWjtBUS9TUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUitXWjs7QVF2VlE7RUEvQkksZ0VBQUE7RUFBQSw4RUFBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7RUFBQSwwRUFBQTtFQUFBLGtHQUFBO0FSK1haO0FRaFZRO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSb1laO0FRdFZRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUm9hWjtBUWhYUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUmdiWjs7QUF6YUE7RVN2REksa0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBO0FUb2VKOztBQS9hQTs7RVVKSSxvQkFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QVZ3Yko7QVV0Ykk7O0VBQ0ksMkVBQUE7QVZ5YlI7QVV0Ykk7Ozs7RUFFSSx3RUFBQTtBVjBiUjtBVXZiSTs7RUFDSSwwQkFBQTtFQUFBLHVCQUFBO0VBQUEsa0JBQUE7RUFDQSxlQUFBO0FWMGJSOztBV2pnQlE7RVhnRVI7SVVhUSxvQkFBQTtJQUNBLHlGQUFBO0lBQUEsaUZBQUE7SUFDQSxrQ0FBQTtJQUNBLGtCQUFBO0VWeWJOO0VVdmJNO0lBQ0ksZ0JBQUE7SUFDQSx1RUxsRTBCO0lLbUUxQiw2REwxRWlCO0lLNEZiLDJJQUFBO0lBQ0EsOElBQUE7SUFHSiwyQ0p4R1c7SUl5R1gsK0RMbEdrQjtFTHdnQjVCO0VVbmFNO0lBQ0ksZ0JBQUE7SUFDQSx1RUw5RjBCO0lLK0YxQixtQkFBQTtFVnFhVjtBQUNGOztBQXBkQTtFVWtGSSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxXQUFBO0FWc1lKO0FVcFlJOzs7RUFHSSxXQUFBO0FWc1lSO0FXbmlCUTtFRGlLQTtJQUNJLGFBQUE7SUFDQSxxRkFBQTtFVnFZVjtFVWxZTTtJQUNJLHFCQUFBO0VWb1lWO0FBQ0Y7O0FBcGVBO0VVcUdJLG1CQUFBO0FWbVlKO0FVallJO0VBQ0ksV0FBQTtBVm1ZUjtBV25qQlE7RURvTEE7SUFDSSxXQUFBO0VWa1lWO0VVL1hNO0lBRUksYUFBQTtJQUNBLDhCQUFBO0lBQ0EsbUJBQUE7RVZnWVY7RVU5WFU7SUFOSjtNQU9RLGlCQUFBO0lWaVlaO0VBQ0Y7RVU5WE07SUFDSSw4QkFBQTtFVmdZVjtFVTdYTTtJQUtJLGdCQUFBO0VWMlhWO0VVeFhNO0lBSUksb0JBQUE7RVZ1WFY7RVVwWE07SUFDSSxjQUFBO0VWc1hWO0FBQ0Y7O0FXOWtCUTtFWDRFUjtJVTZDUSw4REFBQTtJQUFBLDhDQUFBO0lBQ0Esc0ZBQ0k7RVZ5ZFY7RVVyZE07SUFDSSxtQkFBQTtFVnVkVjtFVXBkTTtJQUNJLGlCQUFBO0VWc2RWO0VVbmRNO0lBQ0ksZ0JBQUE7RVZxZFY7RVVsZE07SUFDSSxtQkFBQTtFVm9kVjtFVWpkTTtJQUNJLHlCQUFBO0VWbWRWO0VVamhCTTtJRTVGUixnQkFBQTtJQUFBLG1CQUFBO0VaNGhCRTtFVW5hTTtJRXpIUixnQkFBQTtJQUFBLG1CQUFBO0VaaWlCRTtBQTZFRjs7QVk5bUJBO0VGNEZRO0lFNUZSLGdCQUFBO0lBQUEsbUJBQUE7RVo0aEJFO0VVbmFNO0lFekhSLGdCQUFBO0lBQUEsbUJBQUE7RVppaUJFO0VVaFpNO0lFakpSLGdCQUFBO0lBQUEsbUJBQUE7RVp1bUJFO0VVdGRNO0lFakpSLGdCQUFBO0lBQUEsbUJBQUE7RVp1bUJFO0VVbGRNO0lFckpSLGdCQUFBO0lBQUEsbUJBQUE7SUFBQSx3QkFBQTtFWjBtQkU7RVVqZE07SUV6SlIsZ0JBQUE7SUFBQSxtQkFBQTtJQUFBLHdCQUFBO0VaNm1CRTtDWTdtQkY7O0FaMkZBO0VhckZJLGtFQUFBO0VBQ0Esa0VBQUE7RUFHSSxrRUFBQTtBYjBtQlI7QWF4bUJRO0VBS1EsNERBQUE7QWJzbUJoQjs7QUF4aEJBO0VhekZJLG1FQUFBO0VBQ0EsbUVBQUE7RUFHSSxtRUFBQTtBYm1uQlI7QWFqbkJRO0VBS1EsNkRBQUE7QWIrbUJoQjs7QUE3aEJBO0VhN0ZJLGtFQUFBO0VBQ0Esa0VBQUE7RUFHSSxrRUFBQTtBYjRuQlI7QWExbkJRO0VBS1EsNERBQUE7QWJ3bkJoQjs7QUUxZ0JJO0VBQ0ksY0FBQTtBRjZnQlI7QUUxZ0JJO0VBQ0ksK0RBQUE7RUFDQSw2REFBQTtBRjRnQlI7QUV6Z0JJO0VBQ0ksNkRBQUE7RUFDQSwyREFBQTtBRjJnQlJcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2JveC1maWVsZC1lbGVtZW50c1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2JveC1maWVsZC1sYXlvdXRcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9ib3gtZmllbGQtc2l6ZXNcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9mb3VuZGF0aW9uXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvdmFyaWFudHNcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9hY2Nlc3NpYmlsaXR5XFxcIjtcXG5cXG4vLyBGb3VuZGF0aW9uXFxuLnJvb3Qge1xcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLnJvb3QoKTtcXG59XFxuXFxuLmxhYmVsIHtcXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi5sYWJlbCgpO1xcbn1cXG5cXG4uaW5wdXRDb250YWluZXIge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtZWxlbWVudHMuaW5wdXQtY29udGFpbmVyKCk7XFxufVxcblxcbi5pbnB1dCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1lbGVtZW50cy5pbnB1dCgpO1xcbn1cXG5cXG4uYm90dG9tTGluZSB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1lbGVtZW50cy5ib3R0b20tbGluZSgpO1xcbn1cXG5cXG4uaGVscFRleHQsXFxuLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi5oZWxwLXRleHQoKTtcXG59XFxuXFxuLmhhc1Jvb3RDdXN0b21JbnB1dFNpemUgLmlucHV0IHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWVsZW1lbnRzLmlucHV0LXNpemUoKTtcXG59XFxuXFxuLmlzUm9vdFJlcXVpcmVkIC5sYWJlbCB7XFxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24ubGFiZWwtcmVxdWlyZWQoKTtcXG59XFxuXFxuLy8gVmFyaWFudHNcXG4uaXNSb290VmFyaWFudEZpbGxlZCB7XFxuICAgIEBpbmNsdWRlIHZhcmlhbnRzLnZpc3VhbChib3gsICR2YXJpYW50OiBmaWxsZWQpO1xcbn1cXG5cXG4uaXNSb290VmFyaWFudE91dGxpbmUge1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52aXN1YWwoYm94LCAkdmFyaWFudDogb3V0bGluZSk7XFxufVxcblxcbi8vIFN0YXRlc1xcbi5pc1Jvb3RTdGF0ZUludmFsaWQge1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52YWxpZGF0aW9uKGludmFsaWQpO1xcbn1cXG5cXG4uaXNSb290U3RhdGVWYWxpZCB7XFxuICAgIEBpbmNsdWRlIHZhcmlhbnRzLnZhbGlkYXRpb24odmFsaWQpO1xcbn1cXG5cXG4uaXNSb290U3RhdGVXYXJuaW5nIHtcXG4gICAgQGluY2x1ZGUgdmFyaWFudHMudmFsaWRhdGlvbih3YXJuaW5nKTtcXG59XFxuXFxuLy8gSW52aXNpYmxlIGxhYmVsXFxuLmlzTGFiZWxIaWRkZW4ge1xcbiAgICBAaW5jbHVkZSBhY2Nlc3NpYmlsaXR5LmhpZGUtdGV4dCgpO1xcbn1cXG5cXG4vLyBMYXlvdXRzXFxuLmlzUm9vdExheW91dFZlcnRpY2FsLFxcbi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWxheW91dC52ZXJ0aWNhbCgpO1xcbn1cXG5cXG4uaXNSb290TGF5b3V0SG9yaXpvbnRhbCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1sYXlvdXQuaG9yaXpvbnRhbCgpO1xcbn1cXG5cXG4uaXNSb290RnVsbFdpZHRoIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWxheW91dC5mdWxsLXdpZHRoKCk7XFxufVxcblxcbi5pc1Jvb3RJbkZvcm1MYXlvdXQge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtbGF5b3V0LmluLWZvcm0tbGF5b3V0KCk7XFxufVxcblxcbi5oYXNSb290U21hbGxJbnB1dC5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWxheW91dC5ob3Jpem9udGFsLXdpdGgtc21hbGwtaW5wdXQoKTtcXG59XFxuXFxuLy8gU2l6ZXNcXG4uaXNSb290U2l6ZVNtYWxsIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLXNpemVzLnNpemUoc21hbGwpO1xcbn1cXG5cXG4uaXNSb290U2l6ZU1lZGl1bSB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1zaXplcy5zaXplKG1lZGl1bSk7XFxufVxcblxcbi5pc1Jvb3RTaXplTGFyZ2Uge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtc2l6ZXMuc2l6ZShsYXJnZSk7XFxufVxcblxcbi8vIEdyb3Vwc1xcbi5pc1Jvb3RHcm91cGVkIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWVsZW1lbnRzLmluLWdyb3VwLWxheW91dCgpO1xcbn1cXG5cIixcIi8vIDEuIERvbid0IGxldCB0ZXh0IGFsaWdubWVudCBiZSBhZmZlY3RlZCBieSBhIHBhcmVudC5cXG4vLyAyLiBPdmVycmlkZSBmb3VuZGF0aW9uIHJlc2V0LlxcblxcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm0tZmllbGRzXFxcIiBhcyBzZXR0aW5ncztcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuXFxuQG1peGluIHJvb3QoKSB7XFxuICAgIHRleHQtYWxpZ246IGxlZnQ7IC8vIDEuXFxufVxcblxcbkBtaXhpbiBmaWVsZHNldCgpIHtcXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIDIuXFxuICAgIH1cXG59XFxuXFxuQG1peGluIGxhYmVsKCkge1xcbiAgICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsICN7dGhlbWUuJGxhYmVsLWNvbG9yfSk7XFxufVxcblxcbkBtaXhpbiBsYWJlbC1yZXF1aXJlZCgpIHtcXG4gICAgY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yLCAje3RoZW1lLiRyZXF1aXJlZC1sYWJlbC1jb2xvcn0pO1xcblxcbiAgICAmOjphZnRlciB7XFxuICAgICAgICBjb250ZW50OiB0aGVtZS4kcmVxdWlyZWQtc2lnbjtcXG4gICAgICAgIGNvbG9yOiB0aGVtZS4kcmVxdWlyZWQtc2lnbi1jb2xvcjtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaGVscC10ZXh0KCkge1xcbiAgICBmb250LXN0eWxlOiB0aGVtZS4kaGVscC10ZXh0LWZvbnQtc3R5bGU7XFxuICAgIGZvbnQtc2l6ZTogdGhlbWUuJGhlbHAtdGV4dC1mb250LXNpemU7XFxuICAgIGxpbmUtaGVpZ2h0OiBzZXR0aW5ncy4kaGVscC10ZXh0LWxpbmUtaGVpZ2h0O1xcbiAgICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsICN7dGhlbWUuJGhlbHAtdGV4dC1jb2xvcn0pO1xcbn1cXG5cIixcIi8vIDEuIEdldCByZWFkeSBmb3IgcG9zaXRpb25pbmcgb2YgYm90dG9tIGxpbmUgYW5kIGNhcmV0Llxcbi8vIDIuIEFsd2F5cyBwcmVmZXIgYHNpemVgIGFuZCBgbWF4YCBhdHRyaWJ1dGVzIHdoZW4gZGVmaW5lZC4gVXNlIENTUyBmb3Igc2l6aW5nIHRvIG5vcm1hbGl6ZVxcbi8vICAgIHJlc3VsdCB3aWR0aCBhY3Jvc3MgYnJvd3NlcnMuXFxuLy8gMy4gTGV0IGlucHV0cyBwcm9wZXJseSBmaXQgdmFyaW91cyBsYXlvdXQgc2NlbmFyaW9zLlxcbi8vIDQuIExlYXZlIG91dCBzcGFjZSBmb3IgU2VsZWN0RmllbGQgY2FyZXQuXFxuLy8gNS4gVXNlIGEgYmxvY2stbGV2ZWwgZGlzcGxheSBtb2RlIHRvIHByZXZlbnQgZXh0cmEgd2hpdGUgc3BhY2UgYmVsb3cgZ3JvdXBlZCBpbnB1dHMgaW4gU2FmYXJpLlxcblxcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm0tZmllbGRzXFxcIiBhcyBzZXR0aW5ncztcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuQHVzZSBcXFwiLi4vLi4vdG9vbHMvY2FyZXRcXFwiO1xcbkB1c2UgXFxcIi4uL3NwYWNpbmdcXFwiO1xcbkB1c2UgXFxcIi4uL3RyYW5zaXRpb25cXFwiO1xcblxcbkBtaXhpbiBpbnB1dC1jb250YWluZXIoKSB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gMS5cXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAgIG1pbi13aWR0aDogMDsgLy8gMy5cXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAzLlxcbn1cXG5cXG5AbWl4aW4gaW5wdXQoKSB7XFxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24uYWRkKChvcGFjaXR5LCBjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93KSk7XFxuXFxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIHdpZHRoOiB0aGVtZS4kYm94LWlucHV0LXdpZHRoO1xcbiAgICBtaW4td2lkdGg6IHRoZW1lLiRib3gtaW5wdXQtbWluLXdpZHRoO1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDMuXFxuICAgIGhlaWdodDogdmFyKC0tcnVpLWxvY2FsLWhlaWdodCk7XFxuICAgIHBhZGRpbmc6IHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXgpO1xcbiAgICBmb250LXdlaWdodDogc2V0dGluZ3MuJGJveC1pbnB1dC1mb250LXdlaWdodDtcXG4gICAgZm9udC1zaXplOiB2YXIoLS1ydWktbG9jYWwtZm9udC1zaXplKTtcXG4gICAgbGluZS1oZWlnaHQ6IHNldHRpbmdzLiRib3gtaW5wdXQtbGluZS1oZWlnaHQ7XFxuICAgIGZvbnQtZmFtaWx5OiBzZXR0aW5ncy4kYm94LWlucHV0LWZvbnQtZmFtaWx5O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbiAgICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLWNvbG9yKTtcXG4gICAgYm9yZGVyOiB0aGVtZS4kYm94LWJvcmRlci13aWR0aCBzb2xpZCB2YXIoLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yKTtcXG4gICAgYm9yZGVyLXJhZGl1czogdGhlbWUuJGJveC1ib3JkZXItcmFkaXVzO1xcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ydWktbG9jYWwtYmFja2dyb3VuZCk7XFxuICAgIGJveC1zaGFkb3c6IHZhcigtLXJ1aS1sb2NhbC1ib3gtc2hhZG93KTtcXG5cXG4gICAgJjo6cGxhY2Vob2xkZXIge1xcbiAgICAgICAgY29sb3I6IHRoZW1lLiRib3gtcGxhY2Vob2xkZXItY29sb3I7XFxuICAgICAgICBvcGFjaXR5OiAxO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbnB1dC1zaXplKCkge1xcbiAgICB3aWR0aDpcXG4gICAgICAgIGNhbGMoXFxuICAgICAgICAgICAgMWNoICogdmFyKC0tcnVpLWN1c3RvbS1pbnB1dC1zaXplKVxcbiAgICAgICAgICAgICsgdmFyKC0tcnVpLWxvY2FsLWFycm93cy13aWR0aCwgMClcXG4gICAgICAgICAgICArIDIgKiB2YXIoLS1ydWktbG9jYWwtcGFkZGluZy14KVxcbiAgICAgICAgICAgICsgMiAqICN7dGhlbWUuJGJveC1ib3JkZXItd2lkdGh9XFxuICAgICAgICApOyAvLyAyLlxcblxcbiAgICBtaW4td2lkdGg6IGF1dG87IC8vIDIuXFxuXFxuICAgICZbdHlwZT1cXFwibnVtYmVyXFxcIl0ge1xcbiAgICAgICAgLS1ydWktbG9jYWwtYXJyb3dzLXdpZHRoOiAje3NldHRpbmdzLiRib3gtZmllbGQtaW5wdXQtbnVtYmVyLWFycm93cy13aWR0aH07XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGlucHV0LXRleHRhcmVhKCkge1xcbiAgICByZXNpemU6IHZlcnRpY2FsO1xcblxcbiAgICAmW2NvbHNdIHtcXG4gICAgICAgIG1pbi13aWR0aDogYXV0bztcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaW5wdXQtc2VsZWN0KCkge1xcbiAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCN7c2V0dGluZ3MuJGJveC1maWVsZC1jYXJldC1zaXplfSArICN7c3BhY2luZy5vZigyKX0pOyAvLyA0LlxcblxcbiAgICAmOjotbXMtZXhwYW5kIHtcXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGlucHV0LXNlbGVjdC1vcHRpb24oKSB7XFxuICAgIG9wdGlvbjpkaXNhYmxlZCB7XFxuICAgICAgICBjb2xvcjogdGhlbWUuJGJveC1zZWxlY3Qtb3B0aW9uLWRpc2FibGVkLWNvbG9yO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBjYXJldCgpIHtcXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi5hZGQoKGJvcmRlci1jb2xvcikpO1xcblxcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IC8vIDEuXFxuICAgIHRvcDogdGhlbWUuJGJveC1ib3JkZXItd2lkdGg7XFxuICAgIHJpZ2h0OiB0aGVtZS4kYm94LWJvcmRlci13aWR0aDtcXG4gICAgYm90dG9tOiB0aGVtZS4kYm94LWJvcmRlci13aWR0aDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgIHdpZHRoOiBjYWxjKCN7c2V0dGluZ3MuJGJveC1maWVsZC1jYXJldC1zaXplfSAtIDIgKiAje3RoZW1lLiRib3gtYm9yZGVyLXdpZHRofSk7XFxuICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiB0aGVtZS4kYm94LWJvcmRlci1yYWRpdXM7XFxuICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogdGhlbWUuJGJveC1ib3JkZXItcmFkaXVzO1xcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG59XFxuXFxuQG1peGluIGNhcmV0LWljb24oKSB7XFxuICAgIEBpbmNsdWRlIGNhcmV0LmNyZWF0ZSgpO1xcblxcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXJ1aS1sb2NhbC1jb2xvcik7XFxufVxcblxcbkBtaXhpbiBib3R0b20tbGluZSgpIHtcXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi5hZGQoKHRyYW5zZm9ybSwgb3BhY2l0eSksIDE4MG1zKTtcXG5cXG4gICAgcG9zaXRpb246IGFic29sdXRlOyAvLyAxLlxcbiAgICBib3R0b206IDA7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBoZWlnaHQ6IHNldHRpbmdzLiRib3gtZmllbGQtYm90dG9tLWxpbmUtaGVpZ2h0O1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuXFxuICAgIC5pbnB1dDpmb2N1cyB+ICYge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICAgICAgICBvcGFjaXR5OiAxO1xcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGluLWdyb3VwLWxheW91dCgpIHtcXG4gICAgLmlucHV0Q29udGFpbmVyIHtcXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyAvLyA1LlxcbiAgICB9XFxuXFxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmlucHV0IHtcXG4gICAgICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IHZhcigtLXJ1aS1sb2NhbC1pbm5lci1ib3JkZXItcmFkaXVzKTtcXG4gICAgICAgIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiB2YXIoLS1ydWktbG9jYWwtaW5uZXItYm9yZGVyLXJhZGl1cyk7XFxuICAgIH1cXG5cXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5pbnB1dCB7XFxuICAgICAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogdmFyKC0tcnVpLWxvY2FsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xcbiAgICAgICAgYm9yZGVyLWVuZC1lbmQtcmFkaXVzOiB2YXIoLS1ydWktbG9jYWwtaW5uZXItYm9yZGVyLXJhZGl1cyk7XFxuICAgIH1cXG59XFxuXCIsXCJAdXNlIFxcXCJzYXNzOmxpc3RcXFwiO1xcbkB1c2UgXFxcInNhc3M6bWV0YVxcXCI7XFxuQHVzZSBcXFwic2FzczpzdHJpbmdcXFwiO1xcbkB1c2UgXFxcIi4uL3NldHRpbmdzL2FuaW1hdGlvbnNcXFwiO1xcblxcbiRfYWxsb3dlZC10cmFuc2l0aW9uczogKFxcbiAgICBib3JkZXItY29sb3IsXFxuICAgIGJhY2tncm91bmQtY29sb3IsXFxuICAgIGJhY2tncm91bmQtcG9zaXRpb24sXFxuICAgIGJveC1zaGFkb3csXFxuICAgIGNvbG9yLFxcbiAgICBvcGFjaXR5LFxcbiAgICB0cmFuc2Zvcm0sXFxuICAgIHZpc2liaWxpdHksXFxuKTtcXG5cXG4kX3JlZHVjZWQtbW90aW9uLWRpc2FsbG93ZWQtdHJhbnNpdGlvbnM6ICh0cmFuc2Zvcm0pO1xcblxcbkBmdW5jdGlvbiBfdmFsaWRhdGUtdHJhbnNpdGlvbnMoJHByb3BlcnRpZXMpIHtcXG4gICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcXG4gICAgICAgICRpcy1hbGxvd2VkOiBsaXN0LmluZGV4KCRfYWxsb3dlZC10cmFuc2l0aW9ucywgJHByb3BlcnR5KTtcXG5cXG4gICAgICAgIEBpZiBub3QgJGlzLWFsbG93ZWQge1xcbiAgICAgICAgICAgIEByZXR1cm4gZmFsc2U7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQHJldHVybiB0cnVlO1xcbn1cXG5cXG5AZnVuY3Rpb24gX3JlZHVjZS1tb3Rpb24tdHJhbnNpdGlvbnMoJHByb3BlcnRpZXMpIHtcXG4gICAgJHJlZHVjZWQtcHJvcGVydGllczogKCk7XFxuICAgICRzZXBhcmF0b3I6IGxpc3Quc2VwYXJhdG9yKCRwcm9wZXJ0aWVzKTtcXG5cXG4gICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcXG4gICAgICAgIEBpZiBub3QgbGlzdC5pbmRleCgkX3JlZHVjZWQtbW90aW9uLWRpc2FsbG93ZWQtdHJhbnNpdGlvbnMsICRwcm9wZXJ0eSkge1xcbiAgICAgICAgICAgICRyZWR1Y2VkLXByb3BlcnRpZXM6IGxpc3QuYXBwZW5kKCRyZWR1Y2VkLXByb3BlcnRpZXMsICRwcm9wZXJ0eSwgJHNlcGFyYXRvcjogJHNlcGFyYXRvcik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQHJldHVybiAkcmVkdWNlZC1wcm9wZXJ0aWVzO1xcbn1cXG5cXG5AbWl4aW4gYWRkKCRwcm9wZXJ0aWVzLCAkZHVyYXRpb246IDE1MG1zKSB7XFxuICAgICRwcm9wZXJ0eS1saXN0OiAoKTtcXG5cXG4gICAgQGlmIG1ldGEudHlwZS1vZigkcHJvcGVydGllcykgIT0gXFxcInN0cmluZ1xcXCIgYW5kIG1ldGEudHlwZS1vZigkcHJvcGVydGllcykgIT0gXFxcImxpc3RcXFwiIHtcXG4gICAgICAgIEBlcnJvciBcXFwiVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIG11c3QgYmUgYSBzdHJpbmcgb3IgYSBTYXNzIGxpc3QsIGAjeyRwcm9wZXJ0aWVzfWAgZ2l2ZW4uXFxcIjtcXG4gICAgfVxcblxcbiAgICAkcHJvcGVydHktbGlzdDogbGlzdC5qb2luKCRwcm9wZXJ0eS1saXN0LCAkcHJvcGVydGllcyk7XFxuXFxuICAgIEBpZiBub3QgX3ZhbGlkYXRlLXRyYW5zaXRpb25zKCRwcm9wZXJ0eS1saXN0KSB7XFxuICAgICAgICBAZXJyb3IgXFxcIk9ubHkgWyN7JF9hbGxvd2VkLXRyYW5zaXRpb25zfV0gdHJhbnNpdGlvbnMgYXJlIGFsbG93ZWQsIFsjeyRwcm9wZXJ0aWVzfV0gZ2l2ZW4uXFxcIjtcXG4gICAgfSBAZWxzZSB7XFxuICAgICAgICAkcmVkdWNlZC1wcm9wZXJ0eS1saXN0OiBfcmVkdWNlLW1vdGlvbi10cmFuc2l0aW9ucygkcHJvcGVydHktbGlzdCk7XFxuXFxuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkcHJvcGVydHktbGlzdDtcXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcXG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb25zLiRzdGFuZGFyZC10aW1pbmctZnVuY3Rpb247XFxuXFxuICAgICAgICBAaWYgbGlzdC5sZW5ndGgoJHJlZHVjZWQtcHJvcGVydHktbGlzdCkgPiAwIHtcXG4gICAgICAgICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkcmVkdWNlZC1wcm9wZXJ0eS1saXN0O1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cIixcIiRzdGFuZGFyZC10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XFxuXCIsXCIvLyBWYXJpYW50IHNwZWNpZmljIHRoZW1lIG9wdGlvbnMgYXJlIG9idGFpbmVkIGR5bmFtaWNhbGx5IGJlY2F1c2UgdGhlcmUgaXMgd2F5IHRvbyBtYW55IG9mIHRoZW0gdG9cXG4vLyBtYWludGFpbiBtYW51YWxseS4gU2VlIGBzZXR0aW5ncy9fZm9ybS1maWVsZHMuc2Nzc2AgYW5kIGB0b29scy9mb3JtLWZpZWxkcy9fdmFyaWFudHMuc2Nzc2AgZm9yXFxuLy8gZGV0YWlscy5cXG4vL1xcbi8vIDEuIERlZmF1bHRzIHRvIHplcm8gd2hlbiBuZWl0aGVyIGAtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19wYWRkaW5nLXlgIChvcHRpb25hbCkgbm9yXFxuLy8gICAgYC0tcnVpLWxvY2FsLXBhZGRpbmcteWAgKGhhbmRsZWQgYnkgdGhlIGBzaXplKClgIG1peGluIGluIGNhc2Ugb2YgYm94IGZvcm0gZmllbGRzLCBzZWVcXG4vLyAgICBgX2JveC1maWVsZC1zaXplcy5zY3NzYCkgaXMgZGVmaW5lZC4gVGhpcyBpcyB1c2VmdWwgYmVjYXVzZSBGb3JtTGF5b3V0Q3VzdG9tRmllbGQgbWF5IGhhdmUgbm9cXG4vLyAgICBzaXplIHNwZWNpZmllZCB0aGVyZWZvcmUgaXRzIGxhYmVsIHNob3VsZCBoYXZlIG5vIHBhZGRpbmcgYXQgdGhlIHRvcC5cXG5cXG4vLyBGb3JtcyBmaWVsZHM6IGNvbW1vbiBwcm9wZXJ0aWVzXFxuJGxhYmVsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkX19sYWJlbF9fY29sb3IpO1xcbiRsYWJlbC1mb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2xhYmVsX19mb250LXNpemUpO1xcbiRoZWxwLXRleHQtZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2ZvbnQtc2l6ZSk7XFxuJGhlbHAtdGV4dC1mb250LXN0eWxlOiB2YXIoLS1ydWktRm9ybUZpZWxkX19oZWxwLXRleHRfX2ZvbnQtc3R5bGUpO1xcbiRoZWxwLXRleHQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fY29sb3IpO1xcbiRyZXF1aXJlZC1sYWJlbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX2xhYmVsX19jb2xvcik7XFxuJHJlcXVpcmVkLXNpZ246IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19zaWduKTtcXG4kcmVxdWlyZWQtc2lnbi1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX3NpZ25fX2NvbG9yKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogaG9yaXpvbnRhbCBsYXlvdXRcXG4kaG9yaXpvbnRhbC1sYWJlbC10ZXh0LWFsaWduOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fdGV4dC1hbGlnbik7XFxuJGhvcml6b250YWwtbGFiZWwtbWluLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fbWluLXdpZHRoKTtcXG4kaG9yaXpvbnRhbC1sYWJlbC13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3dpZHRoKTtcXG4kaG9yaXpvbnRhbC1sYWJlbC1wYWRkaW5nLXk6XFxuICAgIHZhcihcXG4gICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3BhZGRpbmcteSxcXG4gICAgICAgIGNhbGModmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19ib3JkZXItd2lkdGgpICsgdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteSkpXFxuICAgICk7IC8vIDEuXFxuJGhvcml6b250YWwtbGFiZWwtdmVydGljYWwtYWxpZ25tZW50OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fdmVydGljYWwtYWxpZ25tZW50KTtcXG4kaG9yaXpvbnRhbC1maWVsZC12ZXJ0aWNhbC1hbGlnbm1lbnQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2ZpZWxkX192ZXJ0aWNhbC1hbGlnbm1lbnQpO1xcbiRob3Jpem9udGFsLWZ1bGwtd2lkdGgtbGFiZWwtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWwtLWZ1bGwtd2lkdGhfX2xhYmVsX193aWR0aCk7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGRpc2FibGVkIHN0YXRlXFxuJGRpc2FibGVkLWN1cnNvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX2N1cnNvcik7XFxuJGRpc2FibGVkLW9wYWNpdHk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWRpc2FibGVkX19vcGFjaXR5KTtcXG5cXG4vLyBGb3JtIGZpZWxkczogYm94IGZpZWxkc1xcbiRib3gtYm9yZGVyLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci13aWR0aCk7XFxuJGJveC1ib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci1yYWRpdXMpO1xcbiRib3gtaW5wdXQtd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9faW5wdXRfX3dpZHRoKTtcXG4kYm94LWlucHV0LW1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19pbnB1dF9fbWluLXdpZHRoKTtcXG4kYm94LXBsYWNlaG9sZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX3BsYWNlaG9sZGVyX19jb2xvcik7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGJveCBmaWVsZHMsIGNvbXBvbmVudCBzcGVjaWZpY1xcbiRib3gtc2VsZWN0LWNhcmV0LWJvcmRlci1zdHlsZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zZWxlY3RfX2NhcmV0X19ib3JkZXItc3R5bGUpO1xcbiRib3gtc2VsZWN0LWNhcmV0LWJhY2tncm91bmQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc2VsZWN0X19jYXJldF9fYmFja2dyb3VuZCk7XFxuJGJveC1zZWxlY3Qtb3B0aW9uLWRpc2FibGVkLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fb3B0aW9uLS1kaXNhYmxlZF9fY29sb3IpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBib3ggZmllbGQgc2l6ZXNcXG4kYm94LXNpemVzOiAoXFxuICAgIHNtYWxsOiAoXFxuICAgICAgICBoZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX2hlaWdodCksXFxuICAgICAgICBwYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteSksXFxuICAgICAgICBwYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteCksXFxuICAgICAgICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX2ZvbnQtc2l6ZSksXFxuICAgICksXFxuICAgIG1lZGl1bTogKFxcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9faGVpZ2h0KSxcXG4gICAgICAgIHBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX3BhZGRpbmcteSksXFxuICAgICAgICBwYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19wYWRkaW5nLXgpLFxcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fZm9udC1zaXplKSxcXG4gICAgKSxcXG4gICAgbGFyZ2U6IChcXG4gICAgICAgIGhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9faGVpZ2h0KSxcXG4gICAgICAgIHBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy15KSxcXG4gICAgICAgIHBhZGRpbmcteDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fcGFkZGluZy14KSxcXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9fZm9udC1zaXplKSxcXG4gICAgKSxcXG4pO1xcblxcbi8vIEZvcm0gZmllbGRzOiBjaGVjayBmaWVsZHNcXG4kY2hlY2staW5wdXQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0X19zaXplKTtcXG4kY2hlY2staW5wdXQtYm9yZGVyLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXRfX2JvcmRlci13aWR0aCk7XFxuJGNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tZm9jdXNfX2JveC1zaGFkb3cpO1xcbiRjaGVjay10YXAtdGFyZ2V0LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX190YXAtdGFyZ2V0LXNpemUpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBjaGVjayBmaWVsZHMsIGNvbXBvbmVudCBzcGVjaWZpY1xcbiRjaGVjay1pbnB1dC1jaGVja2JveC1ib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLWNoZWNrYm94X19ib3JkZXItcmFkaXVzKTtcXG4kY2hlY2staW5wdXQtY2hlY2tib3gtY2hlY2tlZC1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLWNoZWNrYm94LS1jaGVja2VkX19iYWNrZ3JvdW5kLWltYWdlKTtcXG4kY2hlY2staW5wdXQtcmFkaW8tYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1yYWRpb19fYm9yZGVyLXJhZGl1cyk7XFxuJGNoZWNrLWlucHV0LXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1yYWRpby0tY2hlY2tlZF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGVfX3dpZHRoKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWJvcmRlci1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlX19ib3JkZXItcmFkaXVzKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWJhY2tncm91bmQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGVfX2JhY2tncm91bmQtc2l6ZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1kZWZhdWx0LWJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlLS1kZWZhdWx0X19iYWNrZ3JvdW5kLWltYWdlKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWRlZmF1bHQtYmFja2dyb3VuZC1wb3NpdGlvbjpcXG4gICAgdmFyKFxcbiAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZS0tZGVmYXVsdF9fYmFja2dyb3VuZC1wb3NpdGlvblxcbiAgICApO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtY2hlY2tlZC1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZS0tY2hlY2tlZF9fYmFja2dyb3VuZC1pbWFnZSk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1jaGVja2VkLWJhY2tncm91bmQtcG9zaXRpb246XFxuICAgIHZhcihcXG4gICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWNoZWNrZWRfX2JhY2tncm91bmQtcG9zaXRpb25cXG4gICAgKTtcXG5cIixcIi8vIDEuIElucHV0IGBsaW5lLWhlaWdodGAgaXMgc3BlY2lmaWVkIGluIGByZW1gIHNvIGlucHV0cyBkbyBub3QgYnJlYWsgd2hlbiB0aGVpciBmb250IHNpemUgZ2V0c1xcbi8vICAgIGNoYW5nZWQgbGF0ZXIuXFxuXFxuQHVzZSBcXFwic2FzczptYXBcXFwiO1xcbkB1c2UgXFxcIi4uL3RoZW1lL3R5cG9ncmFwaHlcXFwiO1xcbkB1c2UgXFxcIi4uL3Rvb2xzL3NwYWNpbmdcXFwiO1xcblxcbiRoZWxwLXRleHQtbGluZS1oZWlnaHQ6IDEuMnJlbTtcXG5cXG4kdmVydGljYWwtaW5uZXItZ2FwOiBzcGFjaW5nLm9mKDEpO1xcbiR2ZXJ0aWNhbC1pbm5lci1nYXAtbGFyZ2U6IHNwYWNpbmcub2YoMik7XFxuJHZlcnRpY2FsLW91dGVyLXNwYWNpbmc6IHNwYWNpbmcub2YoMik7XFxuXFxuJGhvcml6b250YWwtaW5uZXItZ2FwOiBzcGFjaW5nLm9mKDIpO1xcbiRob3Jpem9udGFsLW91dGVyLXNwYWNpbmc6IHNwYWNpbmcub2YoMik7XFxuXFxuJGJveC1pbnB1dC1mb250LWZhbWlseTogdHlwb2dyYXBoeS4kZm9udC1mYW1pbHktYmFzZTtcXG4kYm94LWlucHV0LWZvbnQtd2VpZ2h0OiBtYXAuZ2V0KHR5cG9ncmFwaHkuJGZvbnQtd2VpZ2h0LXZhbHVlcywgZGVmYXVsdCk7XFxuJGJveC1pbnB1dC1saW5lLWhlaWdodDogMS41cmVtOyAvLyAxLlxcbiRib3gtZmllbGQtY2FyZXQtc2l6ZTogMi4yNXJlbTtcXG4kYm94LWZpZWxkLWlucHV0LW51bWJlci1hcnJvd3Mtd2lkdGg6IDEuNXJlbTtcXG4kYm94LWZpZWxkLWJvdHRvbS1saW5lLWhlaWdodDogMnB4O1xcblxcbiRpbmxpbmUtZmllbGQtaW5uZXItZ2FwOiBzcGFjaW5nLm9mKDIpO1xcblxcbiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXM6IChcXG4gICAgYm94OiAoXFxuICAgICAgICBmaWxsZWQ6IChkZWZhdWx0LCBob3ZlciwgZm9jdXMsIGRpc2FibGVkKSxcXG4gICAgICAgIG91dGxpbmU6IChkZWZhdWx0LCBob3ZlciwgZm9jdXMsIGRpc2FibGVkKSxcXG4gICAgKSxcXG4gICAgY2hlY2s6IChcXG4gICAgICAgIGRlZmF1bHQ6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICksXFxuICAgIGN1c3RvbTogKFxcbiAgICAgICAgZGVmYXVsdDogKGRlZmF1bHQsIGRpc2FibGVkKSxcXG4gICAgKSxcXG4gICAgdmFsaWRhdGlvbjogKFxcbiAgICAgICAgaW52YWxpZDogKGRlZmF1bHQsIGNoZWNrZWQsIGRpc2FibGVkLCBjaGVja2VkLWRpc2FibGVkKSxcXG4gICAgICAgIHZhbGlkOiAoZGVmYXVsdCwgY2hlY2tlZCwgZGlzYWJsZWQsIGNoZWNrZWQtZGlzYWJsZWQpLFxcbiAgICAgICAgd2FybmluZzogKGRlZmF1bHQsIGNoZWNrZWQsIGRpc2FibGVkLCBjaGVja2VkLWRpc2FibGVkKSxcXG4gICAgKSxcXG4pO1xcblxcbiR0aGVtZWFibGUtc3RhdGUtcHJvcGVydGllczogKFxcbiAgICBkZWZhdWx0OiAoY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZCwgY2hlY2stYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdywgc3Vycm91bmRpbmctdGV4dC1jb2xvciksXFxuICAgIGhvdmVyOiAoY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZCwgYm94LXNoYWRvdyksXFxuICAgIGZvY3VzOiAoY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZCwgY2hlY2stYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyksXFxuICAgIGNoZWNrZWQ6IChib3JkZXItY29sb3IsIGNoZWNrLWJhY2tncm91bmQtY29sb3IpLFxcbiAgICBkaXNhYmxlZDogKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQsIGNoZWNrLWJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3csIHN1cnJvdW5kaW5nLXRleHQtY29sb3IpLFxcbiAgICBjaGVja2VkLWRpc2FibGVkOiAoYm9yZGVyLWNvbG9yLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yKSxcXG4pO1xcblwiLFwiJGZvbnQtd2VpZ2h0LXZhbHVlczogKFxcbiAgICBsaWdodDogdmFyKC0tcnVpLWZvbnQtd2VpZ2h0LWxpZ2h0KSxcXG4gICAgZGVmYXVsdDogdmFyKC0tcnVpLWZvbnQtd2VpZ2h0LWJhc2UpLFxcbiAgICBib2xkOiB2YXIoLS1ydWktZm9udC13ZWlnaHQtYm9sZCksXFxuKTtcXG5cXG4kZm9udC13ZWlnaHQtYmFzZTogdmFyKC0tcnVpLWZvbnQtd2VpZ2h0LWJhc2UpO1xcblxcbiRmb250LXNpemUtdmFsdWVzOiAoXFxuICAgIDE6IHZhcigtLXJ1aS1mb250LXNpemUtMSksXFxuICAgIDI6IHZhcigtLXJ1aS1mb250LXNpemUtMiksXFxuICAgIDM6IHZhcigtLXJ1aS1mb250LXNpemUtMyksXFxuICAgIDQ6IHZhcigtLXJ1aS1mb250LXNpemUtNCksXFxuICAgIDU6IHZhcigtLXJ1aS1mb250LXNpemUtNSksXFxuICAgIDY6IHZhcigtLXJ1aS1mb250LXNpemUtNiksXFxuKTtcXG5cXG4kZm9udC1zaXplLWJhc2U6IHZhcigtLXJ1aS1mb250LXNpemUtYmFzZSk7XFxuJGZvbnQtc2l6ZS1zbWFsbDogdmFyKC0tcnVpLWZvbnQtc2l6ZS1zbWFsbCk7XFxuJGZvbnQtc2l6ZS1zbWFsbGVyOiB2YXIoLS1ydWktZm9udC1zaXplLXNtYWxsZXIpO1xcblxcbiRmb250LWZhbWlseS1iYXNlOiB2YXIoLS1ydWktZm9udC1mYW1pbHktYmFzZSk7XFxuXFxuJGxpbmUtaGVpZ2h0LWJhc2U6IHZhcigtLXJ1aS1saW5lLWhlaWdodC1iYXNlKTtcXG4kbGluZS1oZWlnaHQtc21hbGw6IHZhcigtLXJ1aS1saW5lLWhlaWdodC1zbWFsbCk7XFxuXCIsXCIvLyAxLiBEdWUgdG8gY29tcGxleGl0eSwgaXQncyBlYXNpZXIgYW5kIHNhZmVyIHRvIHJlc29sdmUgdmFyaWFudCBjdXN0b20gcHJvcGVydGllcyBkeW5hbWljYWxseSB3aXRoXFxuLy8gICAgYSBtaXhpbi4gVGhpcyB3YXkgaXQncyBhbHNvIGVhc2llciB0byBtYWtlIHRoZW1pbmcgYWRqdXN0bWVudHMgdG8gYWxsIHN1cHBvcnRlZCBtb2RpZmljYXRpb25zXFxuLy8gICAgaW4gb25lIHBsYWNlLiBHZW5lcmF0ZWQgY3VzdG9tIHByb3BlcnRpZXMgYXJlIGNvbnN1bWVkIG1haW5seSBpbiBmb3VuZGF0aW9uIGZpZWxkIHN0eWxlcyAoc2VlXFxuLy8gICAgYHRvb2xzL2Zvcm0tZmllbGRzL19mb3VuZGF0aW9uLnNjc3NgIGZvciBtb3JlKS5cXG4vL1xcbi8vIDIuIEludGVyYWN0aW9uIHN0YXRlcyBvdGhlciB0aGFuIGBkZWZhdWx0YCBkZWZhdWx0IHRvIHRoZSBgZGVmYXVsdGAgKHNpYyEpIHN0YXRlIGFwcGVhcmFuY2UgaWZcXG4vLyAgICBjb3JyZXNwb25kaW5nIGN1c3RvbSBwcm9wZXJ0aWVzIGFyZSBub3QgcHJvdmlkZWQuXFxuLy9cXG4vLyAzLiBgLmlucHV0OmZvY3VzYCBpcyBhZGRlZCBqdXN0IGluIGNhc2UgYDpmb2N1cy13aXRoaW5gIGRvZXNuJ3Qgd29yay5cXG5cXG5AdXNlIFxcXCJzYXNzOmxpc3RcXFwiO1xcbkB1c2UgXFxcInNhc3M6bWFwXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zZXR0aW5ncy9mb3JtLWZpZWxkc1xcXCIgYXMgc2V0dGluZ3M7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcblxcbkBtaXhpbiBfZGlzYWJsZWQtc3RhdGUoKSB7XFxuICAgIG9wYWNpdHk6IHRoZW1lLiRkaXNhYmxlZC1vcGFjaXR5O1xcbiAgICBjdXJzb3I6IHRoZW1lLiRkaXNhYmxlZC1jdXJzb3I7XFxufVxcblxcbi8vIDEuXFxuQG1peGluIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsICRzdGF0ZSkge1xcbiAgICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMobWFwLmdldChzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzLCAkdHlwZSkpLCAkdmFyaWFudCkge1xcbiAgICAgICAgQGVycm9yIFxcXCJJbnZhbGlkIHZhcmlhbnQgc3BlY2lmaWVkISAjeyR2YXJpYW50fSBkb2Vzbid0IGV4aXN0LiBcXFwiXFxuICAgICAgICAgICAgKyBcXFwiQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKG1hcC5nZXQoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcywgJHR5cGUpKX0uXFxcIjtcXG4gICAgfVxcblxcbiAgICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMoc2V0dGluZ3MuJHRoZW1lYWJsZS1zdGF0ZS1wcm9wZXJ0aWVzKSwgJHN0YXRlKSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgc3RhdGUgc3BlY2lmaWVkISAjeyRzdGF0ZX0gZG9lc24ndCBleGlzdC4gXFxcIlxcbiAgICAgICAgICAgICsgXFxcIkNob29zZSBvbmUgb2YgI3ttYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXMpfS5cXFwiO1xcbiAgICB9XFxuXFxuICAgICRwcm9wZXJ0aWVzOiBtYXAuZ2V0KHNldHRpbmdzLiR0aGVtZWFibGUtc3RhdGUtcHJvcGVydGllcywgJHN0YXRlKTtcXG4gICAgJGluZml4OiAkdHlwZTtcXG4gICAgJGZhbGxiYWNrLXN0YXRlOiBcXFwiZGVmYXVsdFxcXCI7XFxuXFxuICAgIEBpZiAkdHlwZSA9PSBcXFwidmFsaWRhdGlvblxcXCIge1xcbiAgICAgICAgJGluZml4OiAkdmFyaWFudDtcXG4gICAgfVxcblxcbiAgICBAaWYgJHR5cGUgIT0gXFxcInZhbGlkYXRpb25cXFwiIGFuZCAkdmFyaWFudCAhPSBcXFwiZGVmYXVsdFxcXCIge1xcbiAgICAgICAgJGluZml4OiAjeyR0eXBlfS0tI3skdmFyaWFudH07XFxuICAgIH1cXG5cXG4gICAgQGlmICRzdGF0ZSA9PSBcXFwiY2hlY2tlZC1kaXNhYmxlZFxcXCIge1xcbiAgICAgICAgJGZhbGxiYWNrLXN0YXRlOiBcXFwiY2hlY2tlZFxcXCI7XFxuICAgIH1cXG5cXG4gICAgQGlmICRzdGF0ZSA9PSBcXFwiZGVmYXVsdFxcXCIge1xcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcXG4gICAgICAgICAgICAtLXJ1aS1sb2NhbC0jeyRwcm9wZXJ0eX06IHZhcigtLXJ1aS1Gb3JtRmllbGQtLSN7JGluZml4fS0tI3skc3RhdGV9X18jeyRwcm9wZXJ0eX0pO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIC8vIDIuXFxuICAgIEBlbHNlIHtcXG4gICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XFxuICAgICAgICAgICAgLS1ydWktbG9jYWwtI3skcHJvcGVydHl9OlxcbiAgICAgICAgICAgICAgICB2YXIoXFxuICAgICAgICAgICAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLSN7JGluZml4fS0tI3skc3RhdGV9X18jeyRwcm9wZXJ0eX0sXFxuICAgICAgICAgICAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS0jeyRpbmZpeH0tLSN7JGZhbGxiYWNrLXN0YXRlfV9fI3skcHJvcGVydHl9KVxcbiAgICAgICAgICAgICAgICApO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBfZ2V0LXRoZW1lKCR0eXBlLCAkdmFyaWFudCkge1xcbiAgICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcyksICR0eXBlKSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgdHlwZSBzcGVjaWZpZWQhICN7JHR5cGV9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMoc2V0dGluZ3MuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlcyl9LlxcXCI7XFxuICAgIH1cXG5cXG4gICAgJHRoZW1lYWJsZS1zdGF0ZXM6IG1hcC5nZXQobWFwLmdldChzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzLCAkdHlwZSksICR2YXJpYW50KTtcXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJob3ZlclxcXCIpIHtcXG4gICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJkZWZhdWx0XFxcIik7XFxuXFxuICAgICAgICAmOmhvdmVyIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiaG92ZXJcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfSBAZWxzZSB7XFxuICAgICAgICAmLFxcbiAgICAgICAgJjpob3ZlciB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImRlZmF1bHRcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImZvY3VzXFxcIikge1xcbiAgICAgICAgLy8gMy5cXG4gICAgICAgICY6Zm9jdXMtd2l0aGluLFxcbiAgICAgICAgJjpmb2N1cy13aXRoaW46aG92ZXIsXFxuICAgICAgICAuaW5wdXQ6Zm9jdXMge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJmb2N1c1xcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiY2hlY2tlZFxcXCIpIHtcXG4gICAgICAgIC5pbnB1dDpjaGVja2VkIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiY2hlY2tlZFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiZGlzYWJsZWRcXFwiKSB7XFxuICAgICAgICAmLmlzUm9vdERpc2FibGVkIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiZGlzYWJsZWRcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImNoZWNrZWQtZGlzYWJsZWRcXFwiKSB7XFxuICAgICAgICAuaW5wdXQ6Y2hlY2tlZDpkaXNhYmxlZCB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImNoZWNrZWQtZGlzYWJsZWRcXFwiKTtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gdmlzdWFsKCR0eXBlLCAkdmFyaWFudDogXFxcImRlZmF1bHRcXFwiLCAkaGFzLWNhcmV0OiBmYWxzZSkge1xcbiAgICBAaW5jbHVkZSBfZ2V0LXRoZW1lKCR0eXBlLCAkdmFyaWFudCk7XFxuXFxuICAgIC5pbnB1dDpkaXNhYmxlZCB7XFxuICAgICAgICBAaW5jbHVkZSBfZGlzYWJsZWQtc3RhdGUoKTtcXG4gICAgfVxcblxcbiAgICBAaWYgJHR5cGUgPT0gXFxcImJveFxcXCIgYW5kICR2YXJpYW50ID09IFxcXCJmaWxsZWRcXFwiIHtcXG4gICAgICAgIC5pbnB1dCB7XFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAaWYgJHR5cGUgPT0gXFxcImJveFxcXCIgYW5kICR2YXJpYW50ID09IFxcXCJvdXRsaW5lXFxcIiBhbmQgJGhhcy1jYXJldCB7XFxuICAgICAgICAuY2FyZXQge1xcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0aGVtZS4kYm94LWJvcmRlci13aWR0aCB0aGVtZS4kYm94LXNlbGVjdC1jYXJldC1ib3JkZXItc3R5bGUgdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICAgICAgICAgICAgYmFja2dyb3VuZDogdGhlbWUuJGJveC1zZWxlY3QtY2FyZXQtYmFja2dyb3VuZDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290RGlzYWJsZWQgLmNhcmV0IHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZGlzYWJsZWQtc3RhdGUoKTtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gdmFsaWRhdGlvbigkdmFyaWFudCkge1xcbiAgICBAaW5jbHVkZSBfZ2V0LXRoZW1lKHZhbGlkYXRpb24sICR2YXJpYW50KTtcXG59XFxuXCIsXCIvLyAxLiBTY3JlZW4gcmVhZGVycyBvbmx5LCBpbnNwaXJlZCBieSBCb290c3RyYXAuXFxuLy8gICAgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL3Njc3MvbWl4aW5zL19zY3JlZW4tcmVhZGVyLnNjc3NcXG4vL1xcbi8vIDIuIE1ha2UgdGFwIHRhcmdldCBiaWcgZW5vdWdoIHRvIGltcHJvdmUgYWNjZXNzaWJpbGl0eSBvbiB0b3VjaCBzY3JlZW5zLlxcblxcbkB1c2UgXFxcIi4uL3RoZW1lL2FjY2Vzc2liaWxpdHlcXFwiIGFzIHRoZW1lO1xcblxcbi8vIDEuXFxuQG1peGluIGhpZGUtdGV4dCgpIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogMXB4O1xcbiAgICBoZWlnaHQ6IDFweDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gICAgYm9yZGVyOiAwO1xcbn1cXG5cXG5AbWl4aW4gdW5oaWRlLXRleHQoKSB7XFxuICAgIHBvc2l0aW9uOiB1bnNldDtcXG4gICAgd2lkdGg6IHVuc2V0O1xcbiAgICBoZWlnaHQ6IHVuc2V0O1xcbiAgICBvdmVyZmxvdzogdW5zZXQ7XFxuICAgIGNsaXA6IHVuc2V0O1xcbiAgICB3aGl0ZS1zcGFjZTogdW5zZXQ7XFxufVxcblxcbi8vIDIuXFxuQG1peGluIG1pbi10YXAtdGFyZ2V0KCRzaXplOiB0aGVtZS4kdGFwLXRhcmdldC1zaXplLCAkY2VudGVyOiB0cnVlKSB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG5cXG4gICAgJjo6YmVmb3JlIHtcXG4gICAgICAgIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICAgICAgd2lkdGg6ICRzaXplO1xcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcXG5cXG4gICAgICAgIEBpZiAkY2VudGVyIHtcXG4gICAgICAgICAgICB0b3A6IDUwJTtcXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGZvY3VzLXJpbmcoKSB7XFxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XFxuICAgICAgICBvdXRsaW5lOiB0aGVtZS4kZm9jdXMtb3V0bGluZTtcXG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiB0aGVtZS4kZm9jdXMtb3V0bGluZS1vZmZzZXQ7XFxuICAgICAgICBib3gtc2hhZG93OiB0aGVtZS4kZm9jdXMtYm94LXNoYWRvdztcXG4gICAgfVxcbn1cXG5cIixcIi8vIDEuICBJbmxpbmUgZm9ybSBmaWVsZHMgYW5kIGZpZWxkcyB3aXRoIHZlcnRpY2FsIGxheW91dCB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgdGhleSBuZWVkLiBMYWJlbHNcXG4vLyAgICAgZG8gbm90IHdyYXAgdW50aWwgZm9yY2VkIGJ5IGNvbnRhaW5lciBvZiB0aGUgZmllbGQuIE1pbiBhbmQgbWF4IGxpbWl0cyBtYWtlIGV4dHJhIGxvbmcgd29yZHNcXG4vLyAgICAgYnJlYWsgaWYgbmVjZXNzYXJ5Llxcbi8vXFxuLy8gMi4gIEZvcm0gZmllbGRzIGluIGhvcml6b250YWwgbGF5b3V0IGFsc28gdGFrZSB1cCBvbmx5IGFzIG11Y2ggc3BhY2UgYXMgdGhleSBuZWVkLiBMYWJlbHMgZG8gbm90XFxuLy8gICAgIHdyYXAgdW50aWwgbGFiZWwgd2lkdGggbGltaXQgaXMgcmVhY2hlZCAoNTAgJSBvZiBhdmFpbGFibGUgaG9yaXpvbnRhbCBzcGFjZSBieSBkZWZhdWx0KS5cXG4vL1xcbi8vIDMuICBIZWxwIHRleHRzIGFuZCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGFyZSBhbGlnbmVkIGJlbG93IGlucHV0IGFuZCB3cmFwcGVkLiBUaGVpciB3aWR0aCBpcyBhbHdheXNcXG4vLyAgICAgbGltaXRlZCB0byB0aGUgd2lkdGggb2YgdGhlIGlucHV0IGZpZWxkIHNvIHRoZXkgZG9uJ3Qgc2hpZnQgYWRqYWNlbnQgZWxlbWVudHMgd2hlbiB0aGV5IHNob3dcXG4vLyAgICAgdXAuIFRoaXMgYXBwbGllcyB1bmxlc3MgdGhlIGZpZWxkIGlzIGluc2lkZSBGb3JtTGF5b3V0IChzZWUgMTApLlxcbi8vXFxuLy8gNC4gIERlZmluZSBncmlkIHNwYWNpbmcgYXMgcGFkZGluZyBvZiBjaGlsZCBlbGVtZW50cyBiZWNhdXNlIGdyaWQgYXJlYXMgbWFrZSByb3cgYW5kIGNvbHVtbiBnYXBzXFxuLy8gICAgIHNob3cgdXAgZXZlbiB3aGVuIG5vdCBuZWNlc3NhcnkuXFxuLy9cXG4vLyA1LiAgV2hlbiBpbnB1dCBzaXplIGlzIHNtYWxsIGFuZCBmb3JtIGZpZWxkIGxheW91dCBpcyBzZXQgdG8gaG9yaXpvbnRhbCwgZXhwYW5kIGhlbHAgdGV4dCBhbmRcXG4vLyAgICAgdmFsaWRhdGlvbiBtZXNzYWdlIG92ZXIgZnVsbCBmb3JtIGZpZWxkIHdpZHRoIHRvIGltcHJvdmUgdGhlaXIgcmVhZGFiaWxpdHkuIE90aGVyd2lzZSB0aGVcXG4vLyAgICAgdGV4dCB3b3VsZCBiZSBwYWNrZWQgaW50byBhIHZlcnkgbmFycm93IGNvbHVtbiBhbmQgaGFyZCB0byByZWFkLiBUbyBwcmV2ZW50IGhlbHAgdGV4dCBhbmRcXG4vLyAgICAgdmFsaWRhdGlvbiBtZXNzYWdlIGZyb20gZ3Jvd2luZyB0aGUgbGF5b3V0IG1vcmUgdGhhbiBuZWNlc3NhcnkgKGllLiB0aGUgc2l6ZSB3aXRob3V0XFxuLy8gICAgIGhlbHAvdmFsaWRhdGlvbiB0ZXh0KSwgYG1pbi1jb250ZW50YCBncmlkIHNpemluZyBtdXN0IGJlIHVzZWQgYWxvbmcgd2l0aCBkaXNhYmxlZCB3cmFwcGluZyBvZlxcbi8vICAgICBsYWJlbC5cXG4vL1xcbi8vIDYuICBGdWxsLXdpZHRoIGhvcml6b250YWwgZm9ybSBmaWVsZHMgcHJlZmVyIG5vdCB3cmFwcGluZyB0aGUgbGFiZWwgdW50aWwgYSBsaW1pdCBpcyByZWFjaGVkXFxuLy8gICAgICg1MCAlIG9mIGF2YWlsYWJsZSBob3Jpem9udGFsIHNwYWNlIGJ5IGRlZmF1bHQsIHNhbWUgYXMgaW4gMi4pLlxcbi8vXFxuLy8gNy4gIEp1c3RpZnkgaW5wdXRzIHRvIGBzdGFydGAgaW4gaG9yaXpvbnRhbCBsYXlvdXRzIHRvIGZpeCBwb3NpdGlvbmluZyBpc3N1ZXMgd2l0aCBTZWxlY3QgRmllbGRzLlxcbi8vICAgICBSZXZlcnRlZCBmb3IgZnVsbC13aWR0aCBmaWVsZHMuXFxuLy9cXG4vLyA4LiAgR3JpZCBzZXR0aW5ncyBhcmUgaW5oZXJpdGVkIGZyb20gaG9yaXpvbnRhbCBGb3JtTGF5b3V0IGFuZCBhcHBsaWVkIHVzaW5nIGBzdWJncmlkYC5cXG4vLyAgICAgQSBmYWxsYmFjayBpcyBzdXBwbGllZCB0byBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgYHN1YmdyaWRgIHlldC4gU2VlIEZvcm1MYXlvdXQgc3R5bGVzXFxuLy8gICAgIGZvciBtb3JlLlxcbi8vICAgICBodHRwczovL2dpdGh1Yi5jb20vcmVhY3QtdWktb3JnL3JlYWN0LXVpL2lzc3Vlcy8yMzJcXG4vL1xcbi8vIDkuICBIZWxwIHRleHRzIGFuZCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGNhbiB0YWtlIHVwIGZ1bGwgd2lkdGggb2YgRm9ybUxheW91dC4gVGhlcmUgaXMgbm8gcmVhc29uXFxuLy8gICAgIHRvIG1ha2UgdGhlbSB3cmFwIGFzIHRoZXkgY2Fubm90IGJyZWFrIGxheW91dCBvZiBGb3JtTGF5b3V0Llxcbi8vXFxuLy8gMTAuIFZpc3VhbGx5IGFsaWduIGxhYmVsIHRvIGlucHV0IGJhc2VsaW5lLiBBY2hpZXZlZCB3aXRoIGBwYWRkaW5nLXRvcGAgYW5kIGBwYWRkaW5nLWJvdHRvbWAgZHVlXFxuLy8gICAgIHRvIHR3byByZWFzb25zOlxcbi8vXFxuLy8gICAgICogYGFsaWduLWl0ZW1zOiBiYXNlbGluZWAgZG9lc24ndCB3b3JrIGZvciBibGFuayB0ZXh0IGlucHV0cyBpbiBTYWZhcmkuIFNlZVxcbi8vICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyOTY4IGFuZFxcbi8vICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vcmVhY3QtdWktb3JnL3JlYWN0LXVpL2lzc3Vlcy8yNjUuXFxuLy9cXG4vLyAgICAgKiBgYWxpZ24taXRlbXM6IGJhc2VsaW5lYCBkb2Vzbid0IGFsbG93IHN1YnNlcXVlbnQgdmVydGljYWwgY2VudGVyaW5nIG9mIHRhbGwgaW5wdXRzIGFuZC9vclxcbi8vICAgICAgICBtdWx0aWxpbmUgbGFiZWxzIChzZWUgYHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXZlcnRpY2FsLWFsaWdubWVudGAgYW5kXFxuLy8gICAgICAgIGB0aGVtZS4kaG9yaXpvbnRhbC1maWVsZC12ZXJ0aWNhbC1hbGlnbm1lbnRgKS5cXG4vL1xcbi8vIDExLiBSZXNldCBgd2lkdGhgIHByZXZpb3VzbHkgc2V0IGJ5IGlubGluZSBmaWVsZCBsYXlvdXQgKHNlZSBgX2lubGluZS1maWVsZC1sYXlvdXQuc2Nzc2ApLlxcbi8vXFxuLy8gMTIuIE1ha2UgZmllbGRzIGp1c3QgYXMgd2lkZSBhcyBuZWNlc3NhcnkuIEZpZWxkcyBzaG91bGQgYmUgaW50ZXJhY3RpdmUgb25seSB3aGVyZSB0aGVpciB2aXNpYmxlXFxuLy8gICAgIGNvbnRlbnQgaXMuXFxuLy9cXG4vLyAxMy4gTGFiZWwgYW5kIGZpZWxkIGFyZSB2ZXJ0aWNhbGx5IGFsaWduZWQgdG8gdG9wIChzdGFydCkgYnkgZGVmYXVsdCAoc2VlIDEwLikuIFZlcnRpY2FsXFxuLy8gICAgIGFsaWdubWVudCBvZiBlYWNoIGJsb2NrIGNhbiBiZSBjaGFuZ2VkIGJ5IHRoZW1lIGNvbmZpZ3VyYXRpb24uXFxuXFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybXNcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm0tZmllbGRzXFxcIiBhcyBzZXR0aW5ncztcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvdHlwb2dyYXBoeVxcXCI7XFxuQHVzZSBcXFwiLi4vYnJlYWtwb2ludFxcXCI7XFxuXFxuQG1peGluIHZlcnRpY2FsKCRoYXMtbGlzdDogZmFsc2UpIHtcXG4gICAgQGlmICRoYXMtbGlzdCB7XFxuICAgICAgICAtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXA6ICN7c2V0dGluZ3MuJHZlcnRpY2FsLWlubmVyLWdhcC1sYXJnZX07XFxuICAgIH1cXG5cXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IC8vIDEuXFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIG1pbi13aWR0aDogMDsgLy8gMS5cXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxLlxcblxcbiAgICAubGFiZWwge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXAsICN7c2V0dGluZ3MuJHZlcnRpY2FsLWlubmVyLWdhcH0pO1xcbiAgICB9XFxuXFxuICAgIC5oZWxwVGV4dCxcXG4gICAgLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCAje3NldHRpbmdzLiR2ZXJ0aWNhbC1pbm5lci1nYXB9KTtcXG4gICAgfVxcblxcbiAgICAuZmllbGQge1xcbiAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50OyAvLyAzLlxcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAzLlxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBob3Jpem9udGFsKCRoYXMtbWluLXRhcC10YXJnZXQ6IGZhbHNlKSB7XFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWdyaWQ7IC8vIDIuXFxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXdpZHRoIG1pbi1jb250ZW50OyAvLyAyLlxcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXFxcImxhYmVsIGZpZWxkXFxcIjtcXG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDsgLy8gMTAuLCAxMy5cXG5cXG4gICAgICAgIC5sYWJlbCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBsYWJlbDtcXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC12ZXJ0aWNhbC1hbGlnbm1lbnQ7IC8vIDEzLlxcbiAgICAgICAgICAgIG1pbi13aWR0aDogdGhlbWUuJGhvcml6b250YWwtbGFiZWwtbWluLXdpZHRoO1xcblxcbiAgICAgICAgICAgIC8vIDEwLlxcbiAgICAgICAgICAgIEBpZiAkaGFzLW1pbi10YXAtdGFyZ2V0IHtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6XFxuICAgICAgICAgICAgICAgICAgICBjYWxjKFxcbiAgICAgICAgICAgICAgICAgICAgICAgICgje3RoZW1lLiRjaGVjay10YXAtdGFyZ2V0LXNpemV9IC0gMXJlbSAqICN7dHlwb2dyYXBoeS4kbGluZS1oZWlnaHQtYmFzZX0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgLyAyXFxuICAgICAgICAgICAgICAgICAgICApO1xcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpcXG4gICAgICAgICAgICAgICAgICAgIGNhbGMoXFxuICAgICAgICAgICAgICAgICAgICAgICAgKCN7dGhlbWUuJGNoZWNrLXRhcC10YXJnZXQtc2l6ZX0gLSAxcmVtICogI3t0eXBvZ3JhcGh5LiRsaW5lLWhlaWdodC1iYXNlfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAvIDJcXG4gICAgICAgICAgICAgICAgICAgICk7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIC8vIDEwLiwgMTMuXFxuICAgICAgICAgICAgQGVsc2Uge1xcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogI3t0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC1wYWRkaW5nLXl9O1xcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogI3t0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC1wYWRkaW5nLXl9O1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzZXR0aW5ncy4kaG9yaXpvbnRhbC1pbm5lci1nYXA7IC8vIDQuXFxuICAgICAgICAgICAgdGV4dC1hbGlnbjogdGhlbWUuJGhvcml6b250YWwtbGFiZWwtdGV4dC1hbGlnbjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC5maWVsZCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBmaWVsZDtcXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiB0aGVtZS4kaG9yaXpvbnRhbC1maWVsZC12ZXJ0aWNhbC1hbGlnbm1lbnQ7IC8vIDEzLlxcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7IC8vIDcuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGhvcml6b250YWwtd2l0aC1zbWFsbC1pbnB1dCgpIHtcXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChmb3Jtcy4kaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XFxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbi1jb250ZW50IG1pbi1jb250ZW50OyAvLyA1LlxcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcXG4gICAgICAgICAgICBcXFwibGFiZWwgZmllbGRcXFwiXFxuICAgICAgICAgICAgXFxcImhlbHB0ZXh0IGhlbHB0ZXh0XFxcIlxcbiAgICAgICAgICAgIFxcXCJ2YWxpZGF0aW9udGV4dCB2YWxpZGF0aW9udGV4dFxcXCI7IC8vIDUuXFxuXFxuICAgICAgICAubGFiZWwge1xcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIDUuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAuZmllbGQge1xcbiAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzOyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLmlucHV0Q29udGFpbmVyIHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IGZpZWxkOyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLmhlbHBUZXh0IHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IGhlbHB0ZXh0OyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IHZhbGlkYXRpb250ZXh0OyAvLyA1LlxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBmdWxsLXdpZHRoKCkge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICB3aWR0aDogMTAwJTtcXG5cXG4gICAgLmZpZWxkLFxcbiAgICAuaW5wdXRDb250YWluZXIsXFxuICAgIC5pbnB1dCB7XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgfVxcblxcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGZvcm1zLiRob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCB7XFxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHRoZW1lLiRob3Jpem9udGFsLWZ1bGwtd2lkdGgtbGFiZWwtd2lkdGggMWZyOyAvLyA2LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCB7XFxuICAgICAgICAgICAganVzdGlmeS1zZWxmOiBzdHJldGNoOyAvLyA3LlxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbi1mb3JtLWxheW91dCgpIHtcXG4gICAganVzdGlmeS1zZWxmOiBzdGFydDsgLy8gMTIuXFxuXFxuICAgIC5maWVsZCB7XFxuICAgICAgICB3aWR0aDogYXV0bzsgLy8gOS5cXG4gICAgfVxcblxcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGZvcm1zLiRob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcXG4gICAgICAgIC5vcHRpb25MYWJlbCB7XFxuICAgICAgICAgICAgd2lkdGg6IGF1dG87IC8vIDExLlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLmhhc1Jvb3RTbWFsbElucHV0IHtcXG4gICAgICAgICAgICBncmlkOiBpbmhlcml0OyAvLyA4LlxcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDsgLy8gOC5cXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyOyAvLyA4LlxcblxcbiAgICAgICAgICAgIEBzdXBwb3J0cyBub3QgKGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZCkge1xcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50czsgLy8gOC5cXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwuaXNSb290RnVsbFdpZHRoIHtcXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7IC8vIDguXFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmxhYmVsLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaW5wdXRDb250YWluZXIsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmhlbHBUZXh0LFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiB1bnNldDsgLy8gOC5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuZmllbGQsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmlucHV0Q29udGFpbmVyLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5oZWxwVGV4dCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAudmFsaWRhdGlvblRleHQge1xcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyOyAvLyA4LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLmhhc1Jvb3RTbWFsbElucHV0IC5maWVsZCB7XFxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vIDUuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXCIsXCJAdXNlIFxcXCJzYXNzOm1hcFxcXCI7XFxuQHVzZSBcXFwiLi4vc2V0dGluZ3MvYnJlYWtwb2ludHNcXFwiO1xcblxcbkBtaXhpbiB1cCgkYnJlYWtwb2ludCkge1xcbiAgICBAaWYgbm90IG1hcC5oYXMta2V5KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgYnJlYWtwb2ludCBzcGVjaWZpZWQhICN7JGJyZWFrcG9pbnR9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMoYnJlYWtwb2ludHMuJHZhbHVlcyl9XFxcIjtcXG4gICAgfSBAZWxzZSBpZiBtYXAuZ2V0KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSA9PSAwIHtcXG4gICAgICAgIEBjb250ZW50O1xcbiAgICB9IEBlbHNlIHtcXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KGJyZWFrcG9pbnRzLiR2YWx1ZXMsICRicmVha3BvaW50KSkge1xcbiAgICAgICAgICAgIEBjb250ZW50O1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiLG51bGwsXCJAdXNlIFxcXCJzYXNzOm1hcFxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvZm9ybS1maWVsZHNcXFwiIGFzIHRoZW1lO1xcblxcbkBtaXhpbiBzaXplKCRzaXplLCAkaGFzLWlucHV0OiB0cnVlLCAkaXMtbXVsdGlsaW5lOiBmYWxzZSkge1xcbiAgICAkc2l6ZS1wcm9wZXJ0aWVzOiBtYXAuZ2V0KHRoZW1lLiRib3gtc2l6ZXMsICRzaXplKTtcXG5cXG4gICAgLS1ydWktbG9jYWwtcGFkZGluZy15OiAje21hcC5nZXQoJHNpemUtcHJvcGVydGllcywgcGFkZGluZy15KX07XFxuICAgIC0tcnVpLWxvY2FsLXBhZGRpbmcteDogI3ttYXAuZ2V0KCRzaXplLXByb3BlcnRpZXMsIHBhZGRpbmcteCl9O1xcblxcbiAgICBAaWYgJGhhcy1pbnB1dCB7XFxuICAgICAgICAtLXJ1aS1sb2NhbC1mb250LXNpemU6ICN7bWFwLmdldCgkc2l6ZS1wcm9wZXJ0aWVzLCBmb250LXNpemUpfTtcXG5cXG4gICAgICAgIC5pbnB1dCB7XFxuICAgICAgICAgICAgQGlmICRpcy1tdWx0aWxpbmUge1xcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XFxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IG1hcC5nZXQoJHNpemUtcHJvcGVydGllcywgaGVpZ2h0KTtcXG4gICAgICAgICAgICB9IEBlbHNlIHtcXG4gICAgICAgICAgICAgICAgLS1ydWktbG9jYWwtaGVpZ2h0OiAje21hcC5nZXQoJHNpemUtcHJvcGVydGllcywgaGVpZ2h0KX07XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ubG9jYWxzID0ge1xuXHRcInJvb3RcIjogXCJUZXh0RmllbGRfX3Jvb3RfXy1DbmhwZkJyXCIsXG5cdFwibGFiZWxcIjogXCJUZXh0RmllbGRfX2xhYmVsX18tbkF6QlNVSVwiLFxuXHRcImlucHV0Q29udGFpbmVyXCI6IFwiVGV4dEZpZWxkX19pbnB1dENvbnRhaW5lcl9fdC00MkUzOWNcIixcblx0XCJpbnB1dFwiOiBcIlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTXCIsXG5cdFwiYm90dG9tTGluZVwiOiBcIlRleHRGaWVsZF9fYm90dG9tTGluZV9fQmtnS1JmWDNcIixcblx0XCJoZWxwVGV4dFwiOiBcIlRleHRGaWVsZF9faGVscFRleHRfX3QtZ2RuamV2XCIsXG5cdFwidmFsaWRhdGlvblRleHRcIjogXCJUZXh0RmllbGRfX3ZhbGlkYXRpb25UZXh0X183QnV1OVc5R1wiLFxuXHRcImhhc1Jvb3RDdXN0b21JbnB1dFNpemVcIjogXCJUZXh0RmllbGRfX2hhc1Jvb3RDdXN0b21JbnB1dFNpemVfX25ubnkzVGEtXCIsXG5cdFwiaXNSb290UmVxdWlyZWRcIjogXCJUZXh0RmllbGRfX2lzUm9vdFJlcXVpcmVkX19lM05JSkJ4Y1wiLFxuXHRcImlzUm9vdFZhcmlhbnRGaWxsZWRcIjogXCJUZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX0JXOEh1KzZiXCIsXG5cdFwiaXNSb290RGlzYWJsZWRcIjogXCJUZXh0RmllbGRfX2lzUm9vdERpc2FibGVkX19yNkp2c0ZYS1wiLFxuXHRcImlzUm9vdFZhcmlhbnRPdXRsaW5lXCI6IFwiVGV4dEZpZWxkX19pc1Jvb3RWYXJpYW50T3V0bGluZV9fNWpMOE1UWHdcIixcblx0XCJpc1Jvb3RTdGF0ZUludmFsaWRcIjogXCJUZXh0RmllbGRfX2lzUm9vdFN0YXRlSW52YWxpZF9fN1oxYjlVN1ZcIixcblx0XCJpc1Jvb3RTdGF0ZVZhbGlkXCI6IFwiVGV4dEZpZWxkX19pc1Jvb3RTdGF0ZVZhbGlkX19jY084dnhMaFwiLFxuXHRcImlzUm9vdFN0YXRlV2FybmluZ1wiOiBcIlRleHRGaWVsZF9faXNSb290U3RhdGVXYXJuaW5nX19STUV3dEgySVwiLFxuXHRcImlzTGFiZWxIaWRkZW5cIjogXCJUZXh0RmllbGRfX2lzTGFiZWxIaWRkZW5fX0RqZTVQWE5zXCIsXG5cdFwiaXNSb290TGF5b3V0VmVydGljYWxcIjogXCJUZXh0RmllbGRfX2lzUm9vdExheW91dFZlcnRpY2FsX19xRmVVOXAwSVwiLFxuXHRcImlzUm9vdExheW91dEhvcml6b250YWxcIjogXCJUZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3XCIsXG5cdFwiZmllbGRcIjogXCJUZXh0RmllbGRfX2ZpZWxkX184Rk92Y0txQlwiLFxuXHRcImlzUm9vdEZ1bGxXaWR0aFwiOiBcIlRleHRGaWVsZF9faXNSb290RnVsbFdpZHRoX18yUUk0SkNTd1wiLFxuXHRcImlzUm9vdEluRm9ybUxheW91dFwiOiBcIlRleHRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X181NExoU25JSlwiLFxuXHRcIm9wdGlvbkxhYmVsXCI6IFwiVGV4dEZpZWxkX19vcHRpb25MYWJlbF9fWmFRQ1VVQjlcIixcblx0XCJoYXNSb290U21hbGxJbnB1dFwiOiBcIlRleHRGaWVsZF9faGFzUm9vdFNtYWxsSW5wdXRfXzFwb0JzdjdOXCIsXG5cdFwiaXNSb290U2l6ZVNtYWxsXCI6IFwiVGV4dEZpZWxkX19pc1Jvb3RTaXplU21hbGxfX3pPVVgwZUFCXCIsXG5cdFwiaXNSb290U2l6ZU1lZGl1bVwiOiBcIlRleHRGaWVsZF9faXNSb290U2l6ZU1lZGl1bV9fU3otenVkUEpcIixcblx0XCJpc1Jvb3RTaXplTGFyZ2VcIjogXCJUZXh0RmllbGRfX2lzUm9vdFNpemVMYXJnZV9fb3BQRGQ5dGNcIixcblx0XCJpc1Jvb3RHcm91cGVkXCI6IFwiVGV4dEZpZWxkX19pc1Jvb3RHcm91cGVkX19MV1NxcFJ4a1wiXG59O1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js?!./src/lib/components/TextField/TextField.scss\n");
|
1330
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \".TextField__root__-CnhpfBr {\\n text-align: left;\\n}\\n\\n.TextField__label__-nAzBSUI {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__label__color));\\n}\\n\\n.TextField__inputContainer__t-42E39c {\\n position: relative;\\n display: inline-flex;\\n min-width: 0;\\n max-width: 100%;\\n}\\n\\n.TextField__input__vrAdszzS {\\n transition-property: opacity, color, border-color, background-color, box-shadow;\\n transition-duration: 150ms;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n width: var(--rui-FormField--box__input__width);\\n min-width: var(--rui-FormField--box__input__min-width);\\n max-width: 100%;\\n height: var(--rui-local-height);\\n padding: var(--rui-local-padding-y) var(--rui-local-padding-x);\\n font-weight: var(--rui-font-weight-base);\\n font-size: var(--rui-local-font-size);\\n line-height: 1.5rem;\\n font-family: var(--rui-font-family-base);\\n vertical-align: middle;\\n color: var(--rui-local-color);\\n border: var(--rui-FormField--box__border-width) solid var(--rui-local-border-color);\\n border-radius: var(--rui-FormField--box__border-radius);\\n background: var(--rui-local-background);\\n box-shadow: var(--rui-local-box-shadow);\\n}\\n@media (prefers-reduced-motion: reduce) {\\n .TextField__input__vrAdszzS {\\n transition-property: opacity, color, border-color, background-color, box-shadow;\\n }\\n}\\n.TextField__input__vrAdszzS::-moz-placeholder {\\n color: var(--rui-FormField--box__placeholder__color);\\n opacity: 1;\\n}\\n.TextField__input__vrAdszzS::placeholder {\\n color: var(--rui-FormField--box__placeholder__color);\\n opacity: 1;\\n}\\n\\n.TextField__bottomLine__BkgKRfX3 {\\n transition-property: transform, opacity;\\n transition-duration: 180ms;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n position: absolute;\\n bottom: 0;\\n width: 100%;\\n height: 2px;\\n opacity: 0;\\n transform: scaleX(0);\\n transform-origin: center center;\\n pointer-events: none;\\n}\\n@media (prefers-reduced-motion: reduce) {\\n .TextField__bottomLine__BkgKRfX3 {\\n transition-property: opacity;\\n }\\n}\\n.TextField__input__vrAdszzS:focus ~ .TextField__bottomLine__BkgKRfX3 {\\n background-color: var(--rui-local-border-color);\\n opacity: 1;\\n transform: scaleX(1);\\n}\\n\\n.TextField__helpText__t-gdnjev,\\n.TextField__validationText__7Buu9W9G {\\n font-style: var(--rui-FormField__help-text__font-style);\\n font-size: var(--rui-FormField__help-text__font-size);\\n line-height: 1.2rem;\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField__help-text__color));\\n}\\n\\n.TextField__hasRootCustomInputSize__nnny3Ta- .TextField__input__vrAdszzS {\\n width: calc(\\n 1ch * var(--rui-custom-input-size)\\n + var(--rui-local-arrows-width, 0)\\n + 2 * var(--rui-local-padding-x)\\n + 2 * var(--rui-FormField--box__border-width)\\n );\\n min-width: auto;\\n}\\n.TextField__hasRootCustomInputSize__nnny3Ta- .TextField__input__vrAdszzS[type=number] {\\n --rui-local-arrows-width: 1.5rem;\\n}\\n\\n.TextField__isRootRequired__e3NIJBxc .TextField__label__-nAzBSUI {\\n color: var(--rui-local-surrounding-text-color, var(--rui-FormField--required__label__color));\\n}\\n.TextField__isRootRequired__e3NIJBxc .TextField__label__-nAzBSUI::after {\\n content: var(--rui-FormField--required__sign);\\n color: var(--rui-FormField--required__sign__color);\\n}\\n\\n.TextField__isRootVariantFilled__BW8Hu\\\\+6b {\\n --rui-local-color: var(--rui-FormField--box--filled--default__color);\\n --rui-local-border-color: var(--rui-FormField--box--filled--default__border-color);\\n --rui-local-background: var(--rui-FormField--box--filled--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--box--filled--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--box--filled--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--box--filled--default__surrounding-text-color);\\n}\\n.TextField__isRootVariantFilled__BW8Hu\\\\+6b:hover {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--filled--hover__color,\\n var(--rui-FormField--box--filled--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--filled--hover__border-color,\\n var(--rui-FormField--box--filled--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--filled--hover__background,\\n var(--rui-FormField--box--filled--default__background)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--filled--hover__box-shadow,\\n var(--rui-FormField--box--filled--default__box-shadow)\\n );\\n}\\n.TextField__isRootVariantFilled__BW8Hu\\\\+6b:focus-within, .TextField__isRootVariantFilled__BW8Hu\\\\+6b:focus-within:hover,\\n.TextField__isRootVariantFilled__BW8Hu\\\\+6b .TextField__input__vrAdszzS:focus {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--filled--focus__color,\\n var(--rui-FormField--box--filled--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--filled--focus__border-color,\\n var(--rui-FormField--box--filled--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--filled--focus__background,\\n var(--rui-FormField--box--filled--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--filled--focus__check-background-color,\\n var(--rui-FormField--box--filled--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--filled--focus__box-shadow,\\n var(--rui-FormField--box--filled--default__box-shadow)\\n );\\n}\\n.TextField__isRootVariantFilled__BW8Hu\\\\+6b.TextField__isRootDisabled__r6JvsFXK {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--filled--disabled__color,\\n var(--rui-FormField--box--filled--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--filled--disabled__border-color,\\n var(--rui-FormField--box--filled--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--filled--disabled__background,\\n var(--rui-FormField--box--filled--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--filled--disabled__check-background-color,\\n var(--rui-FormField--box--filled--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--filled--disabled__box-shadow,\\n var(--rui-FormField--box--filled--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--box--filled--disabled__surrounding-text-color,\\n var(--rui-FormField--box--filled--default__surrounding-text-color)\\n );\\n}\\n.TextField__isRootVariantFilled__BW8Hu\\\\+6b .TextField__input__vrAdszzS:disabled {\\n opacity: var(--rui-FormField--disabled__opacity);\\n cursor: var(--rui-FormField--disabled__cursor);\\n}\\n.TextField__isRootVariantFilled__BW8Hu\\\\+6b .TextField__input__vrAdszzS {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.TextField__isRootVariantOutline__5jL8MTXw {\\n --rui-local-color: var(--rui-FormField--box--outline--default__color);\\n --rui-local-border-color: var(--rui-FormField--box--outline--default__border-color);\\n --rui-local-background: var(--rui-FormField--box--outline--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--box--outline--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--box--outline--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--box--outline--default__surrounding-text-color);\\n}\\n.TextField__isRootVariantOutline__5jL8MTXw:hover {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--outline--hover__color,\\n var(--rui-FormField--box--outline--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--outline--hover__border-color,\\n var(--rui-FormField--box--outline--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--outline--hover__background,\\n var(--rui-FormField--box--outline--default__background)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--outline--hover__box-shadow,\\n var(--rui-FormField--box--outline--default__box-shadow)\\n );\\n}\\n.TextField__isRootVariantOutline__5jL8MTXw:focus-within, .TextField__isRootVariantOutline__5jL8MTXw:focus-within:hover,\\n.TextField__isRootVariantOutline__5jL8MTXw .TextField__input__vrAdszzS:focus {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--outline--focus__color,\\n var(--rui-FormField--box--outline--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--outline--focus__border-color,\\n var(--rui-FormField--box--outline--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--outline--focus__background,\\n var(--rui-FormField--box--outline--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--outline--focus__check-background-color,\\n var(--rui-FormField--box--outline--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--outline--focus__box-shadow,\\n var(--rui-FormField--box--outline--default__box-shadow)\\n );\\n}\\n.TextField__isRootVariantOutline__5jL8MTXw.TextField__isRootDisabled__r6JvsFXK {\\n --rui-local-color:\\n var(\\n --rui-FormField--box--outline--disabled__color,\\n var(--rui-FormField--box--outline--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--box--outline--disabled__border-color,\\n var(--rui-FormField--box--outline--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--box--outline--disabled__background,\\n var(--rui-FormField--box--outline--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--box--outline--disabled__check-background-color,\\n var(--rui-FormField--box--outline--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--box--outline--disabled__box-shadow,\\n var(--rui-FormField--box--outline--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--box--outline--disabled__surrounding-text-color,\\n var(--rui-FormField--box--outline--default__surrounding-text-color)\\n );\\n}\\n.TextField__isRootVariantOutline__5jL8MTXw .TextField__input__vrAdszzS:disabled {\\n opacity: var(--rui-FormField--disabled__opacity);\\n cursor: var(--rui-FormField--disabled__cursor);\\n}\\n\\n.TextField__isRootStateInvalid__7Z1b9U7V, .TextField__isRootStateInvalid__7Z1b9U7V:hover {\\n --rui-local-color: var(--rui-FormField--invalid--default__color);\\n --rui-local-border-color: var(--rui-FormField--invalid--default__border-color);\\n --rui-local-background: var(--rui-FormField--invalid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--invalid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--invalid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--invalid--default__surrounding-text-color);\\n}\\n.TextField__isRootStateInvalid__7Z1b9U7V .TextField__input__vrAdszzS:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n}\\n.TextField__isRootStateInvalid__7Z1b9U7V.TextField__isRootDisabled__r6JvsFXK {\\n --rui-local-color:\\n var(\\n --rui-FormField--invalid--disabled__color,\\n var(--rui-FormField--invalid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--disabled__border-color,\\n var(--rui-FormField--invalid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--invalid--disabled__background,\\n var(--rui-FormField--invalid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--disabled__check-background-color,\\n var(--rui-FormField--invalid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--invalid--disabled__box-shadow,\\n var(--rui-FormField--invalid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--invalid--disabled__surrounding-text-color,\\n var(--rui-FormField--invalid--default__surrounding-text-color)\\n );\\n}\\n.TextField__isRootStateInvalid__7Z1b9U7V .TextField__input__vrAdszzS:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__border-color,\\n var(--rui-FormField--invalid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--invalid--checked-disabled__check-background-color,\\n var(--rui-FormField--invalid--checked__check-background-color)\\n );\\n}\\n\\n.TextField__isRootStateValid__ccO8vxLh, .TextField__isRootStateValid__ccO8vxLh:hover {\\n --rui-local-color: var(--rui-FormField--valid--default__color);\\n --rui-local-border-color: var(--rui-FormField--valid--default__border-color);\\n --rui-local-background: var(--rui-FormField--valid--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--valid--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--valid--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--valid--default__surrounding-text-color);\\n}\\n.TextField__isRootStateValid__ccO8vxLh .TextField__input__vrAdszzS:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n}\\n.TextField__isRootStateValid__ccO8vxLh.TextField__isRootDisabled__r6JvsFXK {\\n --rui-local-color:\\n var(\\n --rui-FormField--valid--disabled__color,\\n var(--rui-FormField--valid--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--disabled__border-color,\\n var(--rui-FormField--valid--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--valid--disabled__background,\\n var(--rui-FormField--valid--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--disabled__check-background-color,\\n var(--rui-FormField--valid--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--valid--disabled__box-shadow,\\n var(--rui-FormField--valid--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--valid--disabled__surrounding-text-color,\\n var(--rui-FormField--valid--default__surrounding-text-color)\\n );\\n}\\n.TextField__isRootStateValid__ccO8vxLh .TextField__input__vrAdszzS:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--valid--checked-disabled__border-color,\\n var(--rui-FormField--valid--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--valid--checked-disabled__check-background-color,\\n var(--rui-FormField--valid--checked__check-background-color)\\n );\\n}\\n\\n.TextField__isRootStateWarning__RMEwtH2I, .TextField__isRootStateWarning__RMEwtH2I:hover {\\n --rui-local-color: var(--rui-FormField--warning--default__color);\\n --rui-local-border-color: var(--rui-FormField--warning--default__border-color);\\n --rui-local-background: var(--rui-FormField--warning--default__background);\\n --rui-local-check-background-color: var(--rui-FormField--warning--default__check-background-color);\\n --rui-local-box-shadow: var(--rui-FormField--warning--default__box-shadow);\\n --rui-local-surrounding-text-color: var(--rui-FormField--warning--default__surrounding-text-color);\\n}\\n.TextField__isRootStateWarning__RMEwtH2I .TextField__input__vrAdszzS:checked {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n}\\n.TextField__isRootStateWarning__RMEwtH2I.TextField__isRootDisabled__r6JvsFXK {\\n --rui-local-color:\\n var(\\n --rui-FormField--warning--disabled__color,\\n var(--rui-FormField--warning--default__color)\\n );\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--disabled__border-color,\\n var(--rui-FormField--warning--default__border-color)\\n );\\n --rui-local-background:\\n var(\\n --rui-FormField--warning--disabled__background,\\n var(--rui-FormField--warning--default__background)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--disabled__check-background-color,\\n var(--rui-FormField--warning--default__check-background-color)\\n );\\n --rui-local-box-shadow:\\n var(\\n --rui-FormField--warning--disabled__box-shadow,\\n var(--rui-FormField--warning--default__box-shadow)\\n );\\n --rui-local-surrounding-text-color:\\n var(\\n --rui-FormField--warning--disabled__surrounding-text-color,\\n var(--rui-FormField--warning--default__surrounding-text-color)\\n );\\n}\\n.TextField__isRootStateWarning__RMEwtH2I .TextField__input__vrAdszzS:checked:disabled {\\n --rui-local-border-color:\\n var(\\n --rui-FormField--warning--checked-disabled__border-color,\\n var(--rui-FormField--warning--checked__border-color)\\n );\\n --rui-local-check-background-color:\\n var(\\n --rui-FormField--warning--checked-disabled__check-background-color,\\n var(--rui-FormField--warning--checked__check-background-color)\\n );\\n}\\n\\n.TextField__isLabelHidden__Dje5PXNs {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n.TextField__isRootLayoutVertical__qFeU9p0I,\\n.TextField__isRootLayoutHorizontal__xKlslec7 {\\n display: inline-flex;\\n flex-direction: column;\\n min-width: 0;\\n max-width: 100%;\\n}\\n.TextField__isRootLayoutVertical__qFeU9p0I .TextField__label__-nAzBSUI,\\n.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__label__-nAzBSUI {\\n padding-bottom: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.TextField__isRootLayoutVertical__qFeU9p0I .TextField__helpText__t-gdnjev,\\n.TextField__isRootLayoutVertical__qFeU9p0I .TextField__validationText__7Buu9W9G,\\n.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__helpText__t-gdnjev,\\n.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__validationText__7Buu9W9G {\\n padding-top: var(--rui-local-vertical-gap, var(--rui-dimension-space-1));\\n}\\n.TextField__isRootLayoutVertical__qFeU9p0I .TextField__field__8FOvcKqB,\\n.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__field__8FOvcKqB {\\n width: -webkit-min-content;\\n width: -moz-min-content;\\n width: min-content;\\n max-width: 100%;\\n}\\n\\n@media (min-width: 48em) {\\n .TextField__isRootLayoutHorizontal__xKlslec7 {\\n display: inline-grid;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) -webkit-min-content;\\n grid-template-columns: var(--rui-FormField--horizontal__label__width) min-content;\\n grid-template-areas: \\\"label field\\\";\\n align-items: start;\\n }\\n .TextField__isRootLayoutHorizontal__xKlslec7 .TextField__label__-nAzBSUI {\\n grid-area: label;\\n align-self: var(--rui-FormField--horizontal__label__vertical-alignment);\\n min-width: var(--rui-FormField--horizontal__label__min-width);\\n padding-top: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-bottom: var(--rui-FormField--horizontal__label__padding-y, calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y)));\\n padding-right: var(--rui-dimension-space-2);\\n text-align: var(--rui-FormField--horizontal__label__text-align);\\n }\\n .TextField__isRootLayoutHorizontal__xKlslec7 .TextField__field__8FOvcKqB {\\n grid-area: field;\\n align-self: var(--rui-FormField--horizontal__field__vertical-alignment);\\n justify-self: start;\\n }\\n}\\n\\n.TextField__isRootFullWidth__2QI4JCSw {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n}\\n.TextField__isRootFullWidth__2QI4JCSw .TextField__field__8FOvcKqB,\\n.TextField__isRootFullWidth__2QI4JCSw .TextField__inputContainer__t-42E39c,\\n.TextField__isRootFullWidth__2QI4JCSw .TextField__input__vrAdszzS {\\n width: 100%;\\n}\\n@media (min-width: 48em) {\\n .TextField__isRootFullWidth__2QI4JCSw.TextField__isRootLayoutHorizontal__xKlslec7 {\\n display: grid;\\n grid-template-columns: var(--rui-FormField--horizontal--full-width__label__width) 1fr;\\n }\\n .TextField__isRootFullWidth__2QI4JCSw.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__field__8FOvcKqB {\\n justify-self: stretch;\\n }\\n}\\n\\n.TextField__isRootInFormLayout__54LhSnIJ {\\n justify-self: start;\\n}\\n.TextField__isRootInFormLayout__54LhSnIJ .TextField__field__8FOvcKqB {\\n width: auto;\\n}\\n@media (min-width: 48em) {\\n .TextField__isRootInFormLayout__54LhSnIJ .TextField__optionLabel__ZaQCUUB9 {\\n width: auto;\\n }\\n .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7, .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7.TextField__hasRootSmallInput__1poBsv7N {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n }\\n @supports not (grid-template-columns: subgrid) {\\n .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7, .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7.TextField__hasRootSmallInput__1poBsv7N {\\n display: contents;\\n }\\n }\\n .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7.TextField__isRootFullWidth__2QI4JCSw {\\n grid-template-columns: subgrid;\\n }\\n .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__label__-nAzBSUI, .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__field__8FOvcKqB, .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__inputContainer__t-42E39c, .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__helpText__t-gdnjev, .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__validationText__7Buu9W9G {\\n grid-area: unset;\\n }\\n .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__field__8FOvcKqB, .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__inputContainer__t-42E39c, .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__helpText__t-gdnjev, .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__validationText__7Buu9W9G {\\n grid-column-start: 2;\\n }\\n .TextField__isRootInFormLayout__54LhSnIJ.TextField__isRootLayoutHorizontal__xKlslec7.TextField__hasRootSmallInput__1poBsv7N .TextField__field__8FOvcKqB {\\n display: block;\\n }\\n}\\n\\n@media (min-width: 48em) {\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 {\\n grid-template-columns: -webkit-min-content -webkit-min-content;\\n grid-template-columns: min-content min-content;\\n grid-template-areas: \\\"label field\\\" \\\"helptext helptext\\\" \\\"validationtext validationtext\\\";\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__label__-nAzBSUI {\\n white-space: nowrap;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__field__8FOvcKqB {\\n display: contents;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__inputContainer__t-42E39c {\\n grid-area: field;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__helpText__t-gdnjev {\\n grid-area: helptext;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__validationText__7Buu9W9G {\\n grid-area: validationtext;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 > .TextField__label__-nAzBSUI {\\n -ms-grid-row: 1;\\n -ms-grid-column: 1;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 > .TextField__field__8FOvcKqB {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n}\\n\\n@media (min-width: 48em) {\\n .TextField__isRootLayoutHorizontal__xKlslec7 .TextField__label__-nAzBSUI {\\n -ms-grid-row: 1;\\n -ms-grid-column: 1;\\n }\\n .TextField__isRootLayoutHorizontal__xKlslec7 .TextField__field__8FOvcKqB {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__inputContainer__t-42E39c {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 > .TextField__inputContainer__t-42E39c {\\n -ms-grid-row: 1;\\n -ms-grid-column: 2;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__helpText__t-gdnjev {\\n -ms-grid-row: 2;\\n -ms-grid-column: 1;\\n -ms-grid-column-span: 2;\\n }\\n .TextField__hasRootSmallInput__1poBsv7N.TextField__isRootLayoutHorizontal__xKlslec7 .TextField__validationText__7Buu9W9G {\\n -ms-grid-row: 3;\\n -ms-grid-column: 1;\\n -ms-grid-column-span: 2;\\n }\\n}\\n\\n.TextField__isRootSizeSmall__zOUX0eAB {\\n --rui-local-padding-y: var(--rui-FormField--box--small__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--small__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--small__font-size);\\n}\\n.TextField__isRootSizeSmall__zOUX0eAB .TextField__input__vrAdszzS {\\n --rui-local-height: var(--rui-FormField--box--small__height);\\n}\\n\\n.TextField__isRootSizeMedium__Sz-zudPJ {\\n --rui-local-padding-y: var(--rui-FormField--box--medium__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--medium__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--medium__font-size);\\n}\\n.TextField__isRootSizeMedium__Sz-zudPJ .TextField__input__vrAdszzS {\\n --rui-local-height: var(--rui-FormField--box--medium__height);\\n}\\n\\n.TextField__isRootSizeLarge__opPDd9tc {\\n --rui-local-padding-y: var(--rui-FormField--box--large__padding-y);\\n --rui-local-padding-x: var(--rui-FormField--box--large__padding-x);\\n --rui-local-font-size: var(--rui-FormField--box--large__font-size);\\n}\\n.TextField__isRootSizeLarge__opPDd9tc .TextField__input__vrAdszzS {\\n --rui-local-height: var(--rui-FormField--box--large__height);\\n}\\n\\n.TextField__isRootGrouped__LWSqpRxk .TextField__inputContainer__t-42E39c {\\n display: block;\\n}\\n.TextField__isRootGrouped__LWSqpRxk:not(:first-child) .TextField__input__vrAdszzS {\\n border-start-start-radius: var(--rui-local-inner-border-radius);\\n border-end-start-radius: var(--rui-local-inner-border-radius);\\n}\\n.TextField__isRootGrouped__LWSqpRxk:not(:last-child) .TextField__input__vrAdszzS {\\n border-start-end-radius: var(--rui-local-inner-border-radius);\\n border-end-end-radius: var(--rui-local-inner-border-radius);\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/lib/components/TextField/TextField.scss\",\"webpack://./src/lib/styles/tools/form-fields/_foundation.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-elements.scss\",\"webpack://./src/lib/styles/tools/_transition.scss\",\"webpack://./src/lib/styles/settings/_animations.scss\",\"webpack://./src/lib/styles/theme/_form-fields.scss\",\"webpack://./src/lib/styles/settings/_form-fields.scss\",\"webpack://./src/lib/styles/theme/_typography.scss\",\"webpack://./src/lib/styles/tools/form-fields/_variants.scss\",\"webpack://./src/lib/styles/tools/_accessibility.scss\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-layout.scss\",\"webpack://./src/lib/styles/tools/_breakpoint.scss\",\"<no source>\",\"webpack://./src/lib/styles/tools/form-fields/_box-field-sizes.scss\"],\"names\":[],\"mappings\":\"AAQA;ECDI,gBAAA;ADLJ;;AAUA;ECKI,kFAAA;ADXJ;;AAUA;EEFI,kBAAA;EACA,oBAAA;EACA,YAAA;EACA,eAAA;AFJJ;;AAOA;EGqCQ,+EAPY;EAQZ,0BAf2B;EAgB3B,wDC3DmB;EFuBvB,wBAAA;KAAA,qBAAA;UAAA,gBAAA;EACA,8CGec;EHdd,sDGekB;EHdlB,eAAA;EACA,+BAAA;EACA,8DAAA;EACA,wCIZoB;EJapB,qCAAA;EACA,mBIboB;EJcpB,wCKXe;ELYf,sBAAA;EACA,6BAAA;EACA,mFAAA;EACA,uDGEgB;EHDhB,uCAAA;EACA,uCAAA;AFHJ;AG2BY;EH1CZ;IG2CgB,+EARgB;EHhB9B;AACF;AEAI;EACI,oDAAA;EACA,UAAA;AFER;AEJI;EACI,oDAAA;EACA,UAAA;AFER;;AApBA;EGiCQ,uCAPY;EAQZ,0BDkD0C;ECjD1C,wDC3DmB;EF8GvB,kBAAA;EACA,SAAA;EACA,WAAA;EACA,WI5F2B;EJ6F3B,UAAA;EACA,oBAAA;EACA,+BAAA;EACA,oBAAA;AF3DJ;AGIY;EHtCZ;IGuCgB,4BARgB;EHO9B;AACF;AEwDI;EACI,+CAAA;EACA,UAAA;EACA,oBAAA;AFtDR;;AAxCA;;ECEI,uDIjBmB;EJkBnB,qDInBkB;EJoBlB,mBKzBoB;EL0BpB,sFAAA;AD2CJ;;AA3CA;EEcI;;;;;SACI;EAOJ,eAAA;AF+BJ;AE7BI;EACI,gCAAA;AF+BR;;AApDA;EChBI,4FAAA;ADwEJ;ACtEI;EACI,6CIRQ;EJSR,kDIRc;ALgFtB;;AAvDA;EQQY,oEAAA;EAAA,kFAAA;EAAA,8EAAA;EAAA,sGAAA;EAAA,8EAAA;EAAA,sGAAA;ARwDZ;AQ7BQ;EApBI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARuEZ;AQvCQ;;EAhCI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARmGZ;AQrDQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARmIZ;AQtEI;EAtGA,gDHkBe;EGjBf,8CHgBc;AL+JlB;AQrEQ;EACI,6BAAA;EACA,+BAAA;EACA,8BAAA;EACA,6BAAA;EACA,4BAAA;ARuEZ;;AAzJA;EQIY,qEAAA;EAAA,mFAAA;EAAA,+EAAA;EAAA,uGAAA;EAAA,+EAAA;EAAA,uGAAA;AR8JZ;AQnIQ;EApBI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;AR6KZ;AQ7IQ;;EAhCI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARyMZ;AQ3JQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARyOZ;AQ5KI;EAtGA,gDHkBe;EGjBf,8CHgBc;ALqQlB;;AQrNQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;AR6PZ;AQ9MQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;ARkQZ;AQpNQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARkSZ;AQ9OQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AR8SZ;;AQtRQ;EA/BI,8DAAA;EAAA,4EAAA;EAAA,wEAAA;EAAA,gGAAA;EAAA,wEAAA;EAAA,gGAAA;AR8TZ;AQ/QQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;ARmUZ;AQrRQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARmWZ;AQ/SQ;EApDI;;;;OAAA;EAAA;;;;OAAA;AR+WZ;;AQvVQ;EA/BI,gEAAA;EAAA,8EAAA;EAAA,0EAAA;EAAA,kGAAA;EAAA,0EAAA;EAAA,kGAAA;AR+XZ;AQhVQ;EAxCI;;;;OAAA;EAAA;;;;OAAA;ARoYZ;AQtVQ;EA9CI;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;EAAA;;;;OAAA;ARoaZ;AQhXQ;EApDI;;;;OAAA;EAAA;;;;OAAA;ARgbZ;;AAzaA;ESvDI,kBAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,SAAA;AToeJ;;AA/aA;;EUAI,oBAAA;EACA,sBAAA;EACA,YAAA;EACA,eAAA;AVobJ;AUlbI;;EACI,2EAAA;AVqbR;AUlbI;;;;EAEI,wEAAA;AVsbR;AUnbI;;EACI,0BAAA;EAAA,uBAAA;EAAA,kBAAA;EACA,eAAA;AVsbR;;AWjgBQ;EXgER;IUiBQ,oBAAA;IACA,yFAAA;IAAA,iFAAA;IACA,kCAAA;IACA,kBAAA;EVqbN;EUnbM;IACI,gBAAA;IACA,uELtE0B;IKuE1B,6DL9EiB;IKgGb,2IAAA;IACA,8IAAA;IAGJ,2CJ5GW;II6GX,+DLtGkB;ELwgB5B;EU/ZM;IACI,gBAAA;IACA,uELlG0B;IKmG1B,mBAAA;EViaV;AACF;;AApdA;EUsFI,aAAA;EACA,sBAAA;EACA,WAAA;AVkYJ;AUhYI;;;EAGI,WAAA;AVkYR;AWniBQ;EDqKA;IACI,aAAA;IACA,qFAAA;EViYV;EU9XM;IACI,qBAAA;EVgYV;AACF;;AApeA;EUyGI,mBAAA;AV+XJ;AU7XI;EACI,WAAA;AV+XR;AWnjBQ;EDwLA;IACI,WAAA;EV8XV;EUpXU;IAEI,aAAA;IACA,8BAAA;IACA,mBAAA;EVqXd;EUnXc;IANJ;MAOQ,iBAAA;IVsXhB;EACF;EUnXU;IACI,8BAAA;EVqXd;EUjXM;IAKI,gBAAA;EV+WV;EU5WM;IAII,oBAAA;EV2WV;EUxWM;IACI,cAAA;EV0WV;AACF;;AW9kBQ;EX4ER;IUiDQ,8DAAA;IAAA,8CAAA;IACA,sFACI;EVqdV;EUjdM;IACI,mBAAA;EVmdV;EUhdM;IACI,iBAAA;EVkdV;EU/cM;IACI,gBAAA;EVidV;EU9cM;IACI,mBAAA;EVgdV;EU7cM;IACI,yBAAA;EV+cV;EU7gBM;IEhGR,gBAAA;IAAA,mBAAA;EZ4hBE;EU/ZM;IE7HR,gBAAA;IAAA,mBAAA;EZiiBE;AA6EF;;AY9mBA;EFgGQ;IEhGR,gBAAA;IAAA,mBAAA;EZ4hBE;EU/ZM;IE7HR,gBAAA;IAAA,mBAAA;EZiiBE;EU5YM;IErJR,gBAAA;IAAA,mBAAA;EZumBE;EUldM;IErJR,gBAAA;IAAA,mBAAA;EZumBE;EU9cM;IEzJR,gBAAA;IAAA,mBAAA;IAAA,wBAAA;EZ0mBE;EU7cM;IE7JR,gBAAA;IAAA,mBAAA;IAAA,wBAAA;EZ6mBE;CY7mBF;;AZ2FA;EarFI,kEAAA;EACA,kEAAA;EAGI,kEAAA;Ab0mBR;AaxmBQ;EAKQ,4DAAA;AbsmBhB;;AAxhBA;EazFI,mEAAA;EACA,mEAAA;EAGI,mEAAA;AbmnBR;AajnBQ;EAKQ,6DAAA;Ab+mBhB;;AA7hBA;Ea7FI,kEAAA;EACA,kEAAA;EAGI,kEAAA;Ab4nBR;Aa1nBQ;EAKQ,4DAAA;AbwnBhB;;AE1gBI;EACI,cAAA;AF6gBR;AE1gBI;EACI,+DAAA;EACA,6DAAA;AF4gBR;AEzgBI;EACI,6DAAA;EACA,2DAAA;AF2gBR\",\"sourcesContent\":[\"@use \\\"../../styles/tools/form-fields/box-field-elements\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-layout\\\";\\n@use \\\"../../styles/tools/form-fields/box-field-sizes\\\";\\n@use \\\"../../styles/tools/form-fields/foundation\\\";\\n@use \\\"../../styles/tools/form-fields/variants\\\";\\n@use \\\"../../styles/tools/accessibility\\\";\\n\\n// Foundation\\n.root {\\n @include foundation.root();\\n}\\n\\n.label {\\n @include foundation.label();\\n}\\n\\n.inputContainer {\\n @include box-field-elements.input-container();\\n}\\n\\n.input {\\n @include box-field-elements.input();\\n}\\n\\n.bottomLine {\\n @include box-field-elements.bottom-line();\\n}\\n\\n.helpText,\\n.validationText {\\n @include foundation.help-text();\\n}\\n\\n.hasRootCustomInputSize .input {\\n @include box-field-elements.input-size();\\n}\\n\\n.isRootRequired .label {\\n @include foundation.label-required();\\n}\\n\\n// Variants\\n.isRootVariantFilled {\\n @include variants.visual(box, $variant: filled);\\n}\\n\\n.isRootVariantOutline {\\n @include variants.visual(box, $variant: outline);\\n}\\n\\n// States\\n.isRootStateInvalid {\\n @include variants.validation(invalid);\\n}\\n\\n.isRootStateValid {\\n @include variants.validation(valid);\\n}\\n\\n.isRootStateWarning {\\n @include variants.validation(warning);\\n}\\n\\n// Invisible label\\n.isLabelHidden {\\n @include accessibility.hide-text();\\n}\\n\\n// Layouts\\n.isRootLayoutVertical,\\n.isRootLayoutHorizontal {\\n @include box-field-layout.vertical();\\n}\\n\\n.isRootLayoutHorizontal {\\n @include box-field-layout.horizontal();\\n}\\n\\n.isRootFullWidth {\\n @include box-field-layout.full-width();\\n}\\n\\n.isRootInFormLayout {\\n @include box-field-layout.in-form-layout();\\n}\\n\\n.hasRootSmallInput.isRootLayoutHorizontal {\\n @include box-field-layout.horizontal-with-small-input();\\n}\\n\\n// Sizes\\n.isRootSizeSmall {\\n @include box-field-sizes.size(small);\\n}\\n\\n.isRootSizeMedium {\\n @include box-field-sizes.size(medium);\\n}\\n\\n.isRootSizeLarge {\\n @include box-field-sizes.size(large);\\n}\\n\\n// Groups\\n.isRootGrouped {\\n @include box-field-elements.in-group-layout();\\n}\\n\",\"// 1. Don't let text alignment be affected by a parent.\\n// 2. Override foundation reset.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin root() {\\n text-align: left; // 1.\\n}\\n\\n@mixin fieldset() {\\n &:not(:last-child) {\\n margin-bottom: 0; // 2.\\n }\\n}\\n\\n@mixin label() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$label-color});\\n}\\n\\n@mixin label-required() {\\n color: var(--rui-local-surrounding-text-color, #{theme.$required-label-color});\\n\\n &::after {\\n content: theme.$required-sign;\\n color: theme.$required-sign-color;\\n }\\n}\\n\\n@mixin help-text() {\\n font-style: theme.$help-text-font-style;\\n font-size: theme.$help-text-font-size;\\n line-height: settings.$help-text-line-height;\\n color: var(--rui-local-surrounding-text-color, #{theme.$help-text-color});\\n}\\n\",\"// 1. Get ready for positioning of bottom line and caret.\\n// 2. Always prefer `size` and `max` attributes when defined. Use CSS for sizing to normalize\\n// result width across browsers.\\n// 3. Let inputs properly fit various layout scenarios.\\n// 4. Leave out space for SelectField caret.\\n// 5. Use a block-level display mode to prevent extra white space below grouped inputs in Safari.\\n\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../tools/caret\\\";\\n@use \\\"../spacing\\\";\\n@use \\\"../transition\\\";\\n\\n@mixin input-container() {\\n position: relative; // 1.\\n display: inline-flex;\\n min-width: 0; // 3.\\n max-width: 100%; // 3.\\n}\\n\\n@mixin input() {\\n @include transition.add((opacity, color, border-color, background-color, box-shadow));\\n\\n appearance: none;\\n width: theme.$box-input-width;\\n min-width: theme.$box-input-min-width;\\n max-width: 100%; // 3.\\n height: var(--rui-local-height);\\n padding: var(--rui-local-padding-y) var(--rui-local-padding-x);\\n font-weight: settings.$box-input-font-weight;\\n font-size: var(--rui-local-font-size);\\n line-height: settings.$box-input-line-height;\\n font-family: settings.$box-input-font-family;\\n vertical-align: middle;\\n color: var(--rui-local-color);\\n border: theme.$box-border-width solid var(--rui-local-border-color);\\n border-radius: theme.$box-border-radius;\\n background: var(--rui-local-background);\\n box-shadow: var(--rui-local-box-shadow);\\n\\n &::placeholder {\\n color: theme.$box-placeholder-color;\\n opacity: 1;\\n }\\n}\\n\\n@mixin input-size() {\\n width:\\n calc(\\n 1ch * var(--rui-custom-input-size)\\n + var(--rui-local-arrows-width, 0)\\n + 2 * var(--rui-local-padding-x)\\n + 2 * #{theme.$box-border-width}\\n ); // 2.\\n\\n min-width: auto; // 2.\\n\\n &[type=\\\"number\\\"] {\\n --rui-local-arrows-width: #{settings.$box-field-input-number-arrows-width};\\n }\\n}\\n\\n@mixin input-textarea() {\\n resize: vertical;\\n\\n &[cols] {\\n min-width: auto;\\n }\\n}\\n\\n@mixin input-select() {\\n appearance: none;\\n padding-right: calc(#{settings.$box-field-caret-size} + #{spacing.of(2)}); // 4.\\n\\n &::-ms-expand {\\n display: none;\\n }\\n}\\n\\n@mixin input-select-option() {\\n option:disabled {\\n color: theme.$box-select-option-disabled-color;\\n }\\n}\\n\\n@mixin caret() {\\n @include transition.add((border-color));\\n\\n position: absolute; // 1.\\n top: theme.$box-border-width;\\n right: theme.$box-border-width;\\n bottom: theme.$box-border-width;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: calc(#{settings.$box-field-caret-size} - 2 * #{theme.$box-border-width});\\n border-start-end-radius: theme.$box-border-radius;\\n border-end-end-radius: theme.$box-border-radius;\\n pointer-events: none;\\n}\\n\\n@mixin caret-icon() {\\n @include caret.create();\\n\\n border-color: var(--rui-local-color);\\n}\\n\\n@mixin bottom-line() {\\n @include transition.add((transform, opacity), 180ms);\\n\\n position: absolute; // 1.\\n bottom: 0;\\n width: 100%;\\n height: settings.$box-field-bottom-line-height;\\n opacity: 0;\\n transform: scaleX(0);\\n transform-origin: center center;\\n pointer-events: none;\\n\\n .input:focus ~ & {\\n background-color: var(--rui-local-border-color);\\n opacity: 1;\\n transform: scaleX(1);\\n }\\n}\\n\\n@mixin in-group-layout() {\\n .inputContainer {\\n display: block; // 5.\\n }\\n\\n &:not(:first-child) .input {\\n border-start-start-radius: var(--rui-local-inner-border-radius);\\n border-end-start-radius: var(--rui-local-inner-border-radius);\\n }\\n\\n &:not(:last-child) .input {\\n border-start-end-radius: var(--rui-local-inner-border-radius);\\n border-end-end-radius: var(--rui-local-inner-border-radius);\\n }\\n}\\n\",\"@use \\\"sass:list\\\";\\n@use \\\"sass:meta\\\";\\n@use \\\"sass:string\\\";\\n@use \\\"../settings/animations\\\";\\n\\n$_allowed-transitions: (\\n border-color,\\n background-color,\\n background-position,\\n box-shadow,\\n color,\\n opacity,\\n transform,\\n visibility,\\n);\\n\\n$_reduced-motion-disallowed-transitions: (transform);\\n\\n@function _validate-transitions($properties) {\\n @each $property in $properties {\\n $is-allowed: list.index($_allowed-transitions, $property);\\n\\n @if not $is-allowed {\\n @return false;\\n }\\n }\\n\\n @return true;\\n}\\n\\n@function _reduce-motion-transitions($properties) {\\n $reduced-properties: ();\\n $separator: list.separator($properties);\\n\\n @each $property in $properties {\\n @if not list.index($_reduced-motion-disallowed-transitions, $property) {\\n $reduced-properties: list.append($reduced-properties, $property, $separator: $separator);\\n }\\n }\\n\\n @return $reduced-properties;\\n}\\n\\n@mixin add($properties, $duration: 150ms) {\\n $property-list: ();\\n\\n @if meta.type-of($properties) != \\\"string\\\" and meta.type-of($properties) != \\\"list\\\" {\\n @error \\\"Transition properties must be a string or a Sass list, `#{$properties}` given.\\\";\\n }\\n\\n $property-list: list.join($property-list, $properties);\\n\\n @if not _validate-transitions($property-list) {\\n @error \\\"Only [#{$_allowed-transitions}] transitions are allowed, [#{$properties}] given.\\\";\\n } @else {\\n $reduced-property-list: _reduce-motion-transitions($property-list);\\n\\n transition-property: $property-list;\\n transition-duration: $duration;\\n transition-timing-function: animations.$standard-timing-function;\\n\\n @if list.length($reduced-property-list) > 0 {\\n @media (prefers-reduced-motion: reduce) {\\n transition-property: $reduced-property-list;\\n }\\n }\\n }\\n}\\n\",\"$standard-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n\",\"// Variant specific theme options are obtained dynamically because there is way too many of them to\\n// maintain manually. See `settings/_form-fields.scss` and `tools/form-fields/_variants.scss` for\\n// details.\\n//\\n// 1. Defaults to zero when neither `--rui-FormField--horizontal__label__padding-y` (optional) nor\\n// `--rui-local-padding-y` (handled by the `size()` mixin in case of box form fields, see\\n// `_box-field-sizes.scss`) is defined. This is useful because FormLayoutCustomField may have no\\n// size specified therefore its label should have no padding at the top.\\n\\n// Forms fields: common properties\\n$label-color: var(--rui-FormField__label__color);\\n$label-font-size: var(--rui-FormField__label__font-size);\\n$help-text-font-size: var(--rui-FormField__help-text__font-size);\\n$help-text-font-style: var(--rui-FormField__help-text__font-style);\\n$help-text-color: var(--rui-FormField__help-text__color);\\n$required-label-color: var(--rui-FormField--required__label__color);\\n$required-sign: var(--rui-FormField--required__sign);\\n$required-sign-color: var(--rui-FormField--required__sign__color);\\n\\n// Form fields: horizontal layout\\n$horizontal-label-text-align: var(--rui-FormField--horizontal__label__text-align);\\n$horizontal-label-min-width: var(--rui-FormField--horizontal__label__min-width);\\n$horizontal-label-width: var(--rui-FormField--horizontal__label__width);\\n$horizontal-label-padding-y:\\n var(\\n --rui-FormField--horizontal__label__padding-y,\\n calc(var(--rui-FormField--box__border-width) + var(--rui-local-padding-y))\\n ); // 1.\\n$horizontal-label-vertical-alignment: var(--rui-FormField--horizontal__label__vertical-alignment);\\n$horizontal-field-vertical-alignment: var(--rui-FormField--horizontal__field__vertical-alignment);\\n$horizontal-full-width-label-width: var(--rui-FormField--horizontal--full-width__label__width);\\n\\n// Form fields: disabled state\\n$disabled-cursor: var(--rui-FormField--disabled__cursor);\\n$disabled-opacity: var(--rui-FormField--disabled__opacity);\\n\\n// Form fields: box fields\\n$box-border-width: var(--rui-FormField--box__border-width);\\n$box-border-radius: var(--rui-FormField--box__border-radius);\\n$box-input-width: var(--rui-FormField--box__input__width);\\n$box-input-min-width: var(--rui-FormField--box__input__min-width);\\n$box-placeholder-color: var(--rui-FormField--box__placeholder__color);\\n\\n// Form fields: box fields, component specific\\n$box-select-caret-border-style: var(--rui-FormField--box--select__caret__border-style);\\n$box-select-caret-background: var(--rui-FormField--box--select__caret__background);\\n$box-select-option-disabled-color: var(--rui-FormField--box--select__option--disabled__color);\\n\\n// Form fields: box field sizes\\n$box-sizes: (\\n small: (\\n height: var(--rui-FormField--box--small__height),\\n padding-y: var(--rui-FormField--box--small__padding-y),\\n padding-x: var(--rui-FormField--box--small__padding-x),\\n font-size: var(--rui-FormField--box--small__font-size),\\n ),\\n medium: (\\n height: var(--rui-FormField--box--medium__height),\\n padding-y: var(--rui-FormField--box--medium__padding-y),\\n padding-x: var(--rui-FormField--box--medium__padding-x),\\n font-size: var(--rui-FormField--box--medium__font-size),\\n ),\\n large: (\\n height: var(--rui-FormField--box--large__height),\\n padding-y: var(--rui-FormField--box--large__padding-y),\\n padding-x: var(--rui-FormField--box--large__padding-x),\\n font-size: var(--rui-FormField--box--large__font-size),\\n ),\\n);\\n\\n// Form fields: check fields\\n$check-input-size: var(--rui-FormField--check__input__size);\\n$check-input-border-width: var(--rui-FormField--check__input__border-width);\\n$check-input-focus-box-shadow: var(--rui-FormField--check__input--focus__box-shadow);\\n$check-tap-target-size: var(--rui-FormField--check__tap-target-size);\\n\\n// Form fields: check fields, component specific\\n$check-input-checkbox-border-radius: var(--rui-FormField--check__input--checkbox__border-radius);\\n$check-input-checkbox-checked-background-image: var(--rui-FormField--check__input--checkbox--checked__background-image);\\n$check-input-radio-border-radius: var(--rui-FormField--check__input--radio__border-radius);\\n$check-input-radio-checked-background-image: var(--rui-FormField--check__input--radio--checked__background-image);\\n$check-input-toggle-width: var(--rui-FormField--check__input--toggle__width);\\n$check-input-toggle-border-radius: var(--rui-FormField--check__input--toggle__border-radius);\\n$check-input-toggle-background-size: var(--rui-FormField--check__input--toggle__background-size);\\n$check-input-toggle-default-background-image: var(--rui-FormField--check__input--toggle--default__background-image);\\n$check-input-toggle-default-background-position:\\n var(\\n --rui-FormField--check__input--toggle--default__background-position\\n );\\n$check-input-toggle-checked-background-image: var(--rui-FormField--check__input--toggle--checked__background-image);\\n$check-input-toggle-checked-background-position:\\n var(\\n --rui-FormField--check__input--toggle--checked__background-position\\n );\\n\",\"// 1. Input `line-height` is specified in `rem` so inputs do not break when their font size gets\\n// changed later.\\n\\n@use \\\"sass:map\\\";\\n@use \\\"../theme/typography\\\";\\n@use \\\"../tools/spacing\\\";\\n\\n$help-text-line-height: 1.2rem;\\n\\n$vertical-inner-gap: spacing.of(1);\\n$vertical-inner-gap-large: spacing.of(2);\\n$vertical-outer-spacing: spacing.of(2);\\n\\n$horizontal-inner-gap: spacing.of(2);\\n$horizontal-outer-spacing: spacing.of(2);\\n\\n$box-input-font-family: typography.$font-family-base;\\n$box-input-font-weight: map.get(typography.$font-weight-values, default);\\n$box-input-line-height: 1.5rem; // 1.\\n$box-field-caret-size: 2.25rem;\\n$box-field-input-number-arrows-width: 1.5rem;\\n$box-field-bottom-line-height: 2px;\\n\\n$inline-field-inner-gap: spacing.of(2);\\n\\n$themeable-variant-states: (\\n box: (\\n filled: (default, hover, focus, disabled),\\n outline: (default, hover, focus, disabled),\\n ),\\n check: (\\n default: (default, checked, disabled, checked-disabled),\\n ),\\n custom: (\\n default: (default, disabled),\\n ),\\n validation: (\\n invalid: (default, checked, disabled, checked-disabled),\\n valid: (default, checked, disabled, checked-disabled),\\n warning: (default, checked, disabled, checked-disabled),\\n ),\\n);\\n\\n$themeable-state-properties: (\\n default: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n hover: (color, border-color, background, box-shadow),\\n focus: (color, border-color, background, check-background-color, box-shadow),\\n checked: (border-color, check-background-color),\\n disabled: (color, border-color, background, check-background-color, box-shadow, surrounding-text-color),\\n checked-disabled: (border-color, check-background-color),\\n);\\n\",\"$font-weight-values: (\\n light: var(--rui-font-weight-light),\\n default: var(--rui-font-weight-base),\\n bold: var(--rui-font-weight-bold),\\n);\\n\\n$font-weight-base: var(--rui-font-weight-base);\\n\\n$font-size-values: (\\n 1: var(--rui-font-size-1),\\n 2: var(--rui-font-size-2),\\n 3: var(--rui-font-size-3),\\n 4: var(--rui-font-size-4),\\n 5: var(--rui-font-size-5),\\n 6: var(--rui-font-size-6),\\n);\\n\\n$font-size-base: var(--rui-font-size-base);\\n$font-size-small: var(--rui-font-size-small);\\n$font-size-smaller: var(--rui-font-size-smaller);\\n\\n$font-family-base: var(--rui-font-family-base);\\n\\n$line-height-base: var(--rui-line-height-base);\\n$line-height-small: var(--rui-line-height-small);\\n\",\"// 1. Due to complexity, it's easier and safer to resolve variant custom properties dynamically with\\n// a mixin. This way it's also easier to make theming adjustments to all supported modifications\\n// in one place. Generated custom properties are consumed mainly in foundation field styles (see\\n// `tools/form-fields/_foundation.scss` for more).\\n//\\n// 2. Interaction states other than `default` default to the `default` (sic!) state appearance if\\n// corresponding custom properties are not provided.\\n//\\n// 3. `.input:focus` is added just in case `:focus-within` doesn't work.\\n\\n@use \\\"sass:list\\\";\\n@use \\\"sass:map\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin _disabled-state() {\\n opacity: theme.$disabled-opacity;\\n cursor: theme.$disabled-cursor;\\n}\\n\\n// 1.\\n@mixin _generate-custom-properties($type, $variant, $state) {\\n @if not list.index(map.keys(map.get(settings.$themeable-variant-states, $type)), $variant) {\\n @error \\\"Invalid variant specified! #{$variant} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(map.get(settings.$themeable-variant-states, $type))}.\\\";\\n }\\n\\n @if not list.index(map.keys(settings.$themeable-state-properties), $state) {\\n @error \\\"Invalid state specified! #{$state} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-state-properties)}.\\\";\\n }\\n\\n $properties: map.get(settings.$themeable-state-properties, $state);\\n $infix: $type;\\n $fallback-state: \\\"default\\\";\\n\\n @if $type == \\\"validation\\\" {\\n $infix: $variant;\\n }\\n\\n @if $type != \\\"validation\\\" and $variant != \\\"default\\\" {\\n $infix: #{$type}--#{$variant};\\n }\\n\\n @if $state == \\\"checked-disabled\\\" {\\n $fallback-state: \\\"checked\\\";\\n }\\n\\n @if $state == \\\"default\\\" {\\n @each $property in $properties {\\n --rui-local-#{$property}: var(--rui-FormField--#{$infix}--#{$state}__#{$property});\\n }\\n }\\n\\n // 2.\\n @else {\\n @each $property in $properties {\\n --rui-local-#{$property}:\\n var(\\n --rui-FormField--#{$infix}--#{$state}__#{$property},\\n var(--rui-FormField--#{$infix}--#{$fallback-state}__#{$property})\\n );\\n }\\n }\\n}\\n\\n@mixin _get-theme($type, $variant) {\\n @if not list.index(map.keys(settings.$themeable-variant-states), $type) {\\n @error \\\"Invalid type specified! #{$type} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(settings.$themeable-variant-states)}.\\\";\\n }\\n\\n $themeable-states: map.get(map.get(settings.$themeable-variant-states, $type), $variant);\\n\\n @if list.index($themeable-states, \\\"hover\\\") {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"hover\\\");\\n }\\n } @else {\\n &,\\n &:hover {\\n @include _generate-custom-properties($type, $variant, \\\"default\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"focus\\\") {\\n // 3.\\n &:focus-within,\\n &:focus-within:hover,\\n .input:focus {\\n @include _generate-custom-properties($type, $variant, \\\"focus\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked\\\") {\\n .input:checked {\\n @include _generate-custom-properties($type, $variant, \\\"checked\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"disabled\\\") {\\n &.isRootDisabled {\\n @include _generate-custom-properties($type, $variant, \\\"disabled\\\");\\n }\\n }\\n\\n @if list.index($themeable-states, \\\"checked-disabled\\\") {\\n .input:checked:disabled {\\n @include _generate-custom-properties($type, $variant, \\\"checked-disabled\\\");\\n }\\n }\\n}\\n\\n@mixin visual($type, $variant: \\\"default\\\", $has-caret: false) {\\n @include _get-theme($type, $variant);\\n\\n .input:disabled {\\n @include _disabled-state();\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"filled\\\" {\\n .input {\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n }\\n }\\n\\n @if $type == \\\"box\\\" and $variant == \\\"outline\\\" and $has-caret {\\n .caret {\\n border-left: theme.$box-border-width theme.$box-select-caret-border-style var(--rui-local-border-color);\\n background: theme.$box-select-caret-background;\\n }\\n\\n &.isRootDisabled .caret {\\n @include _disabled-state();\\n }\\n }\\n}\\n\\n@mixin validation($variant) {\\n @include _get-theme(validation, $variant);\\n}\\n\",\"// 1. Screen readers only, inspired by Bootstrap.\\n// https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss\\n//\\n// 2. Make tap target big enough to improve accessibility on touch screens.\\n\\n@use \\\"../theme/accessibility\\\" as theme;\\n\\n// 1.\\n@mixin hide-text() {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n@mixin unhide-text() {\\n position: unset;\\n width: unset;\\n height: unset;\\n overflow: unset;\\n clip: unset;\\n white-space: unset;\\n}\\n\\n// 2.\\n@mixin min-tap-target($size: theme.$tap-target-size, $center: true) {\\n position: relative;\\n\\n &::before {\\n content: \\\"\\\";\\n position: absolute;\\n width: $size;\\n height: $size;\\n\\n @if $center {\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n }\\n }\\n}\\n\\n@mixin focus-ring() {\\n &:focus-visible {\\n outline: theme.$focus-outline;\\n outline-offset: theme.$focus-outline-offset;\\n box-shadow: theme.$focus-box-shadow;\\n }\\n}\\n\",\"// 1. Inline form fields and fields with vertical layout take up as much space as they need. Labels\\n// do not wrap until forced by container of the field. Min and max limits make extra long words\\n// break if necessary.\\n//\\n// 2. Form fields in horizontal layout also take up only as much space as they need. Labels do not\\n// wrap until label width limit is reached (50 % of available horizontal space by default).\\n//\\n// 3. Help texts and validation messages are aligned below input and wrapped. Their width is always\\n// limited to the width of the input field so they don't shift adjacent elements when they show\\n// up. This applies unless the field is inside FormLayout (see 10).\\n//\\n// 4. Define grid spacing as padding of child elements because grid areas make row and column gaps\\n// show up even when not necessary.\\n//\\n// 5. When input size is small and form field layout is set to horizontal, expand help text and\\n// validation message over full form field width to improve their readability. Otherwise the\\n// text would be packed into a very narrow column and hard to read. To prevent help text and\\n// validation message from growing the layout more than necessary (ie. the size without\\n// help/validation text), `min-content` grid sizing must be used along with disabled wrapping of\\n// label.\\n//\\n// 6. Full-width horizontal form fields prefer not wrapping the label until a limit is reached\\n// (50 % of available horizontal space by default, same as in 2.).\\n//\\n// 7. Justify inputs to `start` in horizontal layouts to fix positioning issues with Select Fields.\\n// Reverted for full-width fields.\\n//\\n// 8. Grid settings are inherited from horizontal FormLayout and applied using `subgrid`.\\n// A fallback is supplied to browsers that don't support `subgrid` yet.\\n//\\n// Chrome 117+ supports `subgrid` but it doesn't work for `<fieldset>`. This is why we always\\n// use the fallback for `<fieldset>`.\\n//\\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1473242\\n// https://github.com/react-ui-org/react-ui/issues/232\\n//\\n// 9. Help texts and validation messages can take up full width of FormLayout. There is no reason\\n// to make them wrap as they cannot break layout of FormLayout.\\n//\\n// 10. Visually align label to input baseline. Achieved with `padding-top` and `padding-bottom` due\\n// to two reasons:\\n//\\n// * `align-items: baseline` doesn't work for blank text inputs in Safari. See\\n// https://bugs.webkit.org/show_bug.cgi?id=142968 and\\n// https://github.com/react-ui-org/react-ui/issues/265.\\n//\\n// * `align-items: baseline` doesn't allow subsequent vertical centering of tall inputs and/or\\n// multiline labels (see `theme.$horizontal-label-vertical-alignment` and\\n// `theme.$horizontal-field-vertical-alignment`).\\n//\\n// 11. Reset `width` previously set by inline field layout (see `_inline-field-layout.scss`).\\n//\\n// 12. Make fields just as wide as necessary. Fields should be interactive only where their visible\\n// content is.\\n//\\n// 13. Label and field are vertically aligned to top (start) by default (see 10.). Vertical\\n// alignment of each block can be changed by theme configuration.\\n\\n@use \\\"../../settings/forms\\\";\\n@use \\\"../../settings/form-fields\\\" as settings;\\n@use \\\"../../theme/form-fields\\\" as theme;\\n@use \\\"../../theme/typography\\\";\\n@use \\\"../breakpoint\\\";\\n\\n@mixin vertical($has-list: false) {\\n @if $has-list {\\n --rui-local-vertical-gap: #{settings.$vertical-inner-gap-large};\\n }\\n\\n display: inline-flex; // 1.\\n flex-direction: column;\\n min-width: 0; // 1.\\n max-width: 100%; // 1.\\n\\n .label {\\n padding-bottom: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .helpText,\\n .validationText {\\n padding-top: var(--rui-local-vertical-gap, #{settings.$vertical-inner-gap});\\n }\\n\\n .field {\\n width: min-content; // 3.\\n max-width: 100%; // 3.\\n }\\n}\\n\\n@mixin horizontal($has-min-tap-target: false) {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n display: inline-grid; // 2.\\n grid-template-columns: theme.$horizontal-label-width min-content; // 2.\\n grid-template-areas: \\\"label field\\\";\\n align-items: start; // 10., 13.\\n\\n .label {\\n grid-area: label;\\n align-self: theme.$horizontal-label-vertical-alignment; // 13.\\n min-width: theme.$horizontal-label-min-width;\\n\\n // 10.\\n @if $has-min-tap-target {\\n padding-top:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n padding-bottom:\\n calc(\\n (#{theme.$check-tap-target-size} - 1rem * #{typography.$line-height-base})\\n / 2\\n );\\n }\\n\\n // 10., 13.\\n @else {\\n padding-top: #{theme.$horizontal-label-padding-y};\\n padding-bottom: #{theme.$horizontal-label-padding-y};\\n }\\n\\n padding-right: settings.$horizontal-inner-gap; // 4.\\n text-align: theme.$horizontal-label-text-align;\\n }\\n\\n .field {\\n grid-area: field;\\n align-self: theme.$horizontal-field-vertical-alignment; // 13.\\n justify-self: start; // 7.\\n }\\n }\\n}\\n\\n@mixin horizontal-with-small-input() {\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n grid-template-columns: min-content min-content; // 5.\\n grid-template-areas:\\n \\\"label field\\\"\\n \\\"helptext helptext\\\"\\n \\\"validationtext validationtext\\\"; // 5.\\n\\n .label {\\n white-space: nowrap; // 5.\\n }\\n\\n .field {\\n display: contents; // 5.\\n }\\n\\n .inputContainer {\\n grid-area: field; // 5.\\n }\\n\\n .helpText {\\n grid-area: helptext; // 5.\\n }\\n\\n .validationText {\\n grid-area: validationtext; // 5.\\n }\\n }\\n}\\n\\n@mixin full-width() {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n\\n .field,\\n .inputContainer,\\n .input {\\n width: 100%;\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n &.isRootLayoutHorizontal {\\n display: grid;\\n grid-template-columns: theme.$horizontal-full-width-label-width 1fr; // 6.\\n }\\n\\n &.isRootLayoutHorizontal .field {\\n justify-self: stretch; // 7.\\n }\\n }\\n}\\n\\n@mixin in-form-layout($is-fieldset: false) {\\n justify-self: start; // 12.\\n\\n .field {\\n width: auto; // 9.\\n }\\n\\n @include breakpoint.up(forms.$horizontal-breakpoint) {\\n .optionLabel {\\n width: auto; // 11.\\n }\\n\\n // 8.\\n @if $is-fieldset {\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n display: contents;\\n }\\n } @else {\\n &.isRootLayoutHorizontal,\\n &.isRootLayoutHorizontal.hasRootSmallInput {\\n grid: inherit;\\n grid-template-columns: subgrid;\\n grid-column: span 2;\\n\\n @supports not (grid-template-columns: subgrid) {\\n display: contents;\\n }\\n }\\n\\n &.isRootLayoutHorizontal.isRootFullWidth {\\n grid-template-columns: subgrid;\\n }\\n }\\n\\n &.isRootLayoutHorizontal .label,\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-area: unset; // 8.\\n }\\n\\n &.isRootLayoutHorizontal .field,\\n &.isRootLayoutHorizontal .inputContainer,\\n &.isRootLayoutHorizontal .helpText,\\n &.isRootLayoutHorizontal .validationText {\\n grid-column-start: 2; // 8.\\n }\\n\\n &.isRootLayoutHorizontal.hasRootSmallInput .field {\\n display: block; // 5.\\n }\\n }\\n}\\n\",\"@use \\\"sass:map\\\";\\n@use \\\"../settings/breakpoints\\\";\\n\\n@mixin up($breakpoint) {\\n @if not map.has-key(breakpoints.$values, $breakpoint) {\\n @error \\\"Invalid breakpoint specified! #{$breakpoint} doesn't exist. \\\"\\n + \\\"Choose one of #{map.keys(breakpoints.$values)}\\\";\\n } @else if map.get(breakpoints.$values, $breakpoint) == 0 {\\n @content;\\n } @else {\\n @media (min-width: map.get(breakpoints.$values, $breakpoint)) {\\n @content;\\n }\\n }\\n}\\n\",null,\"@use \\\"sass:map\\\";\\n@use \\\"../../theme/form-fields\\\" as theme;\\n\\n@mixin size($size, $has-input: true, $is-multiline: false) {\\n $size-properties: map.get(theme.$box-sizes, $size);\\n\\n --rui-local-padding-y: #{map.get($size-properties, padding-y)};\\n --rui-local-padding-x: #{map.get($size-properties, padding-x)};\\n\\n @if $has-input {\\n --rui-local-font-size: #{map.get($size-properties, font-size)};\\n\\n .input {\\n @if $is-multiline {\\n height: auto;\\n min-height: map.get($size-properties, height);\\n } @else {\\n --rui-local-height: #{map.get($size-properties, height)};\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"TextField__root__-CnhpfBr\",\n\t\"label\": \"TextField__label__-nAzBSUI\",\n\t\"inputContainer\": \"TextField__inputContainer__t-42E39c\",\n\t\"input\": \"TextField__input__vrAdszzS\",\n\t\"bottomLine\": \"TextField__bottomLine__BkgKRfX3\",\n\t\"helpText\": \"TextField__helpText__t-gdnjev\",\n\t\"validationText\": \"TextField__validationText__7Buu9W9G\",\n\t\"hasRootCustomInputSize\": \"TextField__hasRootCustomInputSize__nnny3Ta-\",\n\t\"isRootRequired\": \"TextField__isRootRequired__e3NIJBxc\",\n\t\"isRootVariantFilled\": \"TextField__isRootVariantFilled__BW8Hu+6b\",\n\t\"isRootDisabled\": \"TextField__isRootDisabled__r6JvsFXK\",\n\t\"isRootVariantOutline\": \"TextField__isRootVariantOutline__5jL8MTXw\",\n\t\"isRootStateInvalid\": \"TextField__isRootStateInvalid__7Z1b9U7V\",\n\t\"isRootStateValid\": \"TextField__isRootStateValid__ccO8vxLh\",\n\t\"isRootStateWarning\": \"TextField__isRootStateWarning__RMEwtH2I\",\n\t\"isLabelHidden\": \"TextField__isLabelHidden__Dje5PXNs\",\n\t\"isRootLayoutVertical\": \"TextField__isRootLayoutVertical__qFeU9p0I\",\n\t\"isRootLayoutHorizontal\": \"TextField__isRootLayoutHorizontal__xKlslec7\",\n\t\"field\": \"TextField__field__8FOvcKqB\",\n\t\"isRootFullWidth\": \"TextField__isRootFullWidth__2QI4JCSw\",\n\t\"isRootInFormLayout\": \"TextField__isRootInFormLayout__54LhSnIJ\",\n\t\"optionLabel\": \"TextField__optionLabel__ZaQCUUB9\",\n\t\"hasRootSmallInput\": \"TextField__hasRootSmallInput__1poBsv7N\",\n\t\"isRootSizeSmall\": \"TextField__isRootSizeSmall__zOUX0eAB\",\n\t\"isRootSizeMedium\": \"TextField__isRootSizeMedium__Sz-zudPJ\",\n\t\"isRootSizeLarge\": \"TextField__isRootSizeLarge__opPDd9tc\",\n\t\"isRootGrouped\": \"TextField__isRootGrouped__LWSqpRxk\"\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vc3JjL2xpYi9jb21wb25lbnRzL1RleHRGaWVsZC9UZXh0RmllbGQuc2Nzcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9saWIvY29tcG9uZW50cy9UZXh0RmllbGQvVGV4dEZpZWxkLnNjc3M/NTU4NyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi5UZXh0RmllbGRfX3Jvb3RfXy1DbmhwZkJyIHtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcblxcbi5UZXh0RmllbGRfX2xhYmVsX18tbkF6QlNVSSB7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGRfX2xhYmVsX19jb2xvcikpO1xcbn1cXG5cXG4uVGV4dEZpZWxkX19pbnB1dENvbnRhaW5lcl9fdC00MkUzOWMge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICBtaW4td2lkdGg6IDA7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcblxcbi5UZXh0RmllbGRfX2lucHV0X192ckFkc3p6UyB7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93O1xcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7XFxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gIHdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2lucHV0X193aWR0aCk7XFxuICBtaW4td2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9faW5wdXRfX21pbi13aWR0aCk7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IHZhcigtLXJ1aS1sb2NhbC1oZWlnaHQpO1xcbiAgcGFkZGluZzogdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteSkgdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteCk7XFxuICBmb250LXdlaWdodDogdmFyKC0tcnVpLWZvbnQtd2VpZ2h0LWJhc2UpO1xcbiAgZm9udC1zaXplOiB2YXIoLS1ydWktbG9jYWwtZm9udC1zaXplKTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XFxuICBmb250LWZhbWlseTogdmFyKC0tcnVpLWZvbnQtZmFtaWx5LWJhc2UpO1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG4gIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtY29sb3IpO1xcbiAgYm9yZGVyOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci1yYWRpdXMpO1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcnVpLWxvY2FsLWJhY2tncm91bmQpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tcnVpLWxvY2FsLWJveC1zaGFkb3cpO1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xcbiAgLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTIHtcXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdztcXG4gIH1cXG59XFxuLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX3BsYWNlaG9sZGVyX19jb2xvcik7XFxuICBvcGFjaXR5OiAxO1xcbn1cXG4uVGV4dEZpZWxkX19pbnB1dF9fdnJBZHN6elM6OnBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX3BsYWNlaG9sZGVyX19jb2xvcik7XFxuICBvcGFjaXR5OiAxO1xcbn1cXG5cXG4uVGV4dEZpZWxkX19ib3R0b21MaW5lX19Ca2dLUmZYMyB7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxODBtcztcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYm90dG9tOiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDJweDtcXG4gIG9wYWNpdHk6IDA7XFxuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG59XFxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcXG4gIC5UZXh0RmllbGRfX2JvdHRvbUxpbmVfX0JrZ0tSZlgzIHtcXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcXG4gIH1cXG59XFxuLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTOmZvY3VzIH4gLlRleHRGaWVsZF9fYm90dG9tTGluZV9fQmtnS1JmWDMge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcik7XFxuICBvcGFjaXR5OiAxO1xcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XFxufVxcblxcbi5UZXh0RmllbGRfX2hlbHBUZXh0X190LWdkbmpldixcXG4uVGV4dEZpZWxkX192YWxpZGF0aW9uVGV4dF9fN0J1dTlXOUcge1xcbiAgZm9udC1zdHlsZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXN0eWxlKTtcXG4gIGZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19mb250LXNpemUpO1xcbiAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcXG4gIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19jb2xvcikpO1xcbn1cXG5cXG4uVGV4dEZpZWxkX19oYXNSb290Q3VzdG9tSW5wdXRTaXplX19ubm55M1RhLSAuVGV4dEZpZWxkX19pbnB1dF9fdnJBZHN6elMge1xcbiAgd2lkdGg6IGNhbGMoXFxuICAgICAgICAgICAgMWNoICogdmFyKC0tcnVpLWN1c3RvbS1pbnB1dC1zaXplKVxcbiAgICAgICAgICAgICsgdmFyKC0tcnVpLWxvY2FsLWFycm93cy13aWR0aCwgMClcXG4gICAgICAgICAgICArIDIgKiB2YXIoLS1ydWktbG9jYWwtcGFkZGluZy14KVxcbiAgICAgICAgICAgICsgMiAqIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKVxcbiAgICAgICAgKTtcXG4gIG1pbi13aWR0aDogYXV0bztcXG59XFxuLlRleHRGaWVsZF9faGFzUm9vdEN1c3RvbUlucHV0U2l6ZV9fbm5ueTNUYS0gLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTW3R5cGU9bnVtYmVyXSB7XFxuICAtLXJ1aS1sb2NhbC1hcnJvd3Mtd2lkdGg6IDEuNXJlbTtcXG59XFxuXFxuLlRleHRGaWVsZF9faXNSb290UmVxdWlyZWRfX2UzTklKQnhjIC5UZXh0RmllbGRfX2xhYmVsX18tbkF6QlNVSSB7XFxuICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19sYWJlbF9fY29sb3IpKTtcXG59XFxuLlRleHRGaWVsZF9faXNSb290UmVxdWlyZWRfX2UzTklKQnhjIC5UZXh0RmllbGRfX2xhYmVsX18tbkF6QlNVSTo6YWZ0ZXIge1xcbiAgY29udGVudDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX3NpZ24pO1xcbiAgY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXJlcXVpcmVkX19zaWduX19jb2xvcik7XFxufVxcblxcbi5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX0JXOEh1XFxcXCs2YiB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX0JXOEh1XFxcXCs2Yjpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWhvdmVyX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1ob3Zlcl9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0taG92ZXJfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0taG92ZXJfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX0JXOEh1XFxcXCs2Yjpmb2N1cy13aXRoaW4sIC5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX0JXOEh1XFxcXCs2Yjpmb2N1cy13aXRoaW46aG92ZXIsXFxuLlRleHRGaWVsZF9faXNSb290VmFyaWFudEZpbGxlZF9fQlc4SHVcXFxcKzZiIC5UZXh0RmllbGRfX2lucHV0X192ckFkc3p6Uzpmb2N1cyB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWZvY3VzX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1mb2N1c19fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZm9jdXNfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZm9jdXNfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZm9jdXNfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX0JXOEh1XFxcXCs2Yi5UZXh0RmllbGRfX2lzUm9vdERpc2FibGVkX19yNkp2c0ZYSyB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRpc2FibGVkX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1maWxsZWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGlzYWJsZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGlzYWJsZWRfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLWZpbGxlZC0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tZmlsbGVkLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRGaWxsZWRfX0JXOEh1XFxcXCs2YiAuVGV4dEZpZWxkX19pbnB1dF9fdnJBZHN6elM6ZGlzYWJsZWQge1xcbiAgb3BhY2l0eTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX29wYWNpdHkpO1xcbiAgY3Vyc29yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fY3Vyc29yKTtcXG59XFxuLlRleHRGaWVsZF9faXNSb290VmFyaWFudEZpbGxlZF9fQlc4SHVcXFxcKzZiIC5UZXh0RmllbGRfX2lucHV0X192ckFkc3p6UyB7XFxuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XFxufVxcblxcbi5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX181akw4TVRYdyB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19ib3gtc2hhZG93KTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX181akw4TVRYdzpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1ob3Zlcl9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1ob3Zlcl9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1ob3Zlcl9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWhvdmVyX19ib3gtc2hhZG93LFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG59XFxuLlRleHRGaWVsZF9faXNSb290VmFyaWFudE91dGxpbmVfXzVqTDhNVFh3OmZvY3VzLXdpdGhpbiwgLlRleHRGaWVsZF9faXNSb290VmFyaWFudE91dGxpbmVfXzVqTDhNVFh3OmZvY3VzLXdpdGhpbjpob3ZlcixcXG4uVGV4dEZpZWxkX19pc1Jvb3RWYXJpYW50T3V0bGluZV9fNWpMOE1UWHcgLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTOmZvY3VzIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWZvY3VzX19jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWZvY3VzX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWZvY3VzX19iYWNrZ3JvdW5kLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZm9jdXNfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYm94LXNoYWRvdzpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1mb2N1c19fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19ib3gtc2hhZG93KVxcbiAgICAgICk7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX181akw4TVRYdy5UZXh0RmllbGRfX2lzUm9vdERpc2FibGVkX19yNkp2c0ZYSyB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kaXNhYmxlZF9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19iYWNrZ3JvdW5kKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW91dGxpbmUtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGlzYWJsZWRfX2JveC1zaGFkb3csXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tb3V0bGluZS0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kaXNhYmxlZF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1vdXRsaW5lLS1kZWZhdWx0X19zdXJyb3VuZGluZy10ZXh0LWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX181akw4TVRYdyAuVGV4dEZpZWxkX19pbnB1dF9fdnJBZHN6elM6ZGlzYWJsZWQge1xcbiAgb3BhY2l0eTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX29wYWNpdHkpO1xcbiAgY3Vyc29yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fY3Vyc29yKTtcXG59XFxuXFxuLlRleHRGaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX183WjFiOVU3ViwgLlRleHRGaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX183WjFiOVU3Vjpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFN0YXRlSW52YWxpZF9fN1oxYjlVN1YgLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTOmNoZWNrZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uVGV4dEZpZWxkX19pc1Jvb3RTdGF0ZUludmFsaWRfXzdaMWI5VTdWLlRleHRGaWVsZF9faXNSb290RGlzYWJsZWRfX3I2SnZzRlhLIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlRleHRGaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX183WjFiOVU3ViAuVGV4dEZpZWxkX19pbnB1dF9fdnJBZHN6elM6Y2hlY2tlZDpkaXNhYmxlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWludmFsaWQtLWNoZWNrZWQtZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0taW52YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS1pbnZhbGlkLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcblxcbi5UZXh0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX2NjTzh2eExoLCAuVGV4dEZpZWxkX19pc1Jvb3RTdGF0ZVZhbGlkX19jY084dnhMaDpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcik7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fYm94LXNoYWRvdyk7XFxuICAtLXJ1aS1sb2NhbC1zdXJyb3VuZGluZy10ZXh0LWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX2NjTzh2eExoIC5UZXh0RmllbGRfX2lucHV0X192ckFkc3p6UzpjaGVja2VkIHtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX2NjTzh2eExoLlRleHRGaWVsZF9faXNSb290RGlzYWJsZWRfX3I2SnZzRlhLIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGlzYWJsZWRfX2NvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tZGVmYXVsdF9fY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJvcmRlci1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kZWZhdWx0X19ib3JkZXItY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJhY2tncm91bmQ6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fYmFja2dyb3VuZCxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX2JveC1zaGFkb3cpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXZhbGlkLS1kaXNhYmxlZF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlRleHRGaWVsZF9faXNSb290U3RhdGVWYWxpZF9fY2NPOHZ4TGggLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTOmNoZWNrZWQ6ZGlzYWJsZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fYm9yZGVyLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS12YWxpZC0tY2hlY2tlZC1kaXNhYmxlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0tdmFsaWQtLWNoZWNrZWRfX2NoZWNrLWJhY2tncm91bmQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuXFxuLlRleHRGaWVsZF9faXNSb290U3RhdGVXYXJuaW5nX19STUV3dEgySSwgLlRleHRGaWVsZF9faXNSb290U3RhdGVXYXJuaW5nX19STUV3dEgySTpob3ZlciB7XFxuICAtLXJ1aS1sb2NhbC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19ib3JkZXItY29sb3IpO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYmFja2dyb3VuZCk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcXG4gIC0tcnVpLWxvY2FsLWJveC1zaGFkb3c6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JveC1zaGFkb3cpO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fc3Vycm91bmRpbmctdGV4dC1jb2xvcik7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFN0YXRlV2FybmluZ19fUk1Fd3RIMkkgLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTOmNoZWNrZWQge1xcbiAgLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtY2hlY2stYmFja2dyb3VuZC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fY2hlY2stYmFja2dyb3VuZC1jb2xvcilcXG4gICAgICApO1xcbn1cXG4uVGV4dEZpZWxkX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX1JNRXd0SDJJLlRleHRGaWVsZF9faXNSb290RGlzYWJsZWRfX3I2SnZzRlhLIHtcXG4gIC0tcnVpLWxvY2FsLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2NvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19ib3JkZXItY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JvcmRlci1jb2xvcilcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtYmFja2dyb3VuZDpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX2JhY2tncm91bmQsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX2JhY2tncm91bmQpXFxuICAgICAgKTtcXG4gIC0tcnVpLWxvY2FsLWNoZWNrLWJhY2tncm91bmQtY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kZWZhdWx0X19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1ib3gtc2hhZG93OlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1kaXNhYmxlZF9fYm94LXNoYWRvdyxcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGVmYXVsdF9fYm94LXNoYWRvdylcXG4gICAgICApO1xcbiAgLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvcjpcXG4gICAgICB2YXIoXFxuICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tZGlzYWJsZWRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IsXFxuICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWRlZmF1bHRfX3N1cnJvdW5kaW5nLXRleHQtY29sb3IpXFxuICAgICAgKTtcXG59XFxuLlRleHRGaWVsZF9faXNSb290U3RhdGVXYXJuaW5nX19STUV3dEgySSAuVGV4dEZpZWxkX19pbnB1dF9fdnJBZHN6elM6Y2hlY2tlZDpkaXNhYmxlZCB7XFxuICAtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3I6XFxuICAgICAgdmFyKFxcbiAgICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLXdhcm5pbmctLWNoZWNrZWQtZGlzYWJsZWRfX2JvcmRlci1jb2xvcixcXG4gICAgICAgICAgdmFyKC0tcnVpLUZvcm1GaWVsZC0td2FybmluZy0tY2hlY2tlZF9fYm9yZGVyLWNvbG9yKVxcbiAgICAgICk7XFxuICAtLXJ1aS1sb2NhbC1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOlxcbiAgICAgIHZhcihcXG4gICAgICAgICAgLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkLWRpc2FibGVkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yLFxcbiAgICAgICAgICB2YXIoLS1ydWktRm9ybUZpZWxkLS13YXJuaW5nLS1jaGVja2VkX19jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKVxcbiAgICAgICk7XFxufVxcblxcbi5UZXh0RmllbGRfX2lzTGFiZWxIaWRkZW5fX0RqZTVQWE5zIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxcHg7XFxuICBoZWlnaHQ6IDFweDtcXG4gIHBhZGRpbmc6IDA7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBib3JkZXI6IDA7XFxufVxcblxcbi5UZXh0RmllbGRfX2lzUm9vdExheW91dFZlcnRpY2FsX19xRmVVOXAwSSxcXG4uVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX194S2xzbGVjNyB7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBtaW4td2lkdGg6IDA7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdExheW91dFZlcnRpY2FsX19xRmVVOXAwSSAuVGV4dEZpZWxkX19sYWJlbF9fLW5BekJTVUksXFxuLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcgLlRleHRGaWVsZF9fbGFiZWxfXy1uQXpCU1VJIHtcXG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCB2YXIoLS1ydWktZGltZW5zaW9uLXNwYWNlLTEpKTtcXG59XFxuLlRleHRGaWVsZF9faXNSb290TGF5b3V0VmVydGljYWxfX3FGZVU5cDBJIC5UZXh0RmllbGRfX2hlbHBUZXh0X190LWdkbmpldixcXG4uVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fcUZlVTlwMEkgLlRleHRGaWVsZF9fdmFsaWRhdGlvblRleHRfXzdCdXU5VzlHLFxcbi5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2hlbHBUZXh0X190LWdkbmpldixcXG4uVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX194S2xzbGVjNyAuVGV4dEZpZWxkX192YWxpZGF0aW9uVGV4dF9fN0J1dTlXOUcge1xcbiAgcGFkZGluZy10b3A6IHZhcigtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXAsIHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMSkpO1xcbn1cXG4uVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRWZXJ0aWNhbF9fcUZlVTlwMEkgLlRleHRGaWVsZF9fZmllbGRfXzhGT3ZjS3FCLFxcbi5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2ZpZWxkX184Rk92Y0txQiB7XFxuICB3aWR0aDogLXdlYmtpdC1taW4tY29udGVudDtcXG4gIHdpZHRoOiAtbW96LW1pbi1jb250ZW50O1xcbiAgd2lkdGg6IG1pbi1jb250ZW50O1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fd2lkdGgpIC13ZWJraXQtbWluLWNvbnRlbnQ7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3dpZHRoKSBtaW4tY29udGVudDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXFxcImxhYmVsIGZpZWxkXFxcIjtcXG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xcbiAgfVxcbiAgLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcgLlRleHRGaWVsZF9fbGFiZWxfXy1uQXpCU1VJIHtcXG4gICAgZ3JpZC1hcmVhOiBsYWJlbDtcXG4gICAgYWxpZ24tc2VsZjogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuICAgIG1pbi13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX21pbi13aWR0aCk7XFxuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15LCBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKSk7XFxuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15LCBjYWxjKHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKSArIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXkpKSk7XFxuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXJ1aS1kaW1lbnNpb24tc3BhY2UtMik7XFxuICAgIHRleHQtYWxpZ246IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX190ZXh0LWFsaWduKTtcXG4gIH1cXG4gIC5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2ZpZWxkX184Rk92Y0txQiB7XFxuICAgIGdyaWQtYXJlYTogZmllbGQ7XFxuICAgIGFsaWduLXNlbGY6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2ZpZWxkX192ZXJ0aWNhbC1hbGlnbm1lbnQpO1xcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xcbiAgfVxcbn1cXG5cXG4uVGV4dEZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfXzJRSTRKQ1N3IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fMlFJNEpDU3cgLlRleHRGaWVsZF9fZmllbGRfXzhGT3ZjS3FCLFxcbi5UZXh0RmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fMlFJNEpDU3cgLlRleHRGaWVsZF9faW5wdXRDb250YWluZXJfX3QtNDJFMzljLFxcbi5UZXh0RmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fMlFJNEpDU3cgLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlRleHRGaWVsZF9faXNSb290RnVsbFdpZHRoX18yUUk0SkNTdy5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsLS1mdWxsLXdpZHRoX19sYWJlbF9fd2lkdGgpIDFmcjtcXG4gIH1cXG4gIC5UZXh0RmllbGRfX2lzUm9vdEZ1bGxXaWR0aF9fMlFJNEpDU3cuVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX194S2xzbGVjNyAuVGV4dEZpZWxkX19maWVsZF9fOEZPdmNLcUIge1xcbiAgICBqdXN0aWZ5LXNlbGY6IHN0cmV0Y2g7XFxuICB9XFxufVxcblxcbi5UZXh0RmllbGRfX2lzUm9vdEluRm9ybUxheW91dF9fNTRMaFNuSUoge1xcbiAganVzdGlmeS1zZWxmOiBzdGFydDtcXG59XFxuLlRleHRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X181NExoU25JSiAuVGV4dEZpZWxkX19maWVsZF9fOEZPdmNLcUIge1xcbiAgd2lkdGg6IGF1dG87XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XFxuICAuVGV4dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzU0TGhTbklKIC5UZXh0RmllbGRfX29wdGlvbkxhYmVsX19aYVFDVVVCOSB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcbiAgLlRleHRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X181NExoU25JSi5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3LCAuVGV4dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzU0TGhTbklKLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcuVGV4dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fMXBvQnN2N04ge1xcbiAgICBncmlkOiBpbmhlcml0O1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XFxuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XFxuICB9XFxuICBAc3VwcG9ydHMgbm90IChncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQpIHtcXG4gICAgLlRleHRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X181NExoU25JSi5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3LCAuVGV4dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzU0TGhTbklKLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcuVGV4dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fMXBvQnN2N04ge1xcbiAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xcbiAgICB9XFxuICB9XFxuICAuVGV4dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzU0TGhTbklKLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcuVGV4dEZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfXzJRSTRKQ1N3IHtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xcbiAgfVxcbiAgLlRleHRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X181NExoU25JSi5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2xhYmVsX18tbkF6QlNVSSwgLlRleHRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X181NExoU25JSi5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2ZpZWxkX184Rk92Y0txQiwgLlRleHRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X181NExoU25JSi5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2lucHV0Q29udGFpbmVyX190LTQyRTM5YywgLlRleHRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X181NExoU25JSi5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2hlbHBUZXh0X190LWdkbmpldiwgLlRleHRGaWVsZF9faXNSb290SW5Gb3JtTGF5b3V0X181NExoU25JSi5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX3ZhbGlkYXRpb25UZXh0X183QnV1OVc5RyB7XFxuICAgIGdyaWQtYXJlYTogdW5zZXQ7XFxuICB9XFxuICAuVGV4dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzU0TGhTbklKLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcgLlRleHRGaWVsZF9fZmllbGRfXzhGT3ZjS3FCLCAuVGV4dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzU0TGhTbklKLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcgLlRleHRGaWVsZF9faW5wdXRDb250YWluZXJfX3QtNDJFMzljLCAuVGV4dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzU0TGhTbklKLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcgLlRleHRGaWVsZF9faGVscFRleHRfX3QtZ2RuamV2LCAuVGV4dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzU0TGhTbklKLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcgLlRleHRGaWVsZF9fdmFsaWRhdGlvblRleHRfXzdCdXU5VzlHIHtcXG4gICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XFxuICB9XFxuICAuVGV4dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzU0TGhTbklKLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcuVGV4dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fMXBvQnN2N04gLlRleHRGaWVsZF9fZmllbGRfXzhGT3ZjS3FCIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XFxuICAuVGV4dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fMXBvQnN2N04uVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX194S2xzbGVjNyB7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogLXdlYmtpdC1taW4tY29udGVudCAtd2Via2l0LW1pbi1jb250ZW50O1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbi1jb250ZW50IG1pbi1jb250ZW50O1xcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcXFwibGFiZWwgZmllbGRcXFwiIFxcXCJoZWxwdGV4dCBoZWxwdGV4dFxcXCIgXFxcInZhbGlkYXRpb250ZXh0IHZhbGlkYXRpb250ZXh0XFxcIjtcXG4gIH1cXG4gIC5UZXh0RmllbGRfX2hhc1Jvb3RTbWFsbElucHV0X18xcG9Cc3Y3Ti5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2xhYmVsX18tbkF6QlNVSSB7XFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB9XFxuICAuVGV4dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fMXBvQnN2N04uVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX194S2xzbGVjNyAuVGV4dEZpZWxkX19maWVsZF9fOEZPdmNLcUIge1xcbiAgICBkaXNwbGF5OiBjb250ZW50cztcXG4gIH1cXG4gIC5UZXh0RmllbGRfX2hhc1Jvb3RTbWFsbElucHV0X18xcG9Cc3Y3Ti5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2lucHV0Q29udGFpbmVyX190LTQyRTM5YyB7XFxuICAgIGdyaWQtYXJlYTogZmllbGQ7XFxuICB9XFxuICAuVGV4dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fMXBvQnN2N04uVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX194S2xzbGVjNyAuVGV4dEZpZWxkX19oZWxwVGV4dF9fdC1nZG5qZXYge1xcbiAgICBncmlkLWFyZWE6IGhlbHB0ZXh0O1xcbiAgfVxcbiAgLlRleHRGaWVsZF9faGFzUm9vdFNtYWxsSW5wdXRfXzFwb0JzdjdOLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcgLlRleHRGaWVsZF9fdmFsaWRhdGlvblRleHRfXzdCdXU5VzlHIHtcXG4gICAgZ3JpZC1hcmVhOiB2YWxpZGF0aW9udGV4dDtcXG4gIH1cXG4gIC5UZXh0RmllbGRfX2hhc1Jvb3RTbWFsbElucHV0X18xcG9Cc3Y3Ti5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3ID4gLlRleHRGaWVsZF9fbGFiZWxfXy1uQXpCU1VJIHtcXG4gICAgLW1zLWdyaWQtcm93OiAxO1xcbiAgICAtbXMtZ3JpZC1jb2x1bW46IDE7XFxuICB9XFxuICAuVGV4dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fMXBvQnN2N04uVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX194S2xzbGVjNyA+IC5UZXh0RmllbGRfX2ZpZWxkX184Rk92Y0txQiB7XFxuICAgIC1tcy1ncmlkLXJvdzogMTtcXG4gICAgLW1zLWdyaWQtY29sdW1uOiAyO1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xcbiAgLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcgLlRleHRGaWVsZF9fbGFiZWxfXy1uQXpCU1VJIHtcXG4gICAgLW1zLWdyaWQtcm93OiAxO1xcbiAgICAtbXMtZ3JpZC1jb2x1bW46IDE7XFxuICB9XFxuICAuVGV4dEZpZWxkX19pc1Jvb3RMYXlvdXRIb3Jpem9udGFsX194S2xzbGVjNyAuVGV4dEZpZWxkX19maWVsZF9fOEZPdmNLcUIge1xcbiAgICAtbXMtZ3JpZC1yb3c6IDE7XFxuICAgIC1tcy1ncmlkLWNvbHVtbjogMjtcXG4gIH1cXG4gIC5UZXh0RmllbGRfX2hhc1Jvb3RTbWFsbElucHV0X18xcG9Cc3Y3Ti5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2lucHV0Q29udGFpbmVyX190LTQyRTM5YyB7XFxuICAgIC1tcy1ncmlkLXJvdzogMTtcXG4gICAgLW1zLWdyaWQtY29sdW1uOiAyO1xcbiAgfVxcbiAgLlRleHRGaWVsZF9faGFzUm9vdFNtYWxsSW5wdXRfXzFwb0JzdjdOLlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzcgPiAuVGV4dEZpZWxkX19pbnB1dENvbnRhaW5lcl9fdC00MkUzOWMge1xcbiAgICAtbXMtZ3JpZC1yb3c6IDE7XFxuICAgIC1tcy1ncmlkLWNvbHVtbjogMjtcXG4gIH1cXG4gIC5UZXh0RmllbGRfX2hhc1Jvb3RTbWFsbElucHV0X18xcG9Cc3Y3Ti5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX2hlbHBUZXh0X190LWdkbmpldiB7XFxuICAgIC1tcy1ncmlkLXJvdzogMjtcXG4gICAgLW1zLWdyaWQtY29sdW1uOiAxO1xcbiAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMjtcXG4gIH1cXG4gIC5UZXh0RmllbGRfX2hhc1Jvb3RTbWFsbElucHV0X18xcG9Cc3Y3Ti5UZXh0RmllbGRfX2lzUm9vdExheW91dEhvcml6b250YWxfX3hLbHNsZWM3IC5UZXh0RmllbGRfX3ZhbGlkYXRpb25UZXh0X183QnV1OVc5RyB7XFxuICAgIC1tcy1ncmlkLXJvdzogMztcXG4gICAgLW1zLWdyaWQtY29sdW1uOiAxO1xcbiAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMjtcXG4gIH1cXG59XFxuXFxuLlRleHRGaWVsZF9faXNSb290U2l6ZVNtYWxsX196T1VYMGVBQiB7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteSk7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX3BhZGRpbmcteCk7XFxuICAtLXJ1aS1sb2NhbC1mb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc21hbGxfX2ZvbnQtc2l6ZSk7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFNpemVTbWFsbF9fek9VWDBlQUIgLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTIHtcXG4gIC0tcnVpLWxvY2FsLWhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zbWFsbF9faGVpZ2h0KTtcXG59XFxuXFxuLlRleHRGaWVsZF9faXNSb290U2l6ZU1lZGl1bV9fU3otenVkUEoge1xcbiAgLS1ydWktbG9jYWwtcGFkZGluZy15OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fcGFkZGluZy15KTtcXG4gIC0tcnVpLWxvY2FsLXBhZGRpbmcteDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX3BhZGRpbmcteCk7XFxuICAtLXJ1aS1sb2NhbC1mb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19mb250LXNpemUpO1xcbn1cXG4uVGV4dEZpZWxkX19pc1Jvb3RTaXplTWVkaXVtX19Tei16dWRQSiAuVGV4dEZpZWxkX19pbnB1dF9fdnJBZHN6elMge1xcbiAgLS1ydWktbG9jYWwtaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9faGVpZ2h0KTtcXG59XFxuXFxuLlRleHRGaWVsZF9faXNSb290U2l6ZUxhcmdlX19vcFBEZDl0YyB7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXk6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX3BhZGRpbmcteSk7XFxuICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX3BhZGRpbmcteCk7XFxuICAtLXJ1aS1sb2NhbC1mb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbGFyZ2VfX2ZvbnQtc2l6ZSk7XFxufVxcbi5UZXh0RmllbGRfX2lzUm9vdFNpemVMYXJnZV9fb3BQRGQ5dGMgLlRleHRGaWVsZF9faW5wdXRfX3ZyQWRzenpTIHtcXG4gIC0tcnVpLWxvY2FsLWhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1sYXJnZV9faGVpZ2h0KTtcXG59XFxuXFxuLlRleHRGaWVsZF9faXNSb290R3JvdXBlZF9fTFdTcXBSeGsgLlRleHRGaWVsZF9faW5wdXRDb250YWluZXJfX3QtNDJFMzljIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uVGV4dEZpZWxkX19pc1Jvb3RHcm91cGVkX19MV1NxcFJ4azpub3QoOmZpcnN0LWNoaWxkKSAuVGV4dEZpZWxkX19pbnB1dF9fdnJBZHN6elMge1xcbiAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogdmFyKC0tcnVpLWxvY2FsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xcbiAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IHZhcigtLXJ1aS1sb2NhbC1pbm5lci1ib3JkZXItcmFkaXVzKTtcXG59XFxuLlRleHRGaWVsZF9faXNSb290R3JvdXBlZF9fTFdTcXBSeGs6bm90KDpsYXN0LWNoaWxkKSAuVGV4dEZpZWxkX19pbnB1dF9fdnJBZHN6elMge1xcbiAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLXJ1aS1sb2NhbC1pbm5lci1ib3JkZXItcmFkaXVzKTtcXG4gIGJvcmRlci1lbmQtZW5kLXJhZGl1czogdmFyKC0tcnVpLWxvY2FsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xcbn1cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL2NvbXBvbmVudHMvVGV4dEZpZWxkL1RleHRGaWVsZC5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fZm91bmRhdGlvbi5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fYm94LWZpZWxkLWVsZW1lbnRzLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL190cmFuc2l0aW9uLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3NldHRpbmdzL19hbmltYXRpb25zLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3RoZW1lL19mb3JtLWZpZWxkcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy9zZXR0aW5ncy9fZm9ybS1maWVsZHMuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdGhlbWUvX3R5cG9ncmFwaHkuc2Nzc1wiLFwid2VicGFjazovLy4vc3JjL2xpYi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvX3ZhcmlhbnRzLnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL19hY2Nlc3NpYmlsaXR5LnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL19ib3gtZmllbGQtbGF5b3V0LnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9saWIvc3R5bGVzL3Rvb2xzL19icmVha3BvaW50LnNjc3NcIixcIjxubyBzb3VyY2U+XCIsXCJ3ZWJwYWNrOi8vLi9zcmMvbGliL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy9fYm94LWZpZWxkLXNpemVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBUUE7RUNESSxnQkFBQTtBRExKOztBQVVBO0VDS0ksa0ZBQUE7QURYSjs7QUFVQTtFRUZJLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtBRkpKOztBQU9BO0VHcUNRLCtFQVBZO0VBUVosMEJBZjJCO0VBZ0IzQix3REMzRG1CO0VGdUJ2Qix3QkFBQTtLQUFBLHFCQUFBO1VBQUEsZ0JBQUE7RUFDQSw4Q0dlYztFSGRkLHNER2VrQjtFSGRsQixlQUFBO0VBQ0EsK0JBQUE7RUFDQSw4REFBQTtFQUNBLHdDSVpvQjtFSmFwQixxQ0FBQTtFQUNBLG1CSWJvQjtFSmNwQix3Q0tYZTtFTFlmLHNCQUFBO0VBQ0EsNkJBQUE7RUFDQSxtRkFBQTtFQUNBLHVER0VnQjtFSERoQix1Q0FBQTtFQUNBLHVDQUFBO0FGSEo7QUcyQlk7RUgxQ1o7SUcyQ2dCLCtFQVJnQjtFSGhCOUI7QUFDRjtBRUFJO0VBQ0ksb0RBQUE7RUFDQSxVQUFBO0FGRVI7QUVKSTtFQUNJLG9EQUFBO0VBQ0EsVUFBQTtBRkVSOztBQXBCQTtFR2lDUSx1Q0FQWTtFQVFaLDBCRGtEMEM7RUNqRDFDLHdEQzNEbUI7RUY4R3ZCLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSxXSTVGMkI7RUo2RjNCLFVBQUE7RUFDQSxvQkFBQTtFQUNBLCtCQUFBO0VBQ0Esb0JBQUE7QUYzREo7QUdJWTtFSHRDWjtJR3VDZ0IsNEJBUmdCO0VITzlCO0FBQ0Y7QUV3REk7RUFDSSwrQ0FBQTtFQUNBLFVBQUE7RUFDQSxvQkFBQTtBRnREUjs7QUF4Q0E7O0VDRUksdURJakJtQjtFSmtCbkIscURJbkJrQjtFSm9CbEIsbUJLekJvQjtFTDBCcEIsc0ZBQUE7QUQyQ0o7O0FBM0NBO0VFY0k7Ozs7O1NBQ0k7RUFPSixlQUFBO0FGK0JKO0FFN0JJO0VBQ0ksZ0NBQUE7QUYrQlI7O0FBcERBO0VDaEJJLDRGQUFBO0FEd0VKO0FDdEVJO0VBQ0ksNkNJUlE7RUpTUixrRElSYztBTGdGdEI7O0FBdkRBO0VRUVksb0VBQUE7RUFBQSxrRkFBQTtFQUFBLDhFQUFBO0VBQUEsc0dBQUE7RUFBQSw4RUFBQTtFQUFBLHNHQUFBO0FSd0RaO0FRN0JRO0VBcEJJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVJ1RVo7QVF2Q1E7O0VBaENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSbUdaO0FRckRRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUm1JWjtBUXRFSTtFQXRHQSxnREhrQmU7RUdqQmYsOENIZ0JjO0FMK0psQjtBUXJFUTtFQUNJLDZCQUFBO0VBQ0EsK0JBQUE7RUFDQSw4QkFBQTtFQUNBLDZCQUFBO0VBQ0EsNEJBQUE7QVJ1RVo7O0FBekpBO0VRSVkscUVBQUE7RUFBQSxtRkFBQTtFQUFBLCtFQUFBO0VBQUEsdUdBQUE7RUFBQSwrRUFBQTtFQUFBLHVHQUFBO0FSOEpaO0FRbklRO0VBcEJJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7QVI2S1o7QVE3SVE7O0VBaENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSeU1aO0FRM0pRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUnlPWjtBUTVLSTtFQXRHQSxnREhrQmU7RUdqQmYsOENIZ0JjO0FMcVFsQjs7QVFyTlE7RUEvQkksZ0VBQUE7RUFBQSw4RUFBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7RUFBQSwwRUFBQTtFQUFBLGtHQUFBO0FSNlBaO0FROU1RO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSa1FaO0FRcE5RO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUmtTWjtBUTlPUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUjhTWjs7QVF0UlE7RUEvQkksOERBQUE7RUFBQSw0RUFBQTtFQUFBLHdFQUFBO0VBQUEsZ0dBQUE7RUFBQSx3RUFBQTtFQUFBLGdHQUFBO0FSOFRaO0FRL1FRO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSbVVaO0FRclJRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUm1XWjtBUS9TUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUitXWjs7QVF2VlE7RUEvQkksZ0VBQUE7RUFBQSw4RUFBQTtFQUFBLDBFQUFBO0VBQUEsa0dBQUE7RUFBQSwwRUFBQTtFQUFBLGtHQUFBO0FSK1haO0FRaFZRO0VBeENJOzs7O09BQUE7RUFBQTs7OztPQUFBO0FSb1laO0FRdFZRO0VBOUNJOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtFQUFBOzs7O09BQUE7RUFBQTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUm9hWjtBUWhYUTtFQXBESTs7OztPQUFBO0VBQUE7Ozs7T0FBQTtBUmdiWjs7QUF6YUE7RVN2REksa0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBO0FUb2VKOztBQS9hQTs7RVVBSSxvQkFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QVZvYko7QVVsYkk7O0VBQ0ksMkVBQUE7QVZxYlI7QVVsYkk7Ozs7RUFFSSx3RUFBQTtBVnNiUjtBVW5iSTs7RUFDSSwwQkFBQTtFQUFBLHVCQUFBO0VBQUEsa0JBQUE7RUFDQSxlQUFBO0FWc2JSOztBV2pnQlE7RVhnRVI7SVVpQlEsb0JBQUE7SUFDQSx5RkFBQTtJQUFBLGlGQUFBO0lBQ0Esa0NBQUE7SUFDQSxrQkFBQTtFVnFiTjtFVW5iTTtJQUNJLGdCQUFBO0lBQ0EsdUVMdEUwQjtJS3VFMUIsNkRMOUVpQjtJS2dHYiwySUFBQTtJQUNBLDhJQUFBO0lBR0osMkNKNUdXO0lJNkdYLCtETHRHa0I7RUx3Z0I1QjtFVS9aTTtJQUNJLGdCQUFBO0lBQ0EsdUVMbEcwQjtJS21HMUIsbUJBQUE7RVZpYVY7QUFDRjs7QUFwZEE7RVVzRkksYUFBQTtFQUNBLHNCQUFBO0VBQ0EsV0FBQTtBVmtZSjtBVWhZSTs7O0VBR0ksV0FBQTtBVmtZUjtBV25pQlE7RURxS0E7SUFDSSxhQUFBO0lBQ0EscUZBQUE7RVZpWVY7RVU5WE07SUFDSSxxQkFBQTtFVmdZVjtBQUNGOztBQXBlQTtFVXlHSSxtQkFBQTtBVitYSjtBVTdYSTtFQUNJLFdBQUE7QVYrWFI7QVduakJRO0VEd0xBO0lBQ0ksV0FBQTtFVjhYVjtFVXBYVTtJQUVJLGFBQUE7SUFDQSw4QkFBQTtJQUNBLG1CQUFBO0VWcVhkO0VVblhjO0lBTko7TUFPUSxpQkFBQTtJVnNYaEI7RUFDRjtFVW5YVTtJQUNJLDhCQUFBO0VWcVhkO0VValhNO0lBS0ksZ0JBQUE7RVYrV1Y7RVU1V007SUFJSSxvQkFBQTtFVjJXVjtFVXhXTTtJQUNJLGNBQUE7RVYwV1Y7QUFDRjs7QVc5a0JRO0VYNEVSO0lVaURRLDhEQUFBO0lBQUEsOENBQUE7SUFDQSxzRkFDSTtFVnFkVjtFVWpkTTtJQUNJLG1CQUFBO0VWbWRWO0VVaGRNO0lBQ0ksaUJBQUE7RVZrZFY7RVUvY007SUFDSSxnQkFBQTtFVmlkVjtFVTljTTtJQUNJLG1CQUFBO0VWZ2RWO0VVN2NNO0lBQ0kseUJBQUE7RVYrY1Y7RVU3Z0JNO0lFaEdSLGdCQUFBO0lBQUEsbUJBQUE7RVo0aEJFO0VVL1pNO0lFN0hSLGdCQUFBO0lBQUEsbUJBQUE7RVppaUJFO0FBNkVGOztBWTltQkE7RUZnR1E7SUVoR1IsZ0JBQUE7SUFBQSxtQkFBQTtFWjRoQkU7RVUvWk07SUU3SFIsZ0JBQUE7SUFBQSxtQkFBQTtFWmlpQkU7RVU1WU07SUVySlIsZ0JBQUE7SUFBQSxtQkFBQTtFWnVtQkU7RVVsZE07SUVySlIsZ0JBQUE7SUFBQSxtQkFBQTtFWnVtQkU7RVU5Y007SUV6SlIsZ0JBQUE7SUFBQSxtQkFBQTtJQUFBLHdCQUFBO0VaMG1CRTtFVTdjTTtJRTdKUixnQkFBQTtJQUFBLG1CQUFBO0lBQUEsd0JBQUE7RVo2bUJFO0NZN21CRjs7QVoyRkE7RWFyRkksa0VBQUE7RUFDQSxrRUFBQTtFQUdJLGtFQUFBO0FiMG1CUjtBYXhtQlE7RUFLUSw0REFBQTtBYnNtQmhCOztBQXhoQkE7RWF6RkksbUVBQUE7RUFDQSxtRUFBQTtFQUdJLG1FQUFBO0FibW5CUjtBYWpuQlE7RUFLUSw2REFBQTtBYittQmhCOztBQTdoQkE7RWE3Rkksa0VBQUE7RUFDQSxrRUFBQTtFQUdJLGtFQUFBO0FiNG5CUjtBYTFuQlE7RUFLUSw0REFBQTtBYnduQmhCOztBRTFnQkk7RUFDSSxjQUFBO0FGNmdCUjtBRTFnQkk7RUFDSSwrREFBQTtFQUNBLDZEQUFBO0FGNGdCUjtBRXpnQkk7RUFDSSw2REFBQTtFQUNBLDJEQUFBO0FGMmdCUlwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJAdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvYm94LWZpZWxkLWVsZW1lbnRzXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi9zdHlsZXMvdG9vbHMvZm9ybS1maWVsZHMvYm94LWZpZWxkLWxheW91dFxcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2JveC1maWVsZC1zaXplc1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2Zvcm0tZmllbGRzL2ZvdW5kYXRpb25cXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3N0eWxlcy90b29scy9mb3JtLWZpZWxkcy92YXJpYW50c1xcXCI7XFxuQHVzZSBcXFwiLi4vLi4vc3R5bGVzL3Rvb2xzL2FjY2Vzc2liaWxpdHlcXFwiO1xcblxcbi8vIEZvdW5kYXRpb25cXG4ucm9vdCB7XFxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24ucm9vdCgpO1xcbn1cXG5cXG4ubGFiZWwge1xcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLmxhYmVsKCk7XFxufVxcblxcbi5pbnB1dENvbnRhaW5lciB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1lbGVtZW50cy5pbnB1dC1jb250YWluZXIoKTtcXG59XFxuXFxuLmlucHV0IHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWVsZW1lbnRzLmlucHV0KCk7XFxufVxcblxcbi5ib3R0b21MaW5lIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWVsZW1lbnRzLmJvdHRvbS1saW5lKCk7XFxufVxcblxcbi5oZWxwVGV4dCxcXG4udmFsaWRhdGlvblRleHQge1xcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLmhlbHAtdGV4dCgpO1xcbn1cXG5cXG4uaGFzUm9vdEN1c3RvbUlucHV0U2l6ZSAuaW5wdXQge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtZWxlbWVudHMuaW5wdXQtc2l6ZSgpO1xcbn1cXG5cXG4uaXNSb290UmVxdWlyZWQgLmxhYmVsIHtcXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi5sYWJlbC1yZXF1aXJlZCgpO1xcbn1cXG5cXG4vLyBWYXJpYW50c1xcbi5pc1Jvb3RWYXJpYW50RmlsbGVkIHtcXG4gICAgQGluY2x1ZGUgdmFyaWFudHMudmlzdWFsKGJveCwgJHZhcmlhbnQ6IGZpbGxlZCk7XFxufVxcblxcbi5pc1Jvb3RWYXJpYW50T3V0bGluZSB7XFxuICAgIEBpbmNsdWRlIHZhcmlhbnRzLnZpc3VhbChib3gsICR2YXJpYW50OiBvdXRsaW5lKTtcXG59XFxuXFxuLy8gU3RhdGVzXFxuLmlzUm9vdFN0YXRlSW52YWxpZCB7XFxuICAgIEBpbmNsdWRlIHZhcmlhbnRzLnZhbGlkYXRpb24oaW52YWxpZCk7XFxufVxcblxcbi5pc1Jvb3RTdGF0ZVZhbGlkIHtcXG4gICAgQGluY2x1ZGUgdmFyaWFudHMudmFsaWRhdGlvbih2YWxpZCk7XFxufVxcblxcbi5pc1Jvb3RTdGF0ZVdhcm5pbmcge1xcbiAgICBAaW5jbHVkZSB2YXJpYW50cy52YWxpZGF0aW9uKHdhcm5pbmcpO1xcbn1cXG5cXG4vLyBJbnZpc2libGUgbGFiZWxcXG4uaXNMYWJlbEhpZGRlbiB7XFxuICAgIEBpbmNsdWRlIGFjY2Vzc2liaWxpdHkuaGlkZS10ZXh0KCk7XFxufVxcblxcbi8vIExheW91dHNcXG4uaXNSb290TGF5b3V0VmVydGljYWwsXFxuLmlzUm9vdExheW91dEhvcml6b250YWwge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtbGF5b3V0LnZlcnRpY2FsKCk7XFxufVxcblxcbi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLWxheW91dC5ob3Jpem9udGFsKCk7XFxufVxcblxcbi5pc1Jvb3RGdWxsV2lkdGgge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtbGF5b3V0LmZ1bGwtd2lkdGgoKTtcXG59XFxuXFxuLmlzUm9vdEluRm9ybUxheW91dCB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1sYXlvdXQuaW4tZm9ybS1sYXlvdXQoKTtcXG59XFxuXFxuLmhhc1Jvb3RTbWFsbElucHV0LmlzUm9vdExheW91dEhvcml6b250YWwge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtbGF5b3V0Lmhvcml6b250YWwtd2l0aC1zbWFsbC1pbnB1dCgpO1xcbn1cXG5cXG4vLyBTaXplc1xcbi5pc1Jvb3RTaXplU21hbGwge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtc2l6ZXMuc2l6ZShzbWFsbCk7XFxufVxcblxcbi5pc1Jvb3RTaXplTWVkaXVtIHtcXG4gICAgQGluY2x1ZGUgYm94LWZpZWxkLXNpemVzLnNpemUobWVkaXVtKTtcXG59XFxuXFxuLmlzUm9vdFNpemVMYXJnZSB7XFxuICAgIEBpbmNsdWRlIGJveC1maWVsZC1zaXplcy5zaXplKGxhcmdlKTtcXG59XFxuXFxuLy8gR3JvdXBzXFxuLmlzUm9vdEdyb3VwZWQge1xcbiAgICBAaW5jbHVkZSBib3gtZmllbGQtZWxlbWVudHMuaW4tZ3JvdXAtbGF5b3V0KCk7XFxufVxcblwiLFwiLy8gMS4gRG9uJ3QgbGV0IHRleHQgYWxpZ25tZW50IGJlIGFmZmVjdGVkIGJ5IGEgcGFyZW50Llxcbi8vIDIuIE92ZXJyaWRlIGZvdW5kYXRpb24gcmVzZXQuXFxuXFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybS1maWVsZHNcXFwiIGFzIHNldHRpbmdzO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL2Zvcm0tZmllbGRzXFxcIiBhcyB0aGVtZTtcXG5cXG5AbWl4aW4gcm9vdCgpIHtcXG4gICAgdGV4dC1hbGlnbjogbGVmdDsgLy8gMS5cXG59XFxuXFxuQG1peGluIGZpZWxkc2V0KCkge1xcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gMi5cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gbGFiZWwoKSB7XFxuICAgIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgI3t0aGVtZS4kbGFiZWwtY29sb3J9KTtcXG59XFxuXFxuQG1peGluIGxhYmVsLXJlcXVpcmVkKCkge1xcbiAgICBjb2xvcjogdmFyKC0tcnVpLWxvY2FsLXN1cnJvdW5kaW5nLXRleHQtY29sb3IsICN7dGhlbWUuJHJlcXVpcmVkLWxhYmVsLWNvbG9yfSk7XFxuXFxuICAgICY6OmFmdGVyIHtcXG4gICAgICAgIGNvbnRlbnQ6IHRoZW1lLiRyZXF1aXJlZC1zaWduO1xcbiAgICAgICAgY29sb3I6IHRoZW1lLiRyZXF1aXJlZC1zaWduLWNvbG9yO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBoZWxwLXRleHQoKSB7XFxuICAgIGZvbnQtc3R5bGU6IHRoZW1lLiRoZWxwLXRleHQtZm9udC1zdHlsZTtcXG4gICAgZm9udC1zaXplOiB0aGVtZS4kaGVscC10ZXh0LWZvbnQtc2l6ZTtcXG4gICAgbGluZS1oZWlnaHQ6IHNldHRpbmdzLiRoZWxwLXRleHQtbGluZS1oZWlnaHQ7XFxuICAgIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtc3Vycm91bmRpbmctdGV4dC1jb2xvciwgI3t0aGVtZS4kaGVscC10ZXh0LWNvbG9yfSk7XFxufVxcblwiLFwiLy8gMS4gR2V0IHJlYWR5IGZvciBwb3NpdGlvbmluZyBvZiBib3R0b20gbGluZSBhbmQgY2FyZXQuXFxuLy8gMi4gQWx3YXlzIHByZWZlciBgc2l6ZWAgYW5kIGBtYXhgIGF0dHJpYnV0ZXMgd2hlbiBkZWZpbmVkLiBVc2UgQ1NTIGZvciBzaXppbmcgdG8gbm9ybWFsaXplXFxuLy8gICAgcmVzdWx0IHdpZHRoIGFjcm9zcyBicm93c2Vycy5cXG4vLyAzLiBMZXQgaW5wdXRzIHByb3Blcmx5IGZpdCB2YXJpb3VzIGxheW91dCBzY2VuYXJpb3MuXFxuLy8gNC4gTGVhdmUgb3V0IHNwYWNlIGZvciBTZWxlY3RGaWVsZCBjYXJldC5cXG4vLyA1LiBVc2UgYSBibG9jay1sZXZlbCBkaXNwbGF5IG1vZGUgdG8gcHJldmVudCBleHRyYSB3aGl0ZSBzcGFjZSBiZWxvdyBncm91cGVkIGlucHV0cyBpbiBTYWZhcmkuXFxuXFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybS1maWVsZHNcXFwiIGFzIHNldHRpbmdzO1xcbkB1c2UgXFxcIi4uLy4uL3RoZW1lL2Zvcm0tZmllbGRzXFxcIiBhcyB0aGVtZTtcXG5AdXNlIFxcXCIuLi8uLi90b29scy9jYXJldFxcXCI7XFxuQHVzZSBcXFwiLi4vc3BhY2luZ1xcXCI7XFxuQHVzZSBcXFwiLi4vdHJhbnNpdGlvblxcXCI7XFxuXFxuQG1peGluIGlucHV0LWNvbnRhaW5lcigpIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyAxLlxcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gICAgbWluLXdpZHRoOiAwOyAvLyAzLlxcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDMuXFxufVxcblxcbkBtaXhpbiBpbnB1dCgpIHtcXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi5hZGQoKG9wYWNpdHksIGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cpKTtcXG5cXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgd2lkdGg6IHRoZW1lLiRib3gtaW5wdXQtd2lkdGg7XFxuICAgIG1pbi13aWR0aDogdGhlbWUuJGJveC1pbnB1dC1taW4td2lkdGg7XFxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMy5cXG4gICAgaGVpZ2h0OiB2YXIoLS1ydWktbG9jYWwtaGVpZ2h0KTtcXG4gICAgcGFkZGluZzogdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteSkgdmFyKC0tcnVpLWxvY2FsLXBhZGRpbmcteCk7XFxuICAgIGZvbnQtd2VpZ2h0OiBzZXR0aW5ncy4kYm94LWlucHV0LWZvbnQtd2VpZ2h0O1xcbiAgICBmb250LXNpemU6IHZhcigtLXJ1aS1sb2NhbC1mb250LXNpemUpO1xcbiAgICBsaW5lLWhlaWdodDogc2V0dGluZ3MuJGJveC1pbnB1dC1saW5lLWhlaWdodDtcXG4gICAgZm9udC1mYW1pbHk6IHNldHRpbmdzLiRib3gtaW5wdXQtZm9udC1mYW1pbHk7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxuICAgIGNvbG9yOiB2YXIoLS1ydWktbG9jYWwtY29sb3IpO1xcbiAgICBib3JkZXI6IHRoZW1lLiRib3gtYm9yZGVyLXdpZHRoIHNvbGlkIHZhcigtLXJ1aS1sb2NhbC1ib3JkZXItY29sb3IpO1xcbiAgICBib3JkZXItcmFkaXVzOiB0aGVtZS4kYm94LWJvcmRlci1yYWRpdXM7XFxuICAgIGJhY2tncm91bmQ6IHZhcigtLXJ1aS1sb2NhbC1iYWNrZ3JvdW5kKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tcnVpLWxvY2FsLWJveC1zaGFkb3cpO1xcblxcbiAgICAmOjpwbGFjZWhvbGRlciB7XFxuICAgICAgICBjb2xvcjogdGhlbWUuJGJveC1wbGFjZWhvbGRlci1jb2xvcjtcXG4gICAgICAgIG9wYWNpdHk6IDE7XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGlucHV0LXNpemUoKSB7XFxuICAgIHdpZHRoOlxcbiAgICAgICAgY2FsYyhcXG4gICAgICAgICAgICAxY2ggKiB2YXIoLS1ydWktY3VzdG9tLWlucHV0LXNpemUpXFxuICAgICAgICAgICAgKyB2YXIoLS1ydWktbG9jYWwtYXJyb3dzLXdpZHRoLCAwKVxcbiAgICAgICAgICAgICsgMiAqIHZhcigtLXJ1aS1sb2NhbC1wYWRkaW5nLXgpXFxuICAgICAgICAgICAgKyAyICogI3t0aGVtZS4kYm94LWJvcmRlci13aWR0aH1cXG4gICAgICAgICk7IC8vIDIuXFxuXFxuICAgIG1pbi13aWR0aDogYXV0bzsgLy8gMi5cXG5cXG4gICAgJlt0eXBlPVxcXCJudW1iZXJcXFwiXSB7XFxuICAgICAgICAtLXJ1aS1sb2NhbC1hcnJvd3Mtd2lkdGg6ICN7c2V0dGluZ3MuJGJveC1maWVsZC1pbnB1dC1udW1iZXItYXJyb3dzLXdpZHRofTtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaW5wdXQtdGV4dGFyZWEoKSB7XFxuICAgIHJlc2l6ZTogdmVydGljYWw7XFxuXFxuICAgICZbY29sc10ge1xcbiAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbnB1dC1zZWxlY3QoKSB7XFxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3tzZXR0aW5ncy4kYm94LWZpZWxkLWNhcmV0LXNpemV9ICsgI3tzcGFjaW5nLm9mKDIpfSk7IC8vIDQuXFxuXFxuICAgICY6Oi1tcy1leHBhbmQge1xcbiAgICAgICAgZGlzcGxheTogbm9uZTtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaW5wdXQtc2VsZWN0LW9wdGlvbigpIHtcXG4gICAgb3B0aW9uOmRpc2FibGVkIHtcXG4gICAgICAgIGNvbG9yOiB0aGVtZS4kYm94LXNlbGVjdC1vcHRpb24tZGlzYWJsZWQtY29sb3I7XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGNhcmV0KCkge1xcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLmFkZCgoYm9yZGVyLWNvbG9yKSk7XFxuXFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLy8gMS5cXG4gICAgdG9wOiB0aGVtZS4kYm94LWJvcmRlci13aWR0aDtcXG4gICAgcmlnaHQ6IHRoZW1lLiRib3gtYm9yZGVyLXdpZHRoO1xcbiAgICBib3R0b206IHRoZW1lLiRib3gtYm9yZGVyLXdpZHRoO1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgd2lkdGg6IGNhbGMoI3tzZXR0aW5ncy4kYm94LWZpZWxkLWNhcmV0LXNpemV9IC0gMiAqICN7dGhlbWUuJGJveC1ib3JkZXItd2lkdGh9KTtcXG4gICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHRoZW1lLiRib3gtYm9yZGVyLXJhZGl1cztcXG4gICAgYm9yZGVyLWVuZC1lbmQtcmFkaXVzOiB0aGVtZS4kYm94LWJvcmRlci1yYWRpdXM7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbn1cXG5cXG5AbWl4aW4gY2FyZXQtaWNvbigpIHtcXG4gICAgQGluY2x1ZGUgY2FyZXQuY3JlYXRlKCk7XFxuXFxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcnVpLWxvY2FsLWNvbG9yKTtcXG59XFxuXFxuQG1peGluIGJvdHRvbS1saW5lKCkge1xcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLmFkZCgodHJhbnNmb3JtLCBvcGFjaXR5KSwgMTgwbXMpO1xcblxcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IC8vIDEuXFxuICAgIGJvdHRvbTogMDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGhlaWdodDogc2V0dGluZ3MuJGJveC1maWVsZC1ib3R0b20tbGluZS1oZWlnaHQ7XFxuICAgIG9wYWNpdHk6IDA7XFxuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG5cXG4gICAgLmlucHV0OmZvY3VzIH4gJiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yKTtcXG4gICAgICAgIG9wYWNpdHk6IDE7XFxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gaW4tZ3JvdXAtbGF5b3V0KCkge1xcbiAgICAuaW5wdXRDb250YWluZXIge1xcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vIDUuXFxuICAgIH1cXG5cXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSAuaW5wdXQge1xcbiAgICAgICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogdmFyKC0tcnVpLWxvY2FsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xcbiAgICAgICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IHZhcigtLXJ1aS1sb2NhbC1pbm5lci1ib3JkZXItcmFkaXVzKTtcXG4gICAgfVxcblxcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmlucHV0IHtcXG4gICAgICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS1ydWktbG9jYWwtaW5uZXItYm9yZGVyLXJhZGl1cyk7XFxuICAgICAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhcigtLXJ1aS1sb2NhbC1pbm5lci1ib3JkZXItcmFkaXVzKTtcXG4gICAgfVxcbn1cXG5cIixcIkB1c2UgXFxcInNhc3M6bGlzdFxcXCI7XFxuQHVzZSBcXFwic2FzczptZXRhXFxcIjtcXG5AdXNlIFxcXCJzYXNzOnN0cmluZ1xcXCI7XFxuQHVzZSBcXFwiLi4vc2V0dGluZ3MvYW5pbWF0aW9uc1xcXCI7XFxuXFxuJF9hbGxvd2VkLXRyYW5zaXRpb25zOiAoXFxuICAgIGJvcmRlci1jb2xvcixcXG4gICAgYmFja2dyb3VuZC1jb2xvcixcXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbixcXG4gICAgYm94LXNoYWRvdyxcXG4gICAgY29sb3IsXFxuICAgIG9wYWNpdHksXFxuICAgIHRyYW5zZm9ybSxcXG4gICAgdmlzaWJpbGl0eSxcXG4pO1xcblxcbiRfcmVkdWNlZC1tb3Rpb24tZGlzYWxsb3dlZC10cmFuc2l0aW9uczogKHRyYW5zZm9ybSk7XFxuXFxuQGZ1bmN0aW9uIF92YWxpZGF0ZS10cmFuc2l0aW9ucygkcHJvcGVydGllcykge1xcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xcbiAgICAgICAgJGlzLWFsbG93ZWQ6IGxpc3QuaW5kZXgoJF9hbGxvd2VkLXRyYW5zaXRpb25zLCAkcHJvcGVydHkpO1xcblxcbiAgICAgICAgQGlmIG5vdCAkaXMtYWxsb3dlZCB7XFxuICAgICAgICAgICAgQHJldHVybiBmYWxzZTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAcmV0dXJuIHRydWU7XFxufVxcblxcbkBmdW5jdGlvbiBfcmVkdWNlLW1vdGlvbi10cmFuc2l0aW9ucygkcHJvcGVydGllcykge1xcbiAgICAkcmVkdWNlZC1wcm9wZXJ0aWVzOiAoKTtcXG4gICAgJHNlcGFyYXRvcjogbGlzdC5zZXBhcmF0b3IoJHByb3BlcnRpZXMpO1xcblxcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xcbiAgICAgICAgQGlmIG5vdCBsaXN0LmluZGV4KCRfcmVkdWNlZC1tb3Rpb24tZGlzYWxsb3dlZC10cmFuc2l0aW9ucywgJHByb3BlcnR5KSB7XFxuICAgICAgICAgICAgJHJlZHVjZWQtcHJvcGVydGllczogbGlzdC5hcHBlbmQoJHJlZHVjZWQtcHJvcGVydGllcywgJHByb3BlcnR5LCAkc2VwYXJhdG9yOiAkc2VwYXJhdG9yKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBAcmV0dXJuICRyZWR1Y2VkLXByb3BlcnRpZXM7XFxufVxcblxcbkBtaXhpbiBhZGQoJHByb3BlcnRpZXMsICRkdXJhdGlvbjogMTUwbXMpIHtcXG4gICAgJHByb3BlcnR5LWxpc3Q6ICgpO1xcblxcbiAgICBAaWYgbWV0YS50eXBlLW9mKCRwcm9wZXJ0aWVzKSAhPSBcXFwic3RyaW5nXFxcIiBhbmQgbWV0YS50eXBlLW9mKCRwcm9wZXJ0aWVzKSAhPSBcXFwibGlzdFxcXCIge1xcbiAgICAgICAgQGVycm9yIFxcXCJUcmFuc2l0aW9uIHByb3BlcnRpZXMgbXVzdCBiZSBhIHN0cmluZyBvciBhIFNhc3MgbGlzdCwgYCN7JHByb3BlcnRpZXN9YCBnaXZlbi5cXFwiO1xcbiAgICB9XFxuXFxuICAgICRwcm9wZXJ0eS1saXN0OiBsaXN0LmpvaW4oJHByb3BlcnR5LWxpc3QsICRwcm9wZXJ0aWVzKTtcXG5cXG4gICAgQGlmIG5vdCBfdmFsaWRhdGUtdHJhbnNpdGlvbnMoJHByb3BlcnR5LWxpc3QpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiT25seSBbI3skX2FsbG93ZWQtdHJhbnNpdGlvbnN9XSB0cmFuc2l0aW9ucyBhcmUgYWxsb3dlZCwgWyN7JHByb3BlcnRpZXN9XSBnaXZlbi5cXFwiO1xcbiAgICB9IEBlbHNlIHtcXG4gICAgICAgICRyZWR1Y2VkLXByb3BlcnR5LWxpc3Q6IF9yZWR1Y2UtbW90aW9uLXRyYW5zaXRpb25zKCRwcm9wZXJ0eS1saXN0KTtcXG5cXG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6ICRwcm9wZXJ0eS1saXN0O1xcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGFuaW1hdGlvbnMuJHN0YW5kYXJkLXRpbWluZy1mdW5jdGlvbjtcXG5cXG4gICAgICAgIEBpZiBsaXN0Lmxlbmd0aCgkcmVkdWNlZC1wcm9wZXJ0eS1saXN0KSA+IDAge1xcbiAgICAgICAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XFxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6ICRyZWR1Y2VkLXByb3BlcnR5LWxpc3Q7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiLFwiJHN0YW5kYXJkLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcXG5cIixcIi8vIFZhcmlhbnQgc3BlY2lmaWMgdGhlbWUgb3B0aW9ucyBhcmUgb2J0YWluZWQgZHluYW1pY2FsbHkgYmVjYXVzZSB0aGVyZSBpcyB3YXkgdG9vIG1hbnkgb2YgdGhlbSB0b1xcbi8vIG1haW50YWluIG1hbnVhbGx5LiBTZWUgYHNldHRpbmdzL19mb3JtLWZpZWxkcy5zY3NzYCBhbmQgYHRvb2xzL2Zvcm0tZmllbGRzL192YXJpYW50cy5zY3NzYCBmb3JcXG4vLyBkZXRhaWxzLlxcbi8vXFxuLy8gMS4gRGVmYXVsdHMgdG8gemVybyB3aGVuIG5laXRoZXIgYC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fbGFiZWxfX3BhZGRpbmcteWAgKG9wdGlvbmFsKSBub3JcXG4vLyAgICBgLS1ydWktbG9jYWwtcGFkZGluZy15YCAoaGFuZGxlZCBieSB0aGUgYHNpemUoKWAgbWl4aW4gaW4gY2FzZSBvZiBib3ggZm9ybSBmaWVsZHMsIHNlZVxcbi8vICAgIGBfYm94LWZpZWxkLXNpemVzLnNjc3NgKSBpcyBkZWZpbmVkLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIEZvcm1MYXlvdXRDdXN0b21GaWVsZCBtYXkgaGF2ZSBub1xcbi8vICAgIHNpemUgc3BlY2lmaWVkIHRoZXJlZm9yZSBpdHMgbGFiZWwgc2hvdWxkIGhhdmUgbm8gcGFkZGluZyBhdCB0aGUgdG9wLlxcblxcbi8vIEZvcm1zIGZpZWxkczogY29tbW9uIHByb3BlcnRpZXNcXG4kbGFiZWwtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2xhYmVsX19jb2xvcik7XFxuJGxhYmVsLWZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZF9fbGFiZWxfX2ZvbnQtc2l6ZSk7XFxuJGhlbHAtdGV4dC1mb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fZm9udC1zaXplKTtcXG4kaGVscC10ZXh0LWZvbnQtc3R5bGU6IHZhcigtLXJ1aS1Gb3JtRmllbGRfX2hlbHAtdGV4dF9fZm9udC1zdHlsZSk7XFxuJGhlbHAtdGV4dC1jb2xvcjogdmFyKC0tcnVpLUZvcm1GaWVsZF9faGVscC10ZXh0X19jb2xvcik7XFxuJHJlcXVpcmVkLWxhYmVsLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fbGFiZWxfX2NvbG9yKTtcXG4kcmVxdWlyZWQtc2lnbjogdmFyKC0tcnVpLUZvcm1GaWVsZC0tcmVxdWlyZWRfX3NpZ24pO1xcbiRyZXF1aXJlZC1zaWduLWNvbG9yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1yZXF1aXJlZF9fc2lnbl9fY29sb3IpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBob3Jpem9udGFsIGxheW91dFxcbiRob3Jpem9udGFsLWxhYmVsLXRleHQtYWxpZ246IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX190ZXh0LWFsaWduKTtcXG4kaG9yaXpvbnRhbC1sYWJlbC1taW4td2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX19taW4td2lkdGgpO1xcbiRob3Jpem9udGFsLWxhYmVsLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fd2lkdGgpO1xcbiRob3Jpem9udGFsLWxhYmVsLXBhZGRpbmcteTpcXG4gICAgdmFyKFxcbiAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1ob3Jpem9udGFsX19sYWJlbF9fcGFkZGluZy15LFxcbiAgICAgICAgY2FsYyh2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2JvcmRlci13aWR0aCkgKyB2YXIoLS1ydWktbG9jYWwtcGFkZGluZy15KSlcXG4gICAgKTsgLy8gMS5cXG4kaG9yaXpvbnRhbC1sYWJlbC12ZXJ0aWNhbC1hbGlnbm1lbnQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWhvcml6b250YWxfX2xhYmVsX192ZXJ0aWNhbC1hbGlnbm1lbnQpO1xcbiRob3Jpem9udGFsLWZpZWxkLXZlcnRpY2FsLWFsaWdubWVudDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbF9fZmllbGRfX3ZlcnRpY2FsLWFsaWdubWVudCk7XFxuJGhvcml6b250YWwtZnVsbC13aWR0aC1sYWJlbC13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0taG9yaXpvbnRhbC0tZnVsbC13aWR0aF9fbGFiZWxfX3dpZHRoKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogZGlzYWJsZWQgc3RhdGVcXG4kZGlzYWJsZWQtY3Vyc29yOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1kaXNhYmxlZF9fY3Vyc29yKTtcXG4kZGlzYWJsZWQtb3BhY2l0eTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tZGlzYWJsZWRfX29wYWNpdHkpO1xcblxcbi8vIEZvcm0gZmllbGRzOiBib3ggZmllbGRzXFxuJGJveC1ib3JkZXItd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXdpZHRoKTtcXG4kYm94LWJvcmRlci1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fYm9yZGVyLXJhZGl1cyk7XFxuJGJveC1pbnB1dC13aWR0aDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94X19pbnB1dF9fd2lkdGgpO1xcbiRib3gtaW5wdXQtbWluLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3hfX2lucHV0X19taW4td2lkdGgpO1xcbiRib3gtcGxhY2Vob2xkZXItY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveF9fcGxhY2Vob2xkZXJfX2NvbG9yKTtcXG5cXG4vLyBGb3JtIGZpZWxkczogYm94IGZpZWxkcywgY29tcG9uZW50IHNwZWNpZmljXFxuJGJveC1zZWxlY3QtY2FyZXQtYm9yZGVyLXN0eWxlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLXNlbGVjdF9fY2FyZXRfX2JvcmRlci1zdHlsZSk7XFxuJGJveC1zZWxlY3QtY2FyZXQtYmFja2dyb3VuZDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zZWxlY3RfX2NhcmV0X19iYWNrZ3JvdW5kKTtcXG4kYm94LXNlbGVjdC1vcHRpb24tZGlzYWJsZWQtY29sb3I6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tc2VsZWN0X19vcHRpb24tLWRpc2FibGVkX19jb2xvcik7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGJveCBmaWVsZCBzaXplc1xcbiRib3gtc2l6ZXM6IChcXG4gICAgc21hbGw6IChcXG4gICAgICAgIGhlaWdodDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zbWFsbF9faGVpZ2h0KSxcXG4gICAgICAgIHBhZGRpbmcteTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zbWFsbF9fcGFkZGluZy15KSxcXG4gICAgICAgIHBhZGRpbmcteDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zbWFsbF9fcGFkZGluZy14KSxcXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1zbWFsbF9fZm9udC1zaXplKSxcXG4gICAgKSxcXG4gICAgbWVkaXVtOiAoXFxuICAgICAgICBoZWlnaHQ6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19oZWlnaHQpLFxcbiAgICAgICAgcGFkZGluZy15OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLW1lZGl1bV9fcGFkZGluZy15KSxcXG4gICAgICAgIHBhZGRpbmcteDogdmFyKC0tcnVpLUZvcm1GaWVsZC0tYm94LS1tZWRpdW1fX3BhZGRpbmcteCksXFxuICAgICAgICBmb250LXNpemU6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWJveC0tbWVkaXVtX19mb250LXNpemUpLFxcbiAgICApLFxcbiAgICBsYXJnZTogKFxcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWxhcmdlX19oZWlnaHQpLFxcbiAgICAgICAgcGFkZGluZy15OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWxhcmdlX19wYWRkaW5nLXkpLFxcbiAgICAgICAgcGFkZGluZy14OiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWxhcmdlX19wYWRkaW5nLXgpLFxcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1ib3gtLWxhcmdlX19mb250LXNpemUpLFxcbiAgICApLFxcbik7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGNoZWNrIGZpZWxkc1xcbiRjaGVjay1pbnB1dC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXRfX3NpemUpO1xcbiRjaGVjay1pbnB1dC1ib3JkZXItd2lkdGg6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dF9fYm9yZGVyLXdpZHRoKTtcXG4kY2hlY2staW5wdXQtZm9jdXMtYm94LXNoYWRvdzogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS1mb2N1c19fYm94LXNoYWRvdyk7XFxuJGNoZWNrLXRhcC10YXJnZXQtc2l6ZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX3RhcC10YXJnZXQtc2l6ZSk7XFxuXFxuLy8gRm9ybSBmaWVsZHM6IGNoZWNrIGZpZWxkcywgY29tcG9uZW50IHNwZWNpZmljXFxuJGNoZWNrLWlucHV0LWNoZWNrYm94LWJvcmRlci1yYWRpdXM6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tY2hlY2tib3hfX2JvcmRlci1yYWRpdXMpO1xcbiRjaGVjay1pbnB1dC1jaGVja2JveC1jaGVja2VkLWJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tY2hlY2tib3gtLWNoZWNrZWRfX2JhY2tncm91bmQtaW1hZ2UpO1xcbiRjaGVjay1pbnB1dC1yYWRpby1ib3JkZXItcmFkaXVzOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXJhZGlvX19ib3JkZXItcmFkaXVzKTtcXG4kY2hlY2staW5wdXQtcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXJhZGlvLS1jaGVja2VkX19iYWNrZ3JvdW5kLWltYWdlKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLXdpZHRoOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZV9fd2lkdGgpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtYm9yZGVyLXJhZGl1czogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGVfX2JvcmRlci1yYWRpdXMpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtYmFja2dyb3VuZC1zaXplOiB2YXIoLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZV9fYmFja2dyb3VuZC1zaXplKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWRlZmF1bHQtYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tY2hlY2tfX2lucHV0LS10b2dnbGUtLWRlZmF1bHRfX2JhY2tncm91bmQtaW1hZ2UpO1xcbiRjaGVjay1pbnB1dC10b2dnbGUtZGVmYXVsdC1iYWNrZ3JvdW5kLXBvc2l0aW9uOlxcbiAgICB2YXIoXFxuICAgICAgICAtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlLS1kZWZhdWx0X19iYWNrZ3JvdW5kLXBvc2l0aW9uXFxuICAgICk7XFxuJGNoZWNrLWlucHV0LXRvZ2dsZS1jaGVja2VkLWJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXJ1aS1Gb3JtRmllbGQtLWNoZWNrX19pbnB1dC0tdG9nZ2xlLS1jaGVja2VkX19iYWNrZ3JvdW5kLWltYWdlKTtcXG4kY2hlY2staW5wdXQtdG9nZ2xlLWNoZWNrZWQtYmFja2dyb3VuZC1wb3NpdGlvbjpcXG4gICAgdmFyKFxcbiAgICAgICAgLS1ydWktRm9ybUZpZWxkLS1jaGVja19faW5wdXQtLXRvZ2dsZS0tY2hlY2tlZF9fYmFja2dyb3VuZC1wb3NpdGlvblxcbiAgICApO1xcblwiLFwiLy8gMS4gSW5wdXQgYGxpbmUtaGVpZ2h0YCBpcyBzcGVjaWZpZWQgaW4gYHJlbWAgc28gaW5wdXRzIGRvIG5vdCBicmVhayB3aGVuIHRoZWlyIGZvbnQgc2l6ZSBnZXRzXFxuLy8gICAgY2hhbmdlZCBsYXRlci5cXG5cXG5AdXNlIFxcXCJzYXNzOm1hcFxcXCI7XFxuQHVzZSBcXFwiLi4vdGhlbWUvdHlwb2dyYXBoeVxcXCI7XFxuQHVzZSBcXFwiLi4vdG9vbHMvc3BhY2luZ1xcXCI7XFxuXFxuJGhlbHAtdGV4dC1saW5lLWhlaWdodDogMS4ycmVtO1xcblxcbiR2ZXJ0aWNhbC1pbm5lci1nYXA6IHNwYWNpbmcub2YoMSk7XFxuJHZlcnRpY2FsLWlubmVyLWdhcC1sYXJnZTogc3BhY2luZy5vZigyKTtcXG4kdmVydGljYWwtb3V0ZXItc3BhY2luZzogc3BhY2luZy5vZigyKTtcXG5cXG4kaG9yaXpvbnRhbC1pbm5lci1nYXA6IHNwYWNpbmcub2YoMik7XFxuJGhvcml6b250YWwtb3V0ZXItc3BhY2luZzogc3BhY2luZy5vZigyKTtcXG5cXG4kYm94LWlucHV0LWZvbnQtZmFtaWx5OiB0eXBvZ3JhcGh5LiRmb250LWZhbWlseS1iYXNlO1xcbiRib3gtaW5wdXQtZm9udC13ZWlnaHQ6IG1hcC5nZXQodHlwb2dyYXBoeS4kZm9udC13ZWlnaHQtdmFsdWVzLCBkZWZhdWx0KTtcXG4kYm94LWlucHV0LWxpbmUtaGVpZ2h0OiAxLjVyZW07IC8vIDEuXFxuJGJveC1maWVsZC1jYXJldC1zaXplOiAyLjI1cmVtO1xcbiRib3gtZmllbGQtaW5wdXQtbnVtYmVyLWFycm93cy13aWR0aDogMS41cmVtO1xcbiRib3gtZmllbGQtYm90dG9tLWxpbmUtaGVpZ2h0OiAycHg7XFxuXFxuJGlubGluZS1maWVsZC1pbm5lci1nYXA6IHNwYWNpbmcub2YoMik7XFxuXFxuJHRoZW1lYWJsZS12YXJpYW50LXN0YXRlczogKFxcbiAgICBib3g6IChcXG4gICAgICAgIGZpbGxlZDogKGRlZmF1bHQsIGhvdmVyLCBmb2N1cywgZGlzYWJsZWQpLFxcbiAgICAgICAgb3V0bGluZTogKGRlZmF1bHQsIGhvdmVyLCBmb2N1cywgZGlzYWJsZWQpLFxcbiAgICApLFxcbiAgICBjaGVjazogKFxcbiAgICAgICAgZGVmYXVsdDogKGRlZmF1bHQsIGNoZWNrZWQsIGRpc2FibGVkLCBjaGVja2VkLWRpc2FibGVkKSxcXG4gICAgKSxcXG4gICAgY3VzdG9tOiAoXFxuICAgICAgICBkZWZhdWx0OiAoZGVmYXVsdCwgZGlzYWJsZWQpLFxcbiAgICApLFxcbiAgICB2YWxpZGF0aW9uOiAoXFxuICAgICAgICBpbnZhbGlkOiAoZGVmYXVsdCwgY2hlY2tlZCwgZGlzYWJsZWQsIGNoZWNrZWQtZGlzYWJsZWQpLFxcbiAgICAgICAgdmFsaWQ6IChkZWZhdWx0LCBjaGVja2VkLCBkaXNhYmxlZCwgY2hlY2tlZC1kaXNhYmxlZCksXFxuICAgICAgICB3YXJuaW5nOiAoZGVmYXVsdCwgY2hlY2tlZCwgZGlzYWJsZWQsIGNoZWNrZWQtZGlzYWJsZWQpLFxcbiAgICApLFxcbik7XFxuXFxuJHRoZW1lYWJsZS1zdGF0ZS1wcm9wZXJ0aWVzOiAoXFxuICAgIGRlZmF1bHQ6IChjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93LCBzdXJyb3VuZGluZy10ZXh0LWNvbG9yKSxcXG4gICAgaG92ZXI6IChjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLCBib3gtc2hhZG93KSxcXG4gICAgZm9jdXM6IChjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLCBjaGVjay1iYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93KSxcXG4gICAgY2hlY2tlZDogKGJvcmRlci1jb2xvciwgY2hlY2stYmFja2dyb3VuZC1jb2xvciksXFxuICAgIGRpc2FibGVkOiAoY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZCwgY2hlY2stYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdywgc3Vycm91bmRpbmctdGV4dC1jb2xvciksXFxuICAgIGNoZWNrZWQtZGlzYWJsZWQ6IChib3JkZXItY29sb3IsIGNoZWNrLWJhY2tncm91bmQtY29sb3IpLFxcbik7XFxuXCIsXCIkZm9udC13ZWlnaHQtdmFsdWVzOiAoXFxuICAgIGxpZ2h0OiB2YXIoLS1ydWktZm9udC13ZWlnaHQtbGlnaHQpLFxcbiAgICBkZWZhdWx0OiB2YXIoLS1ydWktZm9udC13ZWlnaHQtYmFzZSksXFxuICAgIGJvbGQ6IHZhcigtLXJ1aS1mb250LXdlaWdodC1ib2xkKSxcXG4pO1xcblxcbiRmb250LXdlaWdodC1iYXNlOiB2YXIoLS1ydWktZm9udC13ZWlnaHQtYmFzZSk7XFxuXFxuJGZvbnQtc2l6ZS12YWx1ZXM6IChcXG4gICAgMTogdmFyKC0tcnVpLWZvbnQtc2l6ZS0xKSxcXG4gICAgMjogdmFyKC0tcnVpLWZvbnQtc2l6ZS0yKSxcXG4gICAgMzogdmFyKC0tcnVpLWZvbnQtc2l6ZS0zKSxcXG4gICAgNDogdmFyKC0tcnVpLWZvbnQtc2l6ZS00KSxcXG4gICAgNTogdmFyKC0tcnVpLWZvbnQtc2l6ZS01KSxcXG4gICAgNjogdmFyKC0tcnVpLWZvbnQtc2l6ZS02KSxcXG4pO1xcblxcbiRmb250LXNpemUtYmFzZTogdmFyKC0tcnVpLWZvbnQtc2l6ZS1iYXNlKTtcXG4kZm9udC1zaXplLXNtYWxsOiB2YXIoLS1ydWktZm9udC1zaXplLXNtYWxsKTtcXG4kZm9udC1zaXplLXNtYWxsZXI6IHZhcigtLXJ1aS1mb250LXNpemUtc21hbGxlcik7XFxuXFxuJGZvbnQtZmFtaWx5LWJhc2U6IHZhcigtLXJ1aS1mb250LWZhbWlseS1iYXNlKTtcXG5cXG4kbGluZS1oZWlnaHQtYmFzZTogdmFyKC0tcnVpLWxpbmUtaGVpZ2h0LWJhc2UpO1xcbiRsaW5lLWhlaWdodC1zbWFsbDogdmFyKC0tcnVpLWxpbmUtaGVpZ2h0LXNtYWxsKTtcXG5cIixcIi8vIDEuIER1ZSB0byBjb21wbGV4aXR5LCBpdCdzIGVhc2llciBhbmQgc2FmZXIgdG8gcmVzb2x2ZSB2YXJpYW50IGN1c3RvbSBwcm9wZXJ0aWVzIGR5bmFtaWNhbGx5IHdpdGhcXG4vLyAgICBhIG1peGluLiBUaGlzIHdheSBpdCdzIGFsc28gZWFzaWVyIHRvIG1ha2UgdGhlbWluZyBhZGp1c3RtZW50cyB0byBhbGwgc3VwcG9ydGVkIG1vZGlmaWNhdGlvbnNcXG4vLyAgICBpbiBvbmUgcGxhY2UuIEdlbmVyYXRlZCBjdXN0b20gcHJvcGVydGllcyBhcmUgY29uc3VtZWQgbWFpbmx5IGluIGZvdW5kYXRpb24gZmllbGQgc3R5bGVzIChzZWVcXG4vLyAgICBgdG9vbHMvZm9ybS1maWVsZHMvX2ZvdW5kYXRpb24uc2Nzc2AgZm9yIG1vcmUpLlxcbi8vXFxuLy8gMi4gSW50ZXJhY3Rpb24gc3RhdGVzIG90aGVyIHRoYW4gYGRlZmF1bHRgIGRlZmF1bHQgdG8gdGhlIGBkZWZhdWx0YCAoc2ljISkgc3RhdGUgYXBwZWFyYW5jZSBpZlxcbi8vICAgIGNvcnJlc3BvbmRpbmcgY3VzdG9tIHByb3BlcnRpZXMgYXJlIG5vdCBwcm92aWRlZC5cXG4vL1xcbi8vIDMuIGAuaW5wdXQ6Zm9jdXNgIGlzIGFkZGVkIGp1c3QgaW4gY2FzZSBgOmZvY3VzLXdpdGhpbmAgZG9lc24ndCB3b3JrLlxcblxcbkB1c2UgXFxcInNhc3M6bGlzdFxcXCI7XFxuQHVzZSBcXFwic2FzczptYXBcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm0tZmllbGRzXFxcIiBhcyBzZXR0aW5ncztcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuXFxuQG1peGluIF9kaXNhYmxlZC1zdGF0ZSgpIHtcXG4gICAgb3BhY2l0eTogdGhlbWUuJGRpc2FibGVkLW9wYWNpdHk7XFxuICAgIGN1cnNvcjogdGhlbWUuJGRpc2FibGVkLWN1cnNvcjtcXG59XFxuXFxuLy8gMS5cXG5AbWl4aW4gX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgJHN0YXRlKSB7XFxuICAgIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cyhtYXAuZ2V0KHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMsICR0eXBlKSksICR2YXJpYW50KSB7XFxuICAgICAgICBAZXJyb3IgXFxcIkludmFsaWQgdmFyaWFudCBzcGVjaWZpZWQhICN7JHZhcmlhbnR9IGRvZXNuJ3QgZXhpc3QuIFxcXCJcXG4gICAgICAgICAgICArIFxcXCJDaG9vc2Ugb25lIG9mICN7bWFwLmtleXMobWFwLmdldChzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzLCAkdHlwZSkpfS5cXFwiO1xcbiAgICB9XFxuXFxuICAgIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXN0YXRlLXByb3BlcnRpZXMpLCAkc3RhdGUpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiSW52YWxpZCBzdGF0ZSBzcGVjaWZpZWQhICN7JHN0YXRlfSBkb2Vzbid0IGV4aXN0LiBcXFwiXFxuICAgICAgICAgICAgKyBcXFwiQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKHNldHRpbmdzLiR0aGVtZWFibGUtc3RhdGUtcHJvcGVydGllcyl9LlxcXCI7XFxuICAgIH1cXG5cXG4gICAgJHByb3BlcnRpZXM6IG1hcC5nZXQoc2V0dGluZ3MuJHRoZW1lYWJsZS1zdGF0ZS1wcm9wZXJ0aWVzLCAkc3RhdGUpO1xcbiAgICAkaW5maXg6ICR0eXBlO1xcbiAgICAkZmFsbGJhY2stc3RhdGU6IFxcXCJkZWZhdWx0XFxcIjtcXG5cXG4gICAgQGlmICR0eXBlID09IFxcXCJ2YWxpZGF0aW9uXFxcIiB7XFxuICAgICAgICAkaW5maXg6ICR2YXJpYW50O1xcbiAgICB9XFxuXFxuICAgIEBpZiAkdHlwZSAhPSBcXFwidmFsaWRhdGlvblxcXCIgYW5kICR2YXJpYW50ICE9IFxcXCJkZWZhdWx0XFxcIiB7XFxuICAgICAgICAkaW5maXg6ICN7JHR5cGV9LS0jeyR2YXJpYW50fTtcXG4gICAgfVxcblxcbiAgICBAaWYgJHN0YXRlID09IFxcXCJjaGVja2VkLWRpc2FibGVkXFxcIiB7XFxuICAgICAgICAkZmFsbGJhY2stc3RhdGU6IFxcXCJjaGVja2VkXFxcIjtcXG4gICAgfVxcblxcbiAgICBAaWYgJHN0YXRlID09IFxcXCJkZWZhdWx0XFxcIiB7XFxuICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xcbiAgICAgICAgICAgIC0tcnVpLWxvY2FsLSN7JHByb3BlcnR5fTogdmFyKC0tcnVpLUZvcm1GaWVsZC0tI3skaW5maXh9LS0jeyRzdGF0ZX1fXyN7JHByb3BlcnR5fSk7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgLy8gMi5cXG4gICAgQGVsc2Uge1xcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcXG4gICAgICAgICAgICAtLXJ1aS1sb2NhbC0jeyRwcm9wZXJ0eX06XFxuICAgICAgICAgICAgICAgIHZhcihcXG4gICAgICAgICAgICAgICAgICAgIC0tcnVpLUZvcm1GaWVsZC0tI3skaW5maXh9LS0jeyRzdGF0ZX1fXyN7JHByb3BlcnR5fSxcXG4gICAgICAgICAgICAgICAgICAgIHZhcigtLXJ1aS1Gb3JtRmllbGQtLSN7JGluZml4fS0tI3skZmFsbGJhY2stc3RhdGV9X18jeyRwcm9wZXJ0eX0pXFxuICAgICAgICAgICAgICAgICk7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIF9nZXQtdGhlbWUoJHR5cGUsICR2YXJpYW50KSB7XFxuICAgIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzKSwgJHR5cGUpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiSW52YWxpZCB0eXBlIHNwZWNpZmllZCEgI3skdHlwZX0gZG9lc24ndCBleGlzdC4gXFxcIlxcbiAgICAgICAgICAgICsgXFxcIkNob29zZSBvbmUgb2YgI3ttYXAua2V5cyhzZXR0aW5ncy4kdGhlbWVhYmxlLXZhcmlhbnQtc3RhdGVzKX0uXFxcIjtcXG4gICAgfVxcblxcbiAgICAkdGhlbWVhYmxlLXN0YXRlczogbWFwLmdldChtYXAuZ2V0KHNldHRpbmdzLiR0aGVtZWFibGUtdmFyaWFudC1zdGF0ZXMsICR0eXBlKSwgJHZhcmlhbnQpO1xcblxcbiAgICBAaWYgbGlzdC5pbmRleCgkdGhlbWVhYmxlLXN0YXRlcywgXFxcImhvdmVyXFxcIikge1xcbiAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImRlZmF1bHRcXFwiKTtcXG5cXG4gICAgICAgICY6aG92ZXIge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJob3ZlclxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9IEBlbHNlIHtcXG4gICAgICAgICYsXFxuICAgICAgICAmOmhvdmVyIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiZGVmYXVsdFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiZm9jdXNcXFwiKSB7XFxuICAgICAgICAvLyAzLlxcbiAgICAgICAgJjpmb2N1cy13aXRoaW4sXFxuICAgICAgICAmOmZvY3VzLXdpdGhpbjpob3ZlcixcXG4gICAgICAgIC5pbnB1dDpmb2N1cyB7XFxuICAgICAgICAgICAgQGluY2x1ZGUgX2dlbmVyYXRlLWN1c3RvbS1wcm9wZXJ0aWVzKCR0eXBlLCAkdmFyaWFudCwgXFxcImZvY3VzXFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJjaGVja2VkXFxcIikge1xcbiAgICAgICAgLmlucHV0OmNoZWNrZWQge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJjaGVja2VkXFxcIik7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgQGlmIGxpc3QuaW5kZXgoJHRoZW1lYWJsZS1zdGF0ZXMsIFxcXCJkaXNhYmxlZFxcXCIpIHtcXG4gICAgICAgICYuaXNSb290RGlzYWJsZWQge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9nZW5lcmF0ZS1jdXN0b20tcHJvcGVydGllcygkdHlwZSwgJHZhcmlhbnQsIFxcXCJkaXNhYmxlZFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiBsaXN0LmluZGV4KCR0aGVtZWFibGUtc3RhdGVzLCBcXFwiY2hlY2tlZC1kaXNhYmxlZFxcXCIpIHtcXG4gICAgICAgIC5pbnB1dDpjaGVja2VkOmRpc2FibGVkIHtcXG4gICAgICAgICAgICBAaW5jbHVkZSBfZ2VuZXJhdGUtY3VzdG9tLXByb3BlcnRpZXMoJHR5cGUsICR2YXJpYW50LCBcXFwiY2hlY2tlZC1kaXNhYmxlZFxcXCIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiB2aXN1YWwoJHR5cGUsICR2YXJpYW50OiBcXFwiZGVmYXVsdFxcXCIsICRoYXMtY2FyZXQ6IGZhbHNlKSB7XFxuICAgIEBpbmNsdWRlIF9nZXQtdGhlbWUoJHR5cGUsICR2YXJpYW50KTtcXG5cXG4gICAgLmlucHV0OmRpc2FibGVkIHtcXG4gICAgICAgIEBpbmNsdWRlIF9kaXNhYmxlZC1zdGF0ZSgpO1xcbiAgICB9XFxuXFxuICAgIEBpZiAkdHlwZSA9PSBcXFwiYm94XFxcIiBhbmQgJHZhcmlhbnQgPT0gXFxcImZpbGxlZFxcXCIge1xcbiAgICAgICAgLmlucHV0IHtcXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBpZiAkdHlwZSA9PSBcXFwiYm94XFxcIiBhbmQgJHZhcmlhbnQgPT0gXFxcIm91dGxpbmVcXFwiIGFuZCAkaGFzLWNhcmV0IHtcXG4gICAgICAgIC5jYXJldCB7XFxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRoZW1lLiRib3gtYm9yZGVyLXdpZHRoIHRoZW1lLiRib3gtc2VsZWN0LWNhcmV0LWJvcmRlci1zdHlsZSB2YXIoLS1ydWktbG9jYWwtYm9yZGVyLWNvbG9yKTtcXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0aGVtZS4kYm94LXNlbGVjdC1jYXJldC1iYWNrZ3JvdW5kO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3REaXNhYmxlZCAuY2FyZXQge1xcbiAgICAgICAgICAgIEBpbmNsdWRlIF9kaXNhYmxlZC1zdGF0ZSgpO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiB2YWxpZGF0aW9uKCR2YXJpYW50KSB7XFxuICAgIEBpbmNsdWRlIF9nZXQtdGhlbWUodmFsaWRhdGlvbiwgJHZhcmlhbnQpO1xcbn1cXG5cIixcIi8vIDEuIFNjcmVlbiByZWFkZXJzIG9ubHksIGluc3BpcmVkIGJ5IEJvb3RzdHJhcC5cXG4vLyAgICBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2Nzc1xcbi8vXFxuLy8gMi4gTWFrZSB0YXAgdGFyZ2V0IGJpZyBlbm91Z2ggdG8gaW1wcm92ZSBhY2Nlc3NpYmlsaXR5IG9uIHRvdWNoIHNjcmVlbnMuXFxuXFxuQHVzZSBcXFwiLi4vdGhlbWUvYWNjZXNzaWJpbGl0eVxcXCIgYXMgdGhlbWU7XFxuXFxuLy8gMS5cXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHdpZHRoOiAxcHg7XFxuICAgIGhlaWdodDogMXB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgICBib3JkZXI6IDA7XFxufVxcblxcbkBtaXhpbiB1bmhpZGUtdGV4dCgpIHtcXG4gICAgcG9zaXRpb246IHVuc2V0O1xcbiAgICB3aWR0aDogdW5zZXQ7XFxuICAgIGhlaWdodDogdW5zZXQ7XFxuICAgIG92ZXJmbG93OiB1bnNldDtcXG4gICAgY2xpcDogdW5zZXQ7XFxuICAgIHdoaXRlLXNwYWNlOiB1bnNldDtcXG59XFxuXFxuLy8gMi5cXG5AbWl4aW4gbWluLXRhcC10YXJnZXQoJHNpemU6IHRoZW1lLiR0YXAtdGFyZ2V0LXNpemUsICRjZW50ZXI6IHRydWUpIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcblxcbiAgICAmOjpiZWZvcmUge1xcbiAgICAgICAgY29udGVudDogXFxcIlxcXCI7XFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgICB3aWR0aDogJHNpemU7XFxuICAgICAgICBoZWlnaHQ6ICRzaXplO1xcblxcbiAgICAgICAgQGlmICRjZW50ZXIge1xcbiAgICAgICAgICAgIHRvcDogNTAlO1xcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cXG5AbWl4aW4gZm9jdXMtcmluZygpIHtcXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcXG4gICAgICAgIG91dGxpbmU6IHRoZW1lLiRmb2N1cy1vdXRsaW5lO1xcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IHRoZW1lLiRmb2N1cy1vdXRsaW5lLW9mZnNldDtcXG4gICAgICAgIGJveC1zaGFkb3c6IHRoZW1lLiRmb2N1cy1ib3gtc2hhZG93O1xcbiAgICB9XFxufVxcblwiLFwiLy8gMS4gIElubGluZSBmb3JtIGZpZWxkcyBhbmQgZmllbGRzIHdpdGggdmVydGljYWwgbGF5b3V0IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyB0aGV5IG5lZWQuIExhYmVsc1xcbi8vICAgICBkbyBub3Qgd3JhcCB1bnRpbCBmb3JjZWQgYnkgY29udGFpbmVyIG9mIHRoZSBmaWVsZC4gTWluIGFuZCBtYXggbGltaXRzIG1ha2UgZXh0cmEgbG9uZyB3b3Jkc1xcbi8vICAgICBicmVhayBpZiBuZWNlc3NhcnkuXFxuLy9cXG4vLyAyLiAgRm9ybSBmaWVsZHMgaW4gaG9yaXpvbnRhbCBsYXlvdXQgYWxzbyB0YWtlIHVwIG9ubHkgYXMgbXVjaCBzcGFjZSBhcyB0aGV5IG5lZWQuIExhYmVscyBkbyBub3RcXG4vLyAgICAgd3JhcCB1bnRpbCBsYWJlbCB3aWR0aCBsaW1pdCBpcyByZWFjaGVkICg1MCAlIG9mIGF2YWlsYWJsZSBob3Jpem9udGFsIHNwYWNlIGJ5IGRlZmF1bHQpLlxcbi8vXFxuLy8gMy4gIEhlbHAgdGV4dHMgYW5kIHZhbGlkYXRpb24gbWVzc2FnZXMgYXJlIGFsaWduZWQgYmVsb3cgaW5wdXQgYW5kIHdyYXBwZWQuIFRoZWlyIHdpZHRoIGlzIGFsd2F5c1xcbi8vICAgICBsaW1pdGVkIHRvIHRoZSB3aWR0aCBvZiB0aGUgaW5wdXQgZmllbGQgc28gdGhleSBkb24ndCBzaGlmdCBhZGphY2VudCBlbGVtZW50cyB3aGVuIHRoZXkgc2hvd1xcbi8vICAgICB1cC4gVGhpcyBhcHBsaWVzIHVubGVzcyB0aGUgZmllbGQgaXMgaW5zaWRlIEZvcm1MYXlvdXQgKHNlZSAxMCkuXFxuLy9cXG4vLyA0LiAgRGVmaW5lIGdyaWQgc3BhY2luZyBhcyBwYWRkaW5nIG9mIGNoaWxkIGVsZW1lbnRzIGJlY2F1c2UgZ3JpZCBhcmVhcyBtYWtlIHJvdyBhbmQgY29sdW1uIGdhcHNcXG4vLyAgICAgc2hvdyB1cCBldmVuIHdoZW4gbm90IG5lY2Vzc2FyeS5cXG4vL1xcbi8vIDUuICBXaGVuIGlucHV0IHNpemUgaXMgc21hbGwgYW5kIGZvcm0gZmllbGQgbGF5b3V0IGlzIHNldCB0byBob3Jpem9udGFsLCBleHBhbmQgaGVscCB0ZXh0IGFuZFxcbi8vICAgICB2YWxpZGF0aW9uIG1lc3NhZ2Ugb3ZlciBmdWxsIGZvcm0gZmllbGQgd2lkdGggdG8gaW1wcm92ZSB0aGVpciByZWFkYWJpbGl0eS4gT3RoZXJ3aXNlIHRoZVxcbi8vICAgICB0ZXh0IHdvdWxkIGJlIHBhY2tlZCBpbnRvIGEgdmVyeSBuYXJyb3cgY29sdW1uIGFuZCBoYXJkIHRvIHJlYWQuIFRvIHByZXZlbnQgaGVscCB0ZXh0IGFuZFxcbi8vICAgICB2YWxpZGF0aW9uIG1lc3NhZ2UgZnJvbSBncm93aW5nIHRoZSBsYXlvdXQgbW9yZSB0aGFuIG5lY2Vzc2FyeSAoaWUuIHRoZSBzaXplIHdpdGhvdXRcXG4vLyAgICAgaGVscC92YWxpZGF0aW9uIHRleHQpLCBgbWluLWNvbnRlbnRgIGdyaWQgc2l6aW5nIG11c3QgYmUgdXNlZCBhbG9uZyB3aXRoIGRpc2FibGVkIHdyYXBwaW5nIG9mXFxuLy8gICAgIGxhYmVsLlxcbi8vXFxuLy8gNi4gIEZ1bGwtd2lkdGggaG9yaXpvbnRhbCBmb3JtIGZpZWxkcyBwcmVmZXIgbm90IHdyYXBwaW5nIHRoZSBsYWJlbCB1bnRpbCBhIGxpbWl0IGlzIHJlYWNoZWRcXG4vLyAgICAgKDUwICUgb2YgYXZhaWxhYmxlIGhvcml6b250YWwgc3BhY2UgYnkgZGVmYXVsdCwgc2FtZSBhcyBpbiAyLikuXFxuLy9cXG4vLyA3LiAgSnVzdGlmeSBpbnB1dHMgdG8gYHN0YXJ0YCBpbiBob3Jpem9udGFsIGxheW91dHMgdG8gZml4IHBvc2l0aW9uaW5nIGlzc3VlcyB3aXRoIFNlbGVjdCBGaWVsZHMuXFxuLy8gICAgIFJldmVydGVkIGZvciBmdWxsLXdpZHRoIGZpZWxkcy5cXG4vL1xcbi8vIDguICBHcmlkIHNldHRpbmdzIGFyZSBpbmhlcml0ZWQgZnJvbSBob3Jpem9udGFsIEZvcm1MYXlvdXQgYW5kIGFwcGxpZWQgdXNpbmcgYHN1YmdyaWRgLlxcbi8vICAgICBBIGZhbGxiYWNrIGlzIHN1cHBsaWVkIHRvIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBgc3ViZ3JpZGAgeWV0Llxcbi8vXFxuLy8gICAgIENocm9tZSAxMTcrIHN1cHBvcnRzIGBzdWJncmlkYCBidXQgaXQgZG9lc24ndCB3b3JrIGZvciBgPGZpZWxkc2V0PmAuIFRoaXMgaXMgd2h5IHdlIGFsd2F5c1xcbi8vICAgICB1c2UgdGhlIGZhbGxiYWNrIGZvciBgPGZpZWxkc2V0PmAuXFxuLy9cXG4vLyAgICAgaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9MTQ3MzI0Mlxcbi8vICAgICBodHRwczovL2dpdGh1Yi5jb20vcmVhY3QtdWktb3JnL3JlYWN0LXVpL2lzc3Vlcy8yMzJcXG4vL1xcbi8vIDkuICBIZWxwIHRleHRzIGFuZCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGNhbiB0YWtlIHVwIGZ1bGwgd2lkdGggb2YgRm9ybUxheW91dC4gVGhlcmUgaXMgbm8gcmVhc29uXFxuLy8gICAgIHRvIG1ha2UgdGhlbSB3cmFwIGFzIHRoZXkgY2Fubm90IGJyZWFrIGxheW91dCBvZiBGb3JtTGF5b3V0Llxcbi8vXFxuLy8gMTAuIFZpc3VhbGx5IGFsaWduIGxhYmVsIHRvIGlucHV0IGJhc2VsaW5lLiBBY2hpZXZlZCB3aXRoIGBwYWRkaW5nLXRvcGAgYW5kIGBwYWRkaW5nLWJvdHRvbWAgZHVlXFxuLy8gICAgIHRvIHR3byByZWFzb25zOlxcbi8vXFxuLy8gICAgICogYGFsaWduLWl0ZW1zOiBiYXNlbGluZWAgZG9lc24ndCB3b3JrIGZvciBibGFuayB0ZXh0IGlucHV0cyBpbiBTYWZhcmkuIFNlZVxcbi8vICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyOTY4IGFuZFxcbi8vICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vcmVhY3QtdWktb3JnL3JlYWN0LXVpL2lzc3Vlcy8yNjUuXFxuLy9cXG4vLyAgICAgKiBgYWxpZ24taXRlbXM6IGJhc2VsaW5lYCBkb2Vzbid0IGFsbG93IHN1YnNlcXVlbnQgdmVydGljYWwgY2VudGVyaW5nIG9mIHRhbGwgaW5wdXRzIGFuZC9vclxcbi8vICAgICAgICBtdWx0aWxpbmUgbGFiZWxzIChzZWUgYHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXZlcnRpY2FsLWFsaWdubWVudGAgYW5kXFxuLy8gICAgICAgIGB0aGVtZS4kaG9yaXpvbnRhbC1maWVsZC12ZXJ0aWNhbC1hbGlnbm1lbnRgKS5cXG4vL1xcbi8vIDExLiBSZXNldCBgd2lkdGhgIHByZXZpb3VzbHkgc2V0IGJ5IGlubGluZSBmaWVsZCBsYXlvdXQgKHNlZSBgX2lubGluZS1maWVsZC1sYXlvdXQuc2Nzc2ApLlxcbi8vXFxuLy8gMTIuIE1ha2UgZmllbGRzIGp1c3QgYXMgd2lkZSBhcyBuZWNlc3NhcnkuIEZpZWxkcyBzaG91bGQgYmUgaW50ZXJhY3RpdmUgb25seSB3aGVyZSB0aGVpciB2aXNpYmxlXFxuLy8gICAgIGNvbnRlbnQgaXMuXFxuLy9cXG4vLyAxMy4gTGFiZWwgYW5kIGZpZWxkIGFyZSB2ZXJ0aWNhbGx5IGFsaWduZWQgdG8gdG9wIChzdGFydCkgYnkgZGVmYXVsdCAoc2VlIDEwLikuIFZlcnRpY2FsXFxuLy8gICAgIGFsaWdubWVudCBvZiBlYWNoIGJsb2NrIGNhbiBiZSBjaGFuZ2VkIGJ5IHRoZW1lIGNvbmZpZ3VyYXRpb24uXFxuXFxuQHVzZSBcXFwiLi4vLi4vc2V0dGluZ3MvZm9ybXNcXFwiO1xcbkB1c2UgXFxcIi4uLy4uL3NldHRpbmdzL2Zvcm0tZmllbGRzXFxcIiBhcyBzZXR0aW5ncztcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuQHVzZSBcXFwiLi4vLi4vdGhlbWUvdHlwb2dyYXBoeVxcXCI7XFxuQHVzZSBcXFwiLi4vYnJlYWtwb2ludFxcXCI7XFxuXFxuQG1peGluIHZlcnRpY2FsKCRoYXMtbGlzdDogZmFsc2UpIHtcXG4gICAgQGlmICRoYXMtbGlzdCB7XFxuICAgICAgICAtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXA6ICN7c2V0dGluZ3MuJHZlcnRpY2FsLWlubmVyLWdhcC1sYXJnZX07XFxuICAgIH1cXG5cXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IC8vIDEuXFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIG1pbi13aWR0aDogMDsgLy8gMS5cXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxLlxcblxcbiAgICAubGFiZWwge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXJ1aS1sb2NhbC12ZXJ0aWNhbC1nYXAsICN7c2V0dGluZ3MuJHZlcnRpY2FsLWlubmVyLWdhcH0pO1xcbiAgICB9XFxuXFxuICAgIC5oZWxwVGV4dCxcXG4gICAgLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1ydWktbG9jYWwtdmVydGljYWwtZ2FwLCAje3NldHRpbmdzLiR2ZXJ0aWNhbC1pbm5lci1nYXB9KTtcXG4gICAgfVxcblxcbiAgICAuZmllbGQge1xcbiAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50OyAvLyAzLlxcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAzLlxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBob3Jpem9udGFsKCRoYXMtbWluLXRhcC10YXJnZXQ6IGZhbHNlKSB7XFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZm9ybXMuJGhvcml6b250YWwtYnJlYWtwb2ludCkge1xcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWdyaWQ7IC8vIDIuXFxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHRoZW1lLiRob3Jpem9udGFsLWxhYmVsLXdpZHRoIG1pbi1jb250ZW50OyAvLyAyLlxcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXFxcImxhYmVsIGZpZWxkXFxcIjtcXG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDsgLy8gMTAuLCAxMy5cXG5cXG4gICAgICAgIC5sYWJlbCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBsYWJlbDtcXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiB0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC12ZXJ0aWNhbC1hbGlnbm1lbnQ7IC8vIDEzLlxcbiAgICAgICAgICAgIG1pbi13aWR0aDogdGhlbWUuJGhvcml6b250YWwtbGFiZWwtbWluLXdpZHRoO1xcblxcbiAgICAgICAgICAgIC8vIDEwLlxcbiAgICAgICAgICAgIEBpZiAkaGFzLW1pbi10YXAtdGFyZ2V0IHtcXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6XFxuICAgICAgICAgICAgICAgICAgICBjYWxjKFxcbiAgICAgICAgICAgICAgICAgICAgICAgICgje3RoZW1lLiRjaGVjay10YXAtdGFyZ2V0LXNpemV9IC0gMXJlbSAqICN7dHlwb2dyYXBoeS4kbGluZS1oZWlnaHQtYmFzZX0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgLyAyXFxuICAgICAgICAgICAgICAgICAgICApO1xcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpcXG4gICAgICAgICAgICAgICAgICAgIGNhbGMoXFxuICAgICAgICAgICAgICAgICAgICAgICAgKCN7dGhlbWUuJGNoZWNrLXRhcC10YXJnZXQtc2l6ZX0gLSAxcmVtICogI3t0eXBvZ3JhcGh5LiRsaW5lLWhlaWdodC1iYXNlfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAvIDJcXG4gICAgICAgICAgICAgICAgICAgICk7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIC8vIDEwLiwgMTMuXFxuICAgICAgICAgICAgQGVsc2Uge1xcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogI3t0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC1wYWRkaW5nLXl9O1xcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogI3t0aGVtZS4kaG9yaXpvbnRhbC1sYWJlbC1wYWRkaW5nLXl9O1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzZXR0aW5ncy4kaG9yaXpvbnRhbC1pbm5lci1nYXA7IC8vIDQuXFxuICAgICAgICAgICAgdGV4dC1hbGlnbjogdGhlbWUuJGhvcml6b250YWwtbGFiZWwtdGV4dC1hbGlnbjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC5maWVsZCB7XFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBmaWVsZDtcXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiB0aGVtZS4kaG9yaXpvbnRhbC1maWVsZC12ZXJ0aWNhbC1hbGlnbm1lbnQ7IC8vIDEzLlxcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7IC8vIDcuXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxuQG1peGluIGhvcml6b250YWwtd2l0aC1zbWFsbC1pbnB1dCgpIHtcXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChmb3Jtcy4kaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XFxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbi1jb250ZW50IG1pbi1jb250ZW50OyAvLyA1LlxcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcXG4gICAgICAgICAgICBcXFwibGFiZWwgZmllbGRcXFwiXFxuICAgICAgICAgICAgXFxcImhlbHB0ZXh0IGhlbHB0ZXh0XFxcIlxcbiAgICAgICAgICAgIFxcXCJ2YWxpZGF0aW9udGV4dCB2YWxpZGF0aW9udGV4dFxcXCI7IC8vIDUuXFxuXFxuICAgICAgICAubGFiZWwge1xcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIDUuXFxuICAgICAgICB9XFxuXFxuICAgICAgICAuZmllbGQge1xcbiAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzOyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLmlucHV0Q29udGFpbmVyIHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IGZpZWxkOyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLmhlbHBUZXh0IHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IGhlbHB0ZXh0OyAvLyA1LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IHZhbGlkYXRpb250ZXh0OyAvLyA1LlxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBmdWxsLXdpZHRoKCkge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICB3aWR0aDogMTAwJTtcXG5cXG4gICAgLmZpZWxkLFxcbiAgICAuaW5wdXRDb250YWluZXIsXFxuICAgIC5pbnB1dCB7XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgfVxcblxcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGZvcm1zLiRob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCB7XFxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHRoZW1lLiRob3Jpem9udGFsLWZ1bGwtd2lkdGgtbGFiZWwtd2lkdGggMWZyOyAvLyA2LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCB7XFxuICAgICAgICAgICAganVzdGlmeS1zZWxmOiBzdHJldGNoOyAvLyA3LlxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbkBtaXhpbiBpbi1mb3JtLWxheW91dCgkaXMtZmllbGRzZXQ6IGZhbHNlKSB7XFxuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7IC8vIDEyLlxcblxcbiAgICAuZmllbGQge1xcbiAgICAgICAgd2lkdGg6IGF1dG87IC8vIDkuXFxuICAgIH1cXG5cXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChmb3Jtcy4kaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XFxuICAgICAgICAub3B0aW9uTGFiZWwge1xcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvOyAvLyAxMS5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC8vIDguXFxuICAgICAgICBAaWYgJGlzLWZpZWxkc2V0IHtcXG4gICAgICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwsXFxuICAgICAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLmhhc1Jvb3RTbWFsbElucHV0IHtcXG4gICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSBAZWxzZSB7XFxuICAgICAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsLFxcbiAgICAgICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbC5oYXNSb290U21hbGxJbnB1dCB7XFxuICAgICAgICAgICAgICAgIGdyaWQ6IGluaGVyaXQ7XFxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDtcXG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcXG5cXG4gICAgICAgICAgICAgICAgQHN1cHBvcnRzIG5vdCAoZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkKSB7XFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwuaXNSb290RnVsbFdpZHRoIHtcXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAubGFiZWwsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmZpZWxkLFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5pbnB1dENvbnRhaW5lcixcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaGVscFRleHQsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLnZhbGlkYXRpb25UZXh0IHtcXG4gICAgICAgICAgICBncmlkLWFyZWE6IHVuc2V0OyAvLyA4LlxcbiAgICAgICAgfVxcblxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC5maWVsZCxcXG4gICAgICAgICYuaXNSb290TGF5b3V0SG9yaXpvbnRhbCAuaW5wdXRDb250YWluZXIsXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwgLmhlbHBUZXh0LFxcbiAgICAgICAgJi5pc1Jvb3RMYXlvdXRIb3Jpem9udGFsIC52YWxpZGF0aW9uVGV4dCB7XFxuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7IC8vIDguXFxuICAgICAgICB9XFxuXFxuICAgICAgICAmLmlzUm9vdExheW91dEhvcml6b250YWwuaGFzUm9vdFNtYWxsSW5wdXQgLmZpZWxkIHtcXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgLy8gNS5cXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5cIixcIkB1c2UgXFxcInNhc3M6bWFwXFxcIjtcXG5AdXNlIFxcXCIuLi9zZXR0aW5ncy9icmVha3BvaW50c1xcXCI7XFxuXFxuQG1peGluIHVwKCRicmVha3BvaW50KSB7XFxuICAgIEBpZiBub3QgbWFwLmhhcy1rZXkoYnJlYWtwb2ludHMuJHZhbHVlcywgJGJyZWFrcG9pbnQpIHtcXG4gICAgICAgIEBlcnJvciBcXFwiSW52YWxpZCBicmVha3BvaW50IHNwZWNpZmllZCEgI3skYnJlYWtwb2ludH0gZG9lc24ndCBleGlzdC4gXFxcIlxcbiAgICAgICAgICAgICsgXFxcIkNob29zZSBvbmUgb2YgI3ttYXAua2V5cyhicmVha3BvaW50cy4kdmFsdWVzKX1cXFwiO1xcbiAgICB9IEBlbHNlIGlmIG1hcC5nZXQoYnJlYWtwb2ludHMuJHZhbHVlcywgJGJyZWFrcG9pbnQpID09IDAge1xcbiAgICAgICAgQGNvbnRlbnQ7XFxuICAgIH0gQGVsc2Uge1xcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoYnJlYWtwb2ludHMuJHZhbHVlcywgJGJyZWFrcG9pbnQpKSB7XFxuICAgICAgICAgICAgQGNvbnRlbnQ7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXCIsbnVsbCxcIkB1c2UgXFxcInNhc3M6bWFwXFxcIjtcXG5AdXNlIFxcXCIuLi8uLi90aGVtZS9mb3JtLWZpZWxkc1xcXCIgYXMgdGhlbWU7XFxuXFxuQG1peGluIHNpemUoJHNpemUsICRoYXMtaW5wdXQ6IHRydWUsICRpcy1tdWx0aWxpbmU6IGZhbHNlKSB7XFxuICAgICRzaXplLXByb3BlcnRpZXM6IG1hcC5nZXQodGhlbWUuJGJveC1zaXplcywgJHNpemUpO1xcblxcbiAgICAtLXJ1aS1sb2NhbC1wYWRkaW5nLXk6ICN7bWFwLmdldCgkc2l6ZS1wcm9wZXJ0aWVzLCBwYWRkaW5nLXkpfTtcXG4gICAgLS1ydWktbG9jYWwtcGFkZGluZy14OiAje21hcC5nZXQoJHNpemUtcHJvcGVydGllcywgcGFkZGluZy14KX07XFxuXFxuICAgIEBpZiAkaGFzLWlucHV0IHtcXG4gICAgICAgIC0tcnVpLWxvY2FsLWZvbnQtc2l6ZTogI3ttYXAuZ2V0KCRzaXplLXByb3BlcnRpZXMsIGZvbnQtc2l6ZSl9O1xcblxcbiAgICAgICAgLmlucHV0IHtcXG4gICAgICAgICAgICBAaWYgJGlzLW11bHRpbGluZSB7XFxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogbWFwLmdldCgkc2l6ZS1wcm9wZXJ0aWVzLCBoZWlnaHQpO1xcbiAgICAgICAgICAgIH0gQGVsc2Uge1xcbiAgICAgICAgICAgICAgICAtLXJ1aS1sb2NhbC1oZWlnaHQ6ICN7bWFwLmdldCgkc2l6ZS1wcm9wZXJ0aWVzLCBoZWlnaHQpfTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5sb2NhbHMgPSB7XG5cdFwicm9vdFwiOiBcIlRleHRGaWVsZF9fcm9vdF9fLUNuaHBmQnJcIixcblx0XCJsYWJlbFwiOiBcIlRleHRGaWVsZF9fbGFiZWxfXy1uQXpCU1VJXCIsXG5cdFwiaW5wdXRDb250YWluZXJcIjogXCJUZXh0RmllbGRfX2lucHV0Q29udGFpbmVyX190LTQyRTM5Y1wiLFxuXHRcImlucHV0XCI6IFwiVGV4dEZpZWxkX19pbnB1dF9fdnJBZHN6elNcIixcblx0XCJib3R0b21MaW5lXCI6IFwiVGV4dEZpZWxkX19ib3R0b21MaW5lX19Ca2dLUmZYM1wiLFxuXHRcImhlbHBUZXh0XCI6IFwiVGV4dEZpZWxkX19oZWxwVGV4dF9fdC1nZG5qZXZcIixcblx0XCJ2YWxpZGF0aW9uVGV4dFwiOiBcIlRleHRGaWVsZF9fdmFsaWRhdGlvblRleHRfXzdCdXU5VzlHXCIsXG5cdFwiaGFzUm9vdEN1c3RvbUlucHV0U2l6ZVwiOiBcIlRleHRGaWVsZF9faGFzUm9vdEN1c3RvbUlucHV0U2l6ZV9fbm5ueTNUYS1cIixcblx0XCJpc1Jvb3RSZXF1aXJlZFwiOiBcIlRleHRGaWVsZF9faXNSb290UmVxdWlyZWRfX2UzTklKQnhjXCIsXG5cdFwiaXNSb290VmFyaWFudEZpbGxlZFwiOiBcIlRleHRGaWVsZF9faXNSb290VmFyaWFudEZpbGxlZF9fQlc4SHUrNmJcIixcblx0XCJpc1Jvb3REaXNhYmxlZFwiOiBcIlRleHRGaWVsZF9faXNSb290RGlzYWJsZWRfX3I2SnZzRlhLXCIsXG5cdFwiaXNSb290VmFyaWFudE91dGxpbmVcIjogXCJUZXh0RmllbGRfX2lzUm9vdFZhcmlhbnRPdXRsaW5lX181akw4TVRYd1wiLFxuXHRcImlzUm9vdFN0YXRlSW52YWxpZFwiOiBcIlRleHRGaWVsZF9faXNSb290U3RhdGVJbnZhbGlkX183WjFiOVU3VlwiLFxuXHRcImlzUm9vdFN0YXRlVmFsaWRcIjogXCJUZXh0RmllbGRfX2lzUm9vdFN0YXRlVmFsaWRfX2NjTzh2eExoXCIsXG5cdFwiaXNSb290U3RhdGVXYXJuaW5nXCI6IFwiVGV4dEZpZWxkX19pc1Jvb3RTdGF0ZVdhcm5pbmdfX1JNRXd0SDJJXCIsXG5cdFwiaXNMYWJlbEhpZGRlblwiOiBcIlRleHRGaWVsZF9faXNMYWJlbEhpZGRlbl9fRGplNVBYTnNcIixcblx0XCJpc1Jvb3RMYXlvdXRWZXJ0aWNhbFwiOiBcIlRleHRGaWVsZF9faXNSb290TGF5b3V0VmVydGljYWxfX3FGZVU5cDBJXCIsXG5cdFwiaXNSb290TGF5b3V0SG9yaXpvbnRhbFwiOiBcIlRleHRGaWVsZF9faXNSb290TGF5b3V0SG9yaXpvbnRhbF9feEtsc2xlYzdcIixcblx0XCJmaWVsZFwiOiBcIlRleHRGaWVsZF9fZmllbGRfXzhGT3ZjS3FCXCIsXG5cdFwiaXNSb290RnVsbFdpZHRoXCI6IFwiVGV4dEZpZWxkX19pc1Jvb3RGdWxsV2lkdGhfXzJRSTRKQ1N3XCIsXG5cdFwiaXNSb290SW5Gb3JtTGF5b3V0XCI6IFwiVGV4dEZpZWxkX19pc1Jvb3RJbkZvcm1MYXlvdXRfXzU0TGhTbklKXCIsXG5cdFwib3B0aW9uTGFiZWxcIjogXCJUZXh0RmllbGRfX29wdGlvbkxhYmVsX19aYVFDVVVCOVwiLFxuXHRcImhhc1Jvb3RTbWFsbElucHV0XCI6IFwiVGV4dEZpZWxkX19oYXNSb290U21hbGxJbnB1dF9fMXBvQnN2N05cIixcblx0XCJpc1Jvb3RTaXplU21hbGxcIjogXCJUZXh0RmllbGRfX2lzUm9vdFNpemVTbWFsbF9fek9VWDBlQUJcIixcblx0XCJpc1Jvb3RTaXplTWVkaXVtXCI6IFwiVGV4dEZpZWxkX19pc1Jvb3RTaXplTWVkaXVtX19Tei16dWRQSlwiLFxuXHRcImlzUm9vdFNpemVMYXJnZVwiOiBcIlRleHRGaWVsZF9faXNSb290U2l6ZUxhcmdlX19vcFBEZDl0Y1wiLFxuXHRcImlzUm9vdEdyb3VwZWRcIjogXCJUZXh0RmllbGRfX2lzUm9vdEdyb3VwZWRfX0xXU3FwUnhrXCJcbn07XG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js?!./src/lib/components/TextField/TextField.scss\n");
|
1331
1331
|
|
1332
1332
|
/***/ }),
|
1333
1333
|
|
@@ -3148,7 +3148,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n
|
|
3148
3148
|
/*! no static exports found */
|
3149
3149
|
/***/ (function(module, exports, __webpack_require__) {
|
3150
3150
|
|
3151
|
-
module.exports = __webpack_require__(/*! /
|
3151
|
+
module.exports = __webpack_require__(/*! /Users/adamkudrna/Web/racom/react-ui/src/lib/index.js */"./src/lib/index.js");
|
3152
3152
|
|
3153
3153
|
|
3154
3154
|
/***/ }),
|