/*!********************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./assets/css/_modules/activity-board.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************/
/**/
[data-color-theme=berry] {
  --colPrimary700: #3d151f;
  --colPrimary600: #8b293d;
  --colPrimary500: #b3344e;
  --colPrimary400: #d16279;
  --colPrimary300: #d16279;
  --colPrimary200: #e8b1bc;
  --colPrimary100: #faecef;
}

[data-color-mode=dark] {
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey750: #3f3f3f;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #888;
  --colGrey400: #aaa;
  --colGrey300: #bbb;
  --colGrey200: #ddd;
  --colGrey100: #eee;
  --colWhite500: #f0f0f0;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
}

:root {
  --colPrimary700: #003232;
  --colPrimary600: #005a44;
  --colPrimary500: #008255;
  --colPrimary400: #00D278;
  --colPrimary300: #39c585;
  --colPrimary200: #bff4dd;
  --colPrimary100: #f5fdfa;
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #ccc;
  --colGrey400: #ddd;
  --colGrey300: #eee;
  --colGrey200: #f0f0f0;
  --colGrey100: #F9f9f9;
  --colWhite500: #f8f8f8;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
  --colSuccess100: #eff8ef;
  --colSuccess500: #42AA49;
  --colSuccess700: #2C722F;
  --colWarning100: #f7ecdd;
  --colWarning500: #D89F54;
  --colWarning700: #8D5E20;
  --colError500: #D85854;
  --colError300: #f9eeee;
  --colError600: #B72E2A;
  --colError700: #D81913;
}

.tos-elevate1 {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

.tos-elevate2 {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate3 {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate4 {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.tos-elevate5 {
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
}

/*------------------------------------------------
/* Schriftarten
/*----------------------------------------------*/
/* @font-face {
*     font-family: roboto;
*     font-weight: 200;
*     font-style: normal;
*     src: url('../fonts/Roboto-Thin.ttf') format('truetype');
* }
* @font-face {
*     font-family: roboto;
*     font-weight: 300;
*     font-style: normal;
*     src: url('../fonts/Roboto-Light.ttf') format('truetype');
* }
*@import url('https:*fonts.googleapis.com/css?family=Roboto:400,500,700'); */
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 300;
  src: url(/backend/build/fonts/Roboto-Light.057aa247.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 400;
  src: url(/backend/build/fonts/Roboto-Regular.71779d80.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 500;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Medium.ea7d3afe.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 700;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Bold.9630c546.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 900;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Black.7f3ed21e.ttf) format("truetype");
}
.tos-fontFamStd {
  font-family: roboto, arial, sans-serif;
}

.tos-fontFamIcon {
  font-family: "Font Awesome 7 Pro";
}

.tos-fsOmega {
  font-size: 14px !important;
}

.tos-fsAlpha {
  font-size: 26px !important;
}

.tos-fsBeta {
  font-size: 20px !important;
}

.tos-fsGamma {
  font-size: 18px !important;
}

.tos-fsDelta {
  font-size: 16px !important;
}

.tos-fsKilo {
  font-size: 35px !important;
}

.tos-fsMini {
  font-size: 12px !important;
}

.tos-fsMicro {
  font-size: 10px !important;
}

.tos-fsIcon {
  font-size: 14px !important;
}

.tos-fwStandard {
  font-weight: 500 !important;
}

.tos-fwIconStandard::before {
  font-weight: 500 !important;
}

/*------------------------------------------------*/
/* region Activity Board */
.activity-board--filters fieldset div[class^=uk-width] {
  margin-left: 12px;
  margin-right: 12px;
}

#activities input[type=checkbox] {
  opacity: 1;
  height: 15px;
  width: 15px;
  margin: 8px 15px 0;
  position: relative;
  top: 2px;
  cursor: pointer;
  float: left;
}

/* endregion */
/* region ToDo Accordion */
.activityDetail__title {
  font-size: medium !important;
  padding: 6px;
}
.activityDetail__title.is-important {
  color: var(--colError700);
}
.activityDetail__title.activityAccordion__trigger.due {
  background: #D89F54;
}
.activityDetail__title.activityAccordion__trigger.overdue {
  background: var(--colError500);
}
.activityDetail__class {
  display: inline-block;
  min-width: 85px;
}
.activityDetail__user {
  min-width: 225px;
}
.activityDetail__deadline {
  min-width: 125px;
}
.activityDetail__notes {
  min-width: 20px;
  padding-left: 25px !important;
}
.activityDetail__notes span.count-0 {
  color: var(--colGrey500);
}
.activityDetail__status.due {
  background: #D89F54;
}
.activityDetail__status.overdue {
  background: var(--colError700);
}
.activityDetail__status {
  min-width: 135px;
}
.activityDetail__status span {
  display: inline-block;
  width: 100%;
  text-align: center;
  margin: 0 10px;
}
.activityDetail.display-activityboard .uk-accordion-content {
  margin-left: 42px;
}
.activityDetail.display-inline input[type=checkbox] {
  display: none;
}

.activityAccordion {
  border-bottom: 1px solid var(--colGrey600);
}
.activityAccordion__content {
  font-size: 1.15rem;
  padding: 10px;
}
.activityAccordion__header {
  padding: 0 10px 10px;
}
.activityAccordion__footer {
  border-top: 1px solid #ccc;
  margin-top: 10px;
  padding-top: 15px;
}

/* endregion */
/* region ToDo Edit-Modal */
[data-parent-search-clear] {
  cursor: pointer;
  position: relative;
  top: -40px;
  left: calc(100% - 20px);
}

ul#todo-parent-search-results {
  list-style-type: none;
  padding: 0;
  background: var(--colPrimary100);
  border: 1px solid var(--colGrey500);
}
ul#todo-parent-search-results li {
  padding: 10px;
  color: var(--colPrimary500);
}
ul#todo-parent-search-results li:hover {
  background: var(--colPrimary200);
  cursor: pointer;
}

.search-field-wrapper {
  position: relative;
}
.search-field-wrapper .search-results {
  position: absolute;
  top: 40px;
  z-index: 15;
  max-width: 348px;
}

/* endregion */
/* region Winbox Modals */
#winbox_activity-modal .wb-header {
  padding: 0;
}
#winbox_activity-modal.min .wb-header .wb-title {
  cursor: zoom-in;
}
#winbox_activity-modal {
  z-index: 1000 !important;
}

ul.activity-list {
  list-style: none;
  padding-left: 0;
}
ul.activity-list li {
  position: relative;
  padding-left: 24px;
  font-size: 16px;
}
ul.activity-list li::before {
  position: absolute;
  left: 0;
  top: 1px;
  width: 16px;
  height: 16px;
}
ul.activity-list li.ToDo::before {
  font-family: "Font Awesome 7 Pro";
  font-weight: 400;
  content: "\f737";
  user-select: none;
  margin-right: 5px;
  display: inline-block;
}
ul.activity-list li.Note::before {
  font-family: "Font Awesome 7 Pro";
  font-weight: 400;
  content: "\e1ff";
  user-select: none;
  margin-right: 5px;
  display: inline-block;
}

/* endregion*/
/*!***************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./templates/activity-board/email/EmailThreadView.vue?vue&type=style&index=0&id=2328a275&scoped=true&lang=css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************/

.thread-list-container[data-v-2328a275] {
    border-right: 1px solid #e5e5e5;
    overflow-y: auto;
    max-height: 70vh;
}
.thread-item[data-v-2328a275] {
    cursor: pointer;
    border-bottom: 1px solid #e5e5e5;
    transition: background-color 0.2s;
}
.thread-item[data-v-2328a275]:hover {
    background-color: #f0f0f0;
}
.thread-item.active[data-v-2328a275] {
    background-color: #f2faf3;
    border-left: 4px solid #32d296;
}
.thread-item.incoming[data-v-2328a275] {
    background-color: #ffffff;
}
.thread-item.outgoing[data-v-2328a275] {
    background-color: #f9f9f9;
}
.message-detail-container[data-v-2328a275] {
    overflow-y: auto;
    max-height: 70vh;
}
.message-body[data-v-2328a275] {
    min-height: 200px;
    background: white;
    border: 1px solid #e5e5e5;
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./templates/admin/_partials/parameter.gruppe.vorschlaege.vue?vue&type=style&index=0&id=c94f9aba&scoped=true&lang=css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************/

.autocomplete-items[data-v-c94f9aba] {
  position: absolute;
  z-index: 1000;
  background-color: white;
  /* Weitere Stile wie Breite, Höhe, Rand usw. können hier hinzugefügt werden */
}
.autocomplete-item[data-v-c94f9aba] {
  /* Add your styles here */
}
.is-active[data-v-c94f9aba] {
  /* Add your styles here */
}

/*!**************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./assets/css/_modules/workflow.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************/
/*------------------------------------------------*/
/*------------------------------------------------*/
[data-color-theme=berry] {
  --colPrimary700: #3d151f;
  --colPrimary600: #8b293d;
  --colPrimary500: #b3344e;
  --colPrimary400: #d16279;
  --colPrimary300: #d16279;
  --colPrimary200: #e8b1bc;
  --colPrimary100: #faecef;
}

[data-color-mode=dark] {
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey750: #3f3f3f;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #888;
  --colGrey400: #aaa;
  --colGrey300: #bbb;
  --colGrey200: #ddd;
  --colGrey100: #eee;
  --colWhite500: #f0f0f0;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
}

:root {
  --colPrimary700: #003232;
  --colPrimary600: #005a44;
  --colPrimary500: #008255;
  --colPrimary400: #00D278;
  --colPrimary300: #39c585;
  --colPrimary200: #bff4dd;
  --colPrimary100: #f5fdfa;
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #ccc;
  --colGrey400: #ddd;
  --colGrey300: #eee;
  --colGrey200: #f0f0f0;
  --colGrey100: #F9f9f9;
  --colWhite500: #f8f8f8;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
  --colSuccess100: #eff8ef;
  --colSuccess500: #42AA49;
  --colSuccess700: #2C722F;
  --colWarning100: #f7ecdd;
  --colWarning500: #D89F54;
  --colWarning700: #8D5E20;
  --colError500: #D85854;
  --colError300: #f9eeee;
  --colError600: #B72E2A;
  --colError700: #D81913;
}

/*------------------------------------------------
/* Schriftarten
/*----------------------------------------------*/
/* @font-face {
*     font-family: roboto;
*     font-weight: 200;
*     font-style: normal;
*     src: url('../fonts/Roboto-Thin.ttf') format('truetype');
* }
* @font-face {
*     font-family: roboto;
*     font-weight: 300;
*     font-style: normal;
*     src: url('../fonts/Roboto-Light.ttf') format('truetype');
* }
*@import url('https:*fonts.googleapis.com/css?family=Roboto:400,500,700'); */
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 300;
  src: url(/backend/build/fonts/Roboto-Light.057aa247.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 400;
  src: url(/backend/build/fonts/Roboto-Regular.71779d80.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 500;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Medium.ea7d3afe.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 700;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Bold.9630c546.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 900;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Black.7f3ed21e.ttf) format("truetype");
}
.tos-fontFamStd {
  font-family: roboto, arial, sans-serif;
}

.tos-fontFamIcon {
  font-family: "Font Awesome 7 Pro";
}

.tos-fsOmega {
  font-size: 14px !important;
}

.tos-fsAlpha {
  font-size: 26px !important;
}

.tos-fsBeta {
  font-size: 20px !important;
}

.tos-fsGamma {
  font-size: 18px !important;
}

.tos-fsDelta {
  font-size: 16px !important;
}

.tos-fsKilo {
  font-size: 35px !important;
}

.tos-fsMini {
  font-size: 12px !important;
}

.tos-fsMicro {
  font-size: 10px !important;
}

.tos-fsIcon {
  font-size: 14px !important;
}

.tos-fwStandard {
  font-weight: 500 !important;
}

.tos-fwIconStandard::before {
  font-weight: 500 !important;
}

/*------------------------------------------------*/
#workflowEditorContainer.fullscreen {
  position: fixed;
  top: 0;
  left: 0;
  width: 99%;
  height: 100%;
  z-index: 1000;
}
#workflowEditorContainer.fullscreen #workflow_editor {
  height: 95vh;
}

#workflow_editor {
  width: 100%;
  height: 57.5vh;
}
#workflow_editor [data-testid=connection] {
  position: relative;
}
#workflow_editor {
  border: 1px solid #666;
  background-image: radial-gradient(#ddd 1px, transparent 0);
  background-size: 20px 20px;
  background-position: -31px -31px;
}
#workflow_editor .node {
  background: #eee;
  border: 1px solid #666;
  border-top-width: 5px;
  border-radius: 5px;
}
#workflow_editor .node .title {
  color: #121212;
  background: #F9f9f9;
  font-family: inherit;
  font-size: inherit;
  font-weight: 700;
  border-bottom: 1px solid #666;
  padding: 5px 10px;
}
#workflow_editor .node .output, #workflow_editor .node .input {
  position: relative;
}
#workflow_editor .node .output .socket, #workflow_editor .node .input .socket {
  height: 20px;
  width: 70px;
  background: #00D278;
  border: 2px solid #666;
}
#workflow_editor .node .output .output-socket, #workflow_editor .node .output .input-socket, #workflow_editor .node .input .output-socket, #workflow_editor .node .input .input-socket {
  overflow: hidden;
}
#workflow_editor .node .output .output-socket, #workflow_editor .node .input .output-socket {
  margin-right: -1px;
}
#workflow_editor .node .output .output-socket .socket, #workflow_editor .node .input .output-socket .socket {
  margin-right: -10px;
}
#workflow_editor .node .output .input-socket, #workflow_editor .node .input .input-socket {
  margin-left: -1px;
}
#workflow_editor .node .output .input-socket .socket, #workflow_editor .node .input .input-socket .socket {
  margin-left: -10px;
}
#workflow_editor .node .output .input-title, #workflow_editor .node .output .output-title, #workflow_editor .node .input .input-title, #workflow_editor .node .input .output-title {
  color: initial;
  position: absolute;
  top: 10px;
  line-height: initial;
  margin: 0 3px;
  font-size: 12px;
  pointer-events: none;
}
#workflow_editor .node .output .output-title, #workflow_editor .node .input .output-title {
  right: 1px;
}
#workflow_editor .node .control {
  padding: 5px;
}
#workflow_editor .node .control input[type=text], #workflow_editor .node .control input[type=number] {
  border-radius: 0;
  border-color: transparent;
  font-size: 12px;
}
#workflow_editor .node .control input[readonly] {
  background: #f8f8f8;
}
#workflow_editor .node .control label {
  padding: 3px 0;
  font-style: italic;
}
#workflow_editor .node.selected {
  outline: 2px solid black;
}
#workflow_editor svg[data-testid=connection] path {
  stroke: #00D278;
}
/*!************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./assets/css/_modules/layout.scss ***!
  \************************************************************************************************************************************************************************************************************************************************/
/*------------------------------------------------*/
/*------------------------------------------------*/
/**/
[data-color-theme=berry] {
  --colPrimary700: #3d151f;
  --colPrimary600: #8b293d;
  --colPrimary500: #b3344e;
  --colPrimary400: #d16279;
  --colPrimary300: #d16279;
  --colPrimary200: #e8b1bc;
  --colPrimary100: #faecef;
}

[data-color-mode=dark] {
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey750: #3f3f3f;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #888;
  --colGrey400: #aaa;
  --colGrey300: #bbb;
  --colGrey200: #ddd;
  --colGrey100: #eee;
  --colWhite500: #f0f0f0;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
}

:root {
  --colPrimary700: #003232;
  --colPrimary600: #005a44;
  --colPrimary500: #008255;
  --colPrimary400: #00D278;
  --colPrimary300: #39c585;
  --colPrimary200: #bff4dd;
  --colPrimary100: #f5fdfa;
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #ccc;
  --colGrey400: #ddd;
  --colGrey300: #eee;
  --colGrey200: #f0f0f0;
  --colGrey100: #F9f9f9;
  --colWhite500: #f8f8f8;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
  --colSuccess100: #eff8ef;
  --colSuccess500: #42AA49;
  --colSuccess700: #2C722F;
  --colWarning100: #f7ecdd;
  --colWarning500: #D89F54;
  --colWarning700: #8D5E20;
  --colError500: #D85854;
  --colError300: #f9eeee;
  --colError600: #B72E2A;
  --colError700: #D81913;
}

