@charset "UTF-8";
:root {
  --fontstack-prefix: -apple-system, BlinkMacSystemFont,;
  --fontstack-sans-serif: "Helvetica Neue", Arial, sans-serif;
  --fontstack-serif: Georgia, serif;
  --fontstack-monospace: Menlo, Consolas, monospace;
  --fontstack-default: var(--fontstack-prefix) var(--fontstack-sans-serif);
  --font-size-base: 1rem;
  --font-size-factor: 1vw;
  --font-size: 1.6vw;
  --font-features: "halt", "cv01", "cv02", "cv03";
  --line-height: calc(20 / 14);
  --heading-letter-spacing: -.04em;
  --breakpoint-lg: 1600px;
  --breakpoint-md: 1080px;
  --breakpoint-sm: 640px;
  --breakpoint-xs: 400px;
  --space-lg: 24vw;
  --space-md: 8vw;
  --space-sm: 4vw;
  --space-xs: 1.2vw;
  --border-lg: 4px;
  --border-md: 2px;
  --border-sm: 1px;
  --nav-padding: .75vmax;
  --nav-item-space: 1.4vmax;
  --text-color-h: 318;
  --text-color-s: 30%;
  --text-color-l: 10%;
  --text-color-hsl: var(--text-color-h), var(--text-color-s), var(--text-color-l);
  --text-color: hsl(var(--text-color-hsl));
  --text-color-0: hsla(var(--text-color-hsl), 0);
  --text-color-3: hsla(var(--text-color-hsl), .03);
  --text-color-5: hsla(var(--text-color-hsl), .05);
  --text-color-7: hsla(var(--text-color-hsl), .07);
  --text-color-10: hsla(var(--text-color-hsl), .1);
  --text-color-20: hsla(var(--text-color-hsl), .2);
  --text-color-30: hsla(var(--text-color-hsl), .3);
  --text-color-40: hsla(var(--text-color-hsl), .4);
  --text-color-50: hsla(var(--text-color-hsl), .5);
  --text-color-60: hsla(var(--text-color-hsl), .6);
  --text-color-70: hsla(var(--text-color-hsl), .7);
  --text-color-80: hsla(var(--text-color-hsl), .8);
  --text-color-90: hsla(var(--text-color-hsl), .9);
  --text-color-light: hsl(var(--text-color-h), var(--text-color-s), calc(var(--text-color-l) / .9));
  --text-color-dark: hsl(var(--text-color-h), var(--text-color-s), calc(var(--text-color-l) * .9));
  --link-color-h: 318;
  --link-color-s: 100%;
  --link-color-l: 50%;
  --link-color-hsl: var(--link-color-h), var(--link-color-s), var(--link-color-l);
  --link-color: hsl(var(--link-color-hsl));
  --link-color-0: hsla(var(--link-color-hsl), 0);
  --link-color-3: hsla(var(--link-color-hsl), .03);
  --link-color-5: hsla(var(--link-color-hsl), .05);
  --link-color-7: hsla(var(--link-color-hsl), .07);
  --link-color-10: hsla(var(--link-color-hsl), .1);
  --link-color-20: hsla(var(--link-color-hsl), .2);
  --link-color-30: hsla(var(--link-color-hsl), .3);
  --link-color-40: hsla(var(--link-color-hsl), .4);
  --link-color-50: hsla(var(--link-color-hsl), .5);
  --link-color-60: hsla(var(--link-color-hsl), .6);
  --link-color-70: hsla(var(--link-color-hsl), .7);
  --link-color-80: hsla(var(--link-color-hsl), .8);
  --link-color-90: hsla(var(--link-color-hsl), .9);
  --link-color-light: hsl(var(--link-color-h), var(--link-color-s), calc(var(--link-color-l) / .9));
  --link-color-dark: hsl(var(--link-color-h), var(--link-color-s), calc(var(--link-color-l) * .9));
  --bg-color-h: 318;
  --bg-color-s: 30%;
  --bg-color-l: 100%;
  --bg-color-hsl: var(--bg-color-h), var(--bg-color-s), var(--bg-color-l);
  --bg-color: hsl(var(--bg-color-hsl));
  --bg-color-0: hsla(var(--bg-color-hsl), 0);
  --bg-color-3: hsla(var(--bg-color-hsl), .03);
  --bg-color-5: hsla(var(--bg-color-hsl), .05);
  --bg-color-7: hsla(var(--bg-color-hsl), .07);
  --bg-color-10: hsla(var(--bg-color-hsl), .1);
  --bg-color-20: hsla(var(--bg-color-hsl), .2);
  --bg-color-30: hsla(var(--bg-color-hsl), .3);
  --bg-color-40: hsla(var(--bg-color-hsl), .4);
  --bg-color-50: hsla(var(--bg-color-hsl), .5);
  --bg-color-60: hsla(var(--bg-color-hsl), .6);
  --bg-color-70: hsla(var(--bg-color-hsl), .7);
  --bg-color-80: hsla(var(--bg-color-hsl), .8);
  --bg-color-90: hsla(var(--bg-color-hsl), .9);
  --bg-color-light: hsl(var(--bg-color-h), var(--bg-color-s), calc(var(--bg-color-l) / .9));
  --bg-color-dark: hsl(var(--bg-color-h), var(--bg-color-s), calc(var(--bg-color-l) * .9));
  --code-color-h: calc(var(--link-color-h) + 30);
  --code-color-s: calc(var(--link-color-s) * .2 + 30%);
  --code-color-l: var(--link-color-l);
  --code-color-hsl: var(--code-color-h), var(--code-color-s), var(--code-color-l);
  --code-color: hsl(var(--code-color-hsl));
  --code-color-0: hsla(var(--code-color-hsl), 0);
  --code-color-3: hsla(var(--code-color-hsl), .03);
  --code-color-5: hsla(var(--code-color-hsl), .05);
  --code-color-7: hsla(var(--code-color-hsl), .07);
  --code-color-10: hsla(var(--code-color-hsl), .1);
  --code-color-20: hsla(var(--code-color-hsl), .2);
  --code-color-30: hsla(var(--code-color-hsl), .3);
  --code-color-40: hsla(var(--code-color-hsl), .4);
  --code-color-50: hsla(var(--code-color-hsl), .5);
  --code-color-60: hsla(var(--code-color-hsl), .6);
  --code-color-70: hsla(var(--code-color-hsl), .7);
  --code-color-80: hsla(var(--code-color-hsl), .8);
  --code-color-90: hsla(var(--code-color-hsl), .9);
  --code-color-light: hsl(var(--code-color-h), var(--code-color-s), calc(var(--code-color-l) / .9));
  --code-color-dark: hsl(var(--code-color-h), var(--code-color-s), calc(var(--code-color-l) * .9));
}

