/**
 * @vci/style - 样式编写辅助库(SCSS)
 * @version v2.1.7
 * @link https://gitee.com/visual-ceiling/v-style
 * @license ISC
 */
@charset "UTF-8";
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  overflow-y: scroll; /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  -moz-tab-size: 4;
    -o-tab-size: 4;
       tab-size: 4;
}

*,
::before,
::after {
  box-sizing: inherit;
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */
hr {
  height: 0; /* Add the correct box sizing in Firefox */
  overflow: visible; /* Show the overflow in Edge and IE */
}

details,
main {
  display: block; /* Render the `main` element consistently in IE. */
}

summary {
  display: list-item; /* Add the correct display in all browsers */
}

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none; /* Add the correct display in IE */
}

abbr[title] {
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  -webkit-text-decoration: underline dotted currentColor;
          text-decoration: underline dotted currentColor;
  border-bottom: none; /* Remove the bottom border in Chrome 57 */
}

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, sans-serif; /* Specify the font family of code elements */
}

pre {
  font-size: 1em; /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder; /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
  border-radius: 0;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto; /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type=search] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px; /* Correct the outline style in Safari */
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
          appearance: none; /* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  color: inherit;
  cursor: pointer;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

/* stylelint-disable */
button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
     -moz-appearance: button;
          appearance: button; /* Correct the inability to style clickable types in iOS */
}

/* stylelint-enable */
/* Remove the default button styling in all browsers */
/* stylelint-disable */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

/* stylelint-enable */
/* Style select like a standard input */
select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; /* Firefox 36+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentcolor; /* Internet Explorer 11+ */
}

legend {
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
}

::-webkit-file-upload-button {
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
  color: inherit;
  /* Correct the inability to style clickable types in iOS and Safari */
  -webkit-appearance: button;
          appearance: button;
}

::-ms-clear,
::-ms-reveal {
  display: none;
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~=screen] {
    display: inherit;
  }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled=true] {
  cursor: default;
}