.tos-elevate1 {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

.tos-elevate2 {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate3 {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate4 {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.tos-elevate5 {
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
}

/*------------------------------------------------
/* Schriftarten
/*----------------------------------------------*/
/* @font-face {
*     font-family: roboto;
*     font-weight: 200;
*     font-style: normal;
*     src: url('../fonts/Roboto-Thin.ttf') format('truetype');
* }
* @font-face {
*     font-family: roboto;
*     font-weight: 300;
*     font-style: normal;
*     src: url('../fonts/Roboto-Light.ttf') format('truetype');
* }
*@import url('https:*fonts.googleapis.com/css?family=Roboto:400,500,700'); */
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 300;
  src: url(/backend/build/fonts/Roboto-Light.057aa247.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 400;
  src: url(/backend/build/fonts/Roboto-Regular.71779d80.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 500;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Medium.ea7d3afe.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 700;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Bold.9630c546.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 900;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Black.7f3ed21e.ttf) format("truetype");
}
.tos-fontFamStd {
  font-family: roboto, arial, sans-serif;
}

.tos-fontFamIcon {
  font-family: "Font Awesome 7 Pro";
}

.tos-fsOmega {
  font-size: 14px !important;
}

.tos-fsAlpha {
  font-size: 26px !important;
}

.tos-fsBeta {
  font-size: 20px !important;
}

.tos-fsGamma {
  font-size: 18px !important;
}

.tos-fsDelta {
  font-size: 16px !important;
}

.tos-fsKilo {
  font-size: 35px !important;
}

.tos-fsMini {
  font-size: 12px !important;
}

.tos-fsMicro {
  font-size: 10px !important;
}

.tos-fsIcon {
  font-size: 14px !important;
}

.tos-fwStandard {
  font-weight: 500 !important;
}

.tos-fwIconStandard::before {
  font-weight: 500 !important;
}

/*------------------------------------------------*/
/*------------------------*/
.layoutZeile .layoutZeile__content.fullscreen {
  background: rgba(255, 255, 255, 0.98);
  inset: 0;
  margin: 0;
  position: fixed;
  z-index: 100;
  padding: 40px !important;
}
.layoutZeile .layoutZeile__content.fullscreen .layoutZeile__settings {
  max-width: 80%;
}
.layoutZeile .layoutZeile__content.fullscreen [tos-layout-zeile-togglefullscreen] {
  position: absolute;
  right: 40px;
  top: 40px;
}
.layoutZeile .layoutZeile__content.fullscreen .layoutZeile__elemente {
  max-height: 70vh;
}
.layoutZeile .layoutZeile__elemente {
  background: var(--colGrey100);
  border: 1px solid var(--colGrey400);
  padding: 15px;
  overflow: auto;
}

.layoutElement-grid {
  max-height: 50vh;
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
}
.layoutElement-grid .layoutElement[data-css-klassen*=col-span-all] {
  grid-column: 1/-1;
}
.layoutElement-grid .layoutElement[data-css-klassen*=col-span-2] {
  grid-column: span 2;
}
.layoutElement-grid .layoutElement[data-css-klassen*=row-span-2] {
  grid-row: span 2;
}
.layoutElement-grid .layoutElement__inner {
  box-sizing: border-box;
  height: 100%;
}
.layoutElement-grid .layoutElement__icon {
  display: none;
}
.layoutElement-grid .layoutElement__type.tos-notBold {
  text-transform: uppercase;
  font-size: 0.875em;
  letter-spacing: 1px;
}
.layoutElement-grid .layoutElement__type:not(.tos-notBold) {
  font-size: 1.25em;
}
.layoutElement-grid .element__info--template i {
  margin-right: 5px;
}

/*------------------------*/
.layoutElement .layoutElement__icon::before {
  display: block;
}
.layoutElement.layoutElement--typ_ueberschrift .layoutElement__icon::before {
  font-family: "Font Awesome 7 Pro";
  font-weight: 700;
  content: "\f1dc";
  user-select: none;
}
.layoutElement.layoutElement--typ_textbaustein .layoutElement__icon::before {
  font-family: "Font Awesome 7 Pro";
  font-weight: 700;
  content: "\f1dd";
  user-select: none;
}
.layoutElement.layoutElement--typ_medien-element .layoutElement__icon::before {
  font-family: "Font Awesome 7 Pro";
  font-weight: 700;
  content: "\f87c";
  user-select: none;
}
.layoutElement.layoutElement--typ_paket .layoutElement__icon::before {
  font-family: "Font Awesome 7 Pro";
  font-weight: 400;
  content: "\f4d7";
  user-select: none;
}
.layoutElement.layoutElement--typ_reiseobjekt .layoutElement__icon::before {
  font-family: "Font Awesome 7 Pro";
  font-weight: 700;
  content: "\f276";
  user-select: none;
}

.layoutElement__add > * {
  background: var(--colPrimary600);
  color: white;
  height: 75px;
  width: 75px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  cursor: pointer;
}
.layoutElement__add > *::before {
  margin: 0;
}
/*!****************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./assets/css/_modules/reisepaket.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************/
[data-paket-leistungsgruppe].js-gruppe-gueltigkeiten [data-leistung-gueltigkeiten] {
  display: block;
}
/*!*******************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./assets/css/_modules/benutzerrolle.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************/
/*------------------------------------------------*/
/*------------------------------------------------*/
/**/
[data-color-theme=berry] {
  --colPrimary700: #3d151f;
  --colPrimary600: #8b293d;
  --colPrimary500: #b3344e;
  --colPrimary400: #d16279;
  --colPrimary300: #d16279;
  --colPrimary200: #e8b1bc;
  --colPrimary100: #faecef;
}

[data-color-mode=dark] {
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey750: #3f3f3f;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #888;
  --colGrey400: #aaa;
  --colGrey300: #bbb;
  --colGrey200: #ddd;
  --colGrey100: #eee;
  --colWhite500: #f0f0f0;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
}

:root {
  --colPrimary700: #003232;
  --colPrimary600: #005a44;
  --colPrimary500: #008255;
  --colPrimary400: #00D278;
  --colPrimary300: #39c585;
  --colPrimary200: #bff4dd;
  --colPrimary100: #f5fdfa;
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #ccc;
  --colGrey400: #ddd;
  --colGrey300: #eee;
  --colGrey200: #f0f0f0;
  --colGrey100: #F9f9f9;
  --colWhite500: #f8f8f8;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
  --colSuccess100: #eff8ef;
  --colSuccess500: #42AA49;
  --colSuccess700: #2C722F;
  --colWarning100: #f7ecdd;
  --colWarning500: #D89F54;
  --colWarning700: #8D5E20;
  --colError500: #D85854;
  --colError300: #f9eeee;
  --colError600: #B72E2A;
  --colError700: #D81913;
}

.tos-elevate1 {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

.tos-elevate2 {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate3 {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate4 {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.tos-elevate5 {
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
}

/*------------------------------------------------
/* Schriftarten
/*----------------------------------------------*/
/* @font-face {
*     font-family: roboto;
*     font-weight: 200;
*     font-style: normal;
*     src: url('../fonts/Roboto-Thin.ttf') format('truetype');
* }
* @font-face {
*     font-family: roboto;
*     font-weight: 300;
*     font-style: normal;
*     src: url('../fonts/Roboto-Light.ttf') format('truetype');
* }
*@import url('https:*fonts.googleapis.com/css?family=Roboto:400,500,700'); */
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 300;
  src: url(/backend/build/fonts/Roboto-Light.057aa247.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 400;
  src: url(/backend/build/fonts/Roboto-Regular.71779d80.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 500;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Medium.ea7d3afe.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 700;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Bold.9630c546.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 900;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Black.7f3ed21e.ttf) format("truetype");
}
.tos-fontFamStd {
  font-family: roboto, arial, sans-serif;
}

.tos-fontFamIcon {
  font-family: "Font Awesome 7 Pro";
}

.tos-fsOmega {
  font-size: 14px !important;
}

.tos-fsAlpha {
  font-size: 26px !important;
}

.tos-fsBeta {
  font-size: 20px !important;
}

.tos-fsGamma {
  font-size: 18px !important;
}

.tos-fsDelta {
  font-size: 16px !important;
}

.tos-fsKilo {
  font-size: 35px !important;
}

.tos-fsMini {
  font-size: 12px !important;
}

.tos-fsMicro {
  font-size: 10px !important;
}

.tos-fsIcon {
  font-size: 14px !important;
}

.tos-fwStandard {
  font-weight: 500 !important;
}

.tos-fwIconStandard::before {
  font-weight: 500 !important;
}

/*------------------------------------------------*/
.tosForm[tos-entityform=rolle] .role_right__name label {
  font-size: 14px;
}
.tosForm[tos-entityform=rolle] .role_right__input label span {
  display: none;
}
.tosForm[tos-entityform=rolle] .tos-rightgroup {
  list-style: none;
  padding: 0;
  margin: 0;
}
.tosForm[tos-entityform=rolle] .tos-rightgroup li {
  padding: 0;
}
.tosForm[tos-entityform=rolle] .tos-rightgroup .role_right {
  padding: 10px;
  height: 25px;
}
.tosForm[tos-entityform=rolle] #rolle_rightChoices .choices-list__groupTitle {
  font-weight: 700;
}
.tosForm[tos-entityform=rolle] #rolle_rightChoices .role_right {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.tosForm[tos-entityform=rolle] #rolle_rightChoices .tos-rightgroup--lev1 li {
  padding-left: 15px;
}
.tosForm[tos-entityform=rolle] #rolle_rightChoices .role_right__input {
  margin-right: 50px;
}
.tosForm[tos-entityform=rolle] #rolle_rightEditChoices, .tosForm[tos-entityform=rolle] #rolle_rightDeleteChoices {
  text-align: center;
}
.tosForm[tos-entityform=rolle] #rolle_rightEditChoices .role_right__name label, .tosForm[tos-entityform=rolle] #rolle_rightDeleteChoices .role_right__name label {
  display: none;
}
.tosForm[tos-entityform=rolle] #rolle_rightEditChoices .choices-list__groupTitle, .tosForm[tos-entityform=rolle] #rolle_rightDeleteChoices .choices-list__groupTitle {
  display: none;
}
/*!*************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./assets/css/_modules/_ablage.scss ***!
  \*************************************************************************************************************************************************************************************************************************************************/
.ablage-row {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-bottom: 1px solid #e5e5e5;
}
.ablage-row--alt {
  background: #fafafa;
}
.ablage-row:hover {
  background: #f5f7fa;
}

.ablage-cell--icon {
  display: flex;
  justify-content: center;
}
.ablage-cell--main {
  min-width: 0;
}
.ablage-cell--actions {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.ablage-title {
  font-weight: 600;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.ablage-meta {
  font-size: 12px;
  line-height: 1.2;
  margin-top: 2px;
}
.ablage-meta .ablage-meta-sep {
  margin: 0 6px;
}

/* Buttons leiser/kompakter */
.ablage-action-btn {
  padding: 0 !important;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid transparent;
}
.ablage-action-btn:hover {
  background: #eef2f6;
  border-color: #dde3ea;
}

/* Delete beim Hover etwas "warnender", aber nicht knallig */
.ablage-action-btn--delete:hover {
  background: #fff1f1;
  border-color: #ffd2d2;
}
/*!*****************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./assets/css/_modules/_preisregel.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************/
.preisregelKategorie-stop {
  border-bottom: 3px dashed black;
}
[data-color-mode=dark] .preisregelKategorie-stop {
  border-bottom-color: var(--colGrey300);
}
/*!******************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./assets/css/_modules/reiseverlauf.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************/
/**/
[data-color-theme=berry] {
  --colPrimary700: #3d151f;
  --colPrimary600: #8b293d;
  --colPrimary500: #b3344e;
  --colPrimary400: #d16279;
  --colPrimary300: #d16279;
  --colPrimary200: #e8b1bc;
  --colPrimary100: #faecef;
}

[data-color-mode=dark] {
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey750: #3f3f3f;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #888;
  --colGrey400: #aaa;
  --colGrey300: #bbb;
  --colGrey200: #ddd;
  --colGrey100: #eee;
  --colWhite500: #f0f0f0;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
}

:root {
  --colPrimary700: #003232;
  --colPrimary600: #005a44;
  --colPrimary500: #008255;
  --colPrimary400: #00D278;
  --colPrimary300: #39c585;
  --colPrimary200: #bff4dd;
  --colPrimary100: #f5fdfa;
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #ccc;
  --colGrey400: #ddd;
  --colGrey300: #eee;
  --colGrey200: #f0f0f0;
  --colGrey100: #F9f9f9;
  --colWhite500: #f8f8f8;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
  --colSuccess100: #eff8ef;
  --colSuccess500: #42AA49;
  --colSuccess700: #2C722F;
  --colWarning100: #f7ecdd;
  --colWarning500: #D89F54;
  --colWarning700: #8D5E20;
  --colError500: #D85854;
  --colError300: #f9eeee;
  --colError600: #B72E2A;
  --colError700: #D81913;
}

.tos-elevate1 {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

.tos-elevate2 {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate3 {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate4 {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.tos-elevate5 {
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
}

/*------------------------------------------------
/* Schriftarten
/*----------------------------------------------*/
/* @font-face {
*     font-family: roboto;
*     font-weight: 200;
*     font-style: normal;
*     src: url('../fonts/Roboto-Thin.ttf') format('truetype');
* }
* @font-face {
*     font-family: roboto;
*     font-weight: 300;
*     font-style: normal;
*     src: url('../fonts/Roboto-Light.ttf') format('truetype');
* }
*@import url('https:*fonts.googleapis.com/css?family=Roboto:400,500,700'); */
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 300;
  src: url(/backend/build/fonts/Roboto-Light.057aa247.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 400;
  src: url(/backend/build/fonts/Roboto-Regular.71779d80.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 500;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Medium.ea7d3afe.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 700;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Bold.9630c546.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 900;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Black.7f3ed21e.ttf) format("truetype");
}
.tos-fontFamStd {
  font-family: roboto, arial, sans-serif;
}

.tos-fontFamIcon {
  font-family: "Font Awesome 7 Pro";
}

.tos-fsOmega {
  font-size: 14px !important;
}

.tos-fsAlpha {
  font-size: 26px !important;
}

.tos-fsBeta {
  font-size: 20px !important;
}

.tos-fsGamma {
  font-size: 18px !important;
}

.tos-fsDelta {
  font-size: 16px !important;
}

.tos-fsKilo {
  font-size: 35px !important;
}

.tos-fsMini {
  font-size: 12px !important;
}

.tos-fsMicro {
  font-size: 10px !important;
}

.tos-fsIcon {
  font-size: 14px !important;
}

.tos-fwStandard {
  font-weight: 500 !important;
}

.tos-fwIconStandard::before {
  font-weight: 500 !important;
}

/*------------------------------------------------*/
.rvf-layout--standalone {
  display: flex;
  height: calc(100vh - 170px);
  min-height: 500px;
  border: 1px solid var(--colGrey300, #ddd);
  border-radius: 4px;
  overflow: hidden;
}
.rvf-layout--standalone .rvf-editor {
  flex: 0 0 55%;
  overflow-y: auto;
  border-right: 2px solid var(--colGrey300, #ccc);
  background: #fff;
}
.rvf-layout--standalone .rvf-preview {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.rvf-layout--standalone #rvf-preview-frame {
  flex: 1;
  min-height: 0;
  height: 100%;
}

.rvf-layout--tab .rvf-preview {
  margin-top: 0;
}
.rvf-layout--tab #rvf-preview-frame {
  height: 80vh;
}

.rvf-preview {
  background: var(--colGrey600, #757575);
  padding: 16px;
  display: flex;
  flex-direction: column;
}

.rvf-preview__label {
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 10px;
  opacity: 0.85;
  flex-shrink: 0;
}

.rvf-preview__page {
  background: #fff;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45);
  flex: 1;
  display: flex;
  flex-direction: column;
  position: relative;
}

.rvf-preview__loader {
  display: none;
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.75);
  justify-content: center;
  align-items: center;
  z-index: 5;
  pointer-events: none;
}

#rvf-preview-frame {
  width: 100%;
  border: none;
  display: block;
}

.rvf-toolbar {
  position: sticky;
  top: 0;
  z-index: 10;
  background: #fff;
  border-bottom: 2px solid var(--colGrey300, #e0e0e0);
}

.rvf-leistung-card {
  background: var(--colGrey100, #f8f8f8);
  border: 1px solid var(--colGrey300, #e0e0e0);
  border-radius: 4px;
  padding: 10px 12px;
  margin-bottom: 8px;
}

.rvf-tag--inKlaerung {
  background: rgba(255, 200, 0, 0.12);
  border-left: 3px solid #f0a500;
  padding-left: 8px;
}

.rvf-tag--ausgeblendet {
  background: rgba(150, 150, 150, 0.1);
  border-left: 3px solid var(--colGrey400, #aaa);
  opacity: 0.65;
  padding-left: 8px;
}

.rvf-tag--ausserhalbZeitraum {
  background: var(--colWarning100);
}

.rvf-tag__zeitraumHinweis {
  color: var(--colError500);
  cursor: help;
  font-size: 0.9em;
  margin-left: 4px;
}

.rvf-uebertragen__vorhanden {
  color: var(--colWarning700);
  font-weight: 600;
}

.rvf-tag-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  padding: 4px 0 6px 24px;
  border-top: 1px solid var(--colGrey200, #eee);
  margin-top: 4px;
}
.rvf-tag-flags > div {
  display: flex;
  align-items: center;
  font-size: 0.85em;
  color: var(--colGrey700, #555);
}

.uk-tooltip.tooltip-autowidth {
  white-space: pre-line;
  width: max-content;
  max-width: 400px;
}

.paket-reiseverlauf-media-icon {
  display: inline-block;
  width: 20px;
  margin-right: 5px;
  text-align: center;
}
.paket-reiseverlauf-media-icon .tos-icon--layoutelement-media {
  margin-right: 0;
}
.paket-reiseverlauf-media-icon--empty {
  color: var(--colGrey400);
}
.paket-reiseverlauf-media-icon--unavailable {
  position: relative;
  color: var(--colError500);
}
.paket-reiseverlauf-media-icon--unavailable::after {
  content: "\f715";
  font-family: "Font Awesome 7 Pro";
  font-weight: 900;
  position: absolute;
  inset: 0;
  display: inline-block;
}
/*!*************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./assets/css/_modules/vorgang.scss ***!
  \*************************************************************************************************************************************************************************************************************************************************/
/*------------------------------------------------*/
/*------------------------------------------------*/
/**/
[data-color-theme=berry] {
  --colPrimary700: #3d151f;
  --colPrimary600: #8b293d;
  --colPrimary500: #b3344e;
  --colPrimary400: #d16279;
  --colPrimary300: #d16279;
  --colPrimary200: #e8b1bc;
  --colPrimary100: #faecef;
}

[data-color-mode=dark] {
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey750: #3f3f3f;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #888;
  --colGrey400: #aaa;
  --colGrey300: #bbb;
  --colGrey200: #ddd;
  --colGrey100: #eee;
  --colWhite500: #f0f0f0;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
}

:root {
  --colPrimary700: #003232;
  --colPrimary600: #005a44;
  --colPrimary500: #008255;
  --colPrimary400: #00D278;
  --colPrimary300: #39c585;
  --colPrimary200: #bff4dd;
  --colPrimary100: #f5fdfa;
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #ccc;
  --colGrey400: #ddd;
  --colGrey300: #eee;
  --colGrey200: #f0f0f0;
  --colGrey100: #F9f9f9;
  --colWhite500: #f8f8f8;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
  --colSuccess100: #eff8ef;
  --colSuccess500: #42AA49;
  --colSuccess700: #2C722F;
  --colWarning100: #f7ecdd;
  --colWarning500: #D89F54;
  --colWarning700: #8D5E20;
  --colError500: #D85854;
  --colError300: #f9eeee;
  --colError600: #B72E2A;
  --colError700: #D81913;
}

.tos-elevate1 {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

.tos-elevate2 {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate3 {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate4 {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.tos-elevate5 {
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
}

/*------------------------------------------------
/* Schriftarten
/*----------------------------------------------*/
/* @font-face {
*     font-family: roboto;
*     font-weight: 200;
*     font-style: normal;
*     src: url('../fonts/Roboto-Thin.ttf') format('truetype');
* }
* @font-face {
*     font-family: roboto;
*     font-weight: 300;
*     font-style: normal;
*     src: url('../fonts/Roboto-Light.ttf') format('truetype');
* }
*@import url('https:*fonts.googleapis.com/css?family=Roboto:400,500,700'); */
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 300;
  src: url(/backend/build/fonts/Roboto-Light.057aa247.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 400;
  src: url(/backend/build/fonts/Roboto-Regular.71779d80.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 500;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Medium.ea7d3afe.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 700;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Bold.9630c546.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 900;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Black.7f3ed21e.ttf) format("truetype");
}
.tos-fontFamStd {
  font-family: roboto, arial, sans-serif;
}

.tos-fontFamIcon {
  font-family: "Font Awesome 7 Pro";
}

.tos-fsOmega {
  font-size: 14px !important;
}

.tos-fsAlpha {
  font-size: 26px !important;
}

.tos-fsBeta {
  font-size: 20px !important;
}

.tos-fsGamma {
  font-size: 18px !important;
}

.tos-fsDelta {
  font-size: 16px !important;
}

.tos-fsKilo {
  font-size: 35px !important;
}

.tos-fsMini {
  font-size: 12px !important;
}

.tos-fsMicro {
  font-size: 10px !important;
}

.tos-fsIcon {
  font-size: 14px !important;
}

.tos-fwStandard {
  font-weight: 500 !important;
}

.tos-fwIconStandard::before {
  font-weight: 500 !important;
}

/*------------------------------------------------*/
.buchungsMaske {
  border-top: 4px solid #003232;
}
.buchungsMaske.tosMaske .tosMaske__maxWidth {
  max-width: 2000px;
}
.buchungsMaske.tosMaske .tosMaske__content {
  margin-top: 85px;
  padding: 15px;
}

/*------------------------------------------------------------*/
input.vorgangsmeldungStatus.status--unknown {
  background: inherit;
}
input.vorgangsmeldungStatus.status--error {
  background: #D85854;
  color: #fcfcfc;
}
input.vorgangsmeldungStatus.status--warning, input.vorgangsmeldungStatus.status--pending {
  background: #D89F54;
}
input.vorgangsmeldungStatus.status--success {
  background: #bff4dd;
}

/*------------------------------------------------------------*/
/*------------------------------------------------*/
.vorgangTab .vorgangTab-accordionItem__content, .vorgangTab .vorgangTab-accordionItem__header {
  padding: 10px 10px;
}
.vorgangTab .vorgangTab-accordionItem__footer {
  border-top: 1px solid #ccc;
  margin-top: 10px;
  padding-top: 15px;
}

.vorgangLeistung .vorgangLeistung__preis {
  min-width: 100px;
}
.vorgangLeistung .vorgangLeistung__daten {
  min-width: 200px;
  flex-shrink: 0;
}
.vorgangLeistung .vorgangLeistung__typ {
  width: 20px;
}
.vorgangLeistung .vorgangLeistung__status {
  width: 25px;
  text-align: center;
}
.vorgangLeistung .vorgangLeistung__sitzplatz {
  display: inline-block;
  width: 50px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: middle;
}
.vorgangLeistung .vorgangLeistung__wahlpflicht {
  background-color: var(--colWarning100);
}
[data-color-mode=dark] .vorgangLeistung .vorgangLeistung__wahlpflicht {
  background-color: var(--colWarning500);
}
.vorgangLeistung.error {
  border: 1px solid transparent !important;
  background-color: var(--colError300);
}
[data-color-mode=dark] .vorgangLeistung.error {
  color: var(--colError300);
  background-color: var(--colError500);
}
.vorgangLeistung.error .uk-accordion-title {
  color: #D85854;
}
[data-color-mode=dark] .vorgangLeistung.error .uk-accordion-title {
  color: var(--colError300);
  background-color: var(--colError500);
}

.vorgangLeistungOption {
  margin-top: 0 !important;
}
.vorgangLeistungOption .vorgangLeistungOption__teilnehmer {
  position: relative;
}
.vorgangLeistungOption .vorgangLeistungOption__status {
  width: 30px;
  height: 28px;
}

/*-----------------------------*/
.vorgangLeistung__status.vorgangLeistung__status--OK, .vorgangLeistung__status.vorgangLeistungOption__status--OK, .vorgangLeistungOption__status.vorgangLeistung__status--OK, .vorgangLeistungOption__status.vorgangLeistungOption__status--OK {
  background: var(--colSuccess100);
}
[data-color-mode=dark] .vorgangLeistung__status.vorgangLeistung__status--OK, [data-color-mode=dark] .vorgangLeistung__status.vorgangLeistungOption__status--OK, [data-color-mode=dark] .vorgangLeistungOption__status.vorgangLeistung__status--OK, [data-color-mode=dark] .vorgangLeistungOption__status.vorgangLeistungOption__status--OK {
  background: var(--colSuccess500);
}
.vorgangLeistung__status.vorgangLeistung__status--pending, .vorgangLeistung__status.vorgangLeistungOption__status--pending, .vorgangLeistung__status.vorgangLeistung__status--UN, .vorgangLeistung__status.vorgangLeistungOption__status--UN, .vorgangLeistung__status.vorgangLeistung__status--RQ, .vorgangLeistung__status.vorgangLeistungOption__status--RQ, .vorgangLeistungOption__status.vorgangLeistung__status--pending, .vorgangLeistungOption__status.vorgangLeistungOption__status--pending, .vorgangLeistungOption__status.vorgangLeistung__status--UN, .vorgangLeistungOption__status.vorgangLeistungOption__status--UN, .vorgangLeistungOption__status.vorgangLeistung__status--RQ, .vorgangLeistungOption__status.vorgangLeistungOption__status--RQ {
  background: var(--colWarning100);
}
[data-color-mode=dark] .vorgangLeistung__status.vorgangLeistung__status--pending, [data-color-mode=dark] .vorgangLeistung__status.vorgangLeistungOption__status--pending, [data-color-mode=dark] .vorgangLeistung__status.vorgangLeistung__status--UN, [data-color-mode=dark] .vorgangLeistung__status.vorgangLeistungOption__status--UN, [data-color-mode=dark] .vorgangLeistung__status.vorgangLeistung__status--RQ, [data-color-mode=dark] .vorgangLeistung__status.vorgangLeistungOption__status--RQ, [data-color-mode=dark] .vorgangLeistungOption__status.vorgangLeistung__status--pending, [data-color-mode=dark] .vorgangLeistungOption__status.vorgangLeistungOption__status--pending, [data-color-mode=dark] .vorgangLeistungOption__status.vorgangLeistung__status--UN, [data-color-mode=dark] .vorgangLeistungOption__status.vorgangLeistungOption__status--UN, [data-color-mode=dark] .vorgangLeistungOption__status.vorgangLeistung__status--RQ, [data-color-mode=dark] .vorgangLeistungOption__status.vorgangLeistungOption__status--RQ {
  background: var(--colWarning500);
}

/*-----------------------------*/
.vorgangsHistorieDetail--diff > .vorgangsHistorieDetail-title::after {
  content: "\f05a";
  font-weight: 700;
  color: #D89F54;
}

.vorgangsHistorieDetail-highlight {
  border-style: solid;
  border-color: #D89F54;
  border-width: 1px;
  padding-left: 5px;
  padding-right: 5px;
  padding-top: 0 !important;
  border-top: 1px solid #D89F54 !important;
}

.vorgangsHistorieDetail-title {
  position: relative;
  padding-left: 25px;
}
.vorgangsHistorieDetail-title::after {
  font-family: "Font Awesome 7 Pro";
  content: "\f111";
  font-weight: 400;
  left: 3px;
  position: absolute;
}

.vorgangsHistorieDetail-diffDetail .vorgangHistorieDetail__wert {
  color: #D89F54;
}

/*-----------------------------*/
.vorgangTab[tos-tab-content=vorgang_zahlungen] .vorgangZahlungen__progress {
  position: relative;
}
.vorgangTab[tos-tab-content=vorgang_zahlungen] .vorgangZahlungen__progress .vorgangZahlungen__progressGesamt {
  position: relative;
  z-index: 200;
}
.vorgangTab[tos-tab-content=vorgang_zahlungen] .vorgangZahlungen__progress .vorgangZahlungen__progressAnzahlung {
  z-index: 100;
  position: absolute;
  margin-top: 0;
  top: 0;
}

.kundennummer.kundennummer--has-dupes {
  background: transparent;
  border-bottom: 2px solid var(--colWarning500);
  padding: 0 2px;
  cursor: pointer;
  transition: border-color 120ms ease-in-out, box-shadow 120ms ease-in-out;
}
[data-color-mode=dark] .kundennummer.kundennummer--has-dupes {
  border-bottom-color: var(--colWarning200);
}
.kundennummer.kundennummer--has-dupes:hover {
  border-bottom-color: var(--colWarning700);
}
.kundennummer.kundennummer--has-dupes:focus, .kundennummer.kundennummer--has-dupes:focus-visible {
  outline: none;
  box-shadow: 0 2px 0 0 var(--colWarning500);
}

.kundennummer__dupeDrop {
  z-index: 11000;
}
.kundennummer__dupeDrop .uk-card {
  width: clamp(320px, 45vw, 720px);
  min-width: 320px;
  max-width: none;
}
.kundennummer__dupeDrop .uk-card-body {
  max-height: 60vh;
  overflow-y: auto;
}
.kundennummer__dupeDrop .uk-list > li {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: anywhere;
}
.kundennummer__dupeDrop .kundennummer__dupeLink {
  display: inline-block;
  font-weight: 600;
  text-decoration: none;
}
.kundennummer__dupeDrop .kundennummer__dupeLink:hover {
  text-decoration: underline;
}

#terminWahlModal .flatpickr-calendar .termin-gesperrt {
  color: var(--colGrey600);
  text-decoration: line-through;
  cursor: not-allowed;
}
#terminWahlModal .flatpickr-calendar .termin-buchbar {
  font-weight: 600;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzX2pzX190b3NUYWJsZV9qcy1hc3NldHNfY3NzX19tb2R1bGVzX19wcmVpc3JlZ2VsX3Njc3MtYXNzZXRzX2Nzc19fbW9kdWxlc19hY3Rpdml0eS1ib2FyLTNkZjNjYy4xNzg3MDQ2MDI1NjUxLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFHQTtBQ2dDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDakNKOztBRDBGQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDdkZKOztBRGtKQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7QUNsSko7O0FDOUJBO0VBQWUsd0VBTk47QUR3Q1Q7O0FDakNBO0VBQWUsd0VBTk47QUQyQ1Q7O0FDcENBO0VBQWUsMEVBTk47QUQ4Q1Q7O0FDdkNBO0VBQWUsNEVBTk47QURpRFQ7O0FDMUNBO0VBQWUsMkVBTk47QURvRFQ7O0FFN0VBOztpREFBQTtBQWlCQTs7Ozs7Ozs7Ozs7OzRFQUFBO0FBbUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUY0REo7QUV6REE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBRjJESjtBRXhEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FGMERKO0FFdkRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUZ5REo7QUV0REE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBRndESjtBRTlDQTtFQUNJLHNDQUxXO0FGcURmOztBRTdDQTtFQUNJLGlDQVJZO0FGd0RoQjs7QUViQTtFQUNJO0FGZ0JKOztBRWJBO0VBQ0k7QUZnQko7O0FFYkE7RUFDSTtBRmdCSjs7QUViQTtFQUNJ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RUFDQSxZQ3RJSztBRGtRVDs7QUF2SEE7QUFJRTtFQUNFO0FBdUhKO0FBckhJO0VBQ0U7QUF1SE47QUFuSEU7RUFHRTtBQW1ISjtBQWpISTtFQUNFO0FBbUhOOztBQTlHQTtBQUtFO0VBQ0U7RUFDQTtFQUNBLGNmMUJZO0FldUloQjs7QUF6R0E7RUFDRTtFQUNBLHFCZmhDYztFZWlDZDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBNEdGOztBQXpHQTtFQUNFO0VBQ0E7QUE0R0Y7QUExR0U7RUFDRSxpQ1o5SFk7RVkrSFo7RUFDQTtFQUNBO0VBQ0E7QUE0R0o7O0FBdEdFO0VBQ0UsY2Z4RFk7QWVpS2hCOztBQXJHQTtBQUdFO0VBQ0U7QUFzR0o7QUFwR0k7RUFDRTtFQUNBO0FBc0dOO0FBbkdJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFxR047O0FBM0ZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQThGSjtBQTVGSTtFQUNFO0FBOEZOO0FBM0ZJO0VBQ0U7QUE2Rk47QUExRkk7RUFFRTtFQUNBO0FBMkZOOztBQWxGQTtFQUNFO0FBcUZGO0FBbkZFO0VBRUU7RUFDQTtFQUNBO0FBb0ZKO0FBaEZFO0VBQ0U7RUFDQTtBQWtGSjtBQTlFRTtFQUNFO0VBQ0E7RUFDQTtFQUdBO0FBOEVKO0FBM0VFO0VBQ0U7RUFDQTtFQUNBO0FBNkVKO0FBM0VJO0VBQ0U7QUE2RU47O0FBbEVJO0VBQ0U7RUFDQTtFQUNBO0FBcUVOO0FBbEVJO0VBQ0U7QUFvRU4sQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvX3Rvb2xzL19taXhpbl9tZWRpYVF1ZXJ5QnJlYWtwb2ludC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvX2Jhc2UvX2NvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvX21vZHVsZXMvYWN0aXZpdHktYm9hcmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL19iYXNlL19lbGV2YXRpb25MZXZlbHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL19iYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9fYmFzZS9fbWFyZ2lucy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvX2Jhc2UvX2ljb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vdGVtcGxhdGVzL2FjdGl2aXR5LWJvYXJkL2VtYWlsL0VtYWlsVGhyZWFkVmlldy52dWUiLCJ3ZWJwYWNrOi8vLy4vdGVtcGxhdGVzL2FkbWluL19wYXJ0aWFscy9wYXJhbWV0ZXIuZ3J1cHBlLnZvcnNjaGxhZWdlLnZ1ZSIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL19tb2R1bGVzL3dvcmtmbG93LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9fbW9kdWxlcy9sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL19tb2R1bGVzL3JlaXNlcGFrZXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL19tb2R1bGVzL2JlbnV0emVycm9sbGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL19tb2R1bGVzL19hYmxhZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL19tb2R1bGVzL19wcmVpc3JlZ2VsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9fbW9kdWxlcy9yZWlzZXZlcmxhdWYuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL19tb2R1bGVzL3Zvcmdhbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL192YXJpYWJsZXMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6W251bGwsbnVsbCwiLyoqL1xuW2RhdGEtY29sb3ItdGhlbWU9YmVycnldIHtcbiAgLS1jb2xQcmltYXJ5NzAwOiAjM2QxNTFmO1xuICAtLWNvbFByaW1hcnk2MDA6ICM4YjI5M2Q7XG4gIC0tY29sUHJpbWFyeTUwMDogI2IzMzQ0ZTtcbiAgLS1jb2xQcmltYXJ5NDAwOiAjZDE2Mjc5O1xuICAtLWNvbFByaW1hcnkzMDA6ICNkMTYyNzk7XG4gIC0tY29sUHJpbWFyeTIwMDogI2U4YjFiYztcbiAgLS1jb2xQcmltYXJ5MTAwOiAjZmFlY2VmO1xufVxuXG5bZGF0YS1jb2xvci1tb2RlPWRhcmtdIHtcbiAgLS1jb2xCbGFjazogIzAwMDtcbiAgLS1jb2xTb2Z0QmxhY2s6ICMxMjEyMTI7XG4gIC0tY29sR3JleTkwMDogIzIyMjtcbiAgLS1jb2xHcmV5ODAwOiAjMzMzO1xuICAtLWNvbEdyZXk3NTA6ICMzZjNmM2Y7XG4gIC0tY29sR3JleTcwMDogIzQ0NDtcbiAgLS1jb2xHcmV5NjAwOiAjNjY2O1xuICAtLWNvbEdyZXk1MDA6ICM4ODg7XG4gIC0tY29sR3JleTQwMDogI2FhYTtcbiAgLS1jb2xHcmV5MzAwOiAjYmJiO1xuICAtLWNvbEdyZXkyMDA6ICNkZGQ7XG4gIC0tY29sR3JleTEwMDogI2VlZTtcbiAgLS1jb2xXaGl0ZTUwMDogI2YwZjBmMDtcbiAgLS1jb2xTb2Z0V2hpdGU6ICNmY2ZjZmM7XG4gIC0tY29sV2hpdGU6ICNmZmY7XG4gIC0tY29sb3ItbGlnaHQ6ICNmZmY7XG59XG5cbjpyb290IHtcbiAgLS1jb2xQcmltYXJ5NzAwOiAjMDAzMjMyO1xuICAtLWNvbFByaW1hcnk2MDA6ICMwMDVhNDQ7XG4gIC0tY29sUHJpbWFyeTUwMDogIzAwODI1NTtcbiAgLS1jb2xQcmltYXJ5NDAwOiAjMDBEMjc4O1xuICAtLWNvbFByaW1hcnkzMDA6ICMzOWM1ODU7XG4gIC0tY29sUHJpbWFyeTIwMDogI2JmZjRkZDtcbiAgLS1jb2xQcmltYXJ5MTAwOiAjZjVmZGZhO1xuICAtLWNvbEJsYWNrOiAjMDAwO1xuICAtLWNvbFNvZnRCbGFjazogIzEyMTIxMjtcbiAgLS1jb2xHcmV5OTAwOiAjMjIyO1xuICAtLWNvbEdyZXk4MDA6ICMzMzM7XG4gIC0tY29sR3JleTcwMDogIzQ0NDtcbiAgLS1jb2xHcmV5NjAwOiAjNjY2O1xuICAtLWNvbEdyZXk1MDA6ICNjY2M7XG4gIC0tY29sR3JleTQwMDogI2RkZDtcbiAgLS1jb2xHcmV5MzAwOiAjZWVlO1xuICAtLWNvbEdyZXkyMDA6ICNmMGYwZjA7XG4gIC0tY29sR3JleTEwMDogI0Y5ZjlmOTtcbiAgLS1jb2xXaGl0ZTUwMDogI2Y4ZjhmODtcbiAgLS1jb2xTb2Z0V2hpdGU6ICNmY2ZjZmM7XG4gIC0tY29sV2hpdGU6ICNmZmY7XG4gIC0tY29sb3ItbGlnaHQ6ICNmZmY7XG4gIC0tY29sU3VjY2VzczEwMDogI2VmZjhlZjtcbiAgLS1jb2xTdWNjZXNzNTAwOiAjNDJBQTQ5O1xuICAtLWNvbFN1Y2Nlc3M3MDA6ICMyQzcyMkY7XG4gIC0tY29sV2FybmluZzEwMDogI2Y3ZWNkZDtcbiAgLS1jb2xXYXJuaW5nNTAwOiAjRDg5RjU0O1xuICAtLWNvbFdhcm5pbmc3MDA6ICM4RDVFMjA7XG4gIC0tY29sRXJyb3I1MDA6ICNEODU4NTQ7XG4gIC0tY29sRXJyb3IzMDA6ICNmOWVlZWU7XG4gIC0tY29sRXJyb3I2MDA6ICNCNzJFMkE7XG4gIC0tY29sRXJyb3I3MDA6ICNEODE5MTM7XG59XG5cbi50b3MtZWxldmF0ZTEge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7XG59XG5cbi50b3MtZWxldmF0ZTIge1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yMyk7XG59XG5cbi50b3MtZWxldmF0ZTMge1xuICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMTkpLCAwIDZweCA2cHggcmdiYSgwLCAwLCAwLCAwLjIzKTtcbn1cblxuLnRvcy1lbGV2YXRlNCB7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyOHB4IHJnYmEoMCwgMCwgMCwgMC4yNSksIDAgMTBweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yMik7XG59XG5cbi50b3MtZWxldmF0ZTUge1xuICBib3gtc2hhZG93OiAwIDE5cHggMzhweCByZ2JhKDAsIDAsIDAsIDAuMyksIDAgMTVweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yMik7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKiBTY2hyaWZ0YXJ0ZW5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBAZm9udC1mYWNlIHtcbiogICAgIGZvbnQtZmFtaWx5OiByb2JvdG87XG4qICAgICBmb250LXdlaWdodDogMjAwO1xuKiAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuKiAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1JvYm90by1UaGluLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiogfVxuKiBAZm9udC1mYWNlIHtcbiogICAgIGZvbnQtZmFtaWx5OiByb2JvdG87XG4qICAgICBmb250LXdlaWdodDogMzAwO1xuKiAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuKiAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1JvYm90by1MaWdodC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4qIH1cbipAaW1wb3J0IHVybCgnaHR0cHM6KmZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvOjQwMCw1MDAsNzAwJyk7ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1MaWdodC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogcm9ib3RvO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvUm9ib3RvLU1lZGl1bS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogcm9ib3RvO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvUm9ib3RvLUJsYWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbi50b3MtZm9udEZhbVN0ZCB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG8sIGFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4udG9zLWZvbnRGYW1JY29uIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDcgUHJvXCI7XG59XG5cbi50b3MtZnNPbWVnYSB7XG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzQWxwaGEge1xuICBmb250LXNpemU6IDI2cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0JldGEge1xuICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0dhbW1hIHtcbiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNEZWx0YSB7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzS2lsbyB7XG4gIGZvbnQtc2l6ZTogMzVweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzTWluaSB7XG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzTWljcm8ge1xuICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0ljb24ge1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1md1N0YW5kYXJkIHtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZ3SWNvblN0YW5kYXJkOjpiZWZvcmUge1xuICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIHJlZ2lvbiBBY3Rpdml0eSBCb2FyZCAqL1xuLmFjdGl2aXR5LWJvYXJkLS1maWx0ZXJzIGZpZWxkc2V0IGRpdltjbGFzc149dWstd2lkdGhdIHtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIG1hcmdpbi1yaWdodDogMTJweDtcbn1cblxuI2FjdGl2aXRpZXMgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBvcGFjaXR5OiAxO1xuICBoZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxNXB4O1xuICBtYXJnaW46IDhweCAxNXB4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8qIGVuZHJlZ2lvbiAqL1xuLyogcmVnaW9uIFRvRG8gQWNjb3JkaW9uICovXG4uYWN0aXZpdHlEZXRhaWxfX3RpdGxlIHtcbiAgZm9udC1zaXplOiBtZWRpdW0gIWltcG9ydGFudDtcbiAgcGFkZGluZzogNnB4O1xufVxuLmFjdGl2aXR5RGV0YWlsX190aXRsZS5pcy1pbXBvcnRhbnQge1xuICBjb2xvcjogdmFyKC0tY29sRXJyb3I3MDApO1xufVxuLmFjdGl2aXR5RGV0YWlsX190aXRsZS5hY3Rpdml0eUFjY29yZGlvbl9fdHJpZ2dlci5kdWUge1xuICBiYWNrZ3JvdW5kOiAjRDg5RjU0O1xufVxuLmFjdGl2aXR5RGV0YWlsX190aXRsZS5hY3Rpdml0eUFjY29yZGlvbl9fdHJpZ2dlci5vdmVyZHVlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sRXJyb3I1MDApO1xufVxuLmFjdGl2aXR5RGV0YWlsX19jbGFzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiA4NXB4O1xufVxuLmFjdGl2aXR5RGV0YWlsX191c2VyIHtcbiAgbWluLXdpZHRoOiAyMjVweDtcbn1cbi5hY3Rpdml0eURldGFpbF9fZGVhZGxpbmUge1xuICBtaW4td2lkdGg6IDEyNXB4O1xufVxuLmFjdGl2aXR5RGV0YWlsX19ub3RlcyB7XG4gIG1pbi13aWR0aDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4ICFpbXBvcnRhbnQ7XG59XG4uYWN0aXZpdHlEZXRhaWxfX25vdGVzIHNwYW4uY291bnQtMCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xHcmV5NTAwKTtcbn1cbi5hY3Rpdml0eURldGFpbF9fc3RhdHVzLmR1ZSB7XG4gIGJhY2tncm91bmQ6ICNEODlGNTQ7XG59XG4uYWN0aXZpdHlEZXRhaWxfX3N0YXR1cy5vdmVyZHVlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sRXJyb3I3MDApO1xufVxuLmFjdGl2aXR5RGV0YWlsX19zdGF0dXMge1xuICBtaW4td2lkdGg6IDEzNXB4O1xufVxuLmFjdGl2aXR5RGV0YWlsX19zdGF0dXMgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDEwcHg7XG59XG4uYWN0aXZpdHlEZXRhaWwuZGlzcGxheS1hY3Rpdml0eWJvYXJkIC51ay1hY2NvcmRpb24tY29udGVudCB7XG4gIG1hcmdpbi1sZWZ0OiA0MnB4O1xufVxuLmFjdGl2aXR5RGV0YWlsLmRpc3BsYXktaW5saW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmFjdGl2aXR5QWNjb3JkaW9uIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbEdyZXk2MDApO1xufVxuLmFjdGl2aXR5QWNjb3JkaW9uX19jb250ZW50IHtcbiAgZm9udC1zaXplOiAxLjE1cmVtO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuLmFjdGl2aXR5QWNjb3JkaW9uX19oZWFkZXIge1xuICBwYWRkaW5nOiAwIDEwcHggMTBweDtcbn1cbi5hY3Rpdml0eUFjY29yZGlvbl9fZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xufVxuXG4vKiBlbmRyZWdpb24gKi9cbi8qIHJlZ2lvbiBUb0RvIEVkaXQtTW9kYWwgKi9cbltkYXRhLXBhcmVudC1zZWFyY2gtY2xlYXJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTQwcHg7XG4gIGxlZnQ6IGNhbGMoMTAwJSAtIDIwcHgpO1xufVxuXG51bCN0b2RvLXBhcmVudC1zZWFyY2gtcmVzdWx0cyB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sUHJpbWFyeTEwMCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbEdyZXk1MDApO1xufVxudWwjdG9kby1wYXJlbnQtc2VhcmNoLXJlc3VsdHMgbGkge1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogdmFyKC0tY29sUHJpbWFyeTUwMCk7XG59XG51bCN0b2RvLXBhcmVudC1zZWFyY2gtcmVzdWx0cyBsaTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbFByaW1hcnkyMDApO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zZWFyY2gtZmllbGQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5zZWFyY2gtZmllbGQtd3JhcHBlciAuc2VhcmNoLXJlc3VsdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDBweDtcbiAgei1pbmRleDogMTU7XG4gIG1heC13aWR0aDogMzQ4cHg7XG59XG5cbi8qIGVuZHJlZ2lvbiAqL1xuLyogcmVnaW9uIFdpbmJveCBNb2RhbHMgKi9cbiN3aW5ib3hfYWN0aXZpdHktbW9kYWwgLndiLWhlYWRlciB7XG4gIHBhZGRpbmc6IDA7XG59XG4jd2luYm94X2FjdGl2aXR5LW1vZGFsLm1pbiAud2ItaGVhZGVyIC53Yi10aXRsZSB7XG4gIGN1cnNvcjogem9vbS1pbjtcbn1cbiN3aW5ib3hfYWN0aXZpdHktbW9kYWwge1xuICB6LWluZGV4OiAxMDAwICFpbXBvcnRhbnQ7XG59XG5cbnVsLmFjdGl2aXR5LWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG51bC5hY3Rpdml0eS1saXN0IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cbnVsLmFjdGl2aXR5LWxpc3QgbGk6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAxcHg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG59XG51bC5hY3Rpdml0eS1saXN0IGxpLlRvRG86OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA3IFByb1wiO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb250ZW50OiBcIlxcZjczN1wiO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbnVsLmFjdGl2aXR5LWxpc3QgbGkuTm90ZTo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDcgUHJvXCI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbnRlbnQ6IFwiXFxlMWZmXCI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKiBlbmRyZWdpb24qLyIsbnVsbCxudWxsLG51bGwsbnVsbCwiPHNjcmlwdD5cbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudC9tb21lbnRcIjtcbmltcG9ydCBHbG9iYWxlRnVua3Rpb25lbiBmcm9tIFwiLi4vLi4vLi4vYXNzZXRzL2pzL2Jhc2UvX2dsb2JhbGVGdW5rdGlvbmVuXCI7XG5cbmNvbnN0IGNpZENhY2hlID0ge307XG5pbXBvcnQgRGF0ZUhlbHBlciBmcm9tIFwiLi4vLi4vLi4vYXNzZXRzL2pzL2Jhc2UvX2RhdGVIZWxwZXJcIjtcbmltcG9ydCB0YWdUeXBlU2VsZWN0IGZyb20gXCIuLi9fcGFydGlhbHMvVGFnVHlwZVNlbGVjdC52dWVcIjtcblxuZXhwb3J0IGRlZmF1bHQge1xuICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgXCJ0YWctdHlwZS1zZWxlY3RcIjogdGFnVHlwZVNlbGVjdCxcbiAgICB9LFxuICAgIHByb3BzOiB7XG4gICAgICAgIHRocmVhZElkOiB7dHlwZTogTnVtYmVyLCByZXF1aXJlZDogdHJ1ZX0sXG4gICAgICAgIHRhZ0xpc3Q6IHsgdHlwZTogQXJyYXksIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgIGF0dGFjaG1lbnRzOiB7IHR5cGU6IEFycmF5LCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgIH0sXG4gICAgZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRocmVhZDogbnVsbCxcbiAgICAgICAgICAgIHNlbGVjdGVkTWVzc2FnZTogbnVsbCxcbiAgICAgICAgICAgIGlzTG9hZGluZzogdHJ1ZSxcbiAgICAgICAgICAgIGFjdGl2ZVRhYjogJ2NvbnRlbnQnLFxuICAgICAgICAgICAgY2lkSW1hZ2VzOiB7fSxcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICBhc3luYyBsb2FkVGhyZWFkKCkge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmRwb2ludCA9IFJvdXRpbmcuZ2VuZXJhdGUoJ2VtYWlsX3RocmVhZF9yZWFkJywge1xuICAgICAgICAgICAgICAgICAgICBpZDogdGhpcy50aHJlYWRJZCxcbiAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9tZXNzYWdlczogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMudGhyZWFkID0gYXdhaXQgdG9IdHRwLmdldChlbmRwb2ludCwgbmV3IEh0dHBPcHRpb25zKHsgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICBhY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgICAgIH19KSk7XG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgndGhyZWFkLWxvYWRlZCcsIHRoaXMudGhyZWFkKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50aHJlYWQubWVzc2FnZXMgJiYgdGhpcy50aHJlYWQubWVzc2FnZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTWVzc2FnZSA9IHRoaXMudGhyZWFkLm1lc3NhZ2VzW3RoaXMudGhyZWFkLm1lc3NhZ2VzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLnNlbGVjdGVkTWVzc2FnZS5oZWFkZXJzID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTWVzc2FnZS5oZWFkZXJzID0geyBhcGlfdGFnczoge319O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgbG9hZGluZyB0aHJlYWQ6XCIsIGVycm9yKTtcbiAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY29weVRvQ2xpcGJvYXJkKGNvbnRlbnQpIHtcbiAgICAgICAgICAgIEdsb2JhbGVGdW5rdGlvbmVuLmNvcHlUb0NsaXBib2FyZChjb250ZW50KTtcbiAgICAgICAgfSxcbiAgICAgICAgZW5jYXBzdWxlTWFpbENvbnRlbnQoKSB7XG4gICAgICAgICAgICBGb3JtRWxlbWVudGUuaXNvbGF0ZVByZXZpZXdzKCQoJy5tZXNzYWdlLWJvZHknKVswXSwnLnJhdy1odG1sLWVtYmVkJyk7XG4gICAgICAgIH0sXG4gICAgICAgIHNlbGVjdE1lc3NhZ2UobWVzc2FnZSkge1xuICAgICAgICAgICAgaWYgKG1lc3NhZ2UuaGVhZGVycyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIG1lc3NhZ2UuaGVhZGVycyA9IHsgYXBpX3RhZ3M6IHt9fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRNZXNzYWdlID0gbWVzc2FnZTtcbiAgICAgICAgfSxcbiAgICAgICAgcmVwbHlUbyhtZXNzYWdlKSB7XG4gICAgICAgICAgICBjb25zdCBzdWJqZWN0ID0gbWVzc2FnZS5zdWJqZWN0LnN0YXJ0c1dpdGgoJ1JlOicpID8gbWVzc2FnZS5zdWJqZWN0IDogJ1JlOiAnICsgbWVzc2FnZS5zdWJqZWN0O1xuICAgICAgICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAgICAgICAgIHRocmVhZElkOiB0aGlzLnRocmVhZElkLFxuICAgICAgICAgICAgICAgIHN1YmplY3Q6IHN1YmplY3QsXG4gICAgICAgICAgICAgICAgdG86IG1lc3NhZ2UuZnJvbSxcbiAgICAgICAgICAgICAgICBwYXJlbnRUeXBlOiBtZXNzYWdlLnBhcmVudD8uZW50aXR5IHx8ICcnLFxuICAgICAgICAgICAgICAgIHBhcmVudElkOiBtZXNzYWdlLnBhcmVudD8uaWQgfHwgJydcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBSb3V0aW5nLmdlbmVyYXRlKCdlbWFpbF9vdXRnb2luZ19jcmVhdGUnLCBwYXJhbXMpO1xuICAgICAgICAgICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJyk7XG4gICAgICAgIH0sXG4gICAgICAgIGZvcm1hdERhdGUoZGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIERhdGVIZWxwZXIuZ2V0RGF0ZUZvcm1hdHRlZChkYXRlLCAnZGF0ZS10aW1lJyk7XG4gICAgICAgIH0sXG4gICAgICAgIHBhdGgocm91dGUsIHBhcmFtcykge1xuICAgICAgICAgICAgcmV0dXJuIFJvdXRpbmcuZ2VuZXJhdGUocm91dGUsIHBhcmFtcyk7XG4gICAgICAgIH0sXG4gICAgICAgIGVkaXREcmFmdChtZXNzYWdlKSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBSb3V0aW5nLmdlbmVyYXRlKCdlbWFpbF9vdXRnb2luZ19lZGl0Jywge2lkOiBtZXNzYWdlLmlkfSk7XG4gICAgICAgICAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTtcbiAgICAgICAgfSxcbiAgICAgICAgcmVzZW5kKG1lc3NhZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IHN1YmplY3QgPSBtZXNzYWdlLnN1YmplY3Q7XG4gICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgICAgICAgICAgY29weUlkOiBtZXNzYWdlLmlkLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IFJvdXRpbmcuZ2VuZXJhdGUoJ2VtYWlsX291dGdvaW5nX2NyZWF0ZScsIHBhcmFtcyk7XG4gICAgICAgICAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTtcbiAgICAgICAgfSxcblxuICAgICAgICBhc3luYyByZXNvbHZlQ2lkSW1hZ2VzKCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmF0dGFjaG1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgYm9keSA9IHRoaXMuc2VsZWN0ZWRNZXNzYWdlLmJvZHlIdG1sIHx8IHRoaXMuc2VsZWN0ZWRNZXNzYWdlLmJvZHlUZXh0IHx8ICcnO1xuICAgICAgICAgICAgY29uc3QgY2lkUmVnZXggPSAvY2lkOihbXlwiJz5cXHMoKV0rKS9nO1xuICAgICAgICAgICAgbGV0IG1hdGNoO1xuICAgICAgICAgICAgY29uc3QgY2lkc0ZvdW5kID0gbmV3IFNldCgpO1xuXG4gICAgICAgICAgICB3aGlsZSAoKG1hdGNoID0gY2lkUmVnZXguZXhlYyhib2R5KSkgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjaWRzRm91bmQuYWRkKG1hdGNoWzFdKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY2lkc0ZvdW5kLmZvckVhY2goZnVsbENpZCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgbm9ybWFsaXplZENpZCA9IGZ1bGxDaWQucmVwbGFjZSgvXjx8PiQvZywgJycpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZUF0ID0gbm9ybWFsaXplZENpZC5zcGxpdCgnQCcpWzBdO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgYXR0YWNobWVudCA9IHRoaXMuYXR0YWNobWVudHMuZmluZChhID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGVudElkID0gKGEuY29udGVudElkIHx8ICcnKS5yZXBsYWNlKC9ePHw+JC9nLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb250ZW50SWQgJiYgKGNvbnRlbnRJZCA9PT0gbm9ybWFsaXplZENpZCB8fCBjb250ZW50SWQuc3BsaXQoJ0AnKVswXSA9PT0gYmVmb3JlQXQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS5maWxlbmFtZSA9PT0gbm9ybWFsaXplZENpZCB8fCBhLmZpbGVuYW1lID09PSBiZWZvcmVBdDtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGlmIChhdHRhY2htZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmV0Y2hDaWRJbWFnZShhdHRhY2htZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcblxuICAgICAgICBhc3luYyBmZXRjaENpZEltYWdlKGF0dGFjaG1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGlkID0gYXR0YWNobWVudC5pZDtcblxuICAgICAgICAgICAgLy8gQWxyZWFkeSBjYWNoZWQgd2l0aCBhIHJlYWwgdmFsdWVcbiAgICAgICAgICAgIGlmIChjaWRDYWNoZVtpZF0gJiYgY2lkQ2FjaGVbaWRdICE9PSAnbG9hZGluZycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNpZEltYWdlc1tpZF0gPSBjaWRDYWNoZVtpZF07XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBbHJlYWR5IGluLWZsaWdodCDigJQgd2FpdCBmb3IgaXRcbiAgICAgICAgICAgIGlmIChjaWRDYWNoZVtpZF0gPT09ICdsb2FkaW5nJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IE1BWF9XQUlUID0gMTBfMDAwO1xuICAgICAgICAgICAgICAgIGNvbnN0IElOVEVSVkFMID0gMTAwO1xuICAgICAgICAgICAgICAgIGxldCBlbGFwc2VkID0gMDtcblxuICAgICAgICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGVjayA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaWRDYWNoZVtpZF0gJiYgY2lkQ2FjaGVbaWRdICE9PSAnbG9hZGluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNpZEltYWdlc1tpZF0gPSBjaWRDYWNoZVtpZF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZWxhcHNlZCA8IE1BWF9XQUlUKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxhcHNlZCArPSBJTlRFUlZBTDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGNoZWNrLCBJTlRFUlZBTCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGNoZWNrKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBNYXJrIGFzIGluLWZsaWdodFxuICAgICAgICAgICAgY2lkQ2FjaGVbaWRdID0gJ2xvYWRpbmcnO1xuICAgICAgICAgICAgdGhpcy5jaWRJbWFnZXNbaWRdID0gJ2xvYWRpbmcnO1xuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IFJvdXRpbmcuZ2VuZXJhdGUoJ2VtYWlsX2F0dGFjaG1lbnRfZG93bmxvYWQnLCB7IGF0dGFjaG1lbnRJZDogaWQgfSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCwge1xuICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgICAgICAgICBjcmVkZW50aWFsczogJ3NhbWUtb3JpZ2luJywgLy8gc2VuZCBzZXNzaW9uIGNvb2tpZXNcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBIVFRQICR7cmVzcG9uc2Uuc3RhdHVzfWApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCByZXNwb25zZS5ibG9iKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgYmFzZTY0ZGF0YSA9IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgcmVhZGVyLm9ubG9hZGVuZCA9ICgpID0+IHJlc29sdmUocmVhZGVyLnJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgIHJlYWRlci5vbmVycm9yID0gKCkgPT4gcmVqZWN0KG5ldyBFcnJvcignRmlsZVJlYWRlciBmYWlsZWQnKSk7XG4gICAgICAgICAgICAgICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGJsb2IpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgY2lkQ2FjaGVbaWRdID0gYmFzZTY0ZGF0YTtcbiAgICAgICAgICAgICAgICB0aGlzLmNpZEltYWdlc1tpZF0gPSBiYXNlNjRkYXRhO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBDSUQgaW1hZ2U6JywgZXJyb3IpO1xuICAgICAgICAgICAgICAgIGNpZENhY2hlW2lkXSA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGhpcy5jaWRJbWFnZXNbaWRdID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgIHNlbGVjdGVkTWVzc2FnZToge1xuICAgICAgICAgICAgaGFuZGxlcigpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRNZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlQ2lkSW1hZ2VzKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaW1tZWRpYXRlOiB0cnVlXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIHByb2Nlc3NlZEJvZHkoKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRNZXNzYWdlKSByZXR1cm4gJyc7XG4gICAgICAgICAgICBsZXQgaHRtbCA9IHRoaXMuc2VsZWN0ZWRNZXNzYWdlLmJvZHlIdG1sIHx8IHRoaXMuc2VsZWN0ZWRNZXNzYWdlLmJvZHlUZXh0IHx8ICcnO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5hdHRhY2htZW50cykge1xuICAgICAgICAgICAgICAgIHRoaXMuYXR0YWNobWVudHMuZm9yRWFjaChhdHRhY2htZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmFzZTY0ID0gdGhpcy5jaWRJbWFnZXNbYXR0YWNobWVudC5pZF07XG4gICAgICAgICAgICAgICAgICAgIGlmIChiYXNlNjQgJiYgYmFzZTY0ICE9PSAnbG9hZGluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbGxlY3QgYWxsIGNhbmRpZGF0ZSBcImJhcmVcIiBpZGVudGlmaWVycyBmb3IgdGhpcyBhdHRhY2htZW50XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjYW5kaWRhdGVzID0gbmV3IFNldCgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBGcm9tIGNvbnRlbnRJZDogc3RyaXAgYW5nbGUgYnJhY2tldHMsIGFsc28gYWRkIHRoZSBwYXJ0IGJlZm9yZSBAXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXR0YWNobWVudC5jb250ZW50SWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjbGVhbiA9IGF0dGFjaG1lbnQuY29udGVudElkLnJlcGxhY2UoL148fD4kL2csICcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5kaWRhdGVzLmFkZChjbGVhbik7ICAgICAgICAgICAgICAgLy8gZS5nLiBpbWFnZTAwMS5wbmdAMDFERDFFOTIuQkJCMDEzMDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5kaWRhdGVzLmFkZChjbGVhbi5zcGxpdCgnQCcpWzBdKTsgLy8gZS5nLiBpbWFnZTAwMS5wbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRnJvbSBmaWxlbmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGF0dGFjaG1lbnQuZmlsZW5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5kaWRhdGVzLmFkZChhdHRhY2htZW50LmZpbGVuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgY2FuZGlkYXRlcy5mb3JFYWNoKGNhbmRpZGF0ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXNjYXBlZCA9IGNhbmRpZGF0ZS5yZXBsYWNlKC9bLiorP14ke30oKXxbXFxdXFxcXF0vZywgJ1xcXFwkJicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1hdGNoIGNpZDo8Y2FuZGlkYXRlPiBvcHRpb25hbGx5IGZvbGxvd2VkIGJ5IEA8ZG9tYWluLXBhcnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2lkUmVnZXggPSBuZXcgUmVnRXhwKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2lkOicgKyBlc2NhcGVkICsgJyg/OkBbXlwiXFwnPjxcXFxccygpXSspPyg/PVtcXFxcc1wiXFwnPjwoKV18JCknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ2knXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sID0gaHRtbC5yZXBsYWNlKGNpZFJlZ2V4LCBiYXNlNjQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRmFsbGJhY2s6IHJlcGxhY2UgYW55IHJlbWFpbmluZyBjaWQ6IHJlZmVyZW5jZXMgd2l0aCBhIHRyYW5zcGFyZW50IHBpeGVsXG4gICAgICAgICAgICBodG1sID0gaHRtbC5yZXBsYWNlKFxuICAgICAgICAgICAgICAgIC9jaWQ6W15cIic+XFxzXSsvZyxcbiAgICAgICAgICAgICAgICAnZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3J1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgcmV0dXJuIGh0bWw7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQoKSB7XG4gICAgICAgIHRoaXMubG9hZFRocmVhZCgpO1xuICAgIH0sXG4gICAgdXBkYXRlZCgpIHtcbiAgICAgICAgaWYodGhpcy5hY3RpdmVUYWIgPT09ICdjb250ZW50JyAmJiB0aGlzLnNlbGVjdGVkTWVzc2FnZSkge1xuICAgICAgICAgICAgdGhpcy5lbmNhcHN1bGVNYWlsQ29udGVudCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuPC9zY3JpcHQ+XG5cbjx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiZW1haWwtdGhyZWFkLXZpZXcgdWstaGVpZ2h0LTEtMSB1ay1mbGV4IHVrLWZsZXgtY29sdW1uXCI+XG4gICAgICAgIDxkaXYgdi1pZj1cImlzTG9hZGluZ1wiIGNsYXNzPVwidWstZmxleCB1ay1mbGV4LWNlbnRlciB1ay1mbGV4LW1pZGRsZSB1ay1oZWlnaHQtbWVkaXVtXCI+XG4gICAgICAgICAgICA8ZGl2IHVrLXNwaW5uZXI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgdi1lbHNlLWlmPVwidGhyZWFkXCIgY2xhc3M9XCJ1ay1ncmlkLWNvbGxhcHNlIHVrLWdyaWQtbWF0Y2ggdWstaGVpZ2h0LTEtMVwiIHVrLWdyaWQ+XG4gICAgICAgICAgICA8IS0tIExpbmtlIFNwYWx0ZTogTmFjaHJpY2h0ZW5saXN0ZSAtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay13aWR0aC0xLTRAbSB1ay1iYWNrZ3JvdW5kLW11dGVkIHRocmVhZC1saXN0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aHJlYWQtbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHYtZm9yPVwibXNnIGluIHRocmVhZC5tZXNzYWdlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgOmtleT1cIm1zZy5pZCArICctJyArIG1zZy50eXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRocmVhZC1pdGVtIHVrLXBhZGRpbmctc21hbGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIDpjbGFzcz1cInsnYWN0aXZlJzogc2VsZWN0ZWRNZXNzYWdlICYmIHNlbGVjdGVkTWVzc2FnZS5pZCA9PT0gbXNnLmlkICYmIHNlbGVjdGVkTWVzc2FnZS50eXBlID09PSBtc2cudHlwZSwgJ2luY29taW5nJzogbXNnLnR5cGUgPT09ICdpbmNvbWluZycsICdvdXRnb2luZyc6IG1zZy50eXBlID09PSAnb3V0Z29pbmcnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPVwic2VsZWN0TWVzc2FnZShtc2cpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVrLWZsZXggdWstZmxleC1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1ay10ZXh0LXNtYWxsIHVrLXRleHQtbXV0ZWRcIj57eyBmb3JtYXREYXRlKG1zZy5kYXRlKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiA6Y2xhc3M9XCJzZWxlY3RlZE1lc3NhZ2UudHlwZSA9PT0gJ2luY29taW5nJyA/ICd0b3MtaWNvbi0tZmlyc3QnIDogJ3Rvcy1pY29uLS1sYXN0J1wiIGNsYXNzPVwidWstdGV4dC1zbWFsbFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVrLXRleHQtYm9sZCB1ay10ZXh0LXRydW5jYXRlXCI+e3sgbXNnLnN1YmplY3QgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay10ZXh0LXNtYWxsIHVrLXRleHQtdHJ1bmNhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiB2LWlmPVwibXNnLnR5cGUgPT09ICdpbmNvbWluZydcIj5Wb246IHt7IG1zZy5mcm9tIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHYtZWxzZT5Bbjoge3sgbXNnLnRvID8gbXNnLnRvLmpvaW4oJywgJykgOiAnLScgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPCEtLSBSZWNodGUgU3BhbHRlOiBOYWNocmljaHRlbmRldGFpbHMgLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWstd2lkdGgtMy00QG0gdWstcGFkZGluZy1zbWFsbCBtZXNzYWdlLWRldGFpbC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IHYtaWY9XCJzZWxlY3RlZE1lc3NhZ2VcIiBjbGFzcz1cIm1lc3NhZ2UtZGV0YWlsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwidG9zLXNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay1ncmlkLXNtYWxsXCIgdWstZ3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWstd2lkdGgtMS0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInVrLWZvcm0tbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICR0cmFuc2xhdGUoJ0FUVFJJQlVURVMuc3ViamVjdCcsICdlbWFpbCcpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiB2LWlmPVwic2VsZWN0ZWRNZXNzYWdlLm1lc3NhZ2VJZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRvcy1pY29uLS1pbmZvIHVrLW1hcmdpbi1zbWFsbC1sZWZ0IHRvcy1jdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6dGl0bGU9XCJzZWxlY3RlZE1lc3NhZ2UubWVzc2FnZUlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVrLXRvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz1cImNvcHlUb0NsaXBib2FyZChzZWxlY3RlZE1lc3NhZ2UubWVzc2FnZUlkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWstZm9ybS1jb250cm9sc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwidWstaW5wdXRcIiB0eXBlPVwidGV4dFwiIDp2YWx1ZT1cInNlbGVjdGVkTWVzc2FnZS5zdWJqZWN0XCIgcmVhZG9ubHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay1ncmlkLXNtYWxsXCIgdWstZ3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWstd2lkdGgtMS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInVrLWZvcm0tbGFiZWxcIj57eyAkdHJhbnNsYXRlKCdBVFRSSUJVVEVTLmZyb20nLCAnZW1haWwnKSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay1mb3JtLWNvbnRyb2xzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJ1ay1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgOnZhbHVlPVwic2VsZWN0ZWRNZXNzYWdlLmZyb21cIiByZWFkb25seT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiB2LWlmPVwic2VsZWN0ZWRNZXNzYWdlLnBhcmVudFwiIGNsYXNzPVwidWstd2lkdGgtMS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInVrLWZvcm0tbGFiZWxcIj57eyAkdHJhbnNsYXRlKCdPUFRJT05TLnBhcmVudC4nICsgc2VsZWN0ZWRNZXNzYWdlLnBhcmVudC5lbnRpdHkudG9Mb3dlckNhc2UoKSwgJ2VtYWlsJykgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWstZm9ybS1jb250cm9sc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVrLWlubGluZSB1ay13aWR0aC0xLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVrLWZvcm0taWNvbiB0b3MtaWNvbi0tbGlua2dvdG9cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwidWstaW5wdXRcIiB0eXBlPVwidGV4dFwiIDp2YWx1ZT1cInNlbGVjdGVkTWVzc2FnZS5wYXJlbnQudmFsdWUgfHwgKHNlbGVjdGVkTWVzc2FnZS5wYXJlbnQuZW50aXR5ICsgJyAjJyArIHNlbGVjdGVkTWVzc2FnZS5wYXJlbnQuaWQpXCIgcmVhZG9ubHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVrLWdyaWQtc21hbGxcIiB1ay1ncmlkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay13aWR0aC0xLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwidWstZm9ybS1sYWJlbFwiPnt7ICR0cmFuc2xhdGUoJ0FUVFJJQlVURVMudG8nLCAnZW1haWwnKSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay1mb3JtLWNvbnRyb2xzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJ1ay1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgOnZhbHVlPVwic2VsZWN0ZWRNZXNzYWdlLnRvID8gc2VsZWN0ZWRNZXNzYWdlLnRvLmpvaW4oJywgJykgOiAnJ1wiIHJlYWRvbmx5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWstd2lkdGgtMS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInVrLWZvcm0tbGFiZWxcIj57eyAkdHJhbnNsYXRlKCdMT0cuZGF0dW0nLCAnZW1haWwnKSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay1mb3JtLWNvbnRyb2xzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJ1ay1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgOnZhbHVlPVwiZm9ybWF0RGF0ZShzZWxlY3RlZE1lc3NhZ2UuZGF0ZSlcIiByZWFkb25seT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiB2LWlmPVwic2VsZWN0ZWRNZXNzYWdlLmNjICYmIHNlbGVjdGVkTWVzc2FnZS5jYy5sZW5ndGggPiAwXCIgY2xhc3M9XCJ1ay1ncmlkLXNtYWxsXCIgdWstZ3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWstd2lkdGgtMS0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInVrLWZvcm0tbGFiZWxcIj57eyAkdHJhbnNsYXRlKCdBVFRSSUJVVEVTLmNjJywgJ2VtYWlsJykgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWstZm9ybS1jb250cm9sc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwidWstaW5wdXRcIiB0eXBlPVwidGV4dFwiIDp2YWx1ZT1cInNlbGVjdGVkTWVzc2FnZS5jYy5qb2luKCcsICcpXCIgcmVhZG9ubHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay1ncmlkLXNtYWxsXCIgdWstZ3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWstZmxleCB1ay1mbGV4LW1pZGRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHYtaWY9XCJzZWxlY3RlZE1lc3NhZ2UudHlwZSA9PT0gJ2luY29taW5nJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiICBjbGFzcz1cInRvcy1idXR0b24gdG9zLWljb24tLWVtYWlsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAY2xpY2suc3RvcD1cInJlcGx5VG8oc2VsZWN0ZWRNZXNzYWdlKVwiIDp0aXRsZT1cIiR0cmFuc2xhdGUoJ0FudHdvcnRlbicsICdiYXNlJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgJHRyYW5zbGF0ZSgnQW50d29ydGVuJywgJ2Jhc2UnKSB9fTwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdi1lbHNlLWlmPVwic2VsZWN0ZWRNZXNzYWdlLnR5cGUgPT09ICdvdXRnb2luZycgJiYgc2VsZWN0ZWRNZXNzYWdlLnN0YXR1cyA9PT0gJ2RyYWZ0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiICBjbGFzcz1cInRvcy1idXR0b24gdG9zLWljb24tLWVkaXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjbGljay5zdG9wPVwiZWRpdERyYWZ0KHNlbGVjdGVkTWVzc2FnZSlcIiA6dGl0bGU9XCIkdHJhbnNsYXRlKCdCVVRUT04uZWRpdCcsICdmb3JtcycpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7ICR0cmFuc2xhdGUoJ0JVVFRPTi5lZGl0JywgJ2Zvcm1zJykgfX08L2J1dHRvbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHYtZWxzZS1pZj1cInNlbGVjdGVkTWVzc2FnZS50eXBlID09PSAnb3V0Z29pbmcnICYmIHNlbGVjdGVkTWVzc2FnZS5zdGF0dXMgPT09ICdzZW50J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiICBjbGFzcz1cInRvcy1idXR0b24gdG9zLWljb24tLXJlcGVhdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrLnN0b3A9XCJyZXNlbmQoc2VsZWN0ZWRNZXNzYWdlKVwiIDp0aXRsZT1cIiR0cmFuc2xhdGUoJ3Jlc2VuZCcsICdlbWFpbCcpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7ICR0cmFuc2xhdGUoJ3Jlc2VuZCcsICdlbWFpbCcpIH19PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwidWstbWFyZ2luLXRvcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidWstdGFiXCIgdWstdGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSA6Y2xhc3M9XCJ7J3VrLWFjdGl2ZSc6IGFjdGl2ZVRhYiA9PT0gJ2NvbnRlbnQnfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIEBjbGljay5wcmV2ZW50PVwiYWN0aXZlVGFiID0gJ2NvbnRlbnQnXCI+e3sgJHRyYW5zbGF0ZSgnQVRUUklCVVRFUy5jb250ZW50JywgJ2VtYWlsJykgfX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgOmNsYXNzPVwieyd1ay1hY3RpdmUnOiBhY3RpdmVUYWIgPT09ICd0YWdzJ31cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBAY2xpY2sucHJldmVudD1cImFjdGl2ZVRhYiA9ICd0YWdzJ1wiPnt7ICR0cmFuc2xhdGUoJ0FUVFJJQlVURVMudGFncycsICdlbWFpbCcpIH19PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHYtaWY9XCJhY3RpdmVUYWIgPT09ICdjb250ZW50J1wiIGNsYXNzPVwidWstbWFyZ2luLXRvcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWJvZHkgdWstY2FyZCB1ay1jYXJkLWRlZmF1bHQgdWstY2FyZC1ib2R5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtaHRtbD1cInByb2Nlc3NlZEJvZHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHYtaWY9XCJhY3RpdmVUYWIgPT09ICd0YWdzJ1wiIGNsYXNzPVwidWstbWFyZ2luLXRvcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay1ncmlkLXNtYWxsIHVrLWdyaWQtbWF0Y2hcIiB1ay1ncmlkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHYtZm9yPVwidGFnTmFtZSBpbiB0YWdMaXN0XCIgOmtleT1cInRhZ05hbWVcIiBjbGFzcz1cInVrLXdpZHRoLTEtMkBzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ1ay1mb3JtLWxhYmVsXCI+e3sgJHRyYW5zbGF0ZSgnVEFHUy4nICsgdGFnTmFtZSwgJ2VtYWlsJykgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVrLWZvcm0tY29udHJvbHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFnLXR5cGUtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDppZD1cIidtZXNzYWdlXycrdGFnTmFtZSsnX3NlbGVjdCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6bmFtZT1cIidtZXNzYWdlXycrdGFnTmFtZSsnX3NlbGVjdCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6dGFnLW5hbWU9XCJ0YWdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnRhZy1saXN0PVwic2VsZWN0ZWRNZXNzYWdlLmhlYWRlcnMuYXBpX3RhZ3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6cmVhZG9ubHk9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOm11bHRpcGxlPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFnLXR5cGUtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IHYtZWxzZSBjbGFzcz1cInVrLWZsZXggdWstZmxleC1jZW50ZXIgdWstZmxleC1taWRkbGUgdWstaGVpZ2h0LTEtMVwiPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInVrLXRleHQtbXV0ZWRcIj5Xw6RobGUgZWluZSBOYWNocmljaHQgYXVzIGRlbSBUaHJlYWQgYXVzLjwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiB2LWVsc2UgY2xhc3M9XCJ1ay1hbGVydC1kYW5nZXJcIiB1ay1hbGVydD5cbiAgICAgICAgICAgIDxwPkZlaGxlciBiZWltIExhZGVuIGRlcyBUaHJlYWRzLjwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c3R5bGUgc2NvcGVkPlxuLnRocmVhZC1saXN0LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDcwdmg7XG59XG4udGhyZWFkLWl0ZW0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG4udGhyZWFkLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG59XG4udGhyZWFkLWl0ZW0uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmYWYzO1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzMyZDI5Njtcbn1cbi50aHJlYWQtaXRlbS5pbmNvbWluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cbi50aHJlYWQtaXRlbS5vdXRnb2luZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbn1cbi5tZXNzYWdlLWRldGFpbC1jb250YWluZXIge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogNzB2aDtcbn1cbi5tZXNzYWdlLWJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG48L3N0eWxlPlxuIiwiPHRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiYXV0b2NvbXBsZXRlXCI+XG5cbiAgICA8aW5wdXQgaWQ9XCJwYXJhbWV0ZXJfZ3J1cHBlVnVlXCIgcmVxdWlyZWQgdHlwZT1cInRleHRcIiB2LW1vZGVsPVwic2VsZWN0ZWRcIiBAaW5wdXQ9XCJjaGFuZ2VcIiBAa2V5ZG93bi51cC5wcmV2ZW50PVwidXBcIiBAa2V5ZG93bi5kb3duLnByZXZlbnQ9XCJkb3duXCIgQGtleWRvd24uZW50ZXIucHJldmVudD1cInNlbGVjdChjdXJyZW50KVwiPlxuICAgIDxsYWJlbCBjbGFzcz1cInVrLWZvcm0tbGFiZWwgcmVxdWlyZWRcIiBmb3I9XCJwYXJhbWV0ZXJfZ3J1cHBlVnVlXCI+XG4gICAgICA8c3Bhbj5HcnVwcGU8L3NwYW4+KjwvbGFiZWw+XG4gICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiB2LW1vZGVsPVwic2VsZWN0ZWRcIiBuYW1lPVwicGFyYW1ldGVyW2dydXBwZV1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXV0b2NvbXBsZXRlLWl0ZW1zXCIgdi1zaG93PVwib3BlblwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF1dG9jb21wbGV0ZS1pdGVtXCIgdi1mb3I9XCIob3B0aW9uLCBpbmRleCkgaW4gZmlsdGVyZWRPcHRpb25zXCIgQGNsaWNrPVwic2VsZWN0KGluZGV4KVwiIDpjbGFzcz1cInsgJ2lzLWFjdGl2ZSc6IGlzQWN0aXZlKGluZGV4KSB9XCI+XG4gICAgICAgIHt7IG9wdGlvbiB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcHM6IFsnb3B0aW9ucyddLFxuICBkYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICBvcGVuOiBmYWxzZSxcbiAgICAgIGN1cnJlbnQ6IDAsXG4gICAgICBzZWxlY3RlZDogJycsXG4gICAgICBmaWx0ZXJlZE9wdGlvbnM6IFtdXG4gICAgfVxuICB9LFxuICBtZXRob2RzOiB7XG4gICAgY2hhbmdlKCkge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuc2VsZWN0ZWQudG9Mb3dlckNhc2UoKSkpO1xuICAgICAgICB0aGlzLm9wZW4gPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIHRoaXMuc2VsZWN0ZWQpO1xuICAgIH0sXG4gICAgdXAoKSB7XG4gICAgICBpZiAodGhpcy5jdXJyZW50ID4gMCkge1xuICAgICAgICB0aGlzLmN1cnJlbnQtLTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGRvd24oKSB7XG4gICAgICBpZiAodGhpcy5jdXJyZW50IDwgdGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoIC0gMSkge1xuICAgICAgICB0aGlzLmN1cnJlbnQrKztcbiAgICAgIH1cbiAgICB9LFxuICAgIGlzQWN0aXZlKGluZGV4KSB7XG4gICAgICByZXR1cm4gaW5kZXggPT09IHRoaXMuY3VycmVudDtcbiAgICB9LFxuICAgIHNlbGVjdChpbmRleCkge1xuICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuZmlsdGVyZWRPcHRpb25zW2luZGV4XTtcbiAgICAgIHRoaXMuY2hhbmdlKCk7XG4gICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gW107XG4gICAgfSxcbiAgfSxcbiAgd2F0Y2g6IHtcbiAgICBzZWxlY3RlZChuZXdWYWwpIHtcbiAgICAgIC8vIEFrdHVhbGlzaWVyZW4gU2llIGRlbiBXZXJ0IGRlcyBncnVwcGUtRmVsZHMgaW4gSWhyZW0gU3ltZm9ueS1Gb3JtdWxhciwgd2VubiBlaW4gVm9yc2NobGFnIGF1c2dld8OkaGx0IHdpcmRcbiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJhbWV0ZXJfZ3J1cHBlJykudmFsdWUgPSBuZXdWYWw7XG4gICAgfVxuICB9LFxuICBtb3VudGVkKCkge1xuICAgIC8vIExhZGVuIFNpZSBkZW4gV2VydCBhdXMgZGVtIHBhcmFtZXRlcl9ncnVwcGUtRmVsZCBiZWltIExhZGVuIGRlcyBUd2lnIGluIHBhcmFtZXRlcl9ncnVwcGVWdWVcbiAgICB0aGlzLnNlbGVjdGVkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcmFtZXRlcl9ncnVwcGUnKS52YWx1ZTtcbiAgfVxufTtcbjwvc2NyaXB0PlxuPHN0eWxlIHNjb3BlZD5cbi5hdXRvY29tcGxldGUtaXRlbXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAvKiBXZWl0ZXJlIFN0aWxlIHdpZSBCcmVpdGUsIEjDtmhlLCBSYW5kIHVzdy4ga8O2bm5lbiBoaWVyIGhpbnp1Z2Vmw7xndCB3ZXJkZW4gKi9cbn1cblxuLmF1dG9jb21wbGV0ZS1pdGVtIHtcbiAgLyogQWRkIHlvdXIgc3R5bGVzIGhlcmUgKi9cbn1cblxuLmlzLWFjdGl2ZSB7XG4gIC8qIEFkZCB5b3VyIHN0eWxlcyBoZXJlICovXG59XG48L3N0eWxlPiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbltkYXRhLWNvbG9yLXRoZW1lPWJlcnJ5XSB7XG4gIC0tY29sUHJpbWFyeTcwMDogIzNkMTUxZjtcbiAgLS1jb2xQcmltYXJ5NjAwOiAjOGIyOTNkO1xuICAtLWNvbFByaW1hcnk1MDA6ICNiMzM0NGU7XG4gIC0tY29sUHJpbWFyeTQwMDogI2QxNjI3OTtcbiAgLS1jb2xQcmltYXJ5MzAwOiAjZDE2Mjc5O1xuICAtLWNvbFByaW1hcnkyMDA6ICNlOGIxYmM7XG4gIC0tY29sUHJpbWFyeTEwMDogI2ZhZWNlZjtcbn1cblxuW2RhdGEtY29sb3ItbW9kZT1kYXJrXSB7XG4gIC0tY29sQmxhY2s6ICMwMDA7XG4gIC0tY29sU29mdEJsYWNrOiAjMTIxMjEyO1xuICAtLWNvbEdyZXk5MDA6ICMyMjI7XG4gIC0tY29sR3JleTgwMDogIzMzMztcbiAgLS1jb2xHcmV5NzUwOiAjM2YzZjNmO1xuICAtLWNvbEdyZXk3MDA6ICM0NDQ7XG4gIC0tY29sR3JleTYwMDogIzY2NjtcbiAgLS1jb2xHcmV5NTAwOiAjODg4O1xuICAtLWNvbEdyZXk0MDA6ICNhYWE7XG4gIC0tY29sR3JleTMwMDogI2JiYjtcbiAgLS1jb2xHcmV5MjAwOiAjZGRkO1xuICAtLWNvbEdyZXkxMDA6ICNlZWU7XG4gIC0tY29sV2hpdGU1MDA6ICNmMGYwZjA7XG4gIC0tY29sU29mdFdoaXRlOiAjZmNmY2ZjO1xuICAtLWNvbFdoaXRlOiAjZmZmO1xuICAtLWNvbG9yLWxpZ2h0OiAjZmZmO1xufVxuXG46cm9vdCB7XG4gIC0tY29sUHJpbWFyeTcwMDogIzAwMzIzMjtcbiAgLS1jb2xQcmltYXJ5NjAwOiAjMDA1YTQ0O1xuICAtLWNvbFByaW1hcnk1MDA6ICMwMDgyNTU7XG4gIC0tY29sUHJpbWFyeTQwMDogIzAwRDI3ODtcbiAgLS1jb2xQcmltYXJ5MzAwOiAjMzljNTg1O1xuICAtLWNvbFByaW1hcnkyMDA6ICNiZmY0ZGQ7XG4gIC0tY29sUHJpbWFyeTEwMDogI2Y1ZmRmYTtcbiAgLS1jb2xCbGFjazogIzAwMDtcbiAgLS1jb2xTb2Z0QmxhY2s6ICMxMjEyMTI7XG4gIC0tY29sR3JleTkwMDogIzIyMjtcbiAgLS1jb2xHcmV5ODAwOiAjMzMzO1xuICAtLWNvbEdyZXk3MDA6ICM0NDQ7XG4gIC0tY29sR3JleTYwMDogIzY2NjtcbiAgLS1jb2xHcmV5NTAwOiAjY2NjO1xuICAtLWNvbEdyZXk0MDA6ICNkZGQ7XG4gIC0tY29sR3JleTMwMDogI2VlZTtcbiAgLS1jb2xHcmV5MjAwOiAjZjBmMGYwO1xuICAtLWNvbEdyZXkxMDA6ICNGOWY5Zjk7XG4gIC0tY29sV2hpdGU1MDA6ICNmOGY4Zjg7XG4gIC0tY29sU29mdFdoaXRlOiAjZmNmY2ZjO1xuICAtLWNvbFdoaXRlOiAjZmZmO1xuICAtLWNvbG9yLWxpZ2h0OiAjZmZmO1xuICAtLWNvbFN1Y2Nlc3MxMDA6ICNlZmY4ZWY7XG4gIC0tY29sU3VjY2VzczUwMDogIzQyQUE0OTtcbiAgLS1jb2xTdWNjZXNzNzAwOiAjMkM3MjJGO1xuICAtLWNvbFdhcm5pbmcxMDA6ICNmN2VjZGQ7XG4gIC0tY29sV2FybmluZzUwMDogI0Q4OUY1NDtcbiAgLS1jb2xXYXJuaW5nNzAwOiAjOEQ1RTIwO1xuICAtLWNvbEVycm9yNTAwOiAjRDg1ODU0O1xuICAtLWNvbEVycm9yMzAwOiAjZjllZWVlO1xuICAtLWNvbEVycm9yNjAwOiAjQjcyRTJBO1xuICAtLWNvbEVycm9yNzAwOiAjRDgxOTEzO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLyogU2NocmlmdGFydGVuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogQGZvbnQtZmFjZSB7XG4qICAgICBmb250LWZhbWlseTogcm9ib3RvO1xuKiAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiogICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiogICAgIHNyYzogdXJsKCcuLi9mb250cy9Sb2JvdG8tVGhpbi50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4qIH1cbiogQGZvbnQtZmFjZSB7XG4qICAgICBmb250LWZhbWlseTogcm9ib3RvO1xuKiAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiogICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiogICAgIHNyYzogdXJsKCcuLi9mb250cy9Sb2JvdG8tTGlnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuKiB9XG4qQGltcG9ydCB1cmwoJ2h0dHBzOipmb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzo0MDAsNTAwLDcwMCcpOyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG87XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9Sb2JvdG8tTGlnaHQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG87XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9Sb2JvdG8tUmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1NZWRpdW0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG87XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9Sb2JvdG8tQm9sZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1CbGFjay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG4udG9zLWZvbnRGYW1TdGQge1xuICBmb250LWZhbWlseTogcm9ib3RvLCBhcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLnRvcy1mb250RmFtSWNvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA3IFByb1wiO1xufVxuXG4udG9zLWZzT21lZ2Ege1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0FscGhhIHtcbiAgZm9udC1zaXplOiAyNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNCZXRhIHtcbiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNHYW1tYSB7XG4gIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzRGVsdGEge1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0tpbG8ge1xuICBmb250LXNpemU6IDM1cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc01pbmkge1xuICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc01pY3JvIHtcbiAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNJY29uIHtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZndTdGFuZGFyZCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbn1cblxuLnRvcy1md0ljb25TdGFuZGFyZDo6YmVmb3JlIHtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4jd29ya2Zsb3dFZGl0b3JDb250YWluZXIuZnVsbHNjcmVlbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogOTklO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDA7XG59XG4jd29ya2Zsb3dFZGl0b3JDb250YWluZXIuZnVsbHNjcmVlbiAjd29ya2Zsb3dfZWRpdG9yIHtcbiAgaGVpZ2h0OiA5NXZoO1xufVxuXG4jd29ya2Zsb3dfZWRpdG9yIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTcuNXZoO1xufVxuI3dvcmtmbG93X2VkaXRvciBbZGF0YS10ZXN0aWQ9Y29ubmVjdGlvbl0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4jd29ya2Zsb3dfZWRpdG9yIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzY2NjtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KCNkZGQgMXB4LCB0cmFuc3BhcmVudCAwKTtcbiAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMXB4IC0zMXB4O1xufVxuI3dvcmtmbG93X2VkaXRvciAubm9kZSB7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2NjY7XG4gIGJvcmRlci10b3Atd2lkdGg6IDVweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuI3dvcmtmbG93X2VkaXRvciAubm9kZSAudGl0bGUge1xuICBjb2xvcjogIzEyMTIxMjtcbiAgYmFja2dyb3VuZDogI0Y5ZjlmOTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2NjY7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xufVxuI3dvcmtmbG93X2VkaXRvciAubm9kZSAub3V0cHV0LCAjd29ya2Zsb3dfZWRpdG9yIC5ub2RlIC5pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiN3b3JrZmxvd19lZGl0b3IgLm5vZGUgLm91dHB1dCAuc29ja2V0LCAjd29ya2Zsb3dfZWRpdG9yIC5ub2RlIC5pbnB1dCAuc29ja2V0IHtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogNzBweDtcbiAgYmFja2dyb3VuZDogIzAwRDI3ODtcbiAgYm9yZGVyOiAycHggc29saWQgIzY2Njtcbn1cbiN3b3JrZmxvd19lZGl0b3IgLm5vZGUgLm91dHB1dCAub3V0cHV0LXNvY2tldCwgI3dvcmtmbG93X2VkaXRvciAubm9kZSAub3V0cHV0IC5pbnB1dC1zb2NrZXQsICN3b3JrZmxvd19lZGl0b3IgLm5vZGUgLmlucHV0IC5vdXRwdXQtc29ja2V0LCAjd29ya2Zsb3dfZWRpdG9yIC5ub2RlIC5pbnB1dCAuaW5wdXQtc29ja2V0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiN3b3JrZmxvd19lZGl0b3IgLm5vZGUgLm91dHB1dCAub3V0cHV0LXNvY2tldCwgI3dvcmtmbG93X2VkaXRvciAubm9kZSAuaW5wdXQgLm91dHB1dC1zb2NrZXQge1xuICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG59XG4jd29ya2Zsb3dfZWRpdG9yIC5ub2RlIC5vdXRwdXQgLm91dHB1dC1zb2NrZXQgLnNvY2tldCwgI3dvcmtmbG93X2VkaXRvciAubm9kZSAuaW5wdXQgLm91dHB1dC1zb2NrZXQgLnNvY2tldCB7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG59XG4jd29ya2Zsb3dfZWRpdG9yIC5ub2RlIC5vdXRwdXQgLmlucHV0LXNvY2tldCwgI3dvcmtmbG93X2VkaXRvciAubm9kZSAuaW5wdXQgLmlucHV0LXNvY2tldCB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuI3dvcmtmbG93X2VkaXRvciAubm9kZSAub3V0cHV0IC5pbnB1dC1zb2NrZXQgLnNvY2tldCwgI3dvcmtmbG93X2VkaXRvciAubm9kZSAuaW5wdXQgLmlucHV0LXNvY2tldCAuc29ja2V0IHtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xufVxuI3dvcmtmbG93X2VkaXRvciAubm9kZSAub3V0cHV0IC5pbnB1dC10aXRsZSwgI3dvcmtmbG93X2VkaXRvciAubm9kZSAub3V0cHV0IC5vdXRwdXQtdGl0bGUsICN3b3JrZmxvd19lZGl0b3IgLm5vZGUgLmlucHV0IC5pbnB1dC10aXRsZSwgI3dvcmtmbG93X2VkaXRvciAubm9kZSAuaW5wdXQgLm91dHB1dC10aXRsZSB7XG4gIGNvbG9yOiBpbml0aWFsO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XG4gIG1hcmdpbjogMCAzcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4jd29ya2Zsb3dfZWRpdG9yIC5ub2RlIC5vdXRwdXQgLm91dHB1dC10aXRsZSwgI3dvcmtmbG93X2VkaXRvciAubm9kZSAuaW5wdXQgLm91dHB1dC10aXRsZSB7XG4gIHJpZ2h0OiAxcHg7XG59XG4jd29ya2Zsb3dfZWRpdG9yIC5ub2RlIC5jb250cm9sIHtcbiAgcGFkZGluZzogNXB4O1xufVxuI3dvcmtmbG93X2VkaXRvciAubm9kZSAuY29udHJvbCBpbnB1dFt0eXBlPXRleHRdLCAjd29ya2Zsb3dfZWRpdG9yIC5ub2RlIC5jb250cm9sIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbiN3b3JrZmxvd19lZGl0b3IgLm5vZGUgLmNvbnRyb2wgaW5wdXRbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbn1cbiN3b3JrZmxvd19lZGl0b3IgLm5vZGUgLmNvbnRyb2wgbGFiZWwge1xuICBwYWRkaW5nOiAzcHggMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuI3dvcmtmbG93X2VkaXRvciAubm9kZS5zZWxlY3RlZCB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCBibGFjaztcbn1cbiN3b3JrZmxvd19lZGl0b3Igc3ZnW2RhdGEtdGVzdGlkPWNvbm5lY3Rpb25dIHBhdGgge1xuICBzdHJva2U6ICMwMEQyNzg7XG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqL1xuW2RhdGEtY29sb3ItdGhlbWU9YmVycnldIHtcbiAgLS1jb2xQcmltYXJ5NzAwOiAjM2QxNTFmO1xuICAtLWNvbFByaW1hcnk2MDA6ICM4YjI5M2Q7XG4gIC0tY29sUHJpbWFyeTUwMDogI2IzMzQ0ZTtcbiAgLS1jb2xQcmltYXJ5NDAwOiAjZDE2Mjc5O1xuICAtLWNvbFByaW1hcnkzMDA6ICNkMTYyNzk7XG4gIC0tY29sUHJpbWFyeTIwMDogI2U4YjFiYztcbiAgLS1jb2xQcmltYXJ5MTAwOiAjZmFlY2VmO1xufVxuXG5bZGF0YS1jb2xvci1tb2RlPWRhcmtdIHtcbiAgLS1jb2xCbGFjazogIzAwMDtcbiAgLS1jb2xTb2Z0QmxhY2s6ICMxMjEyMTI7XG4gIC0tY29sR3JleTkwMDogIzIyMjtcbiAgLS1jb2xHcmV5ODAwOiAjMzMzO1xuICAtLWNvbEdyZXk3NTA6ICMzZjNmM2Y7XG4gIC0tY29sR3JleTcwMDogIzQ0NDtcbiAgLS1jb2xHcmV5NjAwOiAjNjY2O1xuICAtLWNvbEdyZXk1MDA6ICM4ODg7XG4gIC0tY29sR3JleTQwMDogI2FhYTtcbiAgLS1jb2xHcmV5MzAwOiAjYmJiO1xuICAtLWNvbEdyZXkyMDA6ICNkZGQ7XG4gIC0tY29sR3JleTEwMDogI2VlZTtcbiAgLS1jb2xXaGl0ZTUwMDogI2YwZjBmMDtcbiAgLS1jb2xTb2Z0V2hpdGU6ICNmY2ZjZmM7XG4gIC0tY29sV2hpdGU6ICNmZmY7XG4gIC0tY29sb3ItbGlnaHQ6ICNmZmY7XG59XG5cbjpyb290IHtcbiAgLS1jb2xQcmltYXJ5NzAwOiAjMDAzMjMyO1xuICAtLWNvbFByaW1hcnk2MDA6ICMwMDVhNDQ7XG4gIC0tY29sUHJpbWFyeTUwMDogIzAwODI1NTtcbiAgLS1jb2xQcmltYXJ5NDAwOiAjMDBEMjc4O1xuICAtLWNvbFByaW1hcnkzMDA6ICMzOWM1ODU7XG4gIC0tY29sUHJpbWFyeTIwMDogI2JmZjRkZDtcbiAgLS1jb2xQcmltYXJ5MTAwOiAjZjVmZGZhO1xuICAtLWNvbEJsYWNrOiAjMDAwO1xuICAtLWNvbFNvZnRCbGFjazogIzEyMTIxMjtcbiAgLS1jb2xHcmV5OTAwOiAjMjIyO1xuICAtLWNvbEdyZXk4MDA6ICMzMzM7XG4gIC0tY29sR3JleTcwMDogIzQ0NDtcbiAgLS1jb2xHcmV5NjAwOiAjNjY2O1xuICAtLWNvbEdyZXk1MDA6ICNjY2M7XG4gIC0tY29sR3JleTQwMDogI2RkZDtcbiAgLS1jb2xHcmV5MzAwOiAjZWVlO1xuICAtLWNvbEdyZXkyMDA6ICNmMGYwZjA7XG4gIC0tY29sR3JleTEwMDogI0Y5ZjlmOTtcbiAgLS1jb2xXaGl0ZTUwMDogI2Y4ZjhmODtcbiAgLS1jb2xTb2Z0V2hpdGU6ICNmY2ZjZmM7XG4gIC0tY29sV2hpdGU6ICNmZmY7XG4gIC0tY29sb3ItbGlnaHQ6ICNmZmY7XG4gIC0tY29sU3VjY2VzczEwMDogI2VmZjhlZjtcbiAgLS1jb2xTdWNjZXNzNTAwOiAjNDJBQTQ5O1xuICAtLWNvbFN1Y2Nlc3M3MDA6ICMyQzcyMkY7XG4gIC0tY29sV2FybmluZzEwMDogI2Y3ZWNkZDtcbiAgLS1jb2xXYXJuaW5nNTAwOiAjRDg5RjU0O1xuICAtLWNvbFdhcm5pbmc3MDA6ICM4RDVFMjA7XG4gIC0tY29sRXJyb3I1MDA6ICNEODU4NTQ7XG4gIC0tY29sRXJyb3IzMDA6ICNmOWVlZWU7XG4gIC0tY29sRXJyb3I2MDA6ICNCNzJFMkE7XG4gIC0tY29sRXJyb3I3MDA6ICNEODE5MTM7XG59XG5cbi50b3MtZWxldmF0ZTEge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7XG59XG5cbi50b3MtZWxldmF0ZTIge1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yMyk7XG59XG5cbi50b3MtZWxldmF0ZTMge1xuICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMTkpLCAwIDZweCA2cHggcmdiYSgwLCAwLCAwLCAwLjIzKTtcbn1cblxuLnRvcy1lbGV2YXRlNCB7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyOHB4IHJnYmEoMCwgMCwgMCwgMC4yNSksIDAgMTBweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yMik7XG59XG5cbi50b3MtZWxldmF0ZTUge1xuICBib3gtc2hhZG93OiAwIDE5cHggMzhweCByZ2JhKDAsIDAsIDAsIDAuMyksIDAgMTVweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yMik7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKiBTY2hyaWZ0YXJ0ZW5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBAZm9udC1mYWNlIHtcbiogICAgIGZvbnQtZmFtaWx5OiByb2JvdG87XG4qICAgICBmb250LXdlaWdodDogMjAwO1xuKiAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuKiAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1JvYm90by1UaGluLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiogfVxuKiBAZm9udC1mYWNlIHtcbiogICAgIGZvbnQtZmFtaWx5OiByb2JvdG87XG4qICAgICBmb250LXdlaWdodDogMzAwO1xuKiAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuKiAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1JvYm90by1MaWdodC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4qIH1cbipAaW1wb3J0IHVybCgnaHR0cHM6KmZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvOjQwMCw1MDAsNzAwJyk7ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1MaWdodC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogcm9ib3RvO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvUm9ib3RvLU1lZGl1bS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogcm9ib3RvO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvUm9ib3RvLUJsYWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbi50b3MtZm9udEZhbVN0ZCB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG8sIGFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4udG9zLWZvbnRGYW1JY29uIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDcgUHJvXCI7XG59XG5cbi50b3MtZnNPbWVnYSB7XG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzQWxwaGEge1xuICBmb250LXNpemU6IDI2cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0JldGEge1xuICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0dhbW1hIHtcbiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNEZWx0YSB7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzS2lsbyB7XG4gIGZvbnQtc2l6ZTogMzVweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzTWluaSB7XG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzTWljcm8ge1xuICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0ljb24ge1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1md1N0YW5kYXJkIHtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZ3SWNvblN0YW5kYXJkOjpiZWZvcmUge1xuICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5sYXlvdXRaZWlsZSAubGF5b3V0WmVpbGVfX2NvbnRlbnQuZnVsbHNjcmVlbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45OCk7XG4gIGluc2V0OiAwO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwO1xuICBwYWRkaW5nOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG4ubGF5b3V0WmVpbGUgLmxheW91dFplaWxlX19jb250ZW50LmZ1bGxzY3JlZW4gLmxheW91dFplaWxlX19zZXR0aW5ncyB7XG4gIG1heC13aWR0aDogODAlO1xufVxuLmxheW91dFplaWxlIC5sYXlvdXRaZWlsZV9fY29udGVudC5mdWxsc2NyZWVuIFt0b3MtbGF5b3V0LXplaWxlLXRvZ2dsZWZ1bGxzY3JlZW5dIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNDBweDtcbiAgdG9wOiA0MHB4O1xufVxuLmxheW91dFplaWxlIC5sYXlvdXRaZWlsZV9fY29udGVudC5mdWxsc2NyZWVuIC5sYXlvdXRaZWlsZV9fZWxlbWVudGUge1xuICBtYXgtaGVpZ2h0OiA3MHZoO1xufVxuLmxheW91dFplaWxlIC5sYXlvdXRaZWlsZV9fZWxlbWVudGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xHcmV5MTAwKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sR3JleTQwMCk7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4ubGF5b3V0RWxlbWVudC1ncmlkIHtcbiAgbWF4LWhlaWdodDogNTB2aDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAyMHB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI5MHB4LCAxZnIpKTtcbn1cbi5sYXlvdXRFbGVtZW50LWdyaWQgLmxheW91dEVsZW1lbnRbZGF0YS1jc3Mta2xhc3Nlbio9Y29sLXNwYW4tYWxsXSB7XG4gIGdyaWQtY29sdW1uOiAxLy0xO1xufVxuLmxheW91dEVsZW1lbnQtZ3JpZCAubGF5b3V0RWxlbWVudFtkYXRhLWNzcy1rbGFzc2VuKj1jb2wtc3Bhbi0yXSB7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDI7XG59XG4ubGF5b3V0RWxlbWVudC1ncmlkIC5sYXlvdXRFbGVtZW50W2RhdGEtY3NzLWtsYXNzZW4qPXJvdy1zcGFuLTJdIHtcbiAgZ3JpZC1yb3c6IHNwYW4gMjtcbn1cbi5sYXlvdXRFbGVtZW50LWdyaWQgLmxheW91dEVsZW1lbnRfX2lubmVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmxheW91dEVsZW1lbnQtZ3JpZCAubGF5b3V0RWxlbWVudF9faWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubGF5b3V0RWxlbWVudC1ncmlkIC5sYXlvdXRFbGVtZW50X190eXBlLnRvcy1ub3RCb2xkIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuLmxheW91dEVsZW1lbnQtZ3JpZCAubGF5b3V0RWxlbWVudF9fdHlwZTpub3QoLnRvcy1ub3RCb2xkKSB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xufVxuLmxheW91dEVsZW1lbnQtZ3JpZCAuZWxlbWVudF9faW5mby0tdGVtcGxhdGUgaSB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ubGF5b3V0RWxlbWVudCAubGF5b3V0RWxlbWVudF9faWNvbjo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubGF5b3V0RWxlbWVudC5sYXlvdXRFbGVtZW50LS10eXBfdWViZXJzY2hyaWZ0IC5sYXlvdXRFbGVtZW50X19pY29uOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNyBQcm9cIjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29udGVudDogXCJcXGYxZGNcIjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4ubGF5b3V0RWxlbWVudC5sYXlvdXRFbGVtZW50LS10eXBfdGV4dGJhdXN0ZWluIC5sYXlvdXRFbGVtZW50X19pY29uOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNyBQcm9cIjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29udGVudDogXCJcXGYxZGRcIjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4ubGF5b3V0RWxlbWVudC5sYXlvdXRFbGVtZW50LS10eXBfbWVkaWVuLWVsZW1lbnQgLmxheW91dEVsZW1lbnRfX2ljb246OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA3IFByb1wiO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb250ZW50OiBcIlxcZjg3Y1wiO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5sYXlvdXRFbGVtZW50LmxheW91dEVsZW1lbnQtLXR5cF9wYWtldCAubGF5b3V0RWxlbWVudF9faWNvbjo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDcgUHJvXCI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbnRlbnQ6IFwiXFxmNGQ3XCI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLmxheW91dEVsZW1lbnQubGF5b3V0RWxlbWVudC0tdHlwX3JlaXNlb2JqZWt0IC5sYXlvdXRFbGVtZW50X19pY29uOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNyBQcm9cIjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29udGVudDogXCJcXGYyNzZcIjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5sYXlvdXRFbGVtZW50X19hZGQgPiAqIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sUHJpbWFyeTYwMCk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgaGVpZ2h0OiA3NXB4O1xuICB3aWR0aDogNzVweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmxheW91dEVsZW1lbnRfX2FkZCA+ICo6OmJlZm9yZSB7XG4gIG1hcmdpbjogMDtcbn0iLCJbZGF0YS1wYWtldC1sZWlzdHVuZ3NncnVwcGVdLmpzLWdydXBwZS1ndWVsdGlna2VpdGVuIFtkYXRhLWxlaXN0dW5nLWd1ZWx0aWdrZWl0ZW5dIHtcbiAgZGlzcGxheTogYmxvY2s7XG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqL1xuW2RhdGEtY29sb3ItdGhlbWU9YmVycnldIHtcbiAgLS1jb2xQcmltYXJ5NzAwOiAjM2QxNTFmO1xuICAtLWNvbFByaW1hcnk2MDA6ICM4YjI5M2Q7XG4gIC0tY29sUHJpbWFyeTUwMDogI2IzMzQ0ZTtcbiAgLS1jb2xQcmltYXJ5NDAwOiAjZDE2Mjc5O1xuICAtLWNvbFByaW1hcnkzMDA6ICNkMTYyNzk7XG4gIC0tY29sUHJpbWFyeTIwMDogI2U4YjFiYztcbiAgLS1jb2xQcmltYXJ5MTAwOiAjZmFlY2VmO1xufVxuXG5bZGF0YS1jb2xvci1tb2RlPWRhcmtdIHtcbiAgLS1jb2xCbGFjazogIzAwMDtcbiAgLS1jb2xTb2Z0QmxhY2s6ICMxMjEyMTI7XG4gIC0tY29sR3JleTkwMDogIzIyMjtcbiAgLS1jb2xHcmV5ODAwOiAjMzMzO1xuICAtLWNvbEdyZXk3NTA6ICMzZjNmM2Y7XG4gIC0tY29sR3JleTcwMDogIzQ0NDtcbiAgLS1jb2xHcmV5NjAwOiAjNjY2O1xuICAtLWNvbEdyZXk1MDA6ICM4ODg7XG4gIC0tY29sR3JleTQwMDogI2FhYTtcbiAgLS1jb2xHcmV5MzAwOiAjYmJiO1xuICAtLWNvbEdyZXkyMDA6ICNkZGQ7XG4gIC0tY29sR3JleTEwMDogI2VlZTtcbiAgLS1jb2xXaGl0ZTUwMDogI2YwZjBmMDtcbiAgLS1jb2xTb2Z0V2hpdGU6ICNmY2ZjZmM7XG4gIC0tY29sV2hpdGU6ICNmZmY7XG4gIC0tY29sb3ItbGlnaHQ6ICNmZmY7XG59XG5cbjpyb290IHtcbiAgLS1jb2xQcmltYXJ5NzAwOiAjMDAzMjMyO1xuICAtLWNvbFByaW1hcnk2MDA6ICMwMDVhNDQ7XG4gIC0tY29sUHJpbWFyeTUwMDogIzAwODI1NTtcbiAgLS1jb2xQcmltYXJ5NDAwOiAjMDBEMjc4O1xuICAtLWNvbFByaW1hcnkzMDA6ICMzOWM1ODU7XG4gIC0tY29sUHJpbWFyeTIwMDogI2JmZjRkZDtcbiAgLS1jb2xQcmltYXJ5MTAwOiAjZjVmZGZhO1xuICAtLWNvbEJsYWNrOiAjMDAwO1xuICAtLWNvbFNvZnRCbGFjazogIzEyMTIxMjtcbiAgLS1jb2xHcmV5OTAwOiAjMjIyO1xuICAtLWNvbEdyZXk4MDA6ICMzMzM7XG4gIC0tY29sR3JleTcwMDogIzQ0NDtcbiAgLS1jb2xHcmV5NjAwOiAjNjY2O1xuICAtLWNvbEdyZXk1MDA6ICNjY2M7XG4gIC0tY29sR3JleTQwMDogI2RkZDtcbiAgLS1jb2xHcmV5MzAwOiAjZWVlO1xuICAtLWNvbEdyZXkyMDA6ICNmMGYwZjA7XG4gIC0tY29sR3JleTEwMDogI0Y5ZjlmOTtcbiAgLS1jb2xXaGl0ZTUwMDogI2Y4ZjhmODtcbiAgLS1jb2xTb2Z0V2hpdGU6ICNmY2ZjZmM7XG4gIC0tY29sV2hpdGU6ICNmZmY7XG4gIC0tY29sb3ItbGlnaHQ6ICNmZmY7XG4gIC0tY29sU3VjY2VzczEwMDogI2VmZjhlZjtcbiAgLS1jb2xTdWNjZXNzNTAwOiAjNDJBQTQ5O1xuICAtLWNvbFN1Y2Nlc3M3MDA6ICMyQzcyMkY7XG4gIC0tY29sV2FybmluZzEwMDogI2Y3ZWNkZDtcbiAgLS1jb2xXYXJuaW5nNTAwOiAjRDg5RjU0O1xuICAtLWNvbFdhcm5pbmc3MDA6ICM4RDVFMjA7XG4gIC0tY29sRXJyb3I1MDA6ICNEODU4NTQ7XG4gIC0tY29sRXJyb3IzMDA6ICNmOWVlZWU7XG4gIC0tY29sRXJyb3I2MDA6ICNCNzJFMkE7XG4gIC0tY29sRXJyb3I3MDA6ICNEODE5MTM7XG59XG5cbi50b3MtZWxldmF0ZTEge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7XG59XG5cbi50b3MtZWxldmF0ZTIge1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yMyk7XG59XG5cbi50b3MtZWxldmF0ZTMge1xuICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMTkpLCAwIDZweCA2cHggcmdiYSgwLCAwLCAwLCAwLjIzKTtcbn1cblxuLnRvcy1lbGV2YXRlNCB7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyOHB4IHJnYmEoMCwgMCwgMCwgMC4yNSksIDAgMTBweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yMik7XG59XG5cbi50b3MtZWxldmF0ZTUge1xuICBib3gtc2hhZG93OiAwIDE5cHggMzhweCByZ2JhKDAsIDAsIDAsIDAuMyksIDAgMTVweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yMik7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKiBTY2hyaWZ0YXJ0ZW5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBAZm9udC1mYWNlIHtcbiogICAgIGZvbnQtZmFtaWx5OiByb2JvdG87XG4qICAgICBmb250LXdlaWdodDogMjAwO1xuKiAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuKiAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1JvYm90by1UaGluLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiogfVxuKiBAZm9udC1mYWNlIHtcbiogICAgIGZvbnQtZmFtaWx5OiByb2JvdG87XG4qICAgICBmb250LXdlaWdodDogMzAwO1xuKiAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuKiAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1JvYm90by1MaWdodC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4qIH1cbipAaW1wb3J0IHVybCgnaHR0cHM6KmZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvOjQwMCw1MDAsNzAwJyk7ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1MaWdodC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogcm9ib3RvO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvUm9ib3RvLU1lZGl1bS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogcm9ib3RvO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvUm9ib3RvLUJsYWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbi50b3MtZm9udEZhbVN0ZCB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG8sIGFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4udG9zLWZvbnRGYW1JY29uIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDcgUHJvXCI7XG59XG5cbi50b3MtZnNPbWVnYSB7XG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzQWxwaGEge1xuICBmb250LXNpemU6IDI2cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0JldGEge1xuICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0dhbW1hIHtcbiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNEZWx0YSB7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzS2lsbyB7XG4gIGZvbnQtc2l6ZTogMzVweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzTWluaSB7XG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzTWljcm8ge1xuICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0ljb24ge1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1md1N0YW5kYXJkIHtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZ3SWNvblN0YW5kYXJkOjpiZWZvcmUge1xuICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi50b3NGb3JtW3Rvcy1lbnRpdHlmb3JtPXJvbGxlXSAucm9sZV9yaWdodF9fbmFtZSBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi50b3NGb3JtW3Rvcy1lbnRpdHlmb3JtPXJvbGxlXSAucm9sZV9yaWdodF9faW5wdXQgbGFiZWwgc3BhbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udG9zRm9ybVt0b3MtZW50aXR5Zm9ybT1yb2xsZV0gLnRvcy1yaWdodGdyb3VwIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuLnRvc0Zvcm1bdG9zLWVudGl0eWZvcm09cm9sbGVdIC50b3MtcmlnaHRncm91cCBsaSB7XG4gIHBhZGRpbmc6IDA7XG59XG4udG9zRm9ybVt0b3MtZW50aXR5Zm9ybT1yb2xsZV0gLnRvcy1yaWdodGdyb3VwIC5yb2xlX3JpZ2h0IHtcbiAgcGFkZGluZzogMTBweDtcbiAgaGVpZ2h0OiAyNXB4O1xufVxuLnRvc0Zvcm1bdG9zLWVudGl0eWZvcm09cm9sbGVdICNyb2xsZV9yaWdodENob2ljZXMgLmNob2ljZXMtbGlzdF9fZ3JvdXBUaXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4udG9zRm9ybVt0b3MtZW50aXR5Zm9ybT1yb2xsZV0gI3JvbGxlX3JpZ2h0Q2hvaWNlcyAucm9sZV9yaWdodCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi50b3NGb3JtW3Rvcy1lbnRpdHlmb3JtPXJvbGxlXSAjcm9sbGVfcmlnaHRDaG9pY2VzIC50b3MtcmlnaHRncm91cC0tbGV2MSBsaSB7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbn1cbi50b3NGb3JtW3Rvcy1lbnRpdHlmb3JtPXJvbGxlXSAjcm9sbGVfcmlnaHRDaG9pY2VzIC5yb2xlX3JpZ2h0X19pbnB1dCB7XG4gIG1hcmdpbi1yaWdodDogNTBweDtcbn1cbi50b3NGb3JtW3Rvcy1lbnRpdHlmb3JtPXJvbGxlXSAjcm9sbGVfcmlnaHRFZGl0Q2hvaWNlcywgLnRvc0Zvcm1bdG9zLWVudGl0eWZvcm09cm9sbGVdICNyb2xsZV9yaWdodERlbGV0ZUNob2ljZXMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udG9zRm9ybVt0b3MtZW50aXR5Zm9ybT1yb2xsZV0gI3JvbGxlX3JpZ2h0RWRpdENob2ljZXMgLnJvbGVfcmlnaHRfX25hbWUgbGFiZWwsIC50b3NGb3JtW3Rvcy1lbnRpdHlmb3JtPXJvbGxlXSAjcm9sbGVfcmlnaHREZWxldGVDaG9pY2VzIC5yb2xlX3JpZ2h0X19uYW1lIGxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50b3NGb3JtW3Rvcy1lbnRpdHlmb3JtPXJvbGxlXSAjcm9sbGVfcmlnaHRFZGl0Q2hvaWNlcyAuY2hvaWNlcy1saXN0X19ncm91cFRpdGxlLCAudG9zRm9ybVt0b3MtZW50aXR5Zm9ybT1yb2xsZV0gI3JvbGxlX3JpZ2h0RGVsZXRlQ2hvaWNlcyAuY2hvaWNlcy1saXN0X19ncm91cFRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn0iLCIuYWJsYWdlLXJvdyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjhweCAxZnIgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4O1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG4uYWJsYWdlLXJvdy0tYWx0IHtcbiAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbn1cbi5hYmxhZ2Utcm93OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2Y1ZjdmYTtcbn1cblxuLmFibGFnZS1jZWxsLS1pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uYWJsYWdlLWNlbGwtLW1haW4ge1xuICBtaW4td2lkdGg6IDA7XG59XG4uYWJsYWdlLWNlbGwtLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmFibGFnZS10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbn1cblxuLmFibGFnZS1tZXRhIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAycHg7XG59XG4uYWJsYWdlLW1ldGEgLmFibGFnZS1tZXRhLXNlcCB7XG4gIG1hcmdpbjogMCA2cHg7XG59XG5cbi8qIEJ1dHRvbnMgbGVpc2VyL2tvbXBha3RlciAqL1xuLmFibGFnZS1hY3Rpb24tYnRuIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbi5hYmxhZ2UtYWN0aW9uLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlZWYyZjY7XG4gIGJvcmRlci1jb2xvcjogI2RkZTNlYTtcbn1cblxuLyogRGVsZXRlIGJlaW0gSG92ZXIgZXR3YXMgXCJ3YXJuZW5kZXJcIiwgYWJlciBuaWNodCBrbmFsbGlnICovXG4uYWJsYWdlLWFjdGlvbi1idG4tLWRlbGV0ZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZmYxZjE7XG4gIGJvcmRlci1jb2xvcjogI2ZmZDJkMjtcbn0iLCIucHJlaXNyZWdlbEthdGVnb3JpZS1zdG9wIHtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IGRhc2hlZCBibGFjaztcbn1cbltkYXRhLWNvbG9yLW1vZGU9ZGFya10gLnByZWlzcmVnZWxLYXRlZ29yaWUtc3RvcCB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNvbEdyZXkzMDApO1xufSIsIi8qKi9cbltkYXRhLWNvbG9yLXRoZW1lPWJlcnJ5XSB7XG4gIC0tY29sUHJpbWFyeTcwMDogIzNkMTUxZjtcbiAgLS1jb2xQcmltYXJ5NjAwOiAjOGIyOTNkO1xuICAtLWNvbFByaW1hcnk1MDA6ICNiMzM0NGU7XG4gIC0tY29sUHJpbWFyeTQwMDogI2QxNjI3OTtcbiAgLS1jb2xQcmltYXJ5MzAwOiAjZDE2Mjc5O1xuICAtLWNvbFByaW1hcnkyMDA6ICNlOGIxYmM7XG4gIC0tY29sUHJpbWFyeTEwMDogI2ZhZWNlZjtcbn1cblxuW2RhdGEtY29sb3ItbW9kZT1kYXJrXSB7XG4gIC0tY29sQmxhY2s6ICMwMDA7XG4gIC0tY29sU29mdEJsYWNrOiAjMTIxMjEyO1xuICAtLWNvbEdyZXk5MDA6ICMyMjI7XG4gIC0tY29sR3JleTgwMDogIzMzMztcbiAgLS1jb2xHcmV5NzUwOiAjM2YzZjNmO1xuICAtLWNvbEdyZXk3MDA6ICM0NDQ7XG4gIC0tY29sR3JleTYwMDogIzY2NjtcbiAgLS1jb2xHcmV5NTAwOiAjODg4O1xuICAtLWNvbEdyZXk0MDA6ICNhYWE7XG4gIC0tY29sR3JleTMwMDogI2JiYjtcbiAgLS1jb2xHcmV5MjAwOiAjZGRkO1xuICAtLWNvbEdyZXkxMDA6ICNlZWU7XG4gIC0tY29sV2hpdGU1MDA6ICNmMGYwZjA7XG4gIC0tY29sU29mdFdoaXRlOiAjZmNmY2ZjO1xuICAtLWNvbFdoaXRlOiAjZmZmO1xuICAtLWNvbG9yLWxpZ2h0OiAjZmZmO1xufVxuXG46cm9vdCB7XG4gIC0tY29sUHJpbWFyeTcwMDogIzAwMzIzMjtcbiAgLS1jb2xQcmltYXJ5NjAwOiAjMDA1YTQ0O1xuICAtLWNvbFByaW1hcnk1MDA6ICMwMDgyNTU7XG4gIC0tY29sUHJpbWFyeTQwMDogIzAwRDI3ODtcbiAgLS1jb2xQcmltYXJ5MzAwOiAjMzljNTg1O1xuICAtLWNvbFByaW1hcnkyMDA6ICNiZmY0ZGQ7XG4gIC0tY29sUHJpbWFyeTEwMDogI2Y1ZmRmYTtcbiAgLS1jb2xCbGFjazogIzAwMDtcbiAgLS1jb2xTb2Z0QmxhY2s6ICMxMjEyMTI7XG4gIC0tY29sR3JleTkwMDogIzIyMjtcbiAgLS1jb2xHcmV5ODAwOiAjMzMzO1xuICAtLWNvbEdyZXk3MDA6ICM0NDQ7XG4gIC0tY29sR3JleTYwMDogIzY2NjtcbiAgLS1jb2xHcmV5NTAwOiAjY2NjO1xuICAtLWNvbEdyZXk0MDA6ICNkZGQ7XG4gIC0tY29sR3JleTMwMDogI2VlZTtcbiAgLS1jb2xHcmV5MjAwOiAjZjBmMGYwO1xuICAtLWNvbEdyZXkxMDA6ICNGOWY5Zjk7XG4gIC0tY29sV2hpdGU1MDA6ICNmOGY4Zjg7XG4gIC0tY29sU29mdFdoaXRlOiAjZmNmY2ZjO1xuICAtLWNvbFdoaXRlOiAjZmZmO1xuICAtLWNvbG9yLWxpZ2h0OiAjZmZmO1xuICAtLWNvbFN1Y2Nlc3MxMDA6ICNlZmY4ZWY7XG4gIC0tY29sU3VjY2VzczUwMDogIzQyQUE0OTtcbiAgLS1jb2xTdWNjZXNzNzAwOiAjMkM3MjJGO1xuICAtLWNvbFdhcm5pbmcxMDA6ICNmN2VjZGQ7XG4gIC0tY29sV2FybmluZzUwMDogI0Q4OUY1NDtcbiAgLS1jb2xXYXJuaW5nNzAwOiAjOEQ1RTIwO1xuICAtLWNvbEVycm9yNTAwOiAjRDg1ODU0O1xuICAtLWNvbEVycm9yMzAwOiAjZjllZWVlO1xuICAtLWNvbEVycm9yNjAwOiAjQjcyRTJBO1xuICAtLWNvbEVycm9yNzAwOiAjRDgxOTEzO1xufVxuXG4udG9zLWVsZXZhdGUxIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjQpO1xufVxuXG4udG9zLWVsZXZhdGUyIHtcbiAgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNiksIDAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMjMpO1xufVxuXG4udG9zLWVsZXZhdGUzIHtcbiAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjE5KSwgMCA2cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yMyk7XG59XG5cbi50b3MtZWxldmF0ZTQge1xuICBib3gtc2hhZG93OiAwIDE0cHggMjhweCByZ2JhKDAsIDAsIDAsIDAuMjUpLCAwIDEwcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMjIpO1xufVxuXG4udG9zLWVsZXZhdGU1IHtcbiAgYm94LXNoYWRvdzogMCAxOXB4IDM4cHggcmdiYSgwLCAwLCAwLCAwLjMpLCAwIDE1cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMjIpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLyogU2NocmlmdGFydGVuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogQGZvbnQtZmFjZSB7XG4qICAgICBmb250LWZhbWlseTogcm9ib3RvO1xuKiAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiogICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiogICAgIHNyYzogdXJsKCcuLi9mb250cy9Sb2JvdG8tVGhpbi50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4qIH1cbiogQGZvbnQtZmFjZSB7XG4qICAgICBmb250LWZhbWlseTogcm9ib3RvO1xuKiAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiogICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiogICAgIHNyYzogdXJsKCcuLi9mb250cy9Sb2JvdG8tTGlnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuKiB9XG4qQGltcG9ydCB1cmwoJ2h0dHBzOipmb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzo0MDAsNTAwLDcwMCcpOyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG87XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9Sb2JvdG8tTGlnaHQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG87XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9Sb2JvdG8tUmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1NZWRpdW0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG87XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9Sb2JvdG8tQm9sZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1CbGFjay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG4udG9zLWZvbnRGYW1TdGQge1xuICBmb250LWZhbWlseTogcm9ib3RvLCBhcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLnRvcy1mb250RmFtSWNvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA3IFByb1wiO1xufVxuXG4udG9zLWZzT21lZ2Ege1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0FscGhhIHtcbiAgZm9udC1zaXplOiAyNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNCZXRhIHtcbiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNHYW1tYSB7XG4gIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzRGVsdGEge1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0tpbG8ge1xuICBmb250LXNpemU6IDM1cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc01pbmkge1xuICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc01pY3JvIHtcbiAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNJY29uIHtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZndTdGFuZGFyZCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbn1cblxuLnRvcy1md0ljb25TdGFuZGFyZDo6YmVmb3JlIHtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ucnZmLWxheW91dC0tc3RhbmRhbG9uZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDE3MHB4KTtcbiAgbWluLWhlaWdodDogNTAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbEdyZXkzMDAsICNkZGQpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucnZmLWxheW91dC0tc3RhbmRhbG9uZSAucnZmLWVkaXRvciB7XG4gIGZsZXg6IDAgMCA1NSU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHZhcigtLWNvbEdyZXkzMDAsICNjY2MpO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLnJ2Zi1sYXlvdXQtLXN0YW5kYWxvbmUgLnJ2Zi1wcmV2aWV3IHtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5ydmYtbGF5b3V0LS1zdGFuZGFsb25lICNydmYtcHJldmlldy1mcmFtZSB7XG4gIGZsZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnJ2Zi1sYXlvdXQtLXRhYiAucnZmLXByZXZpZXcge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnJ2Zi1sYXlvdXQtLXRhYiAjcnZmLXByZXZpZXctZnJhbWUge1xuICBoZWlnaHQ6IDgwdmg7XG59XG5cbi5ydmYtcHJldmlldyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbEdyZXk2MDAsICM3NTc1NzUpO1xuICBwYWRkaW5nOiAxNnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ucnZmLXByZXZpZXdfX2xhYmVsIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgb3BhY2l0eTogMC44NTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5ydmYtcHJldmlld19fcGFnZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucnZmLXByZXZpZXdfX2xvYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB6LWluZGV4OiA1O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuI3J2Zi1wcmV2aWV3LWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5ydmYtdG9vbGJhciB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1jb2xHcmV5MzAwLCAjZTBlMGUwKTtcbn1cblxuLnJ2Zi1sZWlzdHVuZy1jYXJkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sR3JleTEwMCwgI2Y4ZjhmOCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbEdyZXkzMDAsICNlMGUwZTApO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4ucnZmLXRhZy0taW5LbGFlcnVuZyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyMDAsIDAsIDAuMTIpO1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmMGE1MDA7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xufVxuXG4ucnZmLXRhZy0tYXVzZ2VibGVuZGV0IHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNTAsIDE1MCwgMTUwLCAwLjEpO1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWNvbEdyZXk0MDAsICNhYWEpO1xuICBvcGFjaXR5OiAwLjY1O1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbn1cblxuLnJ2Zi10YWctLWF1c3NlcmhhbGJaZWl0cmF1bSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbFdhcm5pbmcxMDApO1xufVxuXG4ucnZmLXRhZ19femVpdHJhdW1IaW53ZWlzIHtcbiAgY29sb3I6IHZhcigtLWNvbEVycm9yNTAwKTtcbiAgY3Vyc29yOiBoZWxwO1xuICBmb250LXNpemU6IDAuOWVtO1xuICBtYXJnaW4tbGVmdDogNHB4O1xufVxuXG4ucnZmLXVlYmVydHJhZ2VuX192b3JoYW5kZW4ge1xuICBjb2xvcjogdmFyKC0tY29sV2FybmluZzcwMCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5ydmYtdGFnLWZsYWdzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDRweCAxMnB4O1xuICBwYWRkaW5nOiA0cHggMCA2cHggMjRweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbEdyZXkyMDAsICNlZWUpO1xuICBtYXJnaW4tdG9wOiA0cHg7XG59XG4ucnZmLXRhZy1mbGFncyA+IGRpdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC44NWVtO1xuICBjb2xvcjogdmFyKC0tY29sR3JleTcwMCwgIzU1NSk7XG59XG5cbi51ay10b29sdGlwLnRvb2x0aXAtYXV0b3dpZHRoIHtcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIG1heC13aWR0aDogNDAwcHg7XG59XG5cbi5wYWtldC1yZWlzZXZlcmxhdWYtbWVkaWEtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIwcHg7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ucGFrZXQtcmVpc2V2ZXJsYXVmLW1lZGlhLWljb24gLnRvcy1pY29uLS1sYXlvdXRlbGVtZW50LW1lZGlhIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLnBha2V0LXJlaXNldmVybGF1Zi1tZWRpYS1pY29uLS1lbXB0eSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xHcmV5NDAwKTtcbn1cbi5wYWtldC1yZWlzZXZlcmxhdWYtbWVkaWEtaWNvbi0tdW5hdmFpbGFibGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiB2YXIoLS1jb2xFcnJvcjUwMCk7XG59XG4ucGFrZXQtcmVpc2V2ZXJsYXVmLW1lZGlhLWljb24tLXVuYXZhaWxhYmxlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxmNzE1XCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA3IFByb1wiO1xuICBmb250LXdlaWdodDogOTAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqL1xuW2RhdGEtY29sb3ItdGhlbWU9YmVycnldIHtcbiAgLS1jb2xQcmltYXJ5NzAwOiAjM2QxNTFmO1xuICAtLWNvbFByaW1hcnk2MDA6ICM4YjI5M2Q7XG4gIC0tY29sUHJpbWFyeTUwMDogI2IzMzQ0ZTtcbiAgLS1jb2xQcmltYXJ5NDAwOiAjZDE2Mjc5O1xuICAtLWNvbFByaW1hcnkzMDA6ICNkMTYyNzk7XG4gIC0tY29sUHJpbWFyeTIwMDogI2U4YjFiYztcbiAgLS1jb2xQcmltYXJ5MTAwOiAjZmFlY2VmO1xufVxuXG5bZGF0YS1jb2xvci1tb2RlPWRhcmtdIHtcbiAgLS1jb2xCbGFjazogIzAwMDtcbiAgLS1jb2xTb2Z0QmxhY2s6ICMxMjEyMTI7XG4gIC0tY29sR3JleTkwMDogIzIyMjtcbiAgLS1jb2xHcmV5ODAwOiAjMzMzO1xuICAtLWNvbEdyZXk3NTA6ICMzZjNmM2Y7XG4gIC0tY29sR3JleTcwMDogIzQ0NDtcbiAgLS1jb2xHcmV5NjAwOiAjNjY2O1xuICAtLWNvbEdyZXk1MDA6ICM4ODg7XG4gIC0tY29sR3JleTQwMDogI2FhYTtcbiAgLS1jb2xHcmV5MzAwOiAjYmJiO1xuICAtLWNvbEdyZXkyMDA6ICNkZGQ7XG4gIC0tY29sR3JleTEwMDogI2VlZTtcbiAgLS1jb2xXaGl0ZTUwMDogI2YwZjBmMDtcbiAgLS1jb2xTb2Z0V2hpdGU6ICNmY2ZjZmM7XG4gIC0tY29sV2hpdGU6ICNmZmY7XG4gIC0tY29sb3ItbGlnaHQ6ICNmZmY7XG59XG5cbjpyb290IHtcbiAgLS1jb2xQcmltYXJ5NzAwOiAjMDAzMjMyO1xuICAtLWNvbFByaW1hcnk2MDA6ICMwMDVhNDQ7XG4gIC0tY29sUHJpbWFyeTUwMDogIzAwODI1NTtcbiAgLS1jb2xQcmltYXJ5NDAwOiAjMDBEMjc4O1xuICAtLWNvbFByaW1hcnkzMDA6ICMzOWM1ODU7XG4gIC0tY29sUHJpbWFyeTIwMDogI2JmZjRkZDtcbiAgLS1jb2xQcmltYXJ5MTAwOiAjZjVmZGZhO1xuICAtLWNvbEJsYWNrOiAjMDAwO1xuICAtLWNvbFNvZnRCbGFjazogIzEyMTIxMjtcbiAgLS1jb2xHcmV5OTAwOiAjMjIyO1xuICAtLWNvbEdyZXk4MDA6ICMzMzM7XG4gIC0tY29sR3JleTcwMDogIzQ0NDtcbiAgLS1jb2xHcmV5NjAwOiAjNjY2O1xuICAtLWNvbEdyZXk1MDA6ICNjY2M7XG4gIC0tY29sR3JleTQwMDogI2RkZDtcbiAgLS1jb2xHcmV5MzAwOiAjZWVlO1xuICAtLWNvbEdyZXkyMDA6ICNmMGYwZjA7XG4gIC0tY29sR3JleTEwMDogI0Y5ZjlmOTtcbiAgLS1jb2xXaGl0ZTUwMDogI2Y4ZjhmODtcbiAgLS1jb2xTb2Z0V2hpdGU6ICNmY2ZjZmM7XG4gIC0tY29sV2hpdGU6ICNmZmY7XG4gIC0tY29sb3ItbGlnaHQ6ICNmZmY7XG4gIC0tY29sU3VjY2VzczEwMDogI2VmZjhlZjtcbiAgLS1jb2xTdWNjZXNzNTAwOiAjNDJBQTQ5O1xuICAtLWNvbFN1Y2Nlc3M3MDA6ICMyQzcyMkY7XG4gIC0tY29sV2FybmluZzEwMDogI2Y3ZWNkZDtcbiAgLS1jb2xXYXJuaW5nNTAwOiAjRDg5RjU0O1xuICAtLWNvbFdhcm5pbmc3MDA6ICM4RDVFMjA7XG4gIC0tY29sRXJyb3I1MDA6ICNEODU4NTQ7XG4gIC0tY29sRXJyb3IzMDA6ICNmOWVlZWU7XG4gIC0tY29sRXJyb3I2MDA6ICNCNzJFMkE7XG4gIC0tY29sRXJyb3I3MDA6ICNEODE5MTM7XG59XG5cbi50b3MtZWxldmF0ZTEge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7XG59XG5cbi50b3MtZWxldmF0ZTIge1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yMyk7XG59XG5cbi50b3MtZWxldmF0ZTMge1xuICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMTkpLCAwIDZweCA2cHggcmdiYSgwLCAwLCAwLCAwLjIzKTtcbn1cblxuLnRvcy1lbGV2YXRlNCB7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyOHB4IHJnYmEoMCwgMCwgMCwgMC4yNSksIDAgMTBweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yMik7XG59XG5cbi50b3MtZWxldmF0ZTUge1xuICBib3gtc2hhZG93OiAwIDE5cHggMzhweCByZ2JhKDAsIDAsIDAsIDAuMyksIDAgMTVweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yMik7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKiBTY2hyaWZ0YXJ0ZW5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBAZm9udC1mYWNlIHtcbiogICAgIGZvbnQtZmFtaWx5OiByb2JvdG87XG4qICAgICBmb250LXdlaWdodDogMjAwO1xuKiAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuKiAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1JvYm90by1UaGluLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiogfVxuKiBAZm9udC1mYWNlIHtcbiogICAgIGZvbnQtZmFtaWx5OiByb2JvdG87XG4qICAgICBmb250LXdlaWdodDogMzAwO1xuKiAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuKiAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1JvYm90by1MaWdodC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4qIH1cbipAaW1wb3J0IHVybCgnaHR0cHM6KmZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvOjQwMCw1MDAsNzAwJyk7ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1MaWdodC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogcm9ib3RvO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvUm9ib3RvLU1lZGl1bS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogcm9ib3RvO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvUm9ib3RvLUJsYWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbi50b3MtZm9udEZhbVN0ZCB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG8sIGFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4udG9zLWZvbnRGYW1JY29uIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDcgUHJvXCI7XG59XG5cbi50b3MtZnNPbWVnYSB7XG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzQWxwaGEge1xuICBmb250LXNpemU6IDI2cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0JldGEge1xuICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0dhbW1hIHtcbiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNEZWx0YSB7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzS2lsbyB7XG4gIGZvbnQtc2l6ZTogMzVweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzTWluaSB7XG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzTWljcm8ge1xuICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0ljb24ge1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1md1N0YW5kYXJkIHtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZ3SWNvblN0YW5kYXJkOjpiZWZvcmUge1xuICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5idWNodW5nc01hc2tlIHtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICMwMDMyMzI7XG59XG4uYnVjaHVuZ3NNYXNrZS50b3NNYXNrZSAudG9zTWFza2VfX21heFdpZHRoIHtcbiAgbWF4LXdpZHRoOiAyMDAwcHg7XG59XG4uYnVjaHVuZ3NNYXNrZS50b3NNYXNrZSAudG9zTWFza2VfX2NvbnRlbnQge1xuICBtYXJnaW4tdG9wOiA4NXB4O1xuICBwYWRkaW5nOiAxNXB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5pbnB1dC52b3JnYW5nc21lbGR1bmdTdGF0dXMuc3RhdHVzLS11bmtub3duIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbn1cbmlucHV0LnZvcmdhbmdzbWVsZHVuZ1N0YXR1cy5zdGF0dXMtLWVycm9yIHtcbiAgYmFja2dyb3VuZDogI0Q4NTg1NDtcbiAgY29sb3I6ICNmY2ZjZmM7XG59XG5pbnB1dC52b3JnYW5nc21lbGR1bmdTdGF0dXMuc3RhdHVzLS13YXJuaW5nLCBpbnB1dC52b3JnYW5nc21lbGR1bmdTdGF0dXMuc3RhdHVzLS1wZW5kaW5nIHtcbiAgYmFja2dyb3VuZDogI0Q4OUY1NDtcbn1cbmlucHV0LnZvcmdhbmdzbWVsZHVuZ1N0YXR1cy5zdGF0dXMtLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiAjYmZmNGRkO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udm9yZ2FuZ1RhYiAudm9yZ2FuZ1RhYi1hY2NvcmRpb25JdGVtX19jb250ZW50LCAudm9yZ2FuZ1RhYiAudm9yZ2FuZ1RhYi1hY2NvcmRpb25JdGVtX19oZWFkZXIge1xuICBwYWRkaW5nOiAxMHB4IDEwcHg7XG59XG4udm9yZ2FuZ1RhYiAudm9yZ2FuZ1RhYi1hY2NvcmRpb25JdGVtX19mb290ZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG59XG5cbi52b3JnYW5nTGVpc3R1bmcgLnZvcmdhbmdMZWlzdHVuZ19fcHJlaXMge1xuICBtaW4td2lkdGg6IDEwMHB4O1xufVxuLnZvcmdhbmdMZWlzdHVuZyAudm9yZ2FuZ0xlaXN0dW5nX19kYXRlbiB7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLnZvcmdhbmdMZWlzdHVuZyAudm9yZ2FuZ0xlaXN0dW5nX190eXAge1xuICB3aWR0aDogMjBweDtcbn1cbi52b3JnYW5nTGVpc3R1bmcgLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzIHtcbiAgd2lkdGg6IDI1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi52b3JnYW5nTGVpc3R1bmcgLnZvcmdhbmdMZWlzdHVuZ19fc2l0enBsYXR6IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4udm9yZ2FuZ0xlaXN0dW5nIC52b3JnYW5nTGVpc3R1bmdfX3dhaGxwZmxpY2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sV2FybmluZzEwMCk7XG59XG5bZGF0YS1jb2xvci1tb2RlPWRhcmtdIC52b3JnYW5nTGVpc3R1bmcgLnZvcmdhbmdMZWlzdHVuZ19fd2FobHBmbGljaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xXYXJuaW5nNTAwKTtcbn1cbi52b3JnYW5nTGVpc3R1bmcuZXJyb3Ige1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xFcnJvcjMwMCk7XG59XG5bZGF0YS1jb2xvci1tb2RlPWRhcmtdIC52b3JnYW5nTGVpc3R1bmcuZXJyb3Ige1xuICBjb2xvcjogdmFyKC0tY29sRXJyb3IzMDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xFcnJvcjUwMCk7XG59XG4udm9yZ2FuZ0xlaXN0dW5nLmVycm9yIC51ay1hY2NvcmRpb24tdGl0bGUge1xuICBjb2xvcjogI0Q4NTg1NDtcbn1cbltkYXRhLWNvbG9yLW1vZGU9ZGFya10gLnZvcmdhbmdMZWlzdHVuZy5lcnJvciAudWstYWNjb3JkaW9uLXRpdGxlIHtcbiAgY29sb3I6IHZhcigtLWNvbEVycm9yMzAwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sRXJyb3I1MDApO1xufVxuXG4udm9yZ2FuZ0xlaXN0dW5nT3B0aW9uIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLnZvcmdhbmdMZWlzdHVuZ09wdGlvbiAudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX190ZWlsbmVobWVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnZvcmdhbmdMZWlzdHVuZ09wdGlvbiAudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMge1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAyOHB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy0tT0ssIC52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy0tT0ssIC52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy0tT0ssIC52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy0tT0sge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xTdWNjZXNzMTAwKTtcbn1cbltkYXRhLWNvbG9yLW1vZGU9ZGFya10gLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLS1PSywgW2RhdGEtY29sb3ItbW9kZT1kYXJrXSAudm9yZ2FuZ0xlaXN0dW5nX19zdGF0dXMudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMtLU9LLCBbZGF0YS1jb2xvci1tb2RlPWRhcmtdIC52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy0tT0ssIFtkYXRhLWNvbG9yLW1vZGU9ZGFya10gLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLS1PSyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbFN1Y2Nlc3M1MDApO1xufVxuLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLS1wZW5kaW5nLCAudm9yZ2FuZ0xlaXN0dW5nX19zdGF0dXMudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMtLXBlbmRpbmcsIC52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy0tVU4sIC52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy0tVU4sIC52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy0tUlEsIC52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy0tUlEsIC52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy0tcGVuZGluZywgLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLS1wZW5kaW5nLCAudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMudm9yZ2FuZ0xlaXN0dW5nX19zdGF0dXMtLVVOLCAudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMtLVVOLCAudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMudm9yZ2FuZ0xlaXN0dW5nX19zdGF0dXMtLVJRLCAudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMtLVJRIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sV2FybmluZzEwMCk7XG59XG5bZGF0YS1jb2xvci1tb2RlPWRhcmtdIC52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy0tcGVuZGluZywgW2RhdGEtY29sb3ItbW9kZT1kYXJrXSAudm9yZ2FuZ0xlaXN0dW5nX19zdGF0dXMudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMtLXBlbmRpbmcsIFtkYXRhLWNvbG9yLW1vZGU9ZGFya10gLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLS1VTiwgW2RhdGEtY29sb3ItbW9kZT1kYXJrXSAudm9yZ2FuZ0xlaXN0dW5nX19zdGF0dXMudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMtLVVOLCBbZGF0YS1jb2xvci1tb2RlPWRhcmtdIC52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy0tUlEsIFtkYXRhLWNvbG9yLW1vZGU9ZGFya10gLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLS1SUSwgW2RhdGEtY29sb3ItbW9kZT1kYXJrXSAudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMudm9yZ2FuZ0xlaXN0dW5nX19zdGF0dXMtLXBlbmRpbmcsIFtkYXRhLWNvbG9yLW1vZGU9ZGFya10gLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLS1wZW5kaW5nLCBbZGF0YS1jb2xvci1tb2RlPWRhcmtdIC52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy0tVU4sIFtkYXRhLWNvbG9yLW1vZGU9ZGFya10gLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLS1VTiwgW2RhdGEtY29sb3ItbW9kZT1kYXJrXSAudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMudm9yZ2FuZ0xlaXN0dW5nX19zdGF0dXMtLVJRLCBbZGF0YS1jb2xvci1tb2RlPWRhcmtdIC52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy0tUlEge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xXYXJuaW5nNTAwKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udm9yZ2FuZ3NIaXN0b3JpZURldGFpbC0tZGlmZiA+IC52b3JnYW5nc0hpc3RvcmllRGV0YWlsLXRpdGxlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxmMDVhXCI7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjRDg5RjU0O1xufVxuXG4udm9yZ2FuZ3NIaXN0b3JpZURldGFpbC1oaWdobGlnaHQge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICNEODlGNTQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0Q4OUY1NCAhaW1wb3J0YW50O1xufVxuXG4udm9yZ2FuZ3NIaXN0b3JpZURldGFpbC10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xufVxuLnZvcmdhbmdzSGlzdG9yaWVEZXRhaWwtdGl0bGU6OmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDcgUHJvXCI7XG4gIGNvbnRlbnQ6IFwiXFxmMTExXCI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxlZnQ6IDNweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4udm9yZ2FuZ3NIaXN0b3JpZURldGFpbC1kaWZmRGV0YWlsIC52b3JnYW5nSGlzdG9yaWVEZXRhaWxfX3dlcnQge1xuICBjb2xvcjogI0Q4OUY1NDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udm9yZ2FuZ1RhYlt0b3MtdGFiLWNvbnRlbnQ9dm9yZ2FuZ196YWhsdW5nZW5dIC52b3JnYW5nWmFobHVuZ2VuX19wcm9ncmVzcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi52b3JnYW5nVGFiW3Rvcy10YWItY29udGVudD12b3JnYW5nX3phaGx1bmdlbl0gLnZvcmdhbmdaYWhsdW5nZW5fX3Byb2dyZXNzIC52b3JnYW5nWmFobHVuZ2VuX19wcm9ncmVzc0dlc2FtdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjAwO1xufVxuLnZvcmdhbmdUYWJbdG9zLXRhYi1jb250ZW50PXZvcmdhbmdfemFobHVuZ2VuXSAudm9yZ2FuZ1phaGx1bmdlbl9fcHJvZ3Jlc3MgLnZvcmdhbmdaYWhsdW5nZW5fX3Byb2dyZXNzQW56YWhsdW5nIHtcbiAgei1pbmRleDogMTAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHRvcDogMDtcbn1cblxuLmt1bmRlbm51bW1lci5rdW5kZW5udW1tZXItLWhhcy1kdXBlcyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tY29sV2FybmluZzUwMCk7XG4gIHBhZGRpbmc6IDAgMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxMjBtcyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAxMjBtcyBlYXNlLWluLW91dDtcbn1cbltkYXRhLWNvbG9yLW1vZGU9ZGFya10gLmt1bmRlbm51bW1lci5rdW5kZW5udW1tZXItLWhhcy1kdXBlcyB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNvbFdhcm5pbmcyMDApO1xufVxuLmt1bmRlbm51bW1lci5rdW5kZW5udW1tZXItLWhhcy1kdXBlczpob3ZlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNvbFdhcm5pbmc3MDApO1xufVxuLmt1bmRlbm51bW1lci5rdW5kZW5udW1tZXItLWhhcy1kdXBlczpmb2N1cywgLmt1bmRlbm51bW1lci5rdW5kZW5udW1tZXItLWhhcy1kdXBlczpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAycHggMCAwIHZhcigtLWNvbFdhcm5pbmc1MDApO1xufVxuXG4ua3VuZGVubnVtbWVyX19kdXBlRHJvcCB7XG4gIHotaW5kZXg6IDExMDAwO1xufVxuLmt1bmRlbm51bW1lcl9fZHVwZURyb3AgLnVrLWNhcmQge1xuICB3aWR0aDogY2xhbXAoMzIwcHgsIDQ1dncsIDcyMHB4KTtcbiAgbWluLXdpZHRoOiAzMjBweDtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLmt1bmRlbm51bW1lcl9fZHVwZURyb3AgLnVrLWNhcmQtYm9keSB7XG4gIG1heC1oZWlnaHQ6IDYwdmg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG4ua3VuZGVubnVtbWVyX19kdXBlRHJvcCAudWstbGlzdCA+IGxpIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4gIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xufVxuLmt1bmRlbm51bW1lcl9fZHVwZURyb3AgLmt1bmRlbm51bW1lcl9fZHVwZUxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5rdW5kZW5udW1tZXJfX2R1cGVEcm9wIC5rdW5kZW5udW1tZXJfX2R1cGVMaW5rOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbiN0ZXJtaW5XYWhsTW9kYWwgLmZsYXRwaWNrci1jYWxlbmRhciAudGVybWluLWdlc3BlcnJ0IHtcbiAgY29sb3I6IHZhcigtLWNvbEdyZXk2MDApO1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbiN0ZXJtaW5XYWhsTW9kYWwgLmZsYXRwaWNrci1jYWxlbmRhciAudGVybWluLWJ1Y2hiYXIge1xuICBmb250LXdlaWdodDogNjAwO1xufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/