*,
*::before,
*::after {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

html {
  font-size: 100%;
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
          text-size-adjust: none;
  text-rendering: optimizelegibility;
  image-rendering: optimizequality;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: var(--bg-color);
}

body {
  --space-body: var(--space-lg);
  padding-top: 0;
  padding-bottom: 0;
  padding-left: var(--space-body);
  padding-right: var(--space-body);
  margin: 0 auto 0;
  font-family: var(--fontstack-default);
  font-size: var(--font-size);
  font-feature-settings: var(--font-features);
  line-height: var(--line-height);
  hanging-punctuation: first allow-end;
  color: var(--text-color);
  background: var(--bg-color);
  transition: all 0.2s ease;
}
@media (max-width: 1080px) {
  body {
    --space-body: var(--space-md);
    font-size: calc(var(--font-size) * 1.4);
  }
}
@media (max-width: 640px) {
  body {
    --space-body: var(--space-sm);
    font-size: calc(var(--font-size) * 2.4);
  }
}
@media (max-width: 400px) {
  body {
    font-size: calc(var(--font-size) * 3.2);
  }
}

input,
button,
select,
textarea {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input,
select[multiple],
textarea {
  background-image: none;
}

a,
button {
  color: var(--text-color);
  text-decoration: none;
  transition: color 0.5s ease, border-color 0.5s ease, background 0.5s ease, opacity 1.5s ease;
}
a:hover, a:focus,
button:hover,
button:focus {
  transition: color 0.1s ease, border-color 0.1s ease, background 0.1s ease, opacity 0.1s ease;
  text-decoration: underline;
}
a[disabled],
button[disabled] {
  opacity: 0.4;
  cursor: not-allowed;
}

button {
  -webkit-appearance: none;
          appearance: none;
  cursor: pointer;
  background: none;
  border: none;
  outline: none;
}

img,
hr {
  border: 0;
}

del {
  text-decoration: line-through;
}

::placeholder {
  color: var(--text-color);
  opacity: 0.2;
}

:focus::placeholder {
  color: var(--link-color);
}

.navigation {
  padding-top: var(--nav-padding);
  padding-bottom: var(--nav-padding);
  margin-right: calc(var(--nav-item-space) * -1);
  margin-left: calc(var(--nav-item-space) * -1);
  font-size: 90%;
  font-weight: bold;
}
.navigation li {
  display: inline-block;
  line-height: 2;
}
.navigation li a {
  padding: 0.5em var(--nav-item-space);
}
.navigation li a:hover, .navigation li a:focus {
  color: var(--link-color);
  text-decoration: none;
}

.current a {
  color: var(--link-color);
}

body:hover .latest {
  color: var(--link-color) !important;
}

.content {
  margin-bottom: 16vmin;
}
.content::before, .content::after {
  display: table;
  content: "";
}
.content::after {
  clear: both;
}
.content article > *:last-child {
  margin-bottom: 0 !important;
}
.content article > *:last-child > *:last-child {
  margin-bottom: 0 !important;
}
.content article > *:last-child > *:last-child > *:last-child {
  margin-bottom: 0 !important;
}
.content article > *:last-child > *:last-child > *:last-child > *:last-child {
  margin-bottom: 0 !important;
}
.content .post-content > *:first-child,
.content .page-content > *:first-child {
  margin-top: 0;
}
.content .post-content > *:first-child > *:first-child,
.content .page-content > *:first-child > *:first-child {
  margin-top: 0;
}
.content a {
  font-weight: bold;
}
.content a:has(> code) {
  text-decoration-color: var(--code-color);
}
.content p {
  margin-bottom: 1.6rem;
  line-height: calc(var(--line-height) * 1.2);
}
.content header {
  --header-height: 100vh;
  --space-header: var(--space-lg);
  display: flex;
  min-height: calc(var(--header-height) - var(--nav-padding) * 4 - var(--nav-item-space) * 4 - 1.8ex);
  padding-top: 10vmin;
  padding-bottom: 10vmin;
  margin-bottom: 16vmin;
  flex-direction: column;
  justify-content: center;
  background: var(--text-color-3);
  padding-left: var(--space-header);
  padding-right: var(--space-header);
  margin-left: calc(var(--space-header) * -1);
  margin-right: calc(var(--space-header) * -1);
}
@media (max-width: 1080px) {
  .content header {
    --header-height: 70vh;
    --space-header: var(--space-md);
    padding-top: 16vmin;
    padding-bottom: 16vmin;
  }
}
@media (max-width: 640px) {
  .content header {
    --space-header: var(--space-sm);
  }
}
.content header h1 {
  font-size: 360%;
  font-weight: bold;
  letter-spacing: var(--heading-letter-spacing);
  margin-left: -2px;
  -webkit-hyphens: none;
          hyphens: none;
  line-height: 1.1;
}
@media (max-width: 640px) {
  .content header h1 {
    font-size: 280%;
  }
}
.content header h1 svg,
.content header h1 img {
  display: block;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 0.3em;
}
@media (max-width: 640px) {
  .content header h1 svg,
  .content header h1 img {
    width: 100% !important;
    height: 100% !important;
  }
}
.content header h2 {
  margin: 1.2vmin 0 0;
}
.content header .image-title {
  text-indent: -999999px;
  line-height: 0;
}
.content header small {
  display: block;
  margin-top: 2vmin;
}
.content h2,
.content h3,
.content h4,
.content h5,
.content h6 {
  margin: 10vmin 0 1rem;
  font-size: 72%;
  font-weight: normal;
  opacity: 0.5;
}
.content ul,
.content ol {
  margin-bottom: 1.8rem;
  list-style: none;
  counter-reset: list;
}
@media (max-width: 640px) {
  .content ul,
  .content ol {
    margin-left: 1em;
  }
}
.content ul li,
.content ol li {
  line-height: calc(var(--line-height) * 1.2);
}
.content ul li::before,
.content ol li::before {
  position: absolute;
  display: flex;
  justify-content: flex-end;
  width: 4em;
  margin-top: 0;
  margin-left: -4em;
  text-align: right;
  opacity: 0.4;
  pointer-events: none;
}
.content ul li > ul,
.content ul li > ol,
.content ol li > ul,
.content ol li > ol {
  margin-left: 1em;
  margin-bottom: 0;
}
.content ul li::before {
  content: "-";
  padding-right: 0.5em;
}
.content ol li::before {
  counter-increment: list;
  content: counter(list) ".";
  padding-right: 0.25em;
}
.content dl {
  line-height: calc(var(--line-height) * 1.2);
}
@media (max-width: 640px) {
  .content dl {
    margin-left: 1em;
  }
}
.content dl dt::before {
  position: absolute;
  width: 1em;
  margin-left: -1em;
  content: "-";
  opacity: 0.6;
  pointer-events: none;
}
.content dl dd {
  margin-bottom: 1.8rem;
}
.content img,
.content video,
.content iframe,
.content .browser {
  --space-deco: var(--space-md);
  display: block;
  width: calc(100% + var(--space-deco) * 2);
  margin-left: calc(var(--space-deco) * -1);
  margin-right: calc(var(--space-deco) * -1);
  margin-bottom: 1.8rem;
}
@media (max-width: 1080px) {
  .content img,
  .content video,
  .content iframe,
  .content .browser {
    --space-deco: var(--space-md);
  }
}
@media (max-width: 640px) {
  .content img,
  .content video,
  .content iframe,
  .content .browser {
    --space-deco: var(--space-sm);
  }
}
.content img.size-fit, .content img.no-enlarge,
.content video.size-fit,
.content video.no-enlarge,
.content iframe.size-fit,
.content iframe.no-enlarge,
.content .browser.size-fit,
.content .browser.no-enlarge {
  margin-left: 0;
  margin-right: 0;
  max-width: 100%;
  width: auto;
}
.content img.size-large,
.content video.size-large,
.content iframe.size-large,
.content .browser.size-large {
  --space-deco: var(--space-lg);
}
@media (max-width: 1080px) {
  .content img.size-large,
  .content video.size-large,
  .content iframe.size-large,
  .content .browser.size-large {
    --space-deco: var(--space-md);
  }
}
@media (max-width: 640px) {
  .content img.size-large,
  .content video.size-large,
  .content iframe.size-large,
  .content .browser.size-large {
    --space-deco: var(--space-sm);
  }
}
.content img.size-small,
.content video.size-small,
.content iframe.size-small,
.content .browser.size-small {
  --space-deco: var(--space-xs);
}
@media (max-width: 1080px) {
  .content img.size-small,
  .content video.size-small,
  .content iframe.size-small,
  .content .browser.size-small {
    --space-deco: var(--space-md);
  }
}
@media (max-width: 640px) {
  .content img.size-small,
  .content video.size-small,
  .content iframe.size-small,
  .content .browser.size-small {
    --space-deco: var(--space-sm);
  }
}
.content img.size-left,
.content video.size-left,
.content iframe.size-left,
.content .browser.size-left {
  float: left;
  max-width: 36vw;
  margin-top: calc(var(--space-xs) / 2);
  margin-right: var(--space-xs);
  margin-bottom: calc(var(--space-xs) / 2);
}
@media (max-width: 1080px) {
  .content img.size-left,
  .content video.size-left,
  .content iframe.size-left,
  .content .browser.size-left {
    float: none;
    max-width: none;
    margin-top: auto;
    margin-right: auto;
    margin-bottom: auto;
  }
}
.content img.size-right,
.content video.size-right,
.content iframe.size-right,
.content .browser.size-right {
  float: right;
  max-width: 36vw;
  margin-top: calc(var(--space-xs) / 2);
  margin-left: var(--space-xs);
  margin-bottom: calc(var(--space-xs) / 2);
}
@media (max-width: 1080px) {
  .content img.size-right,
  .content video.size-right,
  .content iframe.size-right,
  .content .browser.size-right {
    float: none;
    max-width: none;
    margin-top: auto;
    margin-left: auto;
    margin-bottom: auto;
  }
}
.content img.no-resize, .content img.noresize, .content img.size-original,
.content video.no-resize,
.content video.noresize,
.content video.size-original,
.content iframe.no-resize,
.content iframe.noresize,
.content iframe.size-original,
.content .browser.no-resize,
.content .browser.noresize,
.content .browser.size-original {
  width: unset;
  max-width: 100%;
  margin-left: unset;
  margin-right: unset;
}
.content img.no-resize.center, .content img.noresize.center, .content img.size-original.center,
.content video.no-resize.center,
.content video.noresize.center,
.content video.size-original.center,
.content iframe.no-resize.center,
.content iframe.noresize.center,
.content iframe.size-original.center,
.content .browser.no-resize.center,
.content .browser.noresize.center,
.content .browser.size-original.center {
  margin-left: auto;
  margin-right: auto;
}
.content blockquote {
  position: relative;
  margin-bottom: 2.8rem;
  margin-left: calc(var(--space-xs) * -1);
  font-size: 90%;
}
@media (max-width: 640px) {
  .content blockquote {
    margin-left: 0;
  }
}
.content blockquote > p {
  padding-left: var(--space-xs);
  border-left: var(--border-md) solid;
  color: var(--text-color-60);
  padding-bottom: 1.6em;
  margin-bottom: 0;
}
.content blockquote > p:last-of-type {
  padding-bottom: 0;
  margin-bottom: 0.4em;
}
@media (max-width: 640px) {
  .content blockquote > p {
    padding-left: calc(var(--space-sm) - var(--border-md));
    padding-right: var(--space-sm);
    margin-left: calc(var(--space-sm) * -1);
    margin-right: calc(var(--space-sm) * -1);
  }
}
.content blockquote footer::before, .content blockquote footer::after {
  display: table;
  content: "";
}
.content blockquote footer::after {
  clear: both;
}
.content blockquote cite {
  float: right;
  font-style: normal;
}
.content blockquote cite::before {
  content: "── ";
}
.content details {
  margin-bottom: 1.8rem;
}
.content details summary {
  position: relative;
  list-style: none;
  line-height: calc(var(--line-height) * 1.2);
  outline: none;
  cursor: pointer;
}
@media (max-width: 640px) {
  .content details summary {
    margin-left: 1em;
  }
}
.content details summary::-webkit-details-marker {
  display: none;
}
.content details summary::before {
  content: "+";
  position: absolute;
  display: flex;
  justify-content: center;
  width: 1ex;
  left: -0.5em;
  margin-top: 0;
  margin-left: -1ex;
  text-align: right;
  opacity: 0.4;
  transition: opacity 0.2s ease, transform 0.2s ease;
  transform-origin: center center;
  font-feature-settings: "case";
}
.content details[open] summary::before {
  opacity: 1;
  transform: rotate(45deg);
}
.content hr::before {
  display: block;
  content: "";
  width: 3px;
  height: 3px;
  margin: 2em auto;
  border-radius: 50%;
  background: var(--text-color);
  box-shadow: 24px 0 0 0 var(--text-color), -24px 0 0 0 var(--text-color);
}
.content sup {
  font-size: 75%;
}
.content pre,
.content code {
  font-family: var(--fontstack-monospace);
  color: var(--code-color);
}
.content pre {
  background: var(--code-color-5);
}
.content code {
  font-size: 92%;
  overflow-wrap: break-word;
}
.content pre,
.content .highlight > pre,
.content .highlighter-rouge pre.highlight {
  --space-code: var(--space-xs);
  padding-top: var(--space-xs);
  padding-bottom: var(--space-xs);
  padding-left: var(--space-code);
  padding-right: var(--space-code);
  margin-left: calc(var(--space-code) * -1);
  margin-right: calc(var(--space-code) * -1);
  margin-bottom: 1.8rem;
  overflow-x: auto;
  font-size: 80%;
  line-height: calc(var(--line-height) * 1.2);
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 1080px) {
  .content pre,
  .content .highlight > pre,
  .content .highlighter-rouge pre.highlight {
    --space-code: var(--space-md);
  }
}
@media (max-width: 640px) {
  .content pre,
  .content .highlight > pre,
  .content .highlighter-rouge pre.highlight {
    --space-code: var(--space-sm);
  }
}
.content pre code,
.content .highlight > pre code,
.content .highlighter-rouge pre.highlight code {
  overflow-wrap: normal;
}
.content form input {
  display: block;
  width: 100%;
  padding: 1vmin 0;
  margin: 0 0 1.8rem;
  border: none;
  border-bottom: 1px solid var(--text-color);
  background: inherit;
  border-radius: 0;
  outline: none;
  transition: padding 0.2s ease;
}
.content form input:focus {
  border-color: var(--text-color);
}
.content input:focus:required:invalid:focus,
.content textarea:focus:required:invalid:focus,
.content select:focus:required:invalid:focus {
  color: var(--link-color);
  border-color: var(--link-color);
  box-shadow: none;
}
.content table {
  --space-table: var(--space-xs);
  width: calc(100% + var(--space-table) * 2);
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 90%;
  margin-left: calc(var(--space-table) * -1);
  margin-right: calc(var(--space-table) * -1);
  margin-bottom: 1.8rem;
}
@media (max-width: 1080px) {
  .content table {
    --space-table: var(--space-md);
  }
}
@media (max-width: 640px) {
  .content table {
    --space-table: var(--space-sm);
  }
}
.content table th,
.content table td {
  --space-table-cell: var(--space-xs);
  padding: 0.6em var(--space-xs);
}
.content table th:first-child,
.content table td:first-child {
  padding-left: var(--space-table-cell);
}
.content table th:last-child,
.content table td:last-child {
  padding-right: var(--space-table-cell);
}
@media (max-width: 1080px) {
  .content table th,
  .content table td {
    --space-table-cell: var(--space-md);
  }
}
@media (max-width: 640px) {
  .content table th,
  .content table td {
    --space-table-cell: var(--space-sm);
  }
}
.content table th {
  border-bottom: var(--border-md) solid var(--text-color-5);
  text-align: left;
}
.content table td {
  border-top: var(--border-sm) solid var(--text-color-5);
}

:lang(zh),
:lang(ja) {
  text-align: justify;
}
:lang(zh) header, :lang(zh) header *,
:lang(ja) header,
:lang(ja) header * {
  text-align: start;
}
:lang(zh) ruby rt,
:lang(ja) ruby rt {
  text-align: start;
}

.post-modified-date {
  font-size: 75%;
  opacity: 0.5;
}
@media only percy {
  .post-modified-date {
    display: none;
  }
}

.largetype {
  font-size: 360%;
  font-weight: bold;
  letter-spacing: var(--heading-letter-spacing);
  font-size: 200%;
  margin-bottom: 1.8rem !important;
}

.browser {
  position: relative;
  padding-top: 24px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 5px 5px 0 0;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05);
}
@media (max-width: 1080px), (max-width: 640px) {
  .browser {
    border-radius: 0;
  }
}
.browser::before {
  position: absolute;
  top: 8px;
  left: 10px;
  display: block;
  width: 8px;
  height: 8px;
  background: #fcdddf;
  border-radius: 50%;
  content: "";
  box-shadow: 16px 0 0 0 rgba(254, 240, 203, 0.96), 32px 0 0 0 rgba(177, 247, 185, 0.96), 0 0 0 1px rgba(156, 11, 21, 0.3), 16px 0 0 1px rgba(147, 108, 4, 0.3), 32px 0 0 1px rgba(11, 107, 22, 0.3);
}
.browser img {
  margin-left: 0;
  margin-right: 0;
  width: auto;
  max-width: 100%;
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.05);
}

.screenshot-mac {
  --osx-shadow-size: 56px;
  margin-left: calc(var(--osx-shadow-size) * -1);
  margin-right: calc(var(--osx-shadow-size) * -1);
}
@media (max-width: 1080px), (max-width: 640px) {
  .screenshot-mac {
    margin-left: 0;
    margin-right: 0;
  }
}

.note,
.store,
.download {
  padding-left: var(--space-xs);
  margin-left: calc(var(--space-xs) * -1);
  border-left: var(--border-md) solid var(--link-color);
}
@media (max-width: 640px) {
  .note,
  .store,
  .download {
    padding-left: calc(var(--space-sm) - var(--border-md));
    padding-right: var(--space-sm);
    margin-left: calc(var(--space-sm) * -1);
    margin-right: calc(var(--space-sm) * -1);
  }
}

.footnotes {
  font-size: 80%;
}
.footnotes::before {
  display: block;
  content: "";
  width: 3px;
  height: 3px;
  margin: 2em auto;
  border-radius: 50%;
  background: var(--text-color);
  box-shadow: 24px 0 0 0 var(--text-color), -24px 0 0 0 var(--text-color);
}

:target [rev=footnote],
:target [rel=footnote],
:target .reversefootnote,
:target .footnote {
  color: var(--link-color);
}

.list {
  display: block;
  margin: 0 0 0.4rem;
}
.list h1 {
  font-size: 360%;
  font-weight: bold;
  letter-spacing: var(--heading-letter-spacing);
  font-size: 200%;
  line-height: 1.1;
  opacity: 1;
  margin: 0;
}
@media (max-width: 640px) {
  .list h1 {
    font-size: 180%;
  }
}
@media (max-width: 640px) {
  .list .external {
    display: none;
  }
}

.external .dot {
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  margin: 0 0.1em;
  vertical-align: middle;
  background: var(--text-color);
  border-radius: 50%;
  transition: transform 0.4s ease;
}
.external .dot--post {
  margin-left: 1rem;
}
.external:hover .dot, .external:focus .dot {
  transform: scale(1.4);
}

.of-case {
  font-feature-settings: "case";
}

.footer {
  padding: 0 0 16vmin;
  margin-right: calc(var(--nav-item-space) * -1);
  margin-left: calc(var(--nav-item-space) * -1);
  font-size: 80%;
  text-transform: lowercase;
}
.footer ul li {
  display: inline-block;
  line-height: 1.8;
}
.footer ul li a {
  padding: 0.5em var(--nav-item-space);
}

.gist {
  font-size: 80% !important;
}
.gist code, .gist pre {
  padding: 0;
  color: inherit;
  background-color: transparent;
}
.gist .gist-data {
  font-family: var(--fontstack-monospace) !important;
}
.gist .gist-data .file-data {
  font-size: 100% !important;
}
.gist .gist-data .file-data > table {
  margin-bottom: 0 !important;
}
.gist .highlight {
  font-size: 90% !important;
}
.gist .markdown-body {
  font-size: 100% !important;
  padding: 1em !important;
}

@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  body {
    padding: 10mm !important;
    margin: 0 !important;
    font-size: calc(var(--font-size) * 1.35);
  }
  a,
  a:visited {
    text-decoration: none;
  }
  .content header {
    min-height: 0;
    padding-bottom: 0;
  }
  .content .post-content,
  .content .page-content {
    max-width: 100% !important;
  }
  .content .post-content a[href]::after,
  .content .page-content a[href]::after {
    content: " (" attr(href) ")";
    font-weight: normal;
    opacity: 0.5;
  }
  .content .post-content a[href^="#"]::after,
  .content .post-content a[href^="javascript:"]::after,
  .content .page-content a[href^="#"]::after,
  .content .page-content a[href^="javascript:"]::after {
    content: "";
  }
  .content .post-content abbr[title]::after,
  .content .page-content abbr[title]::after {
    content: " (" attr(title) ")";
    font-weight: normal;
  }
  pre,
  blockquote {
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3,
  h4,
  h5,
  h6 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .navigation,
  .footer {
    display: none;
  }
}
:root {
  --rdmz-h: var(--code-color-h, 254);
  --rdmz-s: var(--code-color-s, 80%);
  --rdmz-l: var(--code-color-l, 39%);
}

.highlight > pre,
.highlighter-rouge pre.highlight {
  background: hsla(var(--rdmz-h), var(--rdmz-s), var(--rdmz-l), 0.03);
}