body {
  font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
  font-size: 14px;
  /* 抗锯齿 */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

ul li,
ul ol {
  list-style: none;
}

img,
embed,
object,
audio,
video {
  max-width: 100%;
  height: auto;
}

.vci-pst-abs, .vci-pst-cm, .vci-pst-m, .vci-pst-c {
  position: absolute;
}

.vci-pst-rlv {
  position: relative;
}

.vci-top-0 {
  top: 0;
}

.vci-bottom-0 {
  bottom: 0;
}

.vci-left-0 {
  left: 0;
}

.vci-right-0 {
  right: 0;
}

/* stylelint-disable */
.vci-pst-c {
  left: 50%;
  transform: translateX(-50%);
}

.vci-pst-m {
  top: 50%;
  transform: translateY(-50%);
}

.vci-pst-cm {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* stylelint-enable */
.vci-flex, .vci-flex-c, .vci-flex-cm, .vci-flex-cc, .vci-flex-ccm, .vci-flex-ccbt, .vci-flex-ccb, .vci-flex-cct, .vci-flex-rc, .vci-flex-rm, .vci-flex-rcm, .vci-flex-rmb, .vci-flex-rmr, .vci-flex-rml {
  display: flex;
}

.vci-flex-rm, .vci-flex-rcm, .vci-flex-rmb, .vci-flex-rmr, .vci-flex-rml {
  /* stylelint-disable-line */
  align-items: center;
}

.vci-flex-rml {
  /* stylelint-disable-line */
  justify-content: flex-start;
}

.vci-flex-rmr {
  /* stylelint-disable-line */
  justify-content: flex-end;
}

.vci-flex-rmb {
  /* stylelint-disable-line */
  justify-content: space-between;
}

.vci-flex-rcm {
  /* stylelint-disable-line */
  justify-content: center;
}

.vci-flex-rc {
  /* stylelint-disable-line */
  justify-content: center;
}

.vci-flex-c, .vci-flex-cm, .vci-flex-cc, .vci-flex-ccm, .vci-flex-ccbt, .vci-flex-ccb, .vci-flex-cct {
  /* stylelint-disable-line */
  flex-direction: column;
}

.vci-flex-cc, .vci-flex-ccm, .vci-flex-ccbt, .vci-flex-ccb, .vci-flex-cct {
  /* stylelint-disable-line */
  align-items: center;
}

.vci-flex-cct {
  /* stylelint-disable-line */
  justify-content: flex-start;
}

.vci-flex-ccb {
  /* stylelint-disable-line */
  justify-content: flex-end;
}

.vci-flex-ccbt {
  /* stylelint-disable-line */
  justify-content: space-between;
}

.vci-flex-ccm {
  /* stylelint-disable-line */
  justify-content: center;
}

.vci-flex-cm {
  /* stylelint-disable-line */
  justify-content: center;
}

.vci-flex-fill {
  flex: 1 1 auto;
}

.vci-flex-0-0 {
  flex: 0 0 auto;
}

.vci-flex-1-0 {
  flex: 1 0 auto;
}

.vci-fl {
  float: left;
}

.vci-fr {
  float: right;
}

.vci-clear::after, .vci-clear-element {
  clear: both;
  *zoom: 1;
}

.vci-clear::after, .vci-clear-element {
  display: block;
  width: 0;
  height: 0;
}

.vci-clear::after {
  content: " ";
}

.vci-w-50 {
  width: 50% !important;
}

.vci-w-100, .vci-size-100 {
  width: 100% !important;
}

.vci-w-auto, .vci-size-auto {
  width: auto !important;
}

.vci-w-screen, .vci-screen {
  width: 100vw !important;
}

.vci-h-50 {
  height: 50% !important;
}

.vci-h-100, .vci-size-100 {
  height: 100% !important;
}

.vci-h-auto, .vci-size-auto {
  height: auto !important;
}

.vci-h-screen, .vci-screen {
  height: 100vh !important;
}

/* stylelint-disable */
/* stylelint-enable */
.vci-margin-auto-x {
  margin: 0 auto;
}

.vci-tc-alpha, .vci-tc-scale, .vci-transition-slow, .vci-transition-quick, .vci-transition {
  transition: 0.2s ease-in-out;
}

.vci-transition-quick {
  transition-duration: 0.12s;
}

.vci-transition-slow {
  transition-duration: 0.35s;
}

@keyframes vci-amt-rotate {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
.vci-amt-rotate {
  animation: vci-amt-rotate 36s infinite both linear;
}

@keyframes vci-amt-fade {
  from {
    opacity: 1;
  }
  to {
    opacity: 0.6;
  }
}
.vci-amt-fade {
  animation: vci-amt-fade 2s infinite both linear alternate-reverse;
}

.vci-bg-cover {
  background-position: center;
  background-size: cover;
}

.vci-bg-fill {
  background-position: center;
  background-size: 100% 100%;
}

.vci-bg-contain {
  background-position: center;
  background-size: contain;
}

/**
  线性渐变文字
  $angle: 渐变角度:0~360deg;
  $color: 默认字体颜色，用于不支持渐变文字的情况下;
  $colors: 颜色数组例如: (#ccc, #ccc, #ccc) 或者 (#ccc 10%, #ccc 50%, #ccc)
 */
/**
  文字选中背景
  $bg  选中背景 默认: #1a74be
  $color  选中文字颜色 默认: #fff
 */
.vci-fs-12 {
  font-size: 12px;
}

.vci-fs-13 {
  font-size: 13px;
}

.vci-fs-14 {
  font-size: 14px;
}

.vci-fs-15 {
  font-size: 15px;
}

.vci-fs-16 {
  font-size: 16px;
}

.vci-fs-17 {
  font-size: 17px;
}

.vci-fs-18 {
  font-size: 18px;
}

.vci-fs-19 {
  font-size: 19px;
}

.vci-fs-20 {
  font-size: 20px;
}

.vci-fs-21 {
  font-size: 21px;
}

.vci-fs-22 {
  font-size: 22px;
}

.vci-fs-23 {
  font-size: 23px;
}

.vci-fs-24 {
  font-size: 24px;
}

.vci-fs-25 {
  font-size: 25px;
}

.vci-fs-26 {
  font-size: 26px;
}

.vci-fs-27 {
  font-size: 27px;
}

.vci-fs-28 {
  font-size: 28px;
}

.vci-fs-29 {
  font-size: 29px;
}

.vci-fs-30 {
  font-size: 30px;
}

.vci-fs-31 {
  font-size: 31px;
}

.vci-fw-normal {
  font-weight: normal;
}

.vci-fw-bold {
  font-weight: bold;
}

.vci-fw-bolder {
  font-weight: bolder;
}

.vci-fs-normal {
  font-style: normal;
}

.vci-fs-it {
  font-style: italic;
}

.vci-fs-ob {
  font-style: oblique;
}

.vci-ta-l {
  text-align: left;
}

.vci-ta-r {
  text-align: right;
}

.vci-ta-c {
  text-align: center;
}

.vci-font-stroke {
  text-shadow: 1px 0 1px #333, -1px 0 1px #333, 0 -1px 1px #333, 0 1px 1px #333;
}

.vci-to-e {
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vci-after::after,
.vci-before::before {
  display: block;
  content: " ";
}

.vci-tc-alpha, .vci-tc-scale, .vci-transition, .vci-transition-quick, .vci-transition-slow {
  transition: 0.2s ease-in-out;
}

.vci-transition-quick {
  transition-duration: 0.12s;
}

.vci-transition-slow {
  transition-duration: 0.35s;
}

.vci-tc-scale {
  cursor: pointer;
  transition-duration: 0.12s;
}
.vci-tc-scale:hover {
  transform: scale(1.05) rotateZ(0);
}
.vci-tc-scale:active {
  transform: scale(0.9) rotateZ(0);
}

.vci-tc-alpha {
  cursor: pointer;
  transition-duration: 0.12s;
}
.vci-tc-alpha:hover {
  opacity: 0.9;
}
.vci-tc-alpha:active {
  opacity: 0.8;
}

.vci-pointer-events-auto {
  pointer-events: auto;
}

.vci-pointer-events-none {
  pointer-events: none;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsIl9yZXNzLnNjc3MiLCJfcmVzZXQuc2NzcyIsIl9wb3NpdGlvbi5zY3NzIiwiX2Rpc3BsYXkuc2NzcyIsIl9mbG9hdC5zY3NzIiwiX3NpemVpbmcuc2NzcyIsIl9tYXJnaW4uc2NzcyIsIl90cmFuc2l0aW9uLnNjc3MiLCJfdmFyLnNjc3MiLCJfYW5pbWF0aW9uLnNjc3MiLCJfYmFja2dyb3VuZC5zY3NzIiwibWl4aW5zL19iYWNrZ3JvdW5kLnNjc3MiLCJtaXhpbnMvX2ZvbnQuc2NzcyIsIl9mb250LnNjc3MiLCJfcHNldWRvLnNjc3MiLCJfaW50ZXJhY3RpdmUuc2NzcyIsIl9vdGhlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQjs7d0VBQUE7QUFHQTtFQUNFLHNCQUFBO0VBQ0Esa0JBQUEsRUFBQSwrQ0FBQTtFQUNBLDhCQUFBO0tBQUEsMkJBQUE7VUFBQSxzQkFBQSxFQUFBLHNFQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtJQUFBLGNBQUE7T0FBQSxXQUFBO0FERUY7O0FDQ0E7OztFQUdFLG1CQUFBO0VBQ0EsNEJBQUEsRUFBQSwyRUFBQTtBREVGOztBQ0NBOztFQUVFLHdCQUFBLEVBQUEsdUZBQUE7RUFDQSx1QkFBQTtBREVGOztBQ0NBO0VBQ0UsVUFBQSxFQUFBLGlEQUFBO0VBQ0EsU0FBQTtBREVGOztBQ0NBOzt3RUFBQTtBQUdBO0VBQ0UsU0FBQSxFQUFBLDBDQUFBO0VBQ0EsaUJBQUEsRUFBQSxxQ0FBQTtBREVGOztBQ0NBOztFQUVFLGNBQUEsRUFBQSxrREFBQTtBREVGOztBQ0NBO0VBQ0Usa0JBQUEsRUFBQSw0Q0FBQTtBREVGOztBQ0NBO0VBQ0UsY0FBQSxFQUFBLDZDQUFBO0FERUY7O0FDQ0E7RUFDRSxhQUFBLEVBQUEsa0NBQUE7QURFRjs7QUNDQTtFQUNFLDJFQUFBO0VBQ0EsMEJBQUE7RUFBQSxzREFBQTtVQUFBLDhDQUFBO0VBQ0EsbUJBQUEsRUFBQSwwQ0FBQTtBREVG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QUNFLHFCQUFBO0FONmJGOztBTTFiQTtFQUNFLHNCQUFBO0FONmJGOztBTTFiQTtFQUNFLHNCQUFBO0FONmJGOztBTTFiQTtFQUNFLHVCQUFBO0FONmJGOztBTTFiQTtFQUNFLHNCQUFBO0FONmJGOztBTTFiQTtFQUNFLHVCQUFBO0FONmJGOztBTTFiQTtFQUNFLHVCQUFBO0FONmJGOztBTTFiQTtFQUNFLHdCQUFBO0FONmJGOztBTTFiQSxzQkFBQTtBQWdCQSxxQkFBQTtBQ2hEQTtFQUNFLGNBQUE7QVArZEY7O0FRN2RBO0VBQ0UsNEJDS1c7QVQyZGI7O0FRemRBO0VBR0UsMEJDVDBCO0FUbWU1Qjs7QVF2ZEE7RUFHRSwwQkNkeUI7QVRzZTNCOztBVXhlQTtFQUNFO0lBQ0Usb0JBQUE7RVYyZUY7RVV4ZUE7SUFDRSx5QkFBQTtFVjBlRjtBQUNGO0FVdmVBO0VBQ0Usa0RBQUE7QVZ5ZUY7O0FVcmVBO0VBQ0U7SUFDRSxVQUFBO0VWd2VGO0VVcmVBO0lBQ0UsWUFBQTtFVnVlRjtBQUNGO0FVcGVBO0VBQ0UsaUVBQUE7QVZzZUY7O0FXamdCQTtFQ0RFLDJCQUFBO0VESUEsc0JBQUE7QVhtZ0JGOztBVy9mQTtFQ1JFLDJCQUFBO0VEV0EsMEJBQUE7QVhpZ0JGOztBVzdmQTtFQ2ZFLDJCQUFBO0VEa0JBLHdCQUFBO0FYK2ZGOztBYTdnQkE7Ozs7O0VBQUE7QUF3QkE7Ozs7RUFBQTtBQ3pCRTtFQUNFLGVBQUE7QWQ0aEJKOztBYzdoQkU7RUFDRSxlQUFBO0FkZ2lCSjs7QWNqaUJFO0VBQ0UsZUFBQTtBZG9pQko7O0FjcmlCRTtFQUNFLGVBQUE7QWR3aUJKOztBY3ppQkU7RUFDRSxlQUFBO0FkNGlCSjs7QWM3aUJFO0VBQ0UsZUFBQTtBZGdqQko7O0FjampCRTtFQUNFLGVBQUE7QWRvakJKOztBY3JqQkU7RUFDRSxlQUFBO0Fkd2pCSjs7QWN6akJFO0VBQ0UsZUFBQTtBZDRqQko7O0FjN2pCRTtFQUNFLGVBQUE7QWRna0JKOztBY2prQkU7RUFDRSxlQUFBO0Fkb2tCSjs7QWNya0JFO0VBQ0UsZUFBQTtBZHdrQko7O0FjemtCRTtFQUNFLGVBQUE7QWQ0a0JKOztBYzdrQkU7RUFDRSxlQUFBO0FkZ2xCSjs7QWNqbEJFO0VBQ0UsZUFBQTtBZG9sQko7O0FjcmxCRTtFQUNFLGVBQUE7QWR3bEJKOztBY3psQkU7RUFDRSxlQUFBO0FkNGxCSjs7QWM3bEJFO0VBQ0UsZUFBQTtBZGdtQko7O0Fjam1CRTtFQUNFLGVBQUE7QWRvbUJKOztBY3JtQkU7RUFDRSxlQUFBO0Fkd21CSjs7QWNubUJBO0VBQ0UsbUJBQUE7QWRzbUJGOztBY25tQkE7RUFDRSxpQkFBQTtBZHNtQkY7O0Fjbm1CQTtFQUNFLG1CQUFBO0Fkc21CRjs7QWNsbUJBO0VBQ0Usa0JBQUE7QWRxbUJGOztBY2xtQkE7RUFDRSxrQkFBQTtBZHFtQkY7O0FjbG1CQTtFQUNFLG1CQUFBO0FkcW1CRjs7QWNqbUJBO0VBQ0UsZ0JBQUE7QWRvbUJGOztBY2ptQkE7RUFDRSxpQkFBQTtBZG9tQkY7O0Fjam1CQTtFQUNFLGtCQUFBO0Fkb21CRjs7QWNobUJBO0VEaERFLDZFQUFBO0Fib3BCRjs7QWMvbEJBO0VBQ0UscUJBQUE7RUFDQSxnQkFBQTtFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7QWRrbUJGOztBZTdwQkE7O0VBRUUsY0FBQTtFQUNBLFlBQUE7QWZncUJGOztBUWhxQkE7RUFDRSw0QkNLVztBVDhwQmI7O0FRNXBCQTtFQUdFLDBCQ1QwQjtBVHNxQjVCOztBUTFwQkE7RUFHRSwwQkNkeUI7QVR5cUIzQjs7QWdCMXFCQTtFQUdFLGVBQUE7RUFDQSwwQlBKMEI7QVQrcUI1QjtBZ0J6cUJFO0VBQ0UsaUNBQUE7QWhCMnFCSjtBZ0J4cUJFO0VBQ0UsZ0NBQUE7QWhCMHFCSjs7QWdCcnFCQTtFQUdFLGVBQUE7RUFDQSwwQlBwQjBCO0FUMHJCNUI7QWdCcHFCRTtFQUNFLFlBQUE7QWhCc3FCSjtBZ0JucUJFO0VBQ0UsWUFBQTtBaEJxcUJKOztBaUJyc0JBO0VBQ0Usb0JBQUE7QWpCd3NCRjs7QWlCcnNCQTtFQUNFLG9CQUFBO0FqQndzQkYiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIyBHbG9iYWwgc2VsZWN0b3JzXG4gICAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyAvKiBBbGwgYnJvd3NlcnMgd2l0aG91dCBvdmVybGF5aW5nIHNjcm9sbGJhcnMgKi9cbiAgdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MgKi9cbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB0YWItc2l6ZTogNDtcbn1cblxuKixcbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IC8qIFNldCBgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdGAgdG8gYWxsIGVsZW1lbnRzIGFuZCBwc2V1ZG8gZWxlbWVudHMgKi9cbn1cblxuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyAvKiBJbmhlcml0IHRleHQtZGVjb3JhdGlvbiBhbmQgdmVydGljYWwgYWxpZ24gdG8gOjpiZWZvcmUgYW5kIDo6YWZ0ZXIgcHNldWRvIGVsZW1lbnRzICovXG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xufVxuXG4qIHtcbiAgcGFkZGluZzogMDsgLyogUmVzZXQgYHBhZGRpbmdgIGFuZCBgbWFyZ2luYCBvZiBhbGwgZWxlbWVudHMgKi9cbiAgbWFyZ2luOiAwO1xufVxuXG4vKiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjIEdlbmVyYWwgZWxlbWVudHNcbiAgICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmhyIHtcbiAgaGVpZ2h0OiAwOyAvKiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94ICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRSAqL1xufVxuXG5kZXRhaWxzLFxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyAvKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS4gKi9cbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLyogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzICovXG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IC8qIFNldCBmb250LXNpemUgdG8gODAlIGluIGBzbWFsbGAgZWxlbWVudHMgKi9cbn1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyAvKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAqL1xufVxuXG5hYmJyW3RpdGxlXSB7XG4gIC8qIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3ICovXG59XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwICovXG59XG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IC8qIFJlbW92ZSB0aGUgb3V0bGluZSB3aGVuIGhvdmVyaW5nIGluIGFsbCBicm93c2VycyAqL1xufVxuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIHNhbnMtc2VyaWY7IC8qIFNwZWNpZnkgdGhlIGZvbnQgZmFtaWx5IG9mIGNvZGUgZWxlbWVudHMgKi9cbn1cblxucHJlIHtcbiAgZm9udC1zaXplOiAxZW07IC8qIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2VycyAqL1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgLyogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaSAqL1xufVxuXG4vKiBodHRwczovL2dpc3QuZ2l0aHViLmNvbS91bnJ1dGhsZXNzLzQxMzkzMCAqL1xuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIyBGb3Jtc1xuICAgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaW5wdXQge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vKiBSZXBsYWNlIHBvaW50ZXIgY3Vyc29yIGluIGRpc2FibGVkIGVsZW1lbnRzICovXG5bZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgLyogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lICovXG59XG5cblt0eXBlPXNlYXJjaF0ge1xuICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaSAqL1xufVxuXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IC8qIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUyAqL1xufVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMSsgKi9cbiAgcmVzaXplOiB2ZXJ0aWNhbDsgLyogU3BlY2lmeSB0ZXh0YXJlYSByZXNpemFiaWxpdHkgKi9cbn1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udDogaW5oZXJpdDsgLyogU3BlY2lmeSBmb250IGluaGVyaXRhbmNlIG9mIGZvcm0gZWxlbWVudHMgKi9cbn1cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgLyogUmVzdG9yZSB0aGUgZm9udCB3ZWlnaHQgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUgKi9cbn1cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExICovXG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyAvKiBGaXJlZm94IDQwKywgSW50ZXJuZXQgRXhwbG9yZXIgMTEtICovXG59XG5cbi8qIEFwcGx5IGN1cnNvciBwb2ludGVyIHRvIGJ1dHRvbiBlbGVtZW50cyAqL1xuYnV0dG9uLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPXN1Ym1pdF0sXG5bcm9sZT1idXR0b25dIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogUmVwbGFjZSBmb2N1cyBzdHlsZSByZW1vdmVkIGluIHRoZSBib3JkZXIgcmVzZXQgYWJvdmUgKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIGFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgKi9cbn1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmVtb3ZlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzdHlsaW5nIGluIGFsbCBicm93c2VycyAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBTdHlsZSBzZWxlY3QgbGlrZSBhIHN0YW5kYXJkIGlucHV0ICovXG5zZWxlY3Qge1xuICBhcHBlYXJhbmNlOiBub25lOyAvKiBGaXJlZm94IDM2KyAqL1xufVxuXG5zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lOyAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMSsgKi9cbn1cblxuc2VsZWN0OjotbXMtdmFsdWUge1xuICBjb2xvcjogY3VycmVudGNvbG9yOyAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMSsgKi9cbn1cblxubGVnZW5kIHtcbiAgZGlzcGxheTogdGFibGU7IC8qIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRSAqL1xuICBib3JkZXI6IDA7IC8qIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMSAqL1xufVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLyogQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gQ2hyb21lIGFuZCBTYWZhcmkgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkgKi9cbiAgYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG46Oi1tcy1jbGVhcixcbjo6LW1zLXJldmVhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICMgU3BlY2lmeSBtZWRpYSBlbGVtZW50IHN0eWxlXG4gICAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IC8qIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwICovXG59XG5cbi8qIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEgKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjIEFjY2Vzc2liaWxpdHlcbiAgICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEhpZGUgY29udGVudCBmcm9tIHNjcmVlbnMgYnV0IG5vdCBzY3JlZW5yZWFkZXJzICovXG5AbWVkaWEgc2NyZWVuIHtcbiAgW2hpZGRlbn49c2NyZWVuXSB7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgfVxuICBbaGlkZGVufj1zY3JlZW5dOm5vdCg6YWN0aXZlKTpub3QoOmZvY3VzKTpub3QoOnRhcmdldCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgfVxufVxuLyogU3BlY2lmeSB0aGUgcHJvZ3Jlc3MgY3Vyc29yIG9mIHVwZGF0aW5nIGVsZW1lbnRzICovXG5bYXJpYS1idXN5PXRydWVdIHtcbiAgY3Vyc29yOiBwcm9ncmVzcztcbn1cblxuLyogU3BlY2lmeSB0aGUgcG9pbnRlciBjdXJzb3Igb2YgdHJpZ2dlciBlbGVtZW50cyAqL1xuW2FyaWEtY29udHJvbHNdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBTcGVjaWZ5IHRoZSB1bnN0eWxlZCBjdXJzb3Igb2YgZGlzYWJsZWQsIG5vdC1lZGl0YWJsZSwgb3Igb3RoZXJ3aXNlIGlub3BlcmFibGUgZWxlbWVudHMgKi9cblthcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBcIlBpbmdGYW5nIFNDXCIsIFwiSGlyYWdpbm8gU2FucyBHQlwiLCBcIk1pY3Jvc29mdCBZYUhlaVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICAvKiDmipfplK/pvb8gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbnVsIGxpLFxudWwgb2wge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5pbWcsXG5lbWJlZCxcbm9iamVjdCxcbmF1ZGlvLFxudmlkZW8ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLnZjaS1wc3QtYWJzLCAudmNpLXBzdC1jbSwgLnZjaS1wc3QtbSwgLnZjaS1wc3QtYyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnZjaS1wc3Qtcmx2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udmNpLXRvcC0wIHtcbiAgdG9wOiAwO1xufVxuXG4udmNpLWJvdHRvbS0wIHtcbiAgYm90dG9tOiAwO1xufVxuXG4udmNpLWxlZnQtMCB7XG4gIGxlZnQ6IDA7XG59XG5cbi52Y2ktcmlnaHQtMCB7XG4gIHJpZ2h0OiAwO1xufVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLnZjaS1wc3QtYyB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4udmNpLXBzdC1tIHtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnZjaS1wc3QtY20ge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLnZjaS1mbGV4LCAudmNpLWZsZXgtYywgLnZjaS1mbGV4LWNtLCAudmNpLWZsZXgtY2MsIC52Y2ktZmxleC1jY20sIC52Y2ktZmxleC1jY2J0LCAudmNpLWZsZXgtY2NiLCAudmNpLWZsZXgtY2N0LCAudmNpLWZsZXgtcmMsIC52Y2ktZmxleC1ybSwgLnZjaS1mbGV4LXJjbSwgLnZjaS1mbGV4LXJtYiwgLnZjaS1mbGV4LXJtciwgLnZjaS1mbGV4LXJtbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi52Y2ktZmxleC1ybSwgLnZjaS1mbGV4LXJjbSwgLnZjaS1mbGV4LXJtYiwgLnZjaS1mbGV4LXJtciwgLnZjaS1mbGV4LXJtbCB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnZjaS1mbGV4LXJtbCB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4udmNpLWZsZXgtcm1yIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4udmNpLWZsZXgtcm1iIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi52Y2ktZmxleC1yY20ge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udmNpLWZsZXgtcmMge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udmNpLWZsZXgtYywgLnZjaS1mbGV4LWNtLCAudmNpLWZsZXgtY2MsIC52Y2ktZmxleC1jY20sIC52Y2ktZmxleC1jY2J0LCAudmNpLWZsZXgtY2NiLCAudmNpLWZsZXgtY2N0IHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4udmNpLWZsZXgtY2MsIC52Y2ktZmxleC1jY20sIC52Y2ktZmxleC1jY2J0LCAudmNpLWZsZXgtY2NiLCAudmNpLWZsZXgtY2N0IHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udmNpLWZsZXgtY2N0IHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi52Y2ktZmxleC1jY2Ige1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi52Y2ktZmxleC1jY2J0IHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi52Y2ktZmxleC1jY20ge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udmNpLWZsZXgtY20ge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udmNpLWZsZXgtZmlsbCB7XG4gIGZsZXg6IDEgMSBhdXRvO1xufVxuXG4udmNpLWZsZXgtMC0wIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi52Y2ktZmxleC0xLTAge1xuICBmbGV4OiAxIDAgYXV0bztcbn1cblxuLnZjaS1mbCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4udmNpLWZyIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4udmNpLWNsZWFyOjphZnRlciwgLnZjaS1jbGVhci1lbGVtZW50IHtcbiAgY2xlYXI6IGJvdGg7XG4gICp6b29tOiAxO1xufVxuXG4udmNpLWNsZWFyOjphZnRlciwgLnZjaS1jbGVhci1lbGVtZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG59XG5cbi52Y2ktY2xlYXI6OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi52Y2ktdy01MCB7XG4gIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnZjaS13LTEwMCwgLnZjaS1zaXplLTEwMCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi52Y2ktdy1hdXRvLCAudmNpLXNpemUtYXV0byB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi52Y2ktdy1zY3JlZW4sIC52Y2ktc2NyZWVuIHtcbiAgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XG59XG5cbi52Y2ktaC01MCB7XG4gIGhlaWdodDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi52Y2ktaC0xMDAsIC52Y2ktc2l6ZS0xMDAge1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLnZjaS1oLWF1dG8sIC52Y2ktc2l6ZS1hdXRvIHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi52Y2ktaC1zY3JlZW4sIC52Y2ktc2NyZWVuIHtcbiAgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xufVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLnZjaS1tYXJnaW4tYXV0by14IHtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi52Y2ktdGMtYWxwaGEsIC52Y2ktdGMtc2NhbGUsIC52Y2ktdHJhbnNpdGlvbi1zbG93LCAudmNpLXRyYW5zaXRpb24tcXVpY2ssIC52Y2ktdHJhbnNpdGlvbiB7XG4gIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi52Y2ktdHJhbnNpdGlvbi1xdWljayB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTJzO1xufVxuXG4udmNpLXRyYW5zaXRpb24tc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMzVzO1xufVxuXG5Aa2V5ZnJhbWVzIHZjaS1hbXQtcm90YXRlIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbi52Y2ktYW10LXJvdGF0ZSB7XG4gIGFuaW1hdGlvbjogdmNpLWFtdC1yb3RhdGUgMzZzIGluZmluaXRlIGJvdGggbGluZWFyO1xufVxuXG5Aa2V5ZnJhbWVzIHZjaS1hbXQtZmFkZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgfVxufVxuLnZjaS1hbXQtZmFkZSB7XG4gIGFuaW1hdGlvbjogdmNpLWFtdC1mYWRlIDJzIGluZmluaXRlIGJvdGggbGluZWFyIGFsdGVybmF0ZS1yZXZlcnNlO1xufVxuXG4udmNpLWJnLWNvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4udmNpLWJnLWZpbGwge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuXG4udmNpLWJnLWNvbnRhaW4ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cblxuLyoqXG4gIOe6v+aAp+a4kOWPmOaWh+Wtl1xuICAkYW5nbGU6IOa4kOWPmOinkuW6pjowfjM2MGRlZztcbiAgJGNvbG9yOiDpu5jorqTlrZfkvZPpopzoibLvvIznlKjkuo7kuI3mlK/mjIHmuJDlj5jmloflrZfnmoTmg4XlhrXkuIs7XG4gICRjb2xvcnM6IOminOiJsuaVsOe7hOS+i+WmgjogKCNjY2MsICNjY2MsICNjY2MpIOaIluiAhSAoI2NjYyAxMCUsICNjY2MgNTAlLCAjY2NjKVxuICovXG4vKipcbiAg5paH5a2X6YCJ5Lit6IOM5pmvXG4gICRiZyAg6YCJ5Lit6IOM5pmvIOm7mOiupDogIzFhNzRiZVxuICAkY29sb3IgIOmAieS4reaWh+Wtl+minOiJsiDpu5jorqQ6ICNmZmZcbiAqL1xuLnZjaS1mcy0xMiB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLnZjaS1mcy0xMyB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLnZjaS1mcy0xNCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnZjaS1mcy0xNSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuLnZjaS1mcy0xNiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLnZjaS1mcy0xNyB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbn1cblxuLnZjaS1mcy0xOCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLnZjaS1mcy0xOSB7XG4gIGZvbnQtc2l6ZTogMTlweDtcbn1cblxuLnZjaS1mcy0yMCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLnZjaS1mcy0yMSB7XG4gIGZvbnQtc2l6ZTogMjFweDtcbn1cblxuLnZjaS1mcy0yMiB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbn1cblxuLnZjaS1mcy0yMyB7XG4gIGZvbnQtc2l6ZTogMjNweDtcbn1cblxuLnZjaS1mcy0yNCB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbn1cblxuLnZjaS1mcy0yNSB7XG4gIGZvbnQtc2l6ZTogMjVweDtcbn1cblxuLnZjaS1mcy0yNiB7XG4gIGZvbnQtc2l6ZTogMjZweDtcbn1cblxuLnZjaS1mcy0yNyB7XG4gIGZvbnQtc2l6ZTogMjdweDtcbn1cblxuLnZjaS1mcy0yOCB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbn1cblxuLnZjaS1mcy0yOSB7XG4gIGZvbnQtc2l6ZTogMjlweDtcbn1cblxuLnZjaS1mcy0zMCB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbn1cblxuLnZjaS1mcy0zMSB7XG4gIGZvbnQtc2l6ZTogMzFweDtcbn1cblxuLnZjaS1mdy1ub3JtYWwge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4udmNpLWZ3LWJvbGQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnZjaS1mdy1ib2xkZXIge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4udmNpLWZzLW5vcm1hbCB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLnZjaS1mcy1pdCB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnZjaS1mcy1vYiB7XG4gIGZvbnQtc3R5bGU6IG9ibGlxdWU7XG59XG5cbi52Y2ktdGEtbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi52Y2ktdGEtciB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udmNpLXRhLWMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi52Y2ktZm9udC1zdHJva2Uge1xuICB0ZXh0LXNoYWRvdzogMXB4IDAgMXB4ICMzMzMsIC0xcHggMCAxcHggIzMzMywgMCAtMXB4IDFweCAjMzMzLCAwIDFweCAxcHggIzMzMztcbn1cblxuLnZjaS10by1lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnZjaS1hZnRlcjo6YWZ0ZXIsXG4udmNpLWJlZm9yZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4udmNpLXRjLWFscGhhLCAudmNpLXRjLXNjYWxlLCAudmNpLXRyYW5zaXRpb24sIC52Y2ktdHJhbnNpdGlvbi1xdWljaywgLnZjaS10cmFuc2l0aW9uLXNsb3cge1xuICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4udmNpLXRyYW5zaXRpb24tcXVpY2sge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjEycztcbn1cblxuLnZjaS10cmFuc2l0aW9uLXNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjM1cztcbn1cblxuLnZjaS10Yy1zY2FsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xMnM7XG59XG4udmNpLXRjLXNjYWxlOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KSByb3RhdGVaKDApO1xufVxuLnZjaS10Yy1zY2FsZTphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlWigwKTtcbn1cblxuLnZjaS10Yy1hbHBoYSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xMnM7XG59XG4udmNpLXRjLWFscGhhOmhvdmVyIHtcbiAgb3BhY2l0eTogMC45O1xufVxuLnZjaS10Yy1hbHBoYTphY3RpdmUge1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbi52Y2ktcG9pbnRlci1ldmVudHMtYXV0byB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4udmNpLXBvaW50ZXItZXZlbnRzLW5vbmUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn0iLCIvKiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjIEdsb2JhbCBzZWxlY3RvcnNcbiAgICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IC8qIEFsbCBicm93c2VycyB3aXRob3V0IG92ZXJsYXlpbmcgc2Nyb2xsYmFycyAqL1xuICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUyAqL1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHRhYi1zaXplOiA0O1xufVxuXG4qLFxuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgLyogU2V0IGBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0YCB0byBhbGwgZWxlbWVudHMgYW5kIHBzZXVkbyBlbGVtZW50cyAqL1xufVxuXG46OmJlZm9yZSxcbjo6YWZ0ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IC8qIEluaGVyaXQgdGV4dC1kZWNvcmF0aW9uIGFuZCB2ZXJ0aWNhbCBhbGlnbiB0byA6OmJlZm9yZSBhbmQgOjphZnRlciBwc2V1ZG8gZWxlbWVudHMgKi9cbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG59XG5cbioge1xuICBwYWRkaW5nOiAwOyAvKiBSZXNldCBgcGFkZGluZ2AgYW5kIGBtYXJnaW5gIG9mIGFsbCBlbGVtZW50cyAqL1xuICBtYXJnaW46IDA7XG59XG5cbi8qICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICMgR2VuZXJhbCBlbGVtZW50c1xuICAgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaHIge1xuICBoZWlnaHQ6IDA7IC8qIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3ggKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFICovXG59XG5cbmRldGFpbHMsXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IC8qIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLiAqL1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMgKi9cbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgLyogU2V0IGZvbnQtc2l6ZSB0byA4MCUgaW4gYHNtYWxsYCBlbGVtZW50cyAqL1xufVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8qIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFICovXG59XG5cbmFiYnJbdGl0bGVdIHtcbiAgLyogQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTcgKi9cbn1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAgKi9cbn1cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgLyogUmVtb3ZlIHRoZSBvdXRsaW5lIHdoZW4gaG92ZXJpbmcgaW4gYWxsIGJyb3dzZXJzICovXG59XG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgc2Fucy1zZXJpZjsgLyogU3BlY2lmeSB0aGUgZm9udCBmYW1pbHkgb2YgY29kZSBlbGVtZW50cyAqL1xufVxuXG5wcmUge1xuICBmb250LXNpemU6IDFlbTsgLyogQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzICovXG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyAvKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpICovXG59XG5cbi8qIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL3VucnV0aGxlc3MvNDEzOTMwICovXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjIEZvcm1zXG4gICAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5pbnB1dCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8qIFJlcGxhY2UgcG9pbnRlciBjdXJzb3IgaW4gZGlzYWJsZWQgZWxlbWVudHMgKi9cbltkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IC8qIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZSAqL1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIGFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpICovXG59XG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICBhcHBlYXJhbmNlOiBub25lOyAvKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MgKi9cbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTErICovXG4gIHJlc2l6ZTogdmVydGljYWw7IC8qIFNwZWNpZnkgdGV4dGFyZWEgcmVzaXphYmlsaXR5ICovXG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8qIFNwZWNpZnkgZm9udCBpbmhlcml0YW5jZSBvZiBmb3JtIGVsZW1lbnRzICovXG59XG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IC8qIFJlc3RvcmUgdGhlIGZvbnQgd2VpZ2h0IHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlICovXG59XG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMSAqL1xufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLyogRmlyZWZveCA0MCssIEludGVybmV0IEV4cGxvcmVyIDExLSAqL1xufVxuXG4vKiBBcHBseSBjdXJzb3IgcG9pbnRlciB0byBidXR0b24gZWxlbWVudHMgKi9cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdLFxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsgKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBSZXBsYWNlIGZvY3VzIHN0eWxlIHJlbW92ZWQgaW4gdGhlIGJvcmRlciByZXNldCBhYm92ZSAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bjb250cm9scyBpbiBBbmRyb2lkIDQgKi9cblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgKi9cbn1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG4vKiBSZW1vdmUgdGhlIGRlZmF1bHQgYnV0dG9uIHN0eWxpbmcgaW4gYWxsIGJyb3dzZXJzICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuLyogU3R5bGUgc2VsZWN0IGxpa2UgYSBzdGFuZGFyZCBpbnB1dCAqL1xuc2VsZWN0IHtcbiAgYXBwZWFyYW5jZTogbm9uZTsgLyogRmlyZWZveCAzNisgKi9cbn1cblxuc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTsgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTErICovXG59XG5cbnNlbGVjdDo6LW1zLXZhbHVlIHtcbiAgY29sb3I6IGN1cnJlbnRjb2xvcjsgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTErICovXG59XG5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IHRhYmxlOyAvKiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUgKi9cbiAgYm9yZGVyOiAwOyAvKiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEgKi9cbn1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8qIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIENocm9tZSBhbmQgU2FmYXJpICovXG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIC8qIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkgKi9cbiAgYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vLyBSZW1vdmUgZGVmYXVsdCBwYXNzd29yZCBpY29uIGluIEVkZ2VIVE1MICgjNTM3KVxuOjotbXMtY2xlYXIsXG46Oi1tcy1yZXZlYWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjIFNwZWNpZnkgbWVkaWEgZWxlbWVudCBzdHlsZVxuICAgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMCAqL1xufVxuXG4vKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIyBBY2Nlc3NpYmlsaXR5XG4gICAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEhpZGUgY29udGVudCBmcm9tIHNjcmVlbnMgYnV0IG5vdCBzY3JlZW5yZWFkZXJzICovXG5AbWVkaWEgc2NyZWVuIHtcbiAgW2hpZGRlbn49XCJzY3JlZW5cIl0ge1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gIH1cblxuICBbaGlkZGVufj1cInNjcmVlblwiXTpub3QoOmFjdGl2ZSk6bm90KDpmb2N1cyk6bm90KDp0YXJnZXQpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogU3BlY2lmeSB0aGUgcHJvZ3Jlc3MgY3Vyc29yIG9mIHVwZGF0aW5nIGVsZW1lbnRzICovXG5bYXJpYS1idXN5PVwidHJ1ZVwiXSB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7XG59XG5cbi8qIFNwZWNpZnkgdGhlIHBvaW50ZXIgY3Vyc29yIG9mIHRyaWdnZXIgZWxlbWVudHMgKi9cblthcmlhLWNvbnRyb2xzXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogU3BlY2lmeSB0aGUgdW5zdHlsZWQgY3Vyc29yIG9mIGRpc2FibGVkLCBub3QtZWRpdGFibGUsIG9yIG90aGVyd2lzZSBpbm9wZXJhYmxlIGVsZW1lbnRzICovXG5bYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4iLCJAaW1wb3J0IFwicmVzc1wiO1xuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBcIlBpbmdGYW5nIFNDXCIsIFwiSGlyYWdpbm8gU2FucyBHQlwiLFxuICAgIFwiTWljcm9zb2Z0IFlhSGVpXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG5cbiAgLyog5oqX6ZSv6b2/ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG51bCB7XG4gIGxpLFxuICBvbCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuXG5pbWcsXG5lbWJlZCxcbm9iamVjdCxcbmF1ZGlvLFxudmlkZW8ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbiIsIi8vIOe7neWvueWumuS9jVxuLnZjaS1wc3QtYWJzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4vLyDnm7jlr7nlrprkvY1cbi52Y2ktcHN0LXJsdiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnZjaS10b3AtMCB7XG4gIHRvcDogMDtcbn1cblxuLnZjaS1ib3R0b20tMCB7XG4gIGJvdHRvbTogMDtcbn1cblxuLnZjaS1sZWZ0LTAge1xuICBsZWZ0OiAwO1xufVxuXG4udmNpLXJpZ2h0LTAge1xuICByaWdodDogMDtcbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8vIOWumuS9jSAtIOawtOW5s+WxheS4rVxuLnZjaS1wc3QtYyB7XG4gIEBleHRlbmQgLnZjaS1wc3QtYWJzO1xuXG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLyDlrprkvY0gLSDlnoLnm7TlsYXkuK1cbi52Y2ktcHN0LW0ge1xuICBAZXh0ZW5kIC52Y2ktcHN0LWFicztcblxuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLyDlrprkvY0gLSDmsLTlubPlnoLnm7TlnYflsYXkuK1cbi52Y2ktcHN0LWNtIHtcbiAgQGV4dGVuZCAudmNpLXBzdC1hYnM7XG5cbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIi8vIGZsZXjluIPlsYBcbi52Y2ktZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vIOihjOaWueWQkS3lnoLnm7TlsYXkuK1cbi52Y2ktZmxleC1ybSB7XG4gIEBleHRlbmQgLnZjaS1mbGV4OyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8g6KGM5pa55ZCRLeWeguebtOWxheS4rS3pnaDlt6Zcbi52Y2ktZmxleC1ybWwge1xuICBAZXh0ZW5kIC52Y2ktZmxleC1ybTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuXG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLy8g6KGM5pa55ZCRLeWeguebtOWxheS4rS3pnaDlj7Ncbi52Y2ktZmxleC1ybXIge1xuICBAZXh0ZW5kIC52Y2ktZmxleC1ybTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi8vIOihjOaWueWQkS3lnoLnm7TlsYXkuK0t5Z2H5YyA5YiG5biDXG4udmNpLWZsZXgtcm1iIHtcbiAgQGV4dGVuZCAudmNpLWZsZXgtcm07IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cblxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi8vIOihjOaWueWQkS3msLTlubPlnoLnm7TlsYXkuK1cbi52Y2ktZmxleC1yY20ge1xuICBAZXh0ZW5kIC52Y2ktZmxleC1ybTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vLyDooYzmlrnlkJEt5rC05bmz5bGF5LitXG4udmNpLWZsZXgtcmMge1xuICBAZXh0ZW5kIC52Y2ktZmxleDsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vLyDliJfmlrnlkJFcbi52Y2ktZmxleC1jIHtcbiAgQGV4dGVuZCAudmNpLWZsZXg7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cblxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4vLyDliJfmlrnlkJEt5rC05bmz5bGF5LitXG4udmNpLWZsZXgtY2Mge1xuICBAZXh0ZW5kIC52Y2ktZmxleC1jOyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8g5YiX5pa55ZCRLeawtOW5s+WxheS4rS3lgY/kuIpcbi52Y2ktZmxleC1jY3Qge1xuICBAZXh0ZW5kIC52Y2ktZmxleC1jYzsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuXG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLy8g5YiX5pa55ZCRLeWeguebtOWxheS4rS3lgY/kuItcbi52Y2ktZmxleC1jY2Ige1xuICBAZXh0ZW5kIC52Y2ktZmxleC1jYzsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi8vIOWIl+aWueWQkS3lnoLnm7TlsYXkuK0t5Z2H5YyA5YiG5biDXG4udmNpLWZsZXgtY2NidCB7XG4gIEBleHRlbmQgLnZjaS1mbGV4LWNjOyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG5cbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4vLyDliJfmlrnlkJEt5rC05bmz5Z6C55u05bGF5LitXG4udmNpLWZsZXgtY2NtIHtcbiAgQGV4dGVuZCAudmNpLWZsZXgtY2M7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cblxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLy8g5YiX5pa55ZCRLeWeguebtOWxheS4rVxuLnZjaS1mbGV4LWNtIHtcbiAgQGV4dGVuZCAudmNpLWZsZXgtYzsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udmNpLWZsZXgtZmlsbCB7XG4gIGZsZXg6IDEgMSBhdXRvO1xufVxuXG4udmNpLWZsZXgtMC0wIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi52Y2ktZmxleC0xLTAge1xuICBmbGV4OiAxIDAgYXV0bztcbn1cbiIsIi8vIOa1ruWKqFxuLnZjaS1mbCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4udmNpLWZyIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4vLyDmuIXpmaTmta7liqhcbiV2Y2ktY2xlYXItZmxvYXQge1xuICBjbGVhcjogYm90aDtcbiAgKnpvb206IDE7XG59XG5cbiV2Y2ktemVybyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4udmNpLWNsZWFyLWVsZW1lbnQge1xuICBAZXh0ZW5kICV2Y2ktY2xlYXItZmxvYXQ7XG4gIEBleHRlbmQgJXZjaS16ZXJvO1xufVxuXG4udmNpLWNsZWFyIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBleHRlbmQgJXZjaS1jbGVhci1mbG9hdDtcbiAgICBAZXh0ZW5kICV2Y2ktemVybztcblxuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICB9XG59XG4iLCIudmNpLXctNTAge1xuICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi52Y2ktdy0xMDAge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4udmNpLXctYXV0byB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi52Y2ktdy1zY3JlZW4ge1xuICB3aWR0aDogMTAwdncgIWltcG9ydGFudDtcbn1cblxuLnZjaS1oLTUwIHtcbiAgaGVpZ2h0OiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnZjaS1oLTEwMCB7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4udmNpLWgtYXV0byB7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4udmNpLWgtc2NyZWVuIHtcbiAgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xufVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLnZjaS1zaXplLTEwMCB7XG4gIEBleHRlbmQgLnZjaS13LTEwMDtcbiAgQGV4dGVuZCAudmNpLWgtMTAwO1xufVxuXG4udmNpLXNpemUtYXV0byB7XG4gIEBleHRlbmQgLnZjaS13LWF1dG87XG4gIEBleHRlbmQgLnZjaS1oLWF1dG87XG59XG5cbi52Y2ktc2NyZWVuIHtcbiAgQGV4dGVuZCAudmNpLXctc2NyZWVuO1xuICBAZXh0ZW5kIC52Y2ktaC1zY3JlZW47XG59XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIi52Y2ktbWFyZ2luLWF1dG8teCB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuIiwiQGltcG9ydCBcInZhclwiO1xuXG4vLyBDU1Mz6L+H5rihXG4ldHJhbnNpdGlvbiB7XG4gIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuXG4udmNpLXRyYW5zaXRpb24ge1xuICBAZXh0ZW5kICV0cmFuc2l0aW9uO1xufVxuXG4udmNpLXRyYW5zaXRpb24tcXVpY2sge1xuICBAZXh0ZW5kICV0cmFuc2l0aW9uO1xuXG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uLXF1aWNrO1xufVxuXG4udmNpLXRyYW5zaXRpb24tc2xvdyB7XG4gIEBleHRlbmQgJXRyYW5zaXRpb247XG5cbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24tc2xvdztcbn1cbiIsIi8vIOi/h+a4oeWHveaVsFxuJHRyYW5zaXRpb24tZm46IGVhc2UtaW4tb3V0O1xuXG4vLyDov4fmuKHmjIHnu63ml7bpl7RcbiR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuJHRyYW5zaXRpb24tZHVyYXRpb24tcXVpY2s6IDAuMTJzO1xuJHRyYW5zaXRpb24tZHVyYXRpb24tc2xvdzogMC4zNXM7XG5cbi8vIOi/h+a4oVxuJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWZuO1xuJHRyYW5zaXRpb24tcXVpY2s6ICR0cmFuc2l0aW9uLWR1cmF0aW9uLXF1aWNrICR0cmFuc2l0aW9uLWZuO1xuJHRyYW5zaXRpb24tc2xvdzogJHRyYW5zaXRpb24tZHVyYXRpb24tc2xvdyAkdHJhbnNpdGlvbi1mbjtcbiIsIkBpbXBvcnQgXCJ2YXJcIjtcblxuLy8gQ1NTM+WKqOeUu1xuLy8g5peL6L2s5Yqo55S7XG5Aa2V5ZnJhbWVzIHZjaS1hbXQtcm90YXRlIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG4udmNpLWFtdC1yb3RhdGUge1xuICBhbmltYXRpb246IHZjaS1hbXQtcm90YXRlIDM2cyBpbmZpbml0ZSBib3RoIGxpbmVhcjtcbn1cblxuLy8g5riQ6ZqQ5riQ5pi+XG5Aa2V5ZnJhbWVzIHZjaS1hbXQtZmFkZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMC42O1xuICB9XG59XG5cbi52Y2ktYW10LWZhZGUge1xuICBhbmltYXRpb246IHZjaS1hbXQtZmFkZSAycyBpbmZpbml0ZSBib3RoIGxpbmVhciBhbHRlcm5hdGUtcmV2ZXJzZTtcbn1cbiIsIkBpbXBvcnQgXCJtaXhpbnMvYmFja2dyb3VuZFwiO1xuXG4vLyDog4zmma/loavlhYXmlrnlvI8gY292ZXJcbi52Y2ktYmctY292ZXIge1xuICBAaW5jbHVkZSB2Y2ktYmc7XG5cbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLy8g6IOM5pmv5aGr5YWF5pa55byPIGZpbGxcbi52Y2ktYmctZmlsbCB7XG4gIEBpbmNsdWRlIHZjaS1iZztcblxuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLy8g6IOM5pmv5aGr5YWF5pa55byPIGNvbnRhaW5cbi52Y2ktYmctY29udGFpbiB7XG4gIEBpbmNsdWRlIHZjaS1iZztcblxuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG4iLCIvLyDog4zmma/lsYXkuK1cbkBtaXhpbiB2Y2ktYmcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG4iLCIvLyDmloflrZfmj4/ovrlcbkBtaXhpbiB2Y2ktZm9udC1zdHJva2UoJGNvbG9yOiAjMzMzKSB7XG4gIHRleHQtc2hhZG93OiAxcHggMCAxcHggJGNvbG9yLCAtMXB4IDAgMXB4ICRjb2xvciwgMCAtMXB4IDFweCAkY29sb3IsXG4gICAgMCAxcHggMXB4ICRjb2xvcjtcbn1cblxuLyoqXG4gIOe6v+aAp+a4kOWPmOaWh+Wtl1xuICAkYW5nbGU6IOa4kOWPmOinkuW6pjowfjM2MGRlZztcbiAgJGNvbG9yOiDpu5jorqTlrZfkvZPpopzoibLvvIznlKjkuo7kuI3mlK/mjIHmuJDlj5jmloflrZfnmoTmg4XlhrXkuIs7XG4gICRjb2xvcnM6IOminOiJsuaVsOe7hOS+i+WmgjogKCNjY2MsICNjY2MsICNjY2MpIOaIluiAhSAoI2NjYyAxMCUsICNjY2MgNTAlLCAjY2NjKVxuICovXG5AbWl4aW4gdmNpLWZvbnQtbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yLCAkY29sb3JzKSB7XG4gICRsZy1jb2xvcnM6IG51bGw7XG4gIEBmb3IgJGlkeCBmcm9tIDEgdG8gbGVuZ3RoKCRjb2xvcnMpICsgMSB7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAkbGctY29sb3JzOiBhcHBlbmQoJGxnLWNvbG9ycywgbnRoKCRjb2xvcnMsICRpZHgpKTtcbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIH1cblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgam9pbigkbGctY29sb3JzLCAoKSwgY29tbWEpKTtcbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICDmloflrZfpgInkuK3og4zmma9cbiAgJGJnICDpgInkuK3og4zmma8g6buY6K6kOiAjMWE3NGJlXG4gICRjb2xvciAg6YCJ5Lit5paH5a2X6aKc6ImyIOm7mOiupDogI2ZmZlxuICovXG5AbWl4aW4gdmNpLWZvbnQtc2VsZWN0aW9uKCRiZzogIzFhNzRiZSwgJGNvbG9yOiAjZmZmKSB7XG4gICY6OnNlbGVjdGlvbiB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJtaXhpbnMvZm9udFwiO1xuXG4vLyDmloflrZdcbi8vIOWtl+WPt1xuQGZvciAkaSBmcm9tIDEyIHRvIDMyIHtcbiAgLnZjaS1mcy0jeyRpfSB7XG4gICAgZm9udC1zaXplOiAkaSArIHB4O1xuICB9XG59XG5cbi8vIOWtl+mHjVxuLnZjaS1mdy1ub3JtYWwge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4udmNpLWZ3LWJvbGQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnZjaS1mdy1ib2xkZXIge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vLyDmloflrZfmoLflvI9cbi52Y2ktZnMtbm9ybWFsIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4udmNpLWZzLWl0IHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4udmNpLWZzLW9iIHtcbiAgZm9udC1zdHlsZTogb2JsaXF1ZTtcbn1cblxuLy8g5rC05bmz5a+56b2Q5pa55byPXG4udmNpLXRhLWwge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udmNpLXRhLXIge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnZjaS10YS1jIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyDmj4/ovrlcbi52Y2ktZm9udC1zdHJva2Uge1xuICBAaW5jbHVkZSB2Y2ktZm9udC1zdHJva2UoIzMzMyk7XG59XG5cbi8vIOaWh+acrOi2heWHuumakOiXj+W5tuWHuueOsOecgeeVpeWPt1xuLnZjaS10by1lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi52Y2ktYWZ0ZXI6OmFmdGVyLFxuLnZjaS1iZWZvcmU6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIiBcIjtcbn1cbiIsIkBpbXBvcnQgXCJ2YXJcIjtcbkBpbXBvcnQgXCJ0cmFuc2l0aW9uXCI7XG5cbi8vIOS6pOS6klxuLy8g5Lqk5LqS77ya54K55Ye757yp5pS+XG4udmNpLXRjLXNjYWxlIHtcbiAgQGV4dGVuZCAldHJhbnNpdGlvbjtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uLXF1aWNrO1xuXG4gICY6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSkgcm90YXRlWigwKTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlWigwKTtcbiAgfVxufVxuXG4vLyDkuqTkupLvvJrpgI/mmI7luqblj5jmjaJcbi52Y2ktdGMtYWxwaGEge1xuICBAZXh0ZW5kICV0cmFuc2l0aW9uO1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24tcXVpY2s7XG5cbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIG9wYWNpdHk6IDAuODtcbiAgfVxufVxuIiwiLnZjaS1wb2ludGVyLWV2ZW50cy1hdXRvIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi52Y2ktcG9pbnRlci1ldmVudHMtbm9uZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIl19 */