.highlight .err,
.highlighter-rouge .err {
  background-color: hsla(var(--rdmz-h), calc(var(--rdmz-s) * 2), var(--rdmz-l), 0.1);
}
.highlight .c,
.highlighter-rouge .c {
  font-style: italic;
}
.highlight .cm,
.highlighter-rouge .cm {
  font-style: italic;
}
.highlight .cp,
.highlighter-rouge .cp {
  font-weight: bold;
}
.highlight .c1,
.highlighter-rouge .c1 {
  font-style: italic;
}
.highlight .cs,
.highlighter-rouge .cs {
  font-weight: bold;
  font-style: italic;
}
.highlight .nc,
.highlighter-rouge .nc {
  font-weight: bold;
}
.highlight .ne,
.highlighter-rouge .ne {
  font-weight: bold;
}
.highlight .nf,
.highlighter-rouge .nf {
  font-weight: bold;
}
.highlight .o,
.highlighter-rouge .o {
  font-weight: bold;
}
.highlight .ow,
.highlighter-rouge .ow {
  font-weight: bold;
}
.highlight .gs,
.highlighter-rouge .gs {
  font-weight: bold;
}
.highlight .ge,
.highlighter-rouge .ge {
  font-style: italic;
}
.highlight .k,
.highlighter-rouge .k {
  font-weight: bold;
}
.highlight .kt,
.highlighter-rouge .kt {
  font-weight: bold;
}
.highlight .kc,
.highlighter-rouge .kc {
  font-weight: bold;
}
.highlight .kd,
.highlighter-rouge .kd {
  font-weight: bold;
}
.highlight .kp,
.highlighter-rouge .kp {
  font-weight: bold;
}
.highlight .kr,
.highlighter-rouge .kr {
  font-weight: bold;
}
.highlight pre,
.highlight code,
.highlighter-rouge pre,
.highlighter-rouge code {
  --rdmz-h-local: var(--rdmz-h);
  color: hsl(var(--rdmz-h), var(--rdmz-s), var(--rdmz-l));
}
.highlight .err,
.highlighter-rouge .err {
  --rdmz-h-local: calc(var(--rdmz-h) + 5.3731343284);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .x,
.highlighter-rouge .x {
  --rdmz-h-local: calc(var(--rdmz-h) + 10.7462686567);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .n,
.highlighter-rouge .n {
  --rdmz-h-local: calc(var(--rdmz-h) + 16.1194029851);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .na,
.highlighter-rouge .na {
  --rdmz-h-local: calc(var(--rdmz-h) + 21.4925373134);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .nb,
.highlighter-rouge .nb {
  --rdmz-h-local: calc(var(--rdmz-h) + 26.8656716418);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .bp,
.highlighter-rouge .bp {
  --rdmz-h-local: calc(var(--rdmz-h) + 32.2388059701);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .nc,
.highlighter-rouge .nc {
  --rdmz-h-local: calc(var(--rdmz-h) + 37.6119402985);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .no,
.highlighter-rouge .no {
  --rdmz-h-local: calc(var(--rdmz-h) + 42.9850746269);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .nd,
.highlighter-rouge .nd {
  --rdmz-h-local: calc(var(--rdmz-h) + 48.3582089552);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .ni,
.highlighter-rouge .ni {
  --rdmz-h-local: calc(var(--rdmz-h) + 53.7313432836);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .ne,
.highlighter-rouge .ne {
  --rdmz-h-local: calc(var(--rdmz-h) + 59.1044776119);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .nf,
.highlighter-rouge .nf {
  --rdmz-h-local: calc(var(--rdmz-h) + 64.4776119403);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .nl,
.highlighter-rouge .nl {
  --rdmz-h-local: calc(var(--rdmz-h) + 69.8507462687);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .nn,
.highlighter-rouge .nn {
  --rdmz-h-local: calc(var(--rdmz-h) + 75.223880597);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .nx,
.highlighter-rouge .nx {
  --rdmz-h-local: calc(var(--rdmz-h) + 80.5970149254);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .nt,
.highlighter-rouge .nt {
  --rdmz-h-local: calc(var(--rdmz-h) + 85.9701492537);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .nv,
.highlighter-rouge .nv {
  --rdmz-h-local: calc(var(--rdmz-h) + 91.3432835821);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .vc,
.highlighter-rouge .vc {
  --rdmz-h-local: calc(var(--rdmz-h) + 96.7164179104);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .vg,
.highlighter-rouge .vg {
  --rdmz-h-local: calc(var(--rdmz-h) + 102.0895522388);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .vi,
.highlighter-rouge .vi {
  --rdmz-h-local: calc(var(--rdmz-h) + 107.4626865672);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .g,
.highlighter-rouge .g {
  --rdmz-h-local: calc(var(--rdmz-h) + 112.8358208955);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .gd,
.highlighter-rouge .gd {
  --rdmz-h-local: calc(var(--rdmz-h) + 118.2089552239);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .ge,
.highlighter-rouge .ge {
  --rdmz-h-local: calc(var(--rdmz-h) + 123.5820895522);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .gr,
.highlighter-rouge .gr {
  --rdmz-h-local: calc(var(--rdmz-h) + 128.9552238806);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .gh,
.highlighter-rouge .gh {
  --rdmz-h-local: calc(var(--rdmz-h) + 134.328358209);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .gi,
.highlighter-rouge .gi {
  --rdmz-h-local: calc(var(--rdmz-h) + 139.7014925373);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .go,
.highlighter-rouge .go {
  --rdmz-h-local: calc(var(--rdmz-h) + 145.0746268657);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .gp,
.highlighter-rouge .gp {
  --rdmz-h-local: calc(var(--rdmz-h) + 150.447761194);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .gs,
.highlighter-rouge .gs {
  --rdmz-h-local: calc(var(--rdmz-h) + 155.8208955224);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .gu,
.highlighter-rouge .gu {
  --rdmz-h-local: calc(var(--rdmz-h) + 161.1940298507);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .gt,
.highlighter-rouge .gt {
  --rdmz-h-local: calc(var(--rdmz-h) + 166.5671641791);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .gl,
.highlighter-rouge .gl {
  --rdmz-h-local: calc(var(--rdmz-h) + 171.9402985075);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .k,
.highlighter-rouge .k {
  --rdmz-h-local: calc(var(--rdmz-h) + 177.3134328358);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .kc,
.highlighter-rouge .kc {
  --rdmz-h-local: calc(var(--rdmz-h) + 182.6865671642);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .kd,
.highlighter-rouge .kd {
  --rdmz-h-local: calc(var(--rdmz-h) + 188.0597014925);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .kn,
.highlighter-rouge .kn {
  --rdmz-h-local: calc(var(--rdmz-h) + 193.4328358209);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .kp,
.highlighter-rouge .kp {
  --rdmz-h-local: calc(var(--rdmz-h) + 198.8059701493);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .kr,
.highlighter-rouge .kr {
  --rdmz-h-local: calc(var(--rdmz-h) + 204.1791044776);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .kt,
.highlighter-rouge .kt {
  --rdmz-h-local: calc(var(--rdmz-h) + 209.552238806);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .kv,
.highlighter-rouge .kv {
  --rdmz-h-local: calc(var(--rdmz-h) + 214.9253731343);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .w,
.highlighter-rouge .w {
  --rdmz-h-local: calc(var(--rdmz-h) + 220.2985074627);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .l,
.highlighter-rouge .l {
  --rdmz-h-local: calc(var(--rdmz-h) + 225.671641791);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .ld,
.highlighter-rouge .ld {
  --rdmz-h-local: calc(var(--rdmz-h) + 231.0447761194);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .s,
.highlighter-rouge .s {
  --rdmz-h-local: calc(var(--rdmz-h) + 236.4179104478);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .sb,
.highlighter-rouge .sb {
  --rdmz-h-local: calc(var(--rdmz-h) + 241.7910447761);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .sc,
.highlighter-rouge .sc {
  --rdmz-h-local: calc(var(--rdmz-h) + 247.1641791045);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .sd,
.highlighter-rouge .sd {
  --rdmz-h-local: calc(var(--rdmz-h) + 252.5373134328);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .s2,
.highlighter-rouge .s2 {
  --rdmz-h-local: calc(var(--rdmz-h) + 257.9104477612);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .se,
.highlighter-rouge .se {
  --rdmz-h-local: calc(var(--rdmz-h) + 263.2835820896);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .sh,
.highlighter-rouge .sh {
  --rdmz-h-local: calc(var(--rdmz-h) + 268.6567164179);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .si,
.highlighter-rouge .si {
  --rdmz-h-local: calc(var(--rdmz-h) + 274.0298507463);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .sx,
.highlighter-rouge .sx {
  --rdmz-h-local: calc(var(--rdmz-h) + 279.4029850746);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .sr,
.highlighter-rouge .sr {
  --rdmz-h-local: calc(var(--rdmz-h) + 284.776119403);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .s1,
.highlighter-rouge .s1 {
  --rdmz-h-local: calc(var(--rdmz-h) + 290.1492537313);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .ss,
.highlighter-rouge .ss {
  --rdmz-h-local: calc(var(--rdmz-h) + 295.5223880597);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .m,
.highlighter-rouge .m {
  --rdmz-h-local: calc(var(--rdmz-h) + 300.8955223881);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .mf,
.highlighter-rouge .mf {
  --rdmz-h-local: calc(var(--rdmz-h) + 306.2686567164);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .mh,
.highlighter-rouge .mh {
  --rdmz-h-local: calc(var(--rdmz-h) + 311.6417910448);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .mi,
.highlighter-rouge .mi {
  --rdmz-h-local: calc(var(--rdmz-h) + 317.0149253731);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .il,
.highlighter-rouge .il {
  --rdmz-h-local: calc(var(--rdmz-h) + 322.3880597015);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .mo,
.highlighter-rouge .mo {
  --rdmz-h-local: calc(var(--rdmz-h) + 327.7611940299);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .mb,
.highlighter-rouge .mb {
  --rdmz-h-local: calc(var(--rdmz-h) + 333.1343283582);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .mx,
.highlighter-rouge .mx {
  --rdmz-h-local: calc(var(--rdmz-h) + 338.5074626866);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .o,
.highlighter-rouge .o {
  --rdmz-h-local: calc(var(--rdmz-h) + 343.8805970149);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .ow,
.highlighter-rouge .ow {
  --rdmz-h-local: calc(var(--rdmz-h) + 349.2537313433);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .p,
.highlighter-rouge .p {
  --rdmz-h-local: calc(var(--rdmz-h) + 354.6268656716);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .pi,
.highlighter-rouge .pi {
  --rdmz-h-local: calc(var(--rdmz-h) + 360);
  color: hsl(var(--rdmz-h-local), var(--rdmz-s), var(--rdmz-l));
}
.highlight .gd,
.highlighter-rouge .gd {
  --rdmz-h-local: 10;
}
.highlight .gi,
.highlighter-rouge .gi {
  --rdmz-h-local: 150;
}
.highlight .c,
.highlighter-rouge .c {
  color: hsla(calc(var(--rdmz-h) + 5.3731343284), calc(var(--rdmz-s) * 0.7), var(--rdmz-l), 0.6);
}
.highlight .cd,
.highlighter-rouge .cd {
  color: hsla(calc(var(--rdmz-h) + 10.7462686567), calc(var(--rdmz-s) * 0.7), var(--rdmz-l), 0.6);
}
.highlight .cm,
.highlighter-rouge .cm {
  color: hsla(calc(var(--rdmz-h) + 16.1194029851), calc(var(--rdmz-s) * 0.7), var(--rdmz-l), 0.6);
}
.highlight .cp,
.highlighter-rouge .cp {
  color: hsla(calc(var(--rdmz-h) + 21.4925373134), calc(var(--rdmz-s) * 0.7), var(--rdmz-l), 0.6);
}
.highlight .c1,
.highlighter-rouge .c1 {
  color: hsla(calc(var(--rdmz-h) + 26.8656716418), calc(var(--rdmz-s) * 0.7), var(--rdmz-l), 0.6);
}
.highlight .cs,
.highlighter-rouge .cs {
  color: hsla(calc(var(--rdmz-h) + 32.2388059701), calc(var(--rdmz-s) * 0.7), var(--rdmz-l), 0.6);
}
.highlight table,
.highlight table th,
.highlight table td,
.highlight table td pre,
.highlighter-rouge table,
.highlighter-rouge table th,
.highlighter-rouge table td,
.highlighter-rouge table td pre {
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
  font-size: 100%;
}
.highlight table pre,
.highlighter-rouge table pre {
  overflow-x: visible;
}
.highlight table .gutter:first-child, .highlight table .gutter:last-child,
.highlighter-rouge table .gutter:first-child,
.highlighter-rouge table .gutter:last-child {
  padding: 0 !important;
}
.highlight table .gutter .lineno,
.highlighter-rouge table .gutter .lineno {
  color: hsla(var(--rdmz-h), calc(var(--rdmz-s) * 0.4), var(--rdmz-l), 0.4);
  -webkit-user-select: none;
          user-select: none;
}
.highlight table .code,
.highlighter-rouge table .code {
  padding-left: 1em;
}

:root {
  --code-color-h: calc(var(--link-color-h) + 10);
  --code-color-s: calc(var(--link-color-s) * .2 + 40%);
}

.content .sub-title {
  font-size: 108%;
  opacity: 0.8;
}
/*# sourceMappingURL=data:application/json;base64,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NkRBQTZEO0FBQy9EO0FBQ0E7O0VBRUUsb0RBQW9EO0VBQ3BELDZEQUE2RDtBQUMvRDtBQUNBOztFQUVFLG9EQUFvRDtFQUNwRCw2REFBNkQ7QUFDL0Q7QUFDQTs7RUFFRSxvREFBb0Q7RUFDcEQsNkRBQTZEO0FBQy9EO0FBQ0E7O0VBRUUsb0RBQW9EO0VBQ3BELDZEQUE2RDtBQUMvRDtBQUNBOztFQUVFLG9EQUFvRDtFQUNwRCw2REFBNkQ7QUFDL0Q7QUFDQTs7RUFFRSxvREFBb0Q7RUFDcEQsNkRBQTZEO0FBQy9EO0FBQ0E7O0VBRUUsbURBQW1EO0VBQ25ELDZEQUE2RDtBQUMvRDtBQUNBOztFQUVFLG9EQUFvRDtFQUNwRCw2REFBNkQ7QUFDL0Q7QUFDQTs7RUFFRSxvREFBb0Q7RUFDcEQsNkRBQTZEO0FBQy9EO0FBQ0E7O0VBRUUsbURBQW1EO0VBQ25ELDZEQUE2RDtBQUMvRDtBQUNBOztFQUVFLG9EQUFvRDtFQUNwRCw2REFBNkQ7QUFDL0Q7QUFDQTs7RUFFRSxvREFBb0Q7RUFDcEQsNkRBQTZEO0FBQy9EO0FBQ0E7O0VBRUUsb0RBQW9EO0VBQ3BELDZEQUE2RDtBQUMvRDtBQUNBOztFQUVFLG9EQUFvRDtFQUNwRCw2REFBNkQ7QUFDL0Q7QUFDQTs7RUFFRSxvREFBb0Q7RUFDcEQsNkRBQTZEO0FBQy9EO0FBQ0E7O0VBRUUsb0RBQW9EO0VBQ3BELDZEQUE2RDtBQUMvRDtBQUNBOztFQUVFLG9EQUFvRDtFQUNwRCw2REFBNkQ7QUFDL0Q7QUFDQTs7RUFFRSxvREFBb0Q7RUFDcEQsNkRBQTZEO0FBQy9EO0FBQ0E7O0VBRUUsb0RBQW9EO0VBQ3BELDZEQUE2RDtBQUMvRDtBQUNBOztFQUVFLG9EQUFvRDtFQUNwRCw2REFBNkQ7QUFDL0Q7QUFDQTs7RUFFRSxtREFBbUQ7RUFDbkQsNkRBQTZEO0FBQy9EO0FBQ0E7O0VBRUUsb0RBQW9EO0VBQ3BELDZEQUE2RDtBQUMvRDtBQUNBOztFQUVFLG9EQUFvRDtFQUNwRCw2REFBNkQ7QUFDL0Q7QUFDQTs7RUFFRSxtREFBbUQ7RUFDbkQsNkRBQTZEO0FBQy9EO0FBQ0E7O0VBRUUsb0RBQW9EO0VBQ3BELDZEQUE2RDtBQUMvRDtBQUNBOztFQUVFLG9EQUFvRDtFQUNwRCw2REFBNkQ7QUFDL0Q7QUFDQTs7RUFFRSxvREFBb0Q7RUFDcEQsNkRBQTZEO0FBQy9EO0FBQ0E7O0VBRUUsb0RBQW9EO0VBQ3BELDZEQUE2RDtBQUMvRDtBQUNBOztFQUVFLG9EQUFvRDtFQUNwRCw2REFBNkQ7QUFDL0Q7QUFDQTs7RUFFRSxvREFBb0Q7RUFDcEQsNkRBQTZEO0FBQy9EO0FBQ0E7O0VBRUUsb0RBQW9EO0VBQ3BELDZEQUE2RDtBQUMvRDtBQUNBOztFQUVFLG9EQUFvRDtFQUNwRCw2REFBNkQ7QUFDL0Q7QUFDQTs7RUFFRSxvREFBb0Q7RUFDcEQsNkRBQTZEO0FBQy9EO0FBQ0E7O0VBRUUsb0RBQW9EO0VBQ3BELDZEQUE2RDtBQUMvRDtBQUNBOztFQUVFLG1EQUFtRDtFQUNuRCw2REFBNkQ7QUFDL0Q7QUFDQTs7RUFFRSxvREFBb0Q7RUFDcEQsNkRBQTZEO0FBQy9EO0FBQ0E7O0VBRUUsb0RBQW9EO0VBQ3BELDZEQUE2RDtBQUMvRDtBQUNBOztFQUVFLG9EQUFvRDtFQUNwRCw2REFBNkQ7QUFDL0Q7QUFDQTs7RUFFRSxvREFBb0Q7RUFDcEQsNkRBQTZEO0FBQy9EO0FBQ0E7O0VBRUUsb0RBQW9EO0VBQ3BELDZEQUE2RDtBQUMvRDtBQUNBOztFQUVFLG9EQUFvRDtFQUNwRCw2REFBNkQ7QUFDL0Q7QUFDQTs7RUFFRSxvREFBb0Q7RUFDcEQsNkRBQTZEO0FBQy9EO0FBQ0E7O0VBRUUsb0RBQW9EO0VBQ3BELDZEQUE2RDtBQUMvRDtBQUNBOztFQUVFLG9EQUFvRDtFQUNwRCw2REFBNkQ7QUFDL0Q7QUFDQTs7RUFFRSxvREFBb0Q7RUFDcEQsNkRBQTZEO0FBQy9EO0FBQ0E7O0VBRUUsb0RBQW9EO0VBQ3BELDZEQUE2RDtBQUMvRDtBQUNBOztFQUVFLG9EQUFvRDtFQUNwRCw2REFBNkQ7QUFDL0Q7QUFDQTs7RUFFRSxvREFBb0Q7RUFDcEQsNkRBQTZEO0FBQy9EO0FBQ0E7O0VBRUUseUNBQXlDO0VBQ3pDLDZEQUE2RDtBQUMvRDtBQUNBOztFQUVFLGtCQUFrQjtBQUNwQjtBQUNBOztFQUVFLG1CQUFtQjtBQUNyQjtBQUNBOztFQUVFLDhGQUE4RjtBQUNoRztBQUNBOztFQUVFLCtGQUErRjtBQUNqRztBQUNBOztFQUVFLCtGQUErRjtBQUNqRztBQUNBOztFQUVFLCtGQUErRjtBQUNqRztBQUNBOztFQUVFLCtGQUErRjtBQUNqRztBQUNBOztFQUVFLCtGQUErRjtBQUNqRztBQUNBOzs7Ozs7OztFQVFFLFVBQVU7RUFDVixTQUFTO0VBQ1QsWUFBWTtFQUNaLHVCQUF1QjtFQUN2QixlQUFlO0FBQ2pCO0FBQ0E7O0VBRUUsbUJBQW1CO0FBQ3JCO0FBQ0E7OztFQUdFLHFCQUFxQjtBQUN2QjtBQUNBOztFQUVFLHlFQUF5RTtFQUN6RSx5QkFBaUI7VUFBakIsaUJBQWlCO0FBQ25CO0FBQ0E7O0VBRUUsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsOENBQThDO0VBQzlDLG9EQUFvRDtBQUN0RDs7QUFFQTtFQUNFLGVBQWU7RUFDZixZQUFZO0FBQ2QiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbjpyb290IHtcbiAgLS1mb250c3RhY2stcHJlZml4OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsO1xuICAtLWZvbnRzdGFjay1zYW5zLXNlcmlmOiBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAtLWZvbnRzdGFjay1zZXJpZjogR2VvcmdpYSwgc2VyaWY7XG4gIC0tZm9udHN0YWNrLW1vbm9zcGFjZTogTWVubG8sIENvbnNvbGFzLCBtb25vc3BhY2U7XG4gIC0tZm9udHN0YWNrLWRlZmF1bHQ6IHZhcigtLWZvbnRzdGFjay1wcmVmaXgpIHZhcigtLWZvbnRzdGFjay1zYW5zLXNlcmlmKTtcbiAgLS1mb250LXNpemUtYmFzZTogMXJlbTtcbiAgLS1mb250LXNpemUtZmFjdG9yOiAxdnc7XG4gIC0tZm9udC1zaXplOiAxLjZ2dztcbiAgLS1mb250LWZlYXR1cmVzOiBcImhhbHRcIiwgXCJjdjAxXCIsIFwiY3YwMlwiLCBcImN2MDNcIjtcbiAgLS1saW5lLWhlaWdodDogY2FsYygyMCAvIDE0KTtcbiAgLS1oZWFkaW5nLWxldHRlci1zcGFjaW5nOiAtLjA0ZW07XG4gIC0tYnJlYWtwb2ludC1sZzogMTYwMHB4O1xuICAtLWJyZWFrcG9pbnQtbWQ6IDEwODBweDtcbiAgLS1icmVha3BvaW50LXNtOiA2NDBweDtcbiAgLS1icmVha3BvaW50LXhzOiA0MDBweDtcbiAgLS1zcGFjZS1sZzogMjR2dztcbiAgLS1zcGFjZS1tZDogOHZ3O1xuICAtLXNwYWNlLXNtOiA0dnc7XG4gIC0tc3BhY2UteHM6IDEuMnZ3O1xuICAtLWJvcmRlci1sZzogNHB4O1xuICAtLWJvcmRlci1tZDogMnB4O1xuICAtLWJvcmRlci1zbTogMXB4O1xuICAtLW5hdi1wYWRkaW5nOiAuNzV2bWF4O1xuICAtLW5hdi1pdGVtLXNwYWNlOiAxLjR2bWF4O1xuICAtLXRleHQtY29sb3ItaDogMzE4O1xuICAtLXRleHQtY29sb3ItczogMzAlO1xuICAtLXRleHQtY29sb3ItbDogMTAlO1xuICAtLXRleHQtY29sb3ItaHNsOiB2YXIoLS10ZXh0LWNvbG9yLWgpLCB2YXIoLS10ZXh0LWNvbG9yLXMpLCB2YXIoLS10ZXh0LWNvbG9yLWwpO1xuICAtLXRleHQtY29sb3I6IGhzbCh2YXIoLS10ZXh0LWNvbG9yLWhzbCkpO1xuICAtLXRleHQtY29sb3ItMDogaHNsYSh2YXIoLS10ZXh0LWNvbG9yLWhzbCksIDApO1xuICAtLXRleHQtY29sb3ItMzogaHNsYSh2YXIoLS10ZXh0LWNvbG9yLWhzbCksIC4wMyk7XG4gIC0tdGV4dC1jb2xvci01OiBoc2xhKHZhcigtLXRleHQtY29sb3ItaHNsKSwgLjA1KTtcbiAgLS10ZXh0LWNvbG9yLTc6IGhzbGEodmFyKC0tdGV4dC1jb2xvci1oc2wpLCAuMDcpO1xuICAtLXRleHQtY29sb3ItMTA6IGhzbGEodmFyKC0tdGV4dC1jb2xvci1oc2wpLCAuMSk7XG4gIC0tdGV4dC1jb2xvci0yMDogaHNsYSh2YXIoLS10ZXh0LWNvbG9yLWhzbCksIC4yKTtcbiAgLS10ZXh0LWNvbG9yLTMwOiBoc2xhKHZhcigtLXRleHQtY29sb3ItaHNsKSwgLjMpO1xuICAtLXRleHQtY29sb3ItNDA6IGhzbGEodmFyKC0tdGV4dC1jb2xvci1oc2wpLCAuNCk7XG4gIC0tdGV4dC1jb2xvci01MDogaHNsYSh2YXIoLS10ZXh0LWNvbG9yLWhzbCksIC41KTtcbiAgLS10ZXh0LWNvbG9yLTYwOiBoc2xhKHZhcigtLXRleHQtY29sb3ItaHNsKSwgLjYpO1xuICAtLXRleHQtY29sb3ItNzA6IGhzbGEodmFyKC0tdGV4dC1jb2xvci1oc2wpLCAuNyk7XG4gIC0tdGV4dC1jb2xvci04MDogaHNsYSh2YXIoLS10ZXh0LWNvbG9yLWhzbCksIC44KTtcbiAgLS10ZXh0LWNvbG9yLTkwOiBoc2xhKHZhcigtLXRleHQtY29sb3ItaHNsKSwgLjkpO1xuICAtLXRleHQtY29sb3ItbGlnaHQ6IGhzbCh2YXIoLS10ZXh0LWNvbG9yLWgpLCB2YXIoLS10ZXh0LWNvbG9yLXMpLCBjYWxjKHZhcigtLXRleHQtY29sb3ItbCkgLyAuOSkpO1xuICAtLXRleHQtY29sb3ItZGFyazogaHNsKHZhcigtLXRleHQtY29sb3ItaCksIHZhcigtLXRleHQtY29sb3ItcyksIGNhbGModmFyKC0tdGV4dC1jb2xvci1sKSAqIC45KSk7XG4gIC0tbGluay1jb2xvci1oOiAzMTg7XG4gIC0tbGluay1jb2xvci1zOiAxMDAlO1xuICAtLWxpbmstY29sb3ItbDogNTAlO1xuICAtLWxpbmstY29sb3ItaHNsOiB2YXIoLS1saW5rLWNvbG9yLWgpLCB2YXIoLS1saW5rLWNvbG9yLXMpLCB2YXIoLS1saW5rLWNvbG9yLWwpO1xuICAtLWxpbmstY29sb3I6IGhzbCh2YXIoLS1saW5rLWNvbG9yLWhzbCkpO1xuICAtLWxpbmstY29sb3ItMDogaHNsYSh2YXIoLS1saW5rLWNvbG9yLWhzbCksIDApO1xuICAtLWxpbmstY29sb3ItMzogaHNsYSh2YXIoLS1saW5rLWNvbG9yLWhzbCksIC4wMyk7XG4gIC0tbGluay1jb2xvci01OiBoc2xhKHZhcigtLWxpbmstY29sb3ItaHNsKSwgLjA1KTtcbiAgLS1saW5rLWNvbG9yLTc6IGhzbGEodmFyKC0tbGluay1jb2xvci1oc2wpLCAuMDcpO1xuICAtLWxpbmstY29sb3ItMTA6IGhzbGEodmFyKC0tbGluay1jb2xvci1oc2wpLCAuMSk7XG4gIC0tbGluay1jb2xvci0yMDogaHNsYSh2YXIoLS1saW5rLWNvbG9yLWhzbCksIC4yKTtcbiAgLS1saW5rLWNvbG9yLTMwOiBoc2xhKHZhcigtLWxpbmstY29sb3ItaHNsKSwgLjMpO1xuICAtLWxpbmstY29sb3ItNDA6IGhzbGEodmFyKC0tbGluay1jb2xvci1oc2wpLCAuNCk7XG4gIC0tbGluay1jb2xvci01MDogaHNsYSh2YXIoLS1saW5rLWNvbG9yLWhzbCksIC41KTtcbiAgLS1saW5rLWNvbG9yLTYwOiBoc2xhKHZhcigtLWxpbmstY29sb3ItaHNsKSwgLjYpO1xuICAtLWxpbmstY29sb3ItNzA6IGhzbGEodmFyKC0tbGluay1jb2xvci1oc2wpLCAuNyk7XG4gIC0tbGluay1jb2xvci04MDogaHNsYSh2YXIoLS1saW5rLWNvbG9yLWhzbCksIC44KTtcbiAgLS1saW5rLWNvbG9yLTkwOiBoc2xhKHZhcigtLWxpbmstY29sb3ItaHNsKSwgLjkpO1xuICAtLWxpbmstY29sb3ItbGlnaHQ6IGhzbCh2YXIoLS1saW5rLWNvbG9yLWgpLCB2YXIoLS1saW5rLWNvbG9yLXMpLCBjYWxjKHZhcigtLWxpbmstY29sb3ItbCkgLyAuOSkpO1xuICAtLWxpbmstY29sb3ItZGFyazogaHNsKHZhcigtLWxpbmstY29sb3ItaCksIHZhcigtLWxpbmstY29sb3ItcyksIGNhbGModmFyKC0tbGluay1jb2xvci1sKSAqIC45KSk7XG4gIC0tYmctY29sb3ItaDogMzE4O1xuICAtLWJnLWNvbG9yLXM6IDMwJTtcbiAgLS1iZy1jb2xvci1sOiAxMDAlO1xuICAtLWJnLWNvbG9yLWhzbDogdmFyKC0tYmctY29sb3ItaCksIHZhcigtLWJnLWNvbG9yLXMpLCB2YXIoLS1iZy1jb2xvci1sKTtcbiAgLS1iZy1jb2xvcjogaHNsKHZhcigtLWJnLWNvbG9yLWhzbCkpO1xuICAtLWJnLWNvbG9yLTA6IGhzbGEodmFyKC0tYmctY29sb3ItaHNsKSwgMCk7XG4gIC0tYmctY29sb3ItMzogaHNsYSh2YXIoLS1iZy1jb2xvci1oc2wpLCAuMDMpO1xuICAtLWJnLWNvbG9yLTU6IGhzbGEodmFyKC0tYmctY29sb3ItaHNsKSwgLjA1KTtcbiAgLS1iZy1jb2xvci03OiBoc2xhKHZhcigtLWJnLWNvbG9yLWhzbCksIC4wNyk7XG4gIC0tYmctY29sb3ItMTA6IGhzbGEodmFyKC0tYmctY29sb3ItaHNsKSwgLjEpO1xuICAtLWJnLWNvbG9yLTIwOiBoc2xhKHZhcigtLWJnLWNvbG9yLWhzbCksIC4yKTtcbiAgLS1iZy1jb2xvci0zMDogaHNsYSh2YXIoLS1iZy1jb2xvci1oc2wpLCAuMyk7XG4gIC0tYmctY29sb3ItNDA6IGhzbGEodmFyKC0tYmctY29sb3ItaHNsKSwgLjQpO1xuICAtLWJnLWNvbG9yLTUwOiBoc2xhKHZhcigtLWJnLWNvbG9yLWhzbCksIC41KTtcbiAgLS1iZy1jb2xvci02MDogaHNsYSh2YXIoLS1iZy1jb2xvci1oc2wpLCAuNik7XG4gIC0tYmctY29sb3ItNzA6IGhzbGEodmFyKC0tYmctY29sb3ItaHNsKSwgLjcpO1xuICAtLWJnLWNvbG9yLTgwOiBoc2xhKHZhcigtLWJnLWNvbG9yLWhzbCksIC44KTtcbiAgLS1iZy1jb2xvci05MDogaHNsYSh2YXIoLS1iZy1jb2xvci1oc2wpLCAuOSk7XG4gIC0tYmctY29sb3ItbGlnaHQ6IGhzbCh2YXIoLS1iZy1jb2xvci1oKSwgdmFyKC0tYmctY29sb3ItcyksIGNhbGModmFyKC0tYmctY29sb3ItbCkgLyAuOSkpO1xuICAtLWJnLWNvbG9yLWRhcms6IGhzbCh2YXIoLS1iZy1jb2xvci1oKSwgdmFyKC0tYmctY29sb3ItcyksIGNhbGModmFyKC0tYmctY29sb3ItbCkgKiAuOSkpO1xuICAtLWNvZGUtY29sb3ItaDogY2FsYyh2YXIoLS1saW5rLWNvbG9yLWgpICsgMzApO1xuICAtLWNvZGUtY29sb3ItczogY2FsYyh2YXIoLS1saW5rLWNvbG9yLXMpICogLjIgKyAzMCUpO1xuICAtLWNvZGUtY29sb3ItbDogdmFyKC0tbGluay1jb2xvci1sKTtcbiAgLS1jb2RlLWNvbG9yLWhzbDogdmFyKC0tY29kZS1jb2xvci1oKSwgdmFyKC0tY29kZS1jb2xvci1zKSwgdmFyKC0tY29kZS1jb2xvci1sKTtcbiAgLS1jb2RlLWNvbG9yOiBoc2wodmFyKC0tY29kZS1jb2xvci1oc2wpKTtcbiAgLS1jb2RlLWNvbG9yLTA6IGhzbGEodmFyKC0tY29kZS1jb2xvci1oc2wpLCAwKTtcbiAgLS1jb2RlLWNvbG9yLTM6IGhzbGEodmFyKC0tY29kZS1jb2xvci1oc2wpLCAuMDMpO1xuICAtLWNvZGUtY29sb3ItNTogaHNsYSh2YXIoLS1jb2RlLWNvbG9yLWhzbCksIC4wNSk7XG4gIC0tY29kZS1jb2xvci03OiBoc2xhKHZhcigtLWNvZGUtY29sb3ItaHNsKSwgLjA3KTtcbiAgLS1jb2RlLWNvbG9yLTEwOiBoc2xhKHZhcigtLWNvZGUtY29sb3ItaHNsKSwgLjEpO1xuICAtLWNvZGUtY29sb3ItMjA6IGhzbGEodmFyKC0tY29kZS1jb2xvci1oc2wpLCAuMik7XG4gIC0tY29kZS1jb2xvci0zMDogaHNsYSh2YXIoLS1jb2RlLWNvbG9yLWhzbCksIC4zKTtcbiAgLS1jb2RlLWNvbG9yLTQwOiBoc2xhKHZhcigtLWNvZGUtY29sb3ItaHNsKSwgLjQpO1xuICAtLWNvZGUtY29sb3ItNTA6IGhzbGEodmFyKC0tY29kZS1jb2xvci1oc2wpLCAuNSk7XG4gIC0tY29kZS1jb2xvci02MDogaHNsYSh2YXIoLS1jb2RlLWNvbG9yLWhzbCksIC42KTtcbiAgLS1jb2RlLWNvbG9yLTcwOiBoc2xhKHZhcigtLWNvZGUtY29sb3ItaHNsKSwgLjcpO1xuICAtLWNvZGUtY29sb3ItODA6IGhzbGEodmFyKC0tY29kZS1jb2xvci1oc2wpLCAuOCk7XG4gIC0tY29kZS1jb2xvci05MDogaHNsYSh2YXIoLS1jb2RlLWNvbG9yLWhzbCksIC45KTtcbiAgLS1jb2RlLWNvbG9yLWxpZ2h0OiBoc2wodmFyKC0tY29kZS1jb2xvci1oKSwgdmFyKC0tY29kZS1jb2xvci1zKSwgY2FsYyh2YXIoLS1jb2RlLWNvbG9yLWwpIC8gLjkpKTtcbiAgLS1jb2RlLWNvbG9yLWRhcms6IGhzbCh2YXIoLS1jb2RlLWNvbG9yLWgpLCB2YXIoLS1jb2RlLWNvbG9yLXMpLCBjYWxjKHZhcigtLWNvZGUtY29sb3ItbCkgKiAuOSkpO1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwMCU7XG4gIHRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZWxlZ2liaWxpdHk7XG4gIGltYWdlLXJlbmRlcmluZzogb3B0aW1pemVxdWFsaXR5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctY29sb3IpO1xufVxuXG5ib2R5IHtcbiAgLS1zcGFjZS1ib2R5OiB2YXIoLS1zcGFjZS1sZyk7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS1ib2R5KTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtYm9keSk7XG4gIG1hcmdpbjogMCBhdXRvIDA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250c3RhY2stZGVmYXVsdCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplKTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiB2YXIoLS1mb250LWZlYXR1cmVzKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0KTtcbiAgaGFuZ2luZy1wdW5jdHVhdGlvbjogZmlyc3QgYWxsb3ctZW5kO1xuICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLWNvbG9yKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgYm9keSB7XG4gICAgLS1zcGFjZS1ib2R5OiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtc2l6ZSkgKiAxLjQpO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgYm9keSB7XG4gICAgLS1zcGFjZS1ib2R5OiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtc2l6ZSkgKiAyLjQpO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgYm9keSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtc2l6ZSkgKiAzLjIpO1xuICB9XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0W211bHRpcGxlXSxcbnRleHRhcmVhIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuYSxcbmJ1dHRvbiB7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzIGVhc2UsIGJvcmRlci1jb2xvciAwLjVzIGVhc2UsIGJhY2tncm91bmQgMC41cyBlYXNlLCBvcGFjaXR5IDEuNXMgZWFzZTtcbn1cbmE6aG92ZXIsIGE6Zm9jdXMsXG5idXR0b246aG92ZXIsXG5idXR0b246Zm9jdXMge1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UsIGJvcmRlci1jb2xvciAwLjFzIGVhc2UsIGJhY2tncm91bmQgMC4xcyBlYXNlLCBvcGFjaXR5IDAuMXMgZWFzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5hW2Rpc2FibGVkXSxcbmJ1dHRvbltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbmJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG5pbWcsXG5ociB7XG4gIGJvcmRlcjogMDtcbn1cblxuZGVsIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gIG9wYWNpdHk6IDAuMjtcbn1cblxuOmZvY3VzOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1saW5rLWNvbG9yKTtcbn1cblxuLm5hdmlnYXRpb24ge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tbmF2LXBhZGRpbmcpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tbmF2LXBhZGRpbmcpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tbmF2LWl0ZW0tc3BhY2UpICogLTEpO1xuICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1uYXYtaXRlbS1zcGFjZSkgKiAtMSk7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5uYXZpZ2F0aW9uIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMjtcbn1cbi5uYXZpZ2F0aW9uIGxpIGEge1xuICBwYWRkaW5nOiAwLjVlbSB2YXIoLS1uYXYtaXRlbS1zcGFjZSk7XG59XG4ubmF2aWdhdGlvbiBsaSBhOmhvdmVyLCAubmF2aWdhdGlvbiBsaSBhOmZvY3VzIHtcbiAgY29sb3I6IHZhcigtLWxpbmstY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jdXJyZW50IGEge1xuICBjb2xvcjogdmFyKC0tbGluay1jb2xvcik7XG59XG5cbmJvZHk6aG92ZXIgLmxhdGVzdCB7XG4gIGNvbG9yOiB2YXIoLS1saW5rLWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG4uY29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDE2dm1pbjtcbn1cbi5jb250ZW50OjpiZWZvcmUsIC5jb250ZW50OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIlwiO1xufVxuLmNvbnRlbnQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4uY29udGVudCBhcnRpY2xlID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLmNvbnRlbnQgYXJ0aWNsZSA+ICo6bGFzdC1jaGlsZCA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi5jb250ZW50IGFydGljbGUgPiAqOmxhc3QtY2hpbGQgPiAqOmxhc3QtY2hpbGQgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4uY29udGVudCBhcnRpY2xlID4gKjpsYXN0LWNoaWxkID4gKjpsYXN0LWNoaWxkID4gKjpsYXN0LWNoaWxkID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLmNvbnRlbnQgLnBvc3QtY29udGVudCA+ICo6Zmlyc3QtY2hpbGQsXG4uY29udGVudCAucGFnZS1jb250ZW50ID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uY29udGVudCAucG9zdC1jb250ZW50ID4gKjpmaXJzdC1jaGlsZCA+ICo6Zmlyc3QtY2hpbGQsXG4uY29udGVudCAucGFnZS1jb250ZW50ID4gKjpmaXJzdC1jaGlsZCA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmNvbnRlbnQgYSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmNvbnRlbnQgYTpoYXMoPiBjb2RlKSB7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tY29kZS1jb2xvcik7XG59XG4uY29udGVudCBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogY2FsYyh2YXIoLS1saW5lLWhlaWdodCkgKiAxLjIpO1xufVxuLmNvbnRlbnQgaGVhZGVyIHtcbiAgLS1oZWFkZXItaGVpZ2h0OiAxMDB2aDtcbiAgLS1zcGFjZS1oZWFkZXI6IHZhcigtLXNwYWNlLWxnKTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogY2FsYyh2YXIoLS1oZWFkZXItaGVpZ2h0KSAtIHZhcigtLW5hdi1wYWRkaW5nKSAqIDQgLSB2YXIoLS1uYXYtaXRlbS1zcGFjZSkgKiA0IC0gMS44ZXgpO1xuICBwYWRkaW5nLXRvcDogMTB2bWluO1xuICBwYWRkaW5nLWJvdHRvbTogMTB2bWluO1xuICBtYXJnaW4tYm90dG9tOiAxNnZtaW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LWNvbG9yLTMpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLWhlYWRlcik7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLWhlYWRlcik7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXNwYWNlLWhlYWRlcikgKiAtMSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1zcGFjZS1oZWFkZXIpICogLTEpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwODBweCkge1xuICAuY29udGVudCBoZWFkZXIge1xuICAgIC0taGVhZGVyLWhlaWdodDogNzB2aDtcbiAgICAtLXNwYWNlLWhlYWRlcjogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmctdG9wOiAxNnZtaW47XG4gICAgcGFkZGluZy1ib3R0b206IDE2dm1pbjtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5jb250ZW50IGhlYWRlciB7XG4gICAgLS1zcGFjZS1oZWFkZXI6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxufVxuLmNvbnRlbnQgaGVhZGVyIGgxIHtcbiAgZm9udC1zaXplOiAzNjAlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWhlYWRpbmctbGV0dGVyLXNwYWNpbmcpO1xuICBtYXJnaW4tbGVmdDogLTJweDtcbiAgaHlwaGVuczogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAuY29udGVudCBoZWFkZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogMjgwJTtcbiAgfVxufVxuLmNvbnRlbnQgaGVhZGVyIGgxIHN2Zyxcbi5jb250ZW50IGhlYWRlciBoMSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjNlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAuY29udGVudCBoZWFkZXIgaDEgc3ZnLFxuICAuY29udGVudCBoZWFkZXIgaDEgaW1nIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG4uY29udGVudCBoZWFkZXIgaDIge1xuICBtYXJnaW46IDEuMnZtaW4gMCAwO1xufVxuLmNvbnRlbnQgaGVhZGVyIC5pbWFnZS10aXRsZSB7XG4gIHRleHQtaW5kZW50OiAtOTk5OTk5cHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuLmNvbnRlbnQgaGVhZGVyIHNtYWxsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDJ2bWluO1xufVxuLmNvbnRlbnQgaDIsXG4uY29udGVudCBoMyxcbi5jb250ZW50IGg0LFxuLmNvbnRlbnQgaDUsXG4uY29udGVudCBoNiB7XG4gIG1hcmdpbjogMTB2bWluIDAgMXJlbTtcbiAgZm9udC1zaXplOiA3MiU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5jb250ZW50IHVsLFxuLmNvbnRlbnQgb2wge1xuICBtYXJnaW4tYm90dG9tOiAxLjhyZW07XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IGxpc3Q7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmNvbnRlbnQgdWwsXG4gIC5jb250ZW50IG9sIHtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICB9XG59XG4uY29udGVudCB1bCBsaSxcbi5jb250ZW50IG9sIGxpIHtcbiAgbGluZS1oZWlnaHQ6IGNhbGModmFyKC0tbGluZS1oZWlnaHQpICogMS4yKTtcbn1cbi5jb250ZW50IHVsIGxpOjpiZWZvcmUsXG4uY29udGVudCBvbCBsaTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB3aWR0aDogNGVtO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogLTRlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG9wYWNpdHk6IDAuNDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uY29udGVudCB1bCBsaSA+IHVsLFxuLmNvbnRlbnQgdWwgbGkgPiBvbCxcbi5jb250ZW50IG9sIGxpID4gdWwsXG4uY29udGVudCBvbCBsaSA+IG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5jb250ZW50IHVsIGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIi1cIjtcbiAgcGFkZGluZy1yaWdodDogMC41ZW07XG59XG4uY29udGVudCBvbCBsaTo6YmVmb3JlIHtcbiAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3Q7XG4gIGNvbnRlbnQ6IGNvdW50ZXIobGlzdCkgXCIuXCI7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVlbTtcbn1cbi5jb250ZW50IGRsIHtcbiAgbGluZS1oZWlnaHQ6IGNhbGModmFyKC0tbGluZS1oZWlnaHQpICogMS4yKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAuY29udGVudCBkbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgfVxufVxuLmNvbnRlbnQgZGwgZHQ6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIGNvbnRlbnQ6IFwiLVwiO1xuICBvcGFjaXR5OiAwLjY7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmNvbnRlbnQgZGwgZGQge1xuICBtYXJnaW4tYm90dG9tOiAxLjhyZW07XG59XG4uY29udGVudCBpbWcsXG4uY29udGVudCB2aWRlbyxcbi5jb250ZW50IGlmcmFtZSxcbi5jb250ZW50IC5icm93c2VyIHtcbiAgLS1zcGFjZS1kZWNvOiB2YXIoLS1zcGFjZS1tZCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogY2FsYygxMDAlICsgdmFyKC0tc3BhY2UtZGVjbykgKiAyKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tc3BhY2UtZGVjbykgKiAtMSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1zcGFjZS1kZWNvKSAqIC0xKTtcbiAgbWFyZ2luLWJvdHRvbTogMS44cmVtO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwODBweCkge1xuICAuY29udGVudCBpbWcsXG4gIC5jb250ZW50IHZpZGVvLFxuICAuY29udGVudCBpZnJhbWUsXG4gIC5jb250ZW50IC5icm93c2VyIHtcbiAgICAtLXNwYWNlLWRlY286IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5jb250ZW50IGltZyxcbiAgLmNvbnRlbnQgdmlkZW8sXG4gIC5jb250ZW50IGlmcmFtZSxcbiAgLmNvbnRlbnQgLmJyb3dzZXIge1xuICAgIC0tc3BhY2UtZGVjbzogdmFyKC0tc3BhY2Utc20pO1xuICB9XG59XG4uY29udGVudCBpbWcuc2l6ZS1maXQsIC5jb250ZW50IGltZy5uby1lbmxhcmdlLFxuLmNvbnRlbnQgdmlkZW8uc2l6ZS1maXQsXG4uY29udGVudCB2aWRlby5uby1lbmxhcmdlLFxuLmNvbnRlbnQgaWZyYW1lLnNpemUtZml0LFxuLmNvbnRlbnQgaWZyYW1lLm5vLWVubGFyZ2UsXG4uY29udGVudCAuYnJvd3Nlci5zaXplLWZpdCxcbi5jb250ZW50IC5icm93c2VyLm5vLWVubGFyZ2Uge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmNvbnRlbnQgaW1nLnNpemUtbGFyZ2UsXG4uY29udGVudCB2aWRlby5zaXplLWxhcmdlLFxuLmNvbnRlbnQgaWZyYW1lLnNpemUtbGFyZ2UsXG4uY29udGVudCAuYnJvd3Nlci5zaXplLWxhcmdlIHtcbiAgLS1zcGFjZS1kZWNvOiB2YXIoLS1zcGFjZS1sZyk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTA4MHB4KSB7XG4gIC5jb250ZW50IGltZy5zaXplLWxhcmdlLFxuICAuY29udGVudCB2aWRlby5zaXplLWxhcmdlLFxuICAuY29udGVudCBpZnJhbWUuc2l6ZS1sYXJnZSxcbiAgLmNvbnRlbnQgLmJyb3dzZXIuc2l6ZS1sYXJnZSB7XG4gICAgLS1zcGFjZS1kZWNvOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAuY29udGVudCBpbWcuc2l6ZS1sYXJnZSxcbiAgLmNvbnRlbnQgdmlkZW8uc2l6ZS1sYXJnZSxcbiAgLmNvbnRlbnQgaWZyYW1lLnNpemUtbGFyZ2UsXG4gIC5jb250ZW50IC5icm93c2VyLnNpemUtbGFyZ2Uge1xuICAgIC0tc3BhY2UtZGVjbzogdmFyKC0tc3BhY2Utc20pO1xuICB9XG59XG4uY29udGVudCBpbWcuc2l6ZS1zbWFsbCxcbi5jb250ZW50IHZpZGVvLnNpemUtc21hbGwsXG4uY29udGVudCBpZnJhbWUuc2l6ZS1zbWFsbCxcbi5jb250ZW50IC5icm93c2VyLnNpemUtc21hbGwge1xuICAtLXNwYWNlLWRlY286IHZhcigtLXNwYWNlLXhzKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgLmNvbnRlbnQgaW1nLnNpemUtc21hbGwsXG4gIC5jb250ZW50IHZpZGVvLnNpemUtc21hbGwsXG4gIC5jb250ZW50IGlmcmFtZS5zaXplLXNtYWxsLFxuICAuY29udGVudCAuYnJvd3Nlci5zaXplLXNtYWxsIHtcbiAgICAtLXNwYWNlLWRlY286IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5jb250ZW50IGltZy5zaXplLXNtYWxsLFxuICAuY29udGVudCB2aWRlby5zaXplLXNtYWxsLFxuICAuY29udGVudCBpZnJhbWUuc2l6ZS1zbWFsbCxcbiAgLmNvbnRlbnQgLmJyb3dzZXIuc2l6ZS1zbWFsbCB7XG4gICAgLS1zcGFjZS1kZWNvOiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbn1cbi5jb250ZW50IGltZy5zaXplLWxlZnQsXG4uY29udGVudCB2aWRlby5zaXplLWxlZnQsXG4uY29udGVudCBpZnJhbWUuc2l6ZS1sZWZ0LFxuLmNvbnRlbnQgLmJyb3dzZXIuc2l6ZS1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1heC13aWR0aDogMzZ2dztcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjZS14cykgLyAyKTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2UteHMpIC8gMik7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTA4MHB4KSB7XG4gIC5jb250ZW50IGltZy5zaXplLWxlZnQsXG4gIC5jb250ZW50IHZpZGVvLnNpemUtbGVmdCxcbiAgLmNvbnRlbnQgaWZyYW1lLnNpemUtbGVmdCxcbiAgLmNvbnRlbnQgLmJyb3dzZXIuc2l6ZS1sZWZ0IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgfVxufVxuLmNvbnRlbnQgaW1nLnNpemUtcmlnaHQsXG4uY29udGVudCB2aWRlby5zaXplLXJpZ2h0LFxuLmNvbnRlbnQgaWZyYW1lLnNpemUtcmlnaHQsXG4uY29udGVudCAuYnJvd3Nlci5zaXplLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXgtd2lkdGg6IDM2dnc7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2UteHMpIC8gMik7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS14cyk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2UteHMpIC8gMik7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTA4MHB4KSB7XG4gIC5jb250ZW50IGltZy5zaXplLXJpZ2h0LFxuICAuY29udGVudCB2aWRlby5zaXplLXJpZ2h0LFxuICAuY29udGVudCBpZnJhbWUuc2l6ZS1yaWdodCxcbiAgLmNvbnRlbnQgLmJyb3dzZXIuc2l6ZS1yaWdodCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgfVxufVxuLmNvbnRlbnQgaW1nLm5vLXJlc2l6ZSwgLmNvbnRlbnQgaW1nLm5vcmVzaXplLCAuY29udGVudCBpbWcuc2l6ZS1vcmlnaW5hbCxcbi5jb250ZW50IHZpZGVvLm5vLXJlc2l6ZSxcbi5jb250ZW50IHZpZGVvLm5vcmVzaXplLFxuLmNvbnRlbnQgdmlkZW8uc2l6ZS1vcmlnaW5hbCxcbi5jb250ZW50IGlmcmFtZS5uby1yZXNpemUsXG4uY29udGVudCBpZnJhbWUubm9yZXNpemUsXG4uY29udGVudCBpZnJhbWUuc2l6ZS1vcmlnaW5hbCxcbi5jb250ZW50IC5icm93c2VyLm5vLXJlc2l6ZSxcbi5jb250ZW50IC5icm93c2VyLm5vcmVzaXplLFxuLmNvbnRlbnQgLmJyb3dzZXIuc2l6ZS1vcmlnaW5hbCB7XG4gIHdpZHRoOiB1bnNldDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogdW5zZXQ7XG4gIG1hcmdpbi1yaWdodDogdW5zZXQ7XG59XG4uY29udGVudCBpbWcubm8tcmVzaXplLmNlbnRlciwgLmNvbnRlbnQgaW1nLm5vcmVzaXplLmNlbnRlciwgLmNvbnRlbnQgaW1nLnNpemUtb3JpZ2luYWwuY2VudGVyLFxuLmNvbnRlbnQgdmlkZW8ubm8tcmVzaXplLmNlbnRlcixcbi5jb250ZW50IHZpZGVvLm5vcmVzaXplLmNlbnRlcixcbi5jb250ZW50IHZpZGVvLnNpemUtb3JpZ2luYWwuY2VudGVyLFxuLmNvbnRlbnQgaWZyYW1lLm5vLXJlc2l6ZS5jZW50ZXIsXG4uY29udGVudCBpZnJhbWUubm9yZXNpemUuY2VudGVyLFxuLmNvbnRlbnQgaWZyYW1lLnNpemUtb3JpZ2luYWwuY2VudGVyLFxuLmNvbnRlbnQgLmJyb3dzZXIubm8tcmVzaXplLmNlbnRlcixcbi5jb250ZW50IC5icm93c2VyLm5vcmVzaXplLmNlbnRlcixcbi5jb250ZW50IC5icm93c2VyLnNpemUtb3JpZ2luYWwuY2VudGVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi5jb250ZW50IGJsb2NrcXVvdGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDIuOHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tc3BhY2UteHMpICogLTEpO1xuICBmb250LXNpemU6IDkwJTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAuY29udGVudCBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuLmNvbnRlbnQgYmxvY2txdW90ZSA+IHAge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci1tZCkgc29saWQ7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLTYwKTtcbiAgcGFkZGluZy1ib3R0b206IDEuNmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmNvbnRlbnQgYmxvY2txdW90ZSA+IHA6bGFzdC1vZi10eXBlIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNGVtO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5jb250ZW50IGJsb2NrcXVvdGUgPiBwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2Utc20pIC0gdmFyKC0tYm9yZGVyLW1kKSk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2Utc20pO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXNwYWNlLXNtKSAqIC0xKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tc3BhY2Utc20pICogLTEpO1xuICB9XG59XG4uY29udGVudCBibG9ja3F1b3RlIGZvb3Rlcjo6YmVmb3JlLCAuY29udGVudCBibG9ja3F1b3RlIGZvb3Rlcjo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCJcIjtcbn1cbi5jb250ZW50IGJsb2NrcXVvdGUgZm9vdGVyOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLmNvbnRlbnQgYmxvY2txdW90ZSBjaXRlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4uY29udGVudCBibG9ja3F1b3RlIGNpdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4pSA4pSAwqBcIjtcbn1cbi5jb250ZW50IGRldGFpbHMge1xuICBtYXJnaW4tYm90dG9tOiAxLjhyZW07XG59XG4uY29udGVudCBkZXRhaWxzIHN1bW1hcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKHZhcigtLWxpbmUtaGVpZ2h0KSAqIDEuMik7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAuY29udGVudCBkZXRhaWxzIHN1bW1hcnkge1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gIH1cbn1cbi5jb250ZW50IGRldGFpbHMgc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uY29udGVudCBkZXRhaWxzIHN1bW1hcnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiK1wiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMWV4O1xuICBsZWZ0OiAtMC41ZW07XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAtMWV4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgb3BhY2l0eTogMC40O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImNhc2VcIjtcbn1cbi5jb250ZW50IGRldGFpbHNbb3Blbl0gc3VtbWFyeTo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuLmNvbnRlbnQgaHI6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogM3B4O1xuICBoZWlnaHQ6IDNweDtcbiAgbWFyZ2luOiAyZW0gYXV0bztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgYm94LXNoYWRvdzogMjRweCAwIDAgMCB2YXIoLS10ZXh0LWNvbG9yKSwgLTI0cHggMCAwIDAgdmFyKC0tdGV4dC1jb2xvcik7XG59XG4uY29udGVudCBzdXAge1xuICBmb250LXNpemU6IDc1JTtcbn1cbi5jb250ZW50IHByZSxcbi5jb250ZW50IGNvZGUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udHN0YWNrLW1vbm9zcGFjZSk7XG4gIGNvbG9yOiB2YXIoLS1jb2RlLWNvbG9yKTtcbn1cbi5jb250ZW50IHByZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvZGUtY29sb3ItNSk7XG59XG4uY29udGVudCBjb2RlIHtcbiAgZm9udC1zaXplOiA5MiU7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG59XG4uY29udGVudCBwcmUsXG4uY29udGVudCAuaGlnaGxpZ2h0ID4gcHJlLFxuLmNvbnRlbnQgLmhpZ2hsaWdodGVyLXJvdWdlIHByZS5oaWdobGlnaHQge1xuICAtLXNwYWNlLWNvZGU6IHZhcigtLXNwYWNlLXhzKTtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXhzKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS1jb2RlKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtY29kZSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXNwYWNlLWNvZGUpICogLTEpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tc3BhY2UtY29kZSkgKiAtMSk7XG4gIG1hcmdpbi1ib3R0b206IDEuOHJlbTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKHZhcigtLWxpbmUtaGVpZ2h0KSAqIDEuMik7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgLmNvbnRlbnQgcHJlLFxuICAuY29udGVudCAuaGlnaGxpZ2h0ID4gcHJlLFxuICAuY29udGVudCAuaGlnaGxpZ2h0ZXItcm91Z2UgcHJlLmhpZ2hsaWdodCB7XG4gICAgLS1zcGFjZS1jb2RlOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAuY29udGVudCBwcmUsXG4gIC5jb250ZW50IC5oaWdobGlnaHQgPiBwcmUsXG4gIC5jb250ZW50IC5oaWdobGlnaHRlci1yb3VnZSBwcmUuaGlnaGxpZ2h0IHtcbiAgICAtLXNwYWNlLWNvZGU6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxufVxuLmNvbnRlbnQgcHJlIGNvZGUsXG4uY29udGVudCAuaGlnaGxpZ2h0ID4gcHJlIGNvZGUsXG4uY29udGVudCAuaGlnaGxpZ2h0ZXItcm91Z2UgcHJlLmhpZ2hsaWdodCBjb2RlIHtcbiAgb3ZlcmZsb3ctd3JhcDogbm9ybWFsO1xufVxuLmNvbnRlbnQgZm9ybSBpbnB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMXZtaW4gMDtcbiAgbWFyZ2luOiAwIDAgMS44cmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGVhc2U7XG59XG4uY29udGVudCBmb3JtIGlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbn1cbi5jb250ZW50IGlucHV0OmZvY3VzOnJlcXVpcmVkOmludmFsaWQ6Zm9jdXMsXG4uY29udGVudCB0ZXh0YXJlYTpmb2N1czpyZXF1aXJlZDppbnZhbGlkOmZvY3VzLFxuLmNvbnRlbnQgc2VsZWN0OmZvY3VzOnJlcXVpcmVkOmludmFsaWQ6Zm9jdXMge1xuICBjb2xvcjogdmFyKC0tbGluay1jb2xvcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbGluay1jb2xvcik7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uY29udGVudCB0YWJsZSB7XG4gIC0tc3BhY2UtdGFibGU6IHZhcigtLXNwYWNlLXhzKTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLXNwYWNlLXRhYmxlKSAqIDIpO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgZm9udC1zaXplOiA5MCU7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXNwYWNlLXRhYmxlKSAqIC0xKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXNwYWNlLXRhYmxlKSAqIC0xKTtcbiAgbWFyZ2luLWJvdHRvbTogMS44cmVtO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwODBweCkge1xuICAuY29udGVudCB0YWJsZSB7XG4gICAgLS1zcGFjZS10YWJsZTogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmNvbnRlbnQgdGFibGUge1xuICAgIC0tc3BhY2UtdGFibGU6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxufVxuLmNvbnRlbnQgdGFibGUgdGgsXG4uY29udGVudCB0YWJsZSB0ZCB7XG4gIC0tc3BhY2UtdGFibGUtY2VsbDogdmFyKC0tc3BhY2UteHMpO1xuICBwYWRkaW5nOiAwLjZlbSB2YXIoLS1zcGFjZS14cyk7XG59XG4uY29udGVudCB0YWJsZSB0aDpmaXJzdC1jaGlsZCxcbi5jb250ZW50IHRhYmxlIHRkOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS10YWJsZS1jZWxsKTtcbn1cbi5jb250ZW50IHRhYmxlIHRoOmxhc3QtY2hpbGQsXG4uY29udGVudCB0YWJsZSB0ZDpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtdGFibGUtY2VsbCk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTA4MHB4KSB7XG4gIC5jb250ZW50IHRhYmxlIHRoLFxuICAuY29udGVudCB0YWJsZSB0ZCB7XG4gICAgLS1zcGFjZS10YWJsZS1jZWxsOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAuY29udGVudCB0YWJsZSB0aCxcbiAgLmNvbnRlbnQgdGFibGUgdGQge1xuICAgIC0tc3BhY2UtdGFibGUtY2VsbDogdmFyKC0tc3BhY2Utc20pO1xuICB9XG59XG4uY29udGVudCB0YWJsZSB0aCB7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci1tZCkgc29saWQgdmFyKC0tdGV4dC1jb2xvci01KTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5jb250ZW50IHRhYmxlIHRkIHtcbiAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXNtKSBzb2xpZCB2YXIoLS10ZXh0LWNvbG9yLTUpO1xufVxuXG46bGFuZyh6aCksXG46bGFuZyhqYSkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuOmxhbmcoemgpIGhlYWRlciwgOmxhbmcoemgpIGhlYWRlciAqLFxuOmxhbmcoamEpIGhlYWRlcixcbjpsYW5nKGphKSBoZWFkZXIgKiB7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xufVxuOmxhbmcoemgpIHJ1YnkgcnQsXG46bGFuZyhqYSkgcnVieSBydCB7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xufVxuXG4ucG9zdC1tb2RpZmllZC1kYXRlIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbkBtZWRpYSBvbmx5IHBlcmN5IHtcbiAgLnBvc3QtbW9kaWZpZWQtZGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ubGFyZ2V0eXBlIHtcbiAgZm9udC1zaXplOiAzNjAlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWhlYWRpbmctbGV0dGVyLXNwYWNpbmcpO1xuICBmb250LXNpemU6IDIwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEuOHJlbSAhaW1wb3J0YW50O1xufVxuXG4uYnJvd3NlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDI0cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwODBweCksIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5icm93c2VyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4uYnJvd3Nlcjo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDhweDtcbiAgbGVmdDogMTBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBiYWNrZ3JvdW5kOiAjZmNkZGRmO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJveC1zaGFkb3c6IDE2cHggMCAwIDAgcmdiYSgyNTQsIDI0MCwgMjAzLCAwLjk2KSwgMzJweCAwIDAgMCByZ2JhKDE3NywgMjQ3LCAxODUsIDAuOTYpLCAwIDAgMCAxcHggcmdiYSgxNTYsIDExLCAyMSwgMC4zKSwgMTZweCAwIDAgMXB4IHJnYmEoMTQ3LCAxMDgsIDQsIDAuMyksIDMycHggMCAwIDFweCByZ2JhKDExLCAxMDcsIDIyLCAwLjMpO1xufVxuLmJyb3dzZXIgaW1nIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuXG4uc2NyZWVuc2hvdC1tYWMge1xuICAtLW9zeC1zaGFkb3ctc2l6ZTogNTZweDtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tb3N4LXNoYWRvdy1zaXplKSAqIC0xKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLW9zeC1zaGFkb3ctc2l6ZSkgKiAtMSk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTA4MHB4KSwgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLnNjcmVlbnNob3QtbWFjIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLm5vdGUsXG4uc3RvcmUsXG4uZG93bmxvYWQge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tc3BhY2UteHMpICogLTEpO1xuICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLW1kKSBzb2xpZCB2YXIoLS1saW5rLWNvbG9yKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAubm90ZSxcbiAgLnN0b3JlLFxuICAuZG93bmxvYWQge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1zcGFjZS1zbSkgLSB2YXIoLS1ib3JkZXItbWQpKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tc3BhY2Utc20pICogLTEpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1zcGFjZS1zbSkgKiAtMSk7XG4gIH1cbn1cblxuLmZvb3Rub3RlcyB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuLmZvb3Rub3Rlczo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAzcHg7XG4gIGhlaWdodDogM3B4O1xuICBtYXJnaW46IDJlbSBhdXRvO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRleHQtY29sb3IpO1xuICBib3gtc2hhZG93OiAyNHB4IDAgMCAwIHZhcigtLXRleHQtY29sb3IpLCAtMjRweCAwIDAgMCB2YXIoLS10ZXh0LWNvbG9yKTtcbn1cblxuOnRhcmdldCBbcmV2PWZvb3Rub3RlXSxcbjp0YXJnZXQgW3JlbD1mb290bm90ZV0sXG46dGFyZ2V0IC5yZXZlcnNlZm9vdG5vdGUsXG46dGFyZ2V0IC5mb290bm90ZSB7XG4gIGNvbG9yOiB2YXIoLS1saW5rLWNvbG9yKTtcbn1cblxuLmxpc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDAgMC40cmVtO1xufVxuLmxpc3QgaDEge1xuICBmb250LXNpemU6IDM2MCU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0taGVhZGluZy1sZXR0ZXItc3BhY2luZyk7XG4gIGZvbnQtc2l6ZTogMjAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgb3BhY2l0eTogMTtcbiAgbWFyZ2luOiAwO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5saXN0IGgxIHtcbiAgICBmb250LXNpemU6IDE4MCU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAubGlzdCAuZXh0ZXJuYWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmV4dGVybmFsIC5kb3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjdyZW07XG4gIGhlaWdodDogMC43cmVtO1xuICBtYXJnaW46IDAgMC4xZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRleHQtY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2U7XG59XG4uZXh0ZXJuYWwgLmRvdC0tcG9zdCB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuLmV4dGVybmFsOmhvdmVyIC5kb3QsIC5leHRlcm5hbDpmb2N1cyAuZG90IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjQpO1xufVxuXG4ub2YtY2FzZSB7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJjYXNlXCI7XG59XG5cbi5mb290ZXIge1xuICBwYWRkaW5nOiAwIDAgMTZ2bWluO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tbmF2LWl0ZW0tc3BhY2UpICogLTEpO1xuICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1uYXYtaXRlbS1zcGFjZSkgKiAtMSk7XG4gIGZvbnQtc2l6ZTogODAlO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xufVxuLmZvb3RlciB1bCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDEuODtcbn1cbi5mb290ZXIgdWwgbGkgYSB7XG4gIHBhZGRpbmc6IDAuNWVtIHZhcigtLW5hdi1pdGVtLXNwYWNlKTtcbn1cblxuLmdpc3Qge1xuICBmb250LXNpemU6IDgwJSAhaW1wb3J0YW50O1xufVxuLmdpc3QgY29kZSwgLmdpc3QgcHJlIHtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmdpc3QgLmdpc3QtZGF0YSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250c3RhY2stbW9ub3NwYWNlKSAhaW1wb3J0YW50O1xufVxuLmdpc3QgLmdpc3QtZGF0YSAuZmlsZS1kYXRhIHtcbiAgZm9udC1zaXplOiAxMDAlICFpbXBvcnRhbnQ7XG59XG4uZ2lzdCAuZ2lzdC1kYXRhIC5maWxlLWRhdGEgPiB0YWJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi5naXN0IC5oaWdobGlnaHQge1xuICBmb250LXNpemU6IDkwJSAhaW1wb3J0YW50O1xufVxuLmdpc3QgLm1hcmtkb3duLWJvZHkge1xuICBmb250LXNpemU6IDEwMCUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMWVtICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCB7XG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICBib2R5IHtcbiAgICBwYWRkaW5nOiAxMG1tICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtc2l6ZSkgKiAxLjM1KTtcbiAgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICAuY29udGVudCBoZWFkZXIge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLmNvbnRlbnQgLnBvc3QtY29udGVudCxcbiAgLmNvbnRlbnQgLnBhZ2UtY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbnRlbnQgLnBvc3QtY29udGVudCBhW2hyZWZdOjphZnRlcixcbiAgLmNvbnRlbnQgLnBhZ2UtY29udGVudCBhW2hyZWZdOjphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbiAgLmNvbnRlbnQgLnBvc3QtY29udGVudCBhW2hyZWZePVwiI1wiXTo6YWZ0ZXIsXG4gIC5jb250ZW50IC5wb3N0LWNvbnRlbnQgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlcixcbiAgLmNvbnRlbnQgLnBhZ2UtY29udGVudCBhW2hyZWZePVwiI1wiXTo6YWZ0ZXIsXG4gIC5jb250ZW50IC5wYWdlLWNvbnRlbnQgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICAuY29udGVudCAucG9zdC1jb250ZW50IGFiYnJbdGl0bGVdOjphZnRlcixcbiAgLmNvbnRlbnQgLnBhZ2UtY29udGVudCBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gIH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgcCxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMztcbiAgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICB9XG4gIC5uYXZpZ2F0aW9uLFxuICAuZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG46cm9vdCB7XG4gIC0tcmRtei1oOiB2YXIoLS1jb2RlLWNvbG9yLWgsIDI1NCk7XG4gIC0tcmRtei1zOiB2YXIoLS1jb2RlLWNvbG9yLXMsIDgwJSk7XG4gIC0tcmRtei1sOiB2YXIoLS1jb2RlLWNvbG9yLWwsIDM5JSk7XG59XG5cbi5oaWdobGlnaHQgPiBwcmUsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgcHJlLmhpZ2hsaWdodCB7XG4gIGJhY2tncm91bmQ6IGhzbGEodmFyKC0tcmRtei1oKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSwgMC4wMyk7XG59XG5cbi5oaWdobGlnaHQgLmVycixcbi5oaWdobGlnaHRlci1yb3VnZSAuZXJyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSh2YXIoLS1yZG16LWgpLCBjYWxjKHZhcigtLXJkbXotcykgKiAyKSwgdmFyKC0tcmRtei1sKSwgMC4xKTtcbn1cbi5oaWdobGlnaHQgLmMsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLmMge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4uaGlnaGxpZ2h0IC5jbSxcbi5oaWdobGlnaHRlci1yb3VnZSAuY20ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4uaGlnaGxpZ2h0IC5jcCxcbi5oaWdobGlnaHRlci1yb3VnZSAuY3Age1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5oaWdobGlnaHQgLmMxLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5jMSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi5oaWdobGlnaHQgLmNzLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5jcyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4uaGlnaGxpZ2h0IC5uYyxcbi5oaWdobGlnaHRlci1yb3VnZSAubmMge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5oaWdobGlnaHQgLm5lLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5uZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmhpZ2hsaWdodCAubmYsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLm5mIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uaGlnaGxpZ2h0IC5vLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5vIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uaGlnaGxpZ2h0IC5vdyxcbi5oaWdobGlnaHRlci1yb3VnZSAub3cge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5oaWdobGlnaHQgLmdzLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5ncyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmhpZ2hsaWdodCAuZ2UsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLmdlIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLmhpZ2hsaWdodCAuayxcbi5oaWdobGlnaHRlci1yb3VnZSAuayB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmhpZ2hsaWdodCAua3QsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLmt0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uaGlnaGxpZ2h0IC5rYyxcbi5oaWdobGlnaHRlci1yb3VnZSAua2Mge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5oaWdobGlnaHQgLmtkLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5rZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmhpZ2hsaWdodCAua3AsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLmtwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uaGlnaGxpZ2h0IC5rcixcbi5oaWdobGlnaHRlci1yb3VnZSAua3Ige1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5oaWdobGlnaHQgcHJlLFxuLmhpZ2hsaWdodCBjb2RlLFxuLmhpZ2hsaWdodGVyLXJvdWdlIHByZSxcbi5oaWdobGlnaHRlci1yb3VnZSBjb2RlIHtcbiAgLS1yZG16LWgtbG9jYWw6IHZhcigtLXJkbXotaCk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5lcnIsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLmVyciB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyA1LjM3MzEzNDMyODQpO1xuICBjb2xvcjogaHNsKHZhcigtLXJkbXotaC1sb2NhbCksIHZhcigtLXJkbXotcyksIHZhcigtLXJkbXotbCkpO1xufVxuLmhpZ2hsaWdodCAueCxcbi5oaWdobGlnaHRlci1yb3VnZSAueCB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAxMC43NDYyNjg2NTY3KTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLm4sXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLm4ge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgMTYuMTE5NDAyOTg1MSk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5uYSxcbi5oaWdobGlnaHRlci1yb3VnZSAubmEge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgMjEuNDkyNTM3MzEzNCk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5uYixcbi5oaWdobGlnaHRlci1yb3VnZSAubmIge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgMjYuODY1NjcxNjQxOCk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5icCxcbi5oaWdobGlnaHRlci1yb3VnZSAuYnAge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgMzIuMjM4ODA1OTcwMSk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5uYyxcbi5oaWdobGlnaHRlci1yb3VnZSAubmMge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgMzcuNjExOTQwMjk4NSk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5ubyxcbi5oaWdobGlnaHRlci1yb3VnZSAubm8ge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgNDIuOTg1MDc0NjI2OSk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5uZCxcbi5oaWdobGlnaHRlci1yb3VnZSAubmQge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgNDguMzU4MjA4OTU1Mik7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5uaSxcbi5oaWdobGlnaHRlci1yb3VnZSAubmkge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgNTMuNzMxMzQzMjgzNik7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5uZSxcbi5oaWdobGlnaHRlci1yb3VnZSAubmUge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgNTkuMTA0NDc3NjExOSk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5uZixcbi5oaWdobGlnaHRlci1yb3VnZSAubmYge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgNjQuNDc3NjExOTQwMyk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5ubCxcbi5oaWdobGlnaHRlci1yb3VnZSAubmwge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgNjkuODUwNzQ2MjY4Nyk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5ubixcbi5oaWdobGlnaHRlci1yb3VnZSAubm4ge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgNzUuMjIzODgwNTk3KTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLm54LFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5ueCB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyA4MC41OTcwMTQ5MjU0KTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLm50LFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5udCB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyA4NS45NzAxNDkyNTM3KTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLm52LFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5udiB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyA5MS4zNDMyODM1ODIxKTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLnZjLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC52YyB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyA5Ni43MTY0MTc5MTA0KTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLnZnLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC52ZyB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAxMDIuMDg5NTUyMjM4OCk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC52aSxcbi5oaWdobGlnaHRlci1yb3VnZSAudmkge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgMTA3LjQ2MjY4NjU2NzIpO1xuICBjb2xvcjogaHNsKHZhcigtLXJkbXotaC1sb2NhbCksIHZhcigtLXJkbXotcyksIHZhcigtLXJkbXotbCkpO1xufVxuLmhpZ2hsaWdodCAuZyxcbi5oaWdobGlnaHRlci1yb3VnZSAuZyB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAxMTIuODM1ODIwODk1NSk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5nZCxcbi5oaWdobGlnaHRlci1yb3VnZSAuZ2Qge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgMTE4LjIwODk1NTIyMzkpO1xuICBjb2xvcjogaHNsKHZhcigtLXJkbXotaC1sb2NhbCksIHZhcigtLXJkbXotcyksIHZhcigtLXJkbXotbCkpO1xufVxuLmhpZ2hsaWdodCAuZ2UsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLmdlIHtcbiAgLS1yZG16LWgtbG9jYWw6IGNhbGModmFyKC0tcmRtei1oKSArIDEyMy41ODIwODk1NTIyKTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLmdyLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5nciB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAxMjguOTU1MjIzODgwNik7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5naCxcbi5oaWdobGlnaHRlci1yb3VnZSAuZ2gge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgMTM0LjMyODM1ODIwOSk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5naSxcbi5oaWdobGlnaHRlci1yb3VnZSAuZ2kge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgMTM5LjcwMTQ5MjUzNzMpO1xuICBjb2xvcjogaHNsKHZhcigtLXJkbXotaC1sb2NhbCksIHZhcigtLXJkbXotcyksIHZhcigtLXJkbXotbCkpO1xufVxuLmhpZ2hsaWdodCAuZ28sXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLmdvIHtcbiAgLS1yZG16LWgtbG9jYWw6IGNhbGModmFyKC0tcmRtei1oKSArIDE0NS4wNzQ2MjY4NjU3KTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLmdwLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5ncCB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAxNTAuNDQ3NzYxMTk0KTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLmdzLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5ncyB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAxNTUuODIwODk1NTIyNCk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5ndSxcbi5oaWdobGlnaHRlci1yb3VnZSAuZ3Uge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgMTYxLjE5NDAyOTg1MDcpO1xuICBjb2xvcjogaHNsKHZhcigtLXJkbXotaC1sb2NhbCksIHZhcigtLXJkbXotcyksIHZhcigtLXJkbXotbCkpO1xufVxuLmhpZ2hsaWdodCAuZ3QsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLmd0IHtcbiAgLS1yZG16LWgtbG9jYWw6IGNhbGModmFyKC0tcmRtei1oKSArIDE2Ni41NjcxNjQxNzkxKTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLmdsLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5nbCB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAxNzEuOTQwMjk4NTA3NSk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5rLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5rIHtcbiAgLS1yZG16LWgtbG9jYWw6IGNhbGModmFyKC0tcmRtei1oKSArIDE3Ny4zMTM0MzI4MzU4KTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLmtjLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5rYyB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAxODIuNjg2NTY3MTY0Mik7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5rZCxcbi5oaWdobGlnaHRlci1yb3VnZSAua2Qge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgMTg4LjA1OTcwMTQ5MjUpO1xuICBjb2xvcjogaHNsKHZhcigtLXJkbXotaC1sb2NhbCksIHZhcigtLXJkbXotcyksIHZhcigtLXJkbXotbCkpO1xufVxuLmhpZ2hsaWdodCAua24sXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLmtuIHtcbiAgLS1yZG16LWgtbG9jYWw6IGNhbGModmFyKC0tcmRtei1oKSArIDE5My40MzI4MzU4MjA5KTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLmtwLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5rcCB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAxOTguODA1OTcwMTQ5Myk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5rcixcbi5oaWdobGlnaHRlci1yb3VnZSAua3Ige1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgMjA0LjE3OTEwNDQ3NzYpO1xuICBjb2xvcjogaHNsKHZhcigtLXJkbXotaC1sb2NhbCksIHZhcigtLXJkbXotcyksIHZhcigtLXJkbXotbCkpO1xufVxuLmhpZ2hsaWdodCAua3QsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLmt0IHtcbiAgLS1yZG16LWgtbG9jYWw6IGNhbGModmFyKC0tcmRtei1oKSArIDIwOS41NTIyMzg4MDYpO1xuICBjb2xvcjogaHNsKHZhcigtLXJkbXotaC1sb2NhbCksIHZhcigtLXJkbXotcyksIHZhcigtLXJkbXotbCkpO1xufVxuLmhpZ2hsaWdodCAua3YsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLmt2IHtcbiAgLS1yZG16LWgtbG9jYWw6IGNhbGModmFyKC0tcmRtei1oKSArIDIxNC45MjUzNzMxMzQzKTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLncsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLncge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgMjIwLjI5ODUwNzQ2MjcpO1xuICBjb2xvcjogaHNsKHZhcigtLXJkbXotaC1sb2NhbCksIHZhcigtLXJkbXotcyksIHZhcigtLXJkbXotbCkpO1xufVxuLmhpZ2hsaWdodCAubCxcbi5oaWdobGlnaHRlci1yb3VnZSAubCB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAyMjUuNjcxNjQxNzkxKTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLmxkLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5sZCB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAyMzEuMDQ0Nzc2MTE5NCk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5zLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5zIHtcbiAgLS1yZG16LWgtbG9jYWw6IGNhbGModmFyKC0tcmRtei1oKSArIDIzNi40MTc5MTA0NDc4KTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLnNiLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5zYiB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAyNDEuNzkxMDQ0Nzc2MSk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5zYyxcbi5oaWdobGlnaHRlci1yb3VnZSAuc2Mge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgMjQ3LjE2NDE3OTEwNDUpO1xuICBjb2xvcjogaHNsKHZhcigtLXJkbXotaC1sb2NhbCksIHZhcigtLXJkbXotcyksIHZhcigtLXJkbXotbCkpO1xufVxuLmhpZ2hsaWdodCAuc2QsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLnNkIHtcbiAgLS1yZG16LWgtbG9jYWw6IGNhbGModmFyKC0tcmRtei1oKSArIDI1Mi41MzczMTM0MzI4KTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLnMyLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5zMiB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAyNTcuOTEwNDQ3NzYxMik7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5zZSxcbi5oaWdobGlnaHRlci1yb3VnZSAuc2Uge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgMjYzLjI4MzU4MjA4OTYpO1xuICBjb2xvcjogaHNsKHZhcigtLXJkbXotaC1sb2NhbCksIHZhcigtLXJkbXotcyksIHZhcigtLXJkbXotbCkpO1xufVxuLmhpZ2hsaWdodCAuc2gsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLnNoIHtcbiAgLS1yZG16LWgtbG9jYWw6IGNhbGModmFyKC0tcmRtei1oKSArIDI2OC42NTY3MTY0MTc5KTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLnNpLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5zaSB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAyNzQuMDI5ODUwNzQ2Myk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5zeCxcbi5oaWdobGlnaHRlci1yb3VnZSAuc3gge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgMjc5LjQwMjk4NTA3NDYpO1xuICBjb2xvcjogaHNsKHZhcigtLXJkbXotaC1sb2NhbCksIHZhcigtLXJkbXotcyksIHZhcigtLXJkbXotbCkpO1xufVxuLmhpZ2hsaWdodCAuc3IsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLnNyIHtcbiAgLS1yZG16LWgtbG9jYWw6IGNhbGModmFyKC0tcmRtei1oKSArIDI4NC43NzYxMTk0MDMpO1xuICBjb2xvcjogaHNsKHZhcigtLXJkbXotaC1sb2NhbCksIHZhcigtLXJkbXotcyksIHZhcigtLXJkbXotbCkpO1xufVxuLmhpZ2hsaWdodCAuczEsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLnMxIHtcbiAgLS1yZG16LWgtbG9jYWw6IGNhbGModmFyKC0tcmRtei1oKSArIDI5MC4xNDkyNTM3MzEzKTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLnNzLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5zcyB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAyOTUuNTIyMzg4MDU5Nyk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5tLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5tIHtcbiAgLS1yZG16LWgtbG9jYWw6IGNhbGModmFyKC0tcmRtei1oKSArIDMwMC44OTU1MjIzODgxKTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLm1mLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5tZiB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAzMDYuMjY4NjU2NzE2NCk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5taCxcbi5oaWdobGlnaHRlci1yb3VnZSAubWgge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgMzExLjY0MTc5MTA0NDgpO1xuICBjb2xvcjogaHNsKHZhcigtLXJkbXotaC1sb2NhbCksIHZhcigtLXJkbXotcyksIHZhcigtLXJkbXotbCkpO1xufVxuLmhpZ2hsaWdodCAubWksXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLm1pIHtcbiAgLS1yZG16LWgtbG9jYWw6IGNhbGModmFyKC0tcmRtei1oKSArIDMxNy4wMTQ5MjUzNzMxKTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLmlsLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5pbCB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAzMjIuMzg4MDU5NzAxNSk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5tbyxcbi5oaWdobGlnaHRlci1yb3VnZSAubW8ge1xuICAtLXJkbXotaC1sb2NhbDogY2FsYyh2YXIoLS1yZG16LWgpICsgMzI3Ljc2MTE5NDAyOTkpO1xuICBjb2xvcjogaHNsKHZhcigtLXJkbXotaC1sb2NhbCksIHZhcigtLXJkbXotcyksIHZhcigtLXJkbXotbCkpO1xufVxuLmhpZ2hsaWdodCAubWIsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLm1iIHtcbiAgLS1yZG16LWgtbG9jYWw6IGNhbGModmFyKC0tcmRtei1oKSArIDMzMy4xMzQzMjgzNTgyKTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLm14LFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5teCB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAzMzguNTA3NDYyNjg2Nik7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5vLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5vIHtcbiAgLS1yZG16LWgtbG9jYWw6IGNhbGModmFyKC0tcmRtei1oKSArIDM0My44ODA1OTcwMTQ5KTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLm93LFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5vdyB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAzNDkuMjUzNzMxMzQzMyk7XG4gIGNvbG9yOiBoc2wodmFyKC0tcmRtei1oLWxvY2FsKSwgdmFyKC0tcmRtei1zKSwgdmFyKC0tcmRtei1sKSk7XG59XG4uaGlnaGxpZ2h0IC5wLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5wIHtcbiAgLS1yZG16LWgtbG9jYWw6IGNhbGModmFyKC0tcmRtei1oKSArIDM1NC42MjY4NjU2NzE2KTtcbiAgY29sb3I6IGhzbCh2YXIoLS1yZG16LWgtbG9jYWwpLCB2YXIoLS1yZG16LXMpLCB2YXIoLS1yZG16LWwpKTtcbn1cbi5oaWdobGlnaHQgLnBpLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5waSB7XG4gIC0tcmRtei1oLWxvY2FsOiBjYWxjKHZhcigtLXJkbXotaCkgKyAzNjApO1xuICBjb2xvcjogaHNsKHZhcigtLXJkbXotaC1sb2NhbCksIHZhcigtLXJkbXotcyksIHZhcigtLXJkbXotbCkpO1xufVxuLmhpZ2hsaWdodCAuZ2QsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLmdkIHtcbiAgLS1yZG16LWgtbG9jYWw6IDEwO1xufVxuLmhpZ2hsaWdodCAuZ2ksXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLmdpIHtcbiAgLS1yZG16LWgtbG9jYWw6IDE1MDtcbn1cbi5oaWdobGlnaHQgLmMsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLmMge1xuICBjb2xvcjogaHNsYShjYWxjKHZhcigtLXJkbXotaCkgKyA1LjM3MzEzNDMyODQpLCBjYWxjKHZhcigtLXJkbXotcykgKiAwLjcpLCB2YXIoLS1yZG16LWwpLCAwLjYpO1xufVxuLmhpZ2hsaWdodCAuY2QsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLmNkIHtcbiAgY29sb3I6IGhzbGEoY2FsYyh2YXIoLS1yZG16LWgpICsgMTAuNzQ2MjY4NjU2NyksIGNhbGModmFyKC0tcmRtei1zKSAqIDAuNyksIHZhcigtLXJkbXotbCksIDAuNik7XG59XG4uaGlnaGxpZ2h0IC5jbSxcbi5oaWdobGlnaHRlci1yb3VnZSAuY20ge1xuICBjb2xvcjogaHNsYShjYWxjKHZhcigtLXJkbXotaCkgKyAxNi4xMTk0MDI5ODUxKSwgY2FsYyh2YXIoLS1yZG16LXMpICogMC43KSwgdmFyKC0tcmRtei1sKSwgMC42KTtcbn1cbi5oaWdobGlnaHQgLmNwLFxuLmhpZ2hsaWdodGVyLXJvdWdlIC5jcCB7XG4gIGNvbG9yOiBoc2xhKGNhbGModmFyKC0tcmRtei1oKSArIDIxLjQ5MjUzNzMxMzQpLCBjYWxjKHZhcigtLXJkbXotcykgKiAwLjcpLCB2YXIoLS1yZG16LWwpLCAwLjYpO1xufVxuLmhpZ2hsaWdodCAuYzEsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgLmMxIHtcbiAgY29sb3I6IGhzbGEoY2FsYyh2YXIoLS1yZG16LWgpICsgMjYuODY1NjcxNjQxOCksIGNhbGModmFyKC0tcmRtei1zKSAqIDAuNyksIHZhcigtLXJkbXotbCksIDAuNik7XG59XG4uaGlnaGxpZ2h0IC5jcyxcbi5oaWdobGlnaHRlci1yb3VnZSAuY3Mge1xuICBjb2xvcjogaHNsYShjYWxjKHZhcigtLXJkbXotaCkgKyAzMi4yMzg4MDU5NzAxKSwgY2FsYyh2YXIoLS1yZG16LXMpICogMC43KSwgdmFyKC0tcmRtei1sKSwgMC42KTtcbn1cbi5oaWdobGlnaHQgdGFibGUsXG4uaGlnaGxpZ2h0IHRhYmxlIHRoLFxuLmhpZ2hsaWdodCB0YWJsZSB0ZCxcbi5oaWdobGlnaHQgdGFibGUgdGQgcHJlLFxuLmhpZ2hsaWdodGVyLXJvdWdlIHRhYmxlLFxuLmhpZ2hsaWdodGVyLXJvdWdlIHRhYmxlIHRoLFxuLmhpZ2hsaWdodGVyLXJvdWdlIHRhYmxlIHRkLFxuLmhpZ2hsaWdodGVyLXJvdWdlIHRhYmxlIHRkIHByZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAxMDAlO1xufVxuLmhpZ2hsaWdodCB0YWJsZSBwcmUsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgdGFibGUgcHJlIHtcbiAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbn1cbi5oaWdobGlnaHQgdGFibGUgLmd1dHRlcjpmaXJzdC1jaGlsZCwgLmhpZ2hsaWdodCB0YWJsZSAuZ3V0dGVyOmxhc3QtY2hpbGQsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgdGFibGUgLmd1dHRlcjpmaXJzdC1jaGlsZCxcbi5oaWdobGlnaHRlci1yb3VnZSB0YWJsZSAuZ3V0dGVyOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG4uaGlnaGxpZ2h0IHRhYmxlIC5ndXR0ZXIgLmxpbmVubyxcbi5oaWdobGlnaHRlci1yb3VnZSB0YWJsZSAuZ3V0dGVyIC5saW5lbm8ge1xuICBjb2xvcjogaHNsYSh2YXIoLS1yZG16LWgpLCBjYWxjKHZhcigtLXJkbXotcykgKiAwLjQpLCB2YXIoLS1yZG16LWwpLCAwLjQpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5oaWdobGlnaHQgdGFibGUgLmNvZGUsXG4uaGlnaGxpZ2h0ZXItcm91Z2UgdGFibGUgLmNvZGUge1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbn1cblxuOnJvb3Qge1xuICAtLWNvZGUtY29sb3ItaDogY2FsYyh2YXIoLS1saW5rLWNvbG9yLWgpICsgMTApO1xuICAtLWNvZGUtY29sb3ItczogY2FsYyh2YXIoLS1saW5rLWNvbG9yLXMpICogLjIgKyA0MCUpO1xufVxuXG4uY29udGVudCAuc3ViLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxMDglO1xuICBvcGFjaXR5OiAwLjg7XG59Il19 */