/* node_modules/@knadh/oat/oat.min.css */
@layer theme, base, components, animations, utilities;
@layer base {
  *,
  *:before,
  *:after {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
  }
  * {
    margin: 0;
  }
  html {
    tab-size: 4;
  }
  body,
  dialog,
  [popover] {
    font-family: var(--font-sans);
    font-size: var(--text-regular);
    line-height: var(--leading-normal);
    color: var(--foreground);
  }
  body {
    background-color: var(--background);
    color: var(--foreground);
    -webkit-font-smoothing: antialiased;
  }
  img,
  picture,
  video,
  canvas,
  svg {
    max-width: 100%;
  }
  p,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    overflow-wrap: break-word;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-weight: var(--font-semibold);
    line-height: 1.25;
    &:first-child {
      margin-block-start: 0;
    }
  }
  h1 {
    font-size: var(--text-1);
    margin: var(--space-10) 0 var(--space-6);
  }
  h2 {
    font-size: var(--text-2);
    margin: var(--space-8) 0 var(--space-5);
  }
  h3 {
    font-size: var(--text-3);
    margin: var(--space-6) 0 var(--space-4);
  }
  h4 {
    font-size: var(--text-4);
    margin: var(--space-5) 0 var(--space-3);
  }
  h5 {
    font-size: var(--text-5);
    margin: var(--space-4) 0 var(--space-2);
  }
  h6 {
    font-size: var(--text-regular);
    margin: var(--space-4) 0 var(--space-2);
  }
  p {
    margin-block-end: var(--space-4);
    &:last-child {
      margin-block-end: 0;
    }
  }
  a {
    color: var(--primary);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color var(--transition-fast);
    &:hover {
      color: rgb(from var(--primary) r g b / .8);
    }
  }
  strong,
  b {
    font-weight: var(--font-semibold);
  }
  em,
  i {
    font-style: italic;
  }
  small {
    font-size: var(--text-7);
  }
  code {
    font-family: var(--font-mono);
    font-size: .875em;
    padding: calc(var(--space-1) / 2) var(--space-1);
    background-color: var(--faint);
    border-radius: var(--radius-small);
  }
  pre {
    font-family: var(--font-mono);
    padding: var(--space-4);
    background-color: var(--faint);
    border-radius: var(--radius-medium);
    overflow-x: auto;
    margin-block-end: var(--space-4);
    code {
      padding: 0;
      background: none;
      border-radius: 0;
    }
  }
  blockquote {
    border-inline-start: 4px solid var(--border);
    padding-inline-start: var(--space-4);
    margin: var(--space-4) 0;
    color: var(--muted-foreground);
    font-style: italic;
  }
  hr {
    border: none;
    border-top: 1px solid var(--border);
    margin: var(--space-2) 0;
  }
  ul,
  ol {
    padding-inline-start: var(--space-6);
    margin-block-end: var(--space-4);
  }
  ul {
    list-style-type: disc;
  }
  ol {
    list-style-type: decimal;
  }
  li {
    margin-block-end: var(--space-1);
  }
  mark {
    background-color: rgb(from var(--warning) r g b / .3);
    padding: calc(var(--space-1) / 2) var(--space-1);
    border-radius: var(--radius-small);
  }
  [hidden] {
    display: none;
  }
  :focus-visible {
    outline: 2px solid var(--ring);
    outline-offset: 2px;
  }
  :disabled {
    opacity: .5;
    cursor: not-allowed;
  }
}
@layer theme {
  :root {
    color-scheme: light dark;
    --background: light-dark(#fff, #09090b);
    --foreground: light-dark(#09090b, #fafafa);
    --card: light-dark(#fff, #18181b);
    --card-foreground: light-dark(#09090b, #fafafa);
    --primary: light-dark(#574747, #fafafa);
    --primary-foreground: light-dark(#fafafa, #18181b);
    --secondary: light-dark(#f4f4f5, #27272a);
    --secondary-foreground: light-dark(#574747, #fafafa);
    --muted: light-dark(#f4f4f5, #27272a);
    --muted-foreground: light-dark(#71717a, #a1a1aa);
    --faint: light-dark(#fafafa, #1e1e21);
    --faint-foreground: light-dark(#a1a1aa, #71717a);
    --accent: light-dark(#f4f4f5, #27272a);
    --danger: light-dark(#d32f2f, #f4807b);
    --danger-foreground: light-dark(#fafafa, #18181b);
    --success: light-dark(#008032, #6cc070);
    --success-foreground: light-dark(#fafafa, #18181b);
    --warning: light-dark(#a65b00, #f0a030);
    --warning-foreground: #09090b;
    --border: light-dark(#d4d4d8, #52525b);
    --input: light-dark(#d4d4d8, #52525b);
    --ring: light-dark(#574747, #d4d4d8);
    --space-1: .25rem;
    --space-2: .5rem;
    --space-3: .75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-14: 3.5rem;
    --space-16: 4rem;
    --space-18: 4.5rem;
    --radius-small: .125rem;
    --radius-medium: .375rem;
    --radius-large: .75rem;
    --radius-full: 9999px;
    --bar-height: .5rem;
    --font-sans: system-ui, sans-serif;
    --font-mono:
      ui-monospace,
      Consolas,
      monospace;
    --text-1: clamp(1.75rem, 1.5rem + 1.1vw, 2.25rem);
    --text-2: clamp(1.5rem, 1.3rem + .8vw, 1.875rem);
    --text-3: clamp(1.25rem, 1.1rem + .5vw, 1.5rem);
    --text-4: clamp(1.125rem, 1.05rem + .3vw, 1.25rem);
    --text-5: 1.125rem;
    --text-6: 1rem;
    --text-7: .875rem;
    --text-8: .75rem;
    --text-regular: var(--text-6);
    --leading-normal: 1.5;
    --font-normal: 400;
    --font-medium: 500;
    --font-semibold: 600;
    --font-bold: 600;
    --shadow-small: 0 1px 2px 0 rgb(0 0 0 / .05);
    --shadow-medium: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);
    --shadow-large: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
    --transition-fast: .12s cubic-bezier(.4, 0, .2, 1);
    --transition: .2s cubic-bezier(.4, 0, .2, 1);
    --z-dropdown: 50;
    --z-modal: 200;
  }
}
@layer animations {
  .animate-pop-in {
    opacity: 1;
    transform: perspective(1000px) rotateX(0) translateZ(0);
    transition:
      opacity .15s cubic-bezier(.4, 0, .2, 1),
      transform .15s cubic-bezier(.4, 0, .2, 1),
      overlay .15s cubic-bezier(.4, 0, .2, 1) allow-discrete,
      display .15s cubic-bezier(.4, 0, .2, 1) allow-discrete;
    @starting-style {
      opacity: 0;
      transform: perspective(1000px) rotateX(-15deg) translateZ(-80px);
    }
    &[data-state=closing] {
      opacity: 0;
      transform: perspective(1000px) rotateX(-15deg) translateZ(-80px);
    }
    &[data-state=closing]::backdrop {
      opacity: 0;
    }
  }
  dialog::backdrop {
    opacity: 1;
    transition: opacity .15s cubic-bezier(.4, 0, .2, 1);
    @starting-style {
      opacity: 0;
    }
  }
  .animate-slide-in {
    opacity: 1;
    transform: translate(0);
    transition: opacity .15s cubic-bezier(.16, 1, .3, 1), transform .15s cubic-bezier(.16, 1, .3, 1);
    @starting-style {
      opacity: 0;
      transform: translate(100%);
    }
    &[data-state=closing] {
      opacity: 0;
      transform: translate(100%);
    }
  }
}
@layer base {
  :is(button, [type=submit], [type=reset], [type=button], a.button),
  ::file-selector-button {
    --_hov: color-mix(in srgb, var(--primary), white 25%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    font-size: var(--text-7);
    font-weight: var(--font-medium);
    line-height: var(--leading-normal);
    white-space: nowrap;
    text-decoration: none;
    background-color: var(--primary);
    color: var(--primary-foreground);
    border-radius: var(--radius-medium);
    border: 1px solid;
    border-color: rgb(from #fff r g b / .15) rgb(from #000 r g b / .2) rgb(from #000 r g b / .2) rgb(from #fff r g b / .15);
    transition:
      background-color var(--transition-fast),
      opacity var(--transition-fast),
      transform var(--transition-fast);
    &:not(:disabled) {
      cursor: pointer;
    }
    &:hover:not(:disabled) {
      background-color: var(--_hov);
    }
    &:active:not(:disabled) {
      transform: translate(1px, 1px);
    }
    &[data-variant=secondary] {
      --_hov: color-mix(in srgb, var(--secondary), black 10%);
      background-color: var(--secondary);
      color: var(--secondary-foreground);
      border-color: rgb(from #fff r g b / .5) rgb(from #000 r g b / .1) rgb(from #000 r g b / .1) rgb(from #fff r g b / .5);
    }
    &[data-variant=danger] {
      --_hov: color-mix(in srgb, var(--danger), black 15%);
      background-color: var(--danger);
      color: var(--danger-foreground);
    }
    &:is(.outline, .ghost) {
      --_hov: var(--accent);
      background-color: transparent;
      color: var(--foreground);
      &[data-variant=danger] {
        --_hov: color-mix(in srgb, var(--danger), transparent 90%);
        color: var(--danger);
      }
      &[data-variant=secondary] {
        --_hov: color-mix(in srgb, var(--secondary), transparent 80%);
        color: var(--secondary-foreground);
      }
    }
    &.outline {
      border-color: var(--border);
      &[data-variant=danger] {
        border-color: var(--danger);
      }
      &[data-variant=secondary] {
        border-color: var(--secondary);
      }
    }
    &.ghost {
      border-color: transparent;
    }
    &.small {
      padding: var(--space-1) var(--space-3);
      font-size: var(--text-8);
    }
    &.large {
      height: 3rem;
      padding: 0 var(--space-6);
      font-size: var(--text-regular);
    }
    &.icon {
      width: 2.5rem;
      padding: 0;
      &.small {
        width: 2rem;
      }
      &.large {
        width: 3rem;
      }
    }
  }
  ::file-selector-button {
    background-color: transparent;
    color: var(--foreground);
    border: 1px solid var(--border);
  }
  ::file-selector-button:hover {
    background-color: var(--accent);
  }
}
@layer components {
  menu.buttons {
    list-style-type: none;
    padding-inline-start: 0;
    display: inline-flex;
    > li {
      &:first-child > * {
        border-start-start-radius: var(--radius-medium);
        border-end-start-radius: var(--radius-medium);
      }
      &:last-child > * {
        border-start-end-radius: var(--radius-medium);
        border-end-end-radius: var(--radius-medium);
      }
      > * {
        border-radius: 0;
      }
      &:not(:last-child) > * {
        border-inline-end: 1px solid rgb(from var(--primary-foreground) r g b / .2);
      }
    }
  }
}
@layer base {
  label {
    display: block;
    font-size: var(--text-7);
    font-weight: var(--font-medium);
    &:has(input:where([type=checkbox], [type=radio])) {
      display: inline-flex;
      align-items: center;
      gap: var(--space-2);
      font-weight: var(--font-normal);
    }
  }
  :where(input:not([type=checkbox], [type=radio], [type=range], [type=file], [type=color]), textarea, select) {
    width: 100%;
    margin-block-start: var(--space-1);
    padding: var(--space-2) var(--space-3);
    font-size: var(--text-7);
    line-height: var(--leading-normal);
    background-color: var(--background);
    color: var(--foreground);
    border: 1px solid var(--input);
    border-radius: var(--radius-medium);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
    &::placeholder {
      color: var(--muted-foreground);
    }
    &:focus {
      outline: none;
      border-color: var(--ring);
      box-shadow: 0 0 0 2px rgb(from var(--ring) r g b / .2);
      z-index: 1;
    }
    &:disabled {
      background-color: var(--muted);
    }
    &:is([aria-invalid=true], :user-invalid) {
      border-color: var(--danger);
      &:focus {
        box-shadow: 0 0 0 2px rgb(from var(--danger) r g b / .2);
      }
    }
  }
  textarea {
    height: auto;
    min-height: 5rem;
    padding: var(--space-3);
    resize: vertical;
  }
  select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right var(--space-2) center;
    padding-inline-end: var(--space-6);
  }
  input:where([type=checkbox], [type=radio]) {
    appearance: none;
    width: 1rem;
    height: 1rem;
    margin: 0;
    position: relative;
    background-color: var(--background);
    border: 1px solid var(--input);
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
    &:checked {
      background-color: var(--primary);
      border-color: var(--primary);
      &:after {
        content: "";
        position: absolute;
        inset: 0;
        background-color: var(--primary-foreground);
        mask-position: center;
        mask-repeat: no-repeat;
        mask-size: 100%;
      }
    }
  }
  input[type=checkbox] {
    border-radius: var(--radius-small);
    &:checked:after {
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='4'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
    }
    &[role=switch] {
      --switch-height: calc(var(--bar-height) * 3);
      --switch-inset: 2px;
      --switch-thumb: calc(var(--switch-height) - var(--switch-inset) * 3);
      width: calc(var(--switch-height) * 2);
      height: var(--switch-height);
      border-radius: var(--radius-full);
      background-color: var(--input);
      &:before {
        content: "";
        position: absolute;
        top: 50%;
        left: var(--switch-inset);
        transform: translateY(-50%);
        width: var(--switch-thumb);
        height: var(--switch-thumb);
        background-color: var(--background);
        border-radius: var(--radius-full);
        transition: transform var(--transition);
        box-shadow: var(--shadow-small);
      }
      &:checked {
        background-color: var(--primary);
        &:after {
          content: none;
        }
        &:before {
          transform: translateY(-50%) translate(var(--switch-height));
        }
      }
    }
  }
  input[type=radio] {
    border-radius: var(--radius-full);
    &:checked:after {
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='4' fill='currentColor'/%3E%3C/svg%3E");
    }
  }
  :where(input:where([type=checkbox], [type=radio], [type=range]), select):not(:disabled),
  label:has(input:where([type=checkbox], [type=radio]):not(:disabled)) {
    cursor: pointer;
  }
  input[type=range] {
    width: 100%;
    height: var(--bar-height);
    appearance: none;
    background: var(--muted);
    border-radius: var(--radius-full);
    &::-webkit-slider-thumb {
      appearance: none;
      width: 1.25rem;
      height: 1.25rem;
      background: var(--primary);
      border-radius: var(--radius-full);
      transition: transform var(--transition-fast);
      &:hover {
        transform: scale(1.1);
      }
    }
    &::-moz-range-thumb {
      width: 1.25rem;
      height: 1.25rem;
      background: var(--primary);
      border: none;
      border-radius: var(--radius-full);
    }
  }
  fieldset {
    border: 1px solid var(--border);
    border-radius: var(--radius-medium);
    padding: var(--space-4);
    margin-block-end: var(--space-4);
  }
  legend {
    font-size: var(--text-7);
    font-weight: var(--font-medium);
    padding: 0 var(--space-2);
  }
}
@layer components {
  fieldset.group {
    display: flex;
    align-items: stretch;
    border: none;
    padding: 0;
    margin: 0;
    > :is(input, textarea, select) {
      flex: 1;
      margin-block-start: 0;
      &:not(:focus) {
        border-inline-end-color: transparent;
      }
    }
    > :is(input, textarea, select, button) {
      border-radius: 0;
      &:first-child {
        border-radius: var(--radius-medium) 0 0 var(--radius-medium);
      }
      &:last-child {
        border-radius: 0 var(--radius-medium) var(--radius-medium) 0;
      }
    }
    > legend {
      float: inline-start;
      display: inline-flex;
      align-items: center;
      padding: 0 var(--space-3);
      line-height: var(--leading-normal);
      font-weight: var(--font-normal);
      color: var(--muted-foreground);
      background-color: var(--muted);
      border: 1px solid var(--input);
      border-inline-end: none;
      border-radius: var(--radius-medium) 0 0 var(--radius-medium);
    }
  }
  [data-field] {
    margin-block-end: var(--space-4);
    [data-hint],
    .error {
      font-size: var(--text-8);
      font-weight: var(--font-normal);
      color: var(--muted-foreground);
      margin-block-start: var(--space-1);
    }
    .error {
      display: none;
    }
    &[data-field=error] .error {
      display: block;
      color: var(--danger);
    }
  }
}
@layer base {
  table {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
    font-size: var(--text-7);
  }
  thead {
    border-bottom: 1px solid var(--border);
  }
  th,
  td {
    overflow-wrap: break-word;
  }
  th {
    padding: var(--space-3) var(--space-2);
    text-align: start;
    font-weight: var(--font-medium);
    color: var(--muted-foreground);
  }
  td {
    padding: var(--space-3) var(--space-2);
  }
  tbody tr {
    border-bottom: 1px solid var(--border);
    transition: background-color var(--transition-fast);
    &:last-child {
      border-bottom: none;
    }
    &:hover {
      background-color: rgb(from var(--muted) r g b / .5);
    }
  }
}
@layer base {
  progress {
    appearance: none;
    width: 100%;
    height: var(--bar-height);
    border: none;
    border-radius: var(--radius-full);
    overflow: hidden;
    background-color: var(--muted);
    &::-webkit-progress-bar {
      background-color: var(--muted);
      border-radius: var(--radius-full);
    }
    &::-webkit-progress-value {
      background-color: var(--primary);
      border-radius: var(--radius-full);
      transition: width var(--transition);
    }
    &::-moz-progress-bar {
      background-color: var(--primary);
      border-radius: var(--radius-full);
    }
  }
  meter {
    appearance: none;
    width: 100%;
    height: var(--bar-height);
    border: none;
    border-radius: var(--radius-full);
    overflow: hidden;
    background: var(--muted);
    &::-webkit-meter-bar {
      background: var(--muted);
      border: none;
      border-radius: var(--radius-full);
      height: var(--bar-height);
    }
    &::-webkit-meter-optimum-value,
    &::-webkit-meter-suboptimum-value,
    &::-webkit-meter-even-less-good-value {
      border-radius: var(--radius-full);
    }
    &::-webkit-meter-optimum-value {
      background: var(--success);
    }
    &::-webkit-meter-suboptimum-value {
      background: var(--warning);
    }
    &::-webkit-meter-even-less-good-value {
      background: var(--danger);
    }
    &::-moz-meter-bar {
      background: var(--success);
      border-radius: var(--radius-full);
    }
    &:-moz-meter-sub-optimum::-moz-meter-bar {
      background: var(--warning);
    }
    &:-moz-meter-sub-sub-optimum::-moz-meter-bar {
      background: var(--danger);
    }
  }
}
@layer components {
  [aria-busy=true] {
    &:before {
      content: "";
      display: inline-block;
      inset: 0;
      margin: auto;
      width: 1.5rem;
      height: 1.5rem;
      border: 2px solid var(--muted);
      border-top-color: var(--primary);
      border-radius: var(--radius-full);
      animation: spin 1s linear infinite;
      text-align: center;
    }
    &[data-spinner~=small]:before {
      width: 1rem;
      height: 1rem;
    }
    &[data-spinner~=large]:before {
      width: 2rem;
      height: 2rem;
      border-width: 3px;
    }
    &[data-spinner~=overlay] {
      position: relative;
      > * {
        opacity: .3;
        pointer-events: none;
      }
      &:before {
        position: absolute;
        inset: 0;
        margin: auto;
        z-index: 1;
      }
    }
  }
  @keyframes spin {
    to {
      transform: rotate(360deg);
    }
  }
}
@layer components {
  :root {
    --grid-cols: 12;
    --grid-gap: 1.5rem;
    --container-max: 1280px;
    --container-pad: 1rem;
  }
  .container {
    width: 100%;
    max-width: var(--container-max);
    margin-inline: auto;
    padding-inline: var(--container-pad);
  }
  .row {
    display: grid;
    grid-template-columns: repeat(var(--grid-cols), 1fr);
    gap: var(--grid-gap);
    width: 100%;
  }
  .col,
  [class*=col-] {
    grid-column-end: span var(--span, var(--grid-cols));
  }
  .col-1 {
    --span: 1;
  }
  .col-2 {
    --span: 2;
  }
  .col-3 {
    --span: 3;
  }
  .col-4 {
    --span: 4;
  }
  .col-5 {
    --span: 5;
  }
  .col-6 {
    --span: 6;
  }
  .col-7 {
    --span: 7;
  }
  .col-8 {
    --span: 8;
  }
  .col-9 {
    --span: 9;
  }
  .col-10 {
    --span: 10;
  }
  .col-11 {
    --span: 11;
  }
  .col-12 {
    --span: 12;
  }
  .offset-1 {
    grid-column-start: 2;
  }
  .offset-2 {
    grid-column-start: 3;
  }
  .offset-3 {
    grid-column-start: 4;
  }
  .offset-4 {
    grid-column-start: 5;
  }
  .offset-5 {
    grid-column-start: 6;
  }
  .offset-6 {
    grid-column-start: 7;
  }
  .col-end {
    grid-column-start: span var(--span, 1);
    grid-column-end: -1;
  }
  @media (max-width:768px) {
    .row {
      --grid-cols: 4;
      --grid-gap: 1rem;
    }
    .col,
    [class*=col-] {
      --span: 4;
    }
    [class*=offset-] {
      grid-column-start: auto;
    }
  }
}
@layer components {
  .card {
    background-color: var(--card);
    color: var(--card-foreground);
    border: 1px solid var(--border);
    border-radius: var(--radius-medium);
    box-shadow: var(--shadow-small);
    padding: var(--space-6);
    overflow: hidden;
  }
}
@layer components {
  [role=alert] {
    position: relative;
    display: flex;
    gap: var(--space-3);
    padding: var(--space-4) var(--space-6);
    background-color: var(--background);
    border: 1px solid var(--border);
    border-radius: var(--radius-medium);
    font-size: var(--text-7);
    &[data-variant] {
      border: none;
    }
    &[data-variant=error],
    &[data-variant=danger] {
      color: var(--danger);
      background-color: light-dark(color-mix(in srgb, var(--danger) 8%, transparent), color-mix(in srgb, var(--danger) 20%, transparent));
      & a {
        color: var(--danger);
      }
    }
    &[data-variant=success] {
      color: var(--success);
      background-color: light-dark(color-mix(in srgb, var(--success) 8%, transparent), color-mix(in srgb, var(--success) 20%, transparent));
      & a {
        color: var(--success);
      }
    }
    &[data-variant=warning] {
      color: var(--warning);
      background-color: light-dark(color-mix(in srgb, var(--warning) 8%, transparent), color-mix(in srgb, var(--warning) 20%, transparent));
      & a {
        color: var(--warning);
      }
    }
  }
}
@layer components {
  .badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-4);
    font-size: var(--text-8);
    font-weight: var(--font-medium);
    line-height: var(--leading-normal);
    background-color: var(--primary);
    color: var(--primary-foreground);
    border-radius: var(--radius-full);
    &.secondary {
      background-color: var(--secondary);
      color: var(--secondary-foreground);
    }
    &.outline {
      background-color: transparent;
      color: var(--foreground);
      border: 1px solid var(--border);
    }
    &.success {
      color: var(--success);
      background-color: light-dark(color-mix(in srgb, var(--success) 10%, transparent), color-mix(in srgb, var(--success) 30%, transparent));
    }
    &.warning {
      color: var(--warning);
      background-color: light-dark(color-mix(in srgb, var(--warning) 10%, transparent), color-mix(in srgb, var(--warning) 30%, transparent));
    }
    &.danger {
      color: var(--danger);
      background-color: light-dark(color-mix(in srgb, var(--danger) 10%, transparent), color-mix(in srgb, var(--danger) 30%, transparent));
    }
  }
}
@layer components {
  details {
    border: 1px solid var(--border);
    border-radius: var(--radius-medium);
    overflow: hidden;
    + details {
      margin-top: -1px;
      border-start-start-radius: 0;
      border-start-end-radius: 0;
    }
    &:has(+ details) {
      border-end-start-radius: 0;
      border-end-end-radius: 0;
    }
    &[open] summary {
      border-bottom: 1px solid var(--border);
    }
  }
  summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    padding: var(--space-4);
    font-weight: var(--font-medium);
    cursor: pointer;
    user-select: none;
    transition: background-color var(--transition-fast);
    &:hover {
      background-color: var(--muted);
    }
    &::-webkit-details-marker,
    &::marker {
      display: none;
    }
    &:after {
      content: "";
      width: 1em;
      height: 1em;
      flex-shrink: 0;
      background-color: currentColor;
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
      mask-size: contain;
      mask-repeat: no-repeat;
      transition: transform var(--transition-fast);
    }
    details[open] &:after {
      transform: rotate(180deg);
    }
  }
  details > *:not(summary) {
    padding: var(--space-4);
  }
}
@layer components {
  [role=tablist] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1);
    background-color: var(--muted);
    border-radius: var(--radius-medium);
  }
  [role=tab] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-2) var(--space-3);
    font-size: var(--text-7);
    font-weight: var(--font-medium);
    white-space: nowrap;
    background-color: transparent;
    color: var(--foreground);
    border: none;
    border-radius: calc(var(--radius-medium) - 2px);
    cursor: pointer;
    transition: background-color var(--transition-fast), color var(--transition-fast);
    &:hover {
      color: var(--muted-foreground);
    }
    &[aria-selected=true] {
      background-color: var(--background);
      box-shadow: var(--shadow-small);
    }
  }
  [role=tabpanel] {
    padding: var(--space-4) 0;
    &:focus-visible {
      outline: none;
    }
  }
}
@layer components {
  dialog {
    position: fixed;
    inset: 0;
    z-index: var(--z-modal);
    width: min(100% - 2rem, 32rem);
    max-height: 85vh;
    margin: auto;
    padding: 0;
    background-color: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius-large);
    box-shadow: var(--shadow-large);
    overflow: hidden;
    opacity: 0;
    transform: scale(.95);
    transition:
      opacity .15s ease,
      transform .15s ease,
      overlay .15s ease allow-discrete,
      display .15s ease allow-discrete;
    &[open] {
      opacity: 1;
      transform: scale(1);
    }
    @starting-style {
      &[open] {
        opacity: 0;
        transform: scale(.95);
      }
    }
    &::backdrop {
      background-color: #0000;
      transition:
        background-color .15s ease,
        overlay .15s ease allow-discrete,
        display .15s ease allow-discrete;
    }
    &[open]::backdrop {
      background-color: #00000080;
    }
    @starting-style {
      &[open]::backdrop {
        background-color: #0000;
      }
    }
    > header,
    > form > header {
      display: flex;
      flex-direction: column;
      gap: var(--space-1);
      padding: var(--space-6);
      padding-block-end: 0;
      > h1,
      > h2,
      > h3,
      > h4,
      > h5,
      > h6 {
        margin-block-end: 0;
      }
      > p {
        font-size: var(--text-7);
        color: var(--muted-foreground);
        margin-block-end: 0;
      }
    }
    > p,
    > div,
    > section,
    > form > p,
    > form > div,
    > form > section {
      padding: var(--space-6);
      overflow-y: auto;
    }
    > footer,
    > form > footer {
      display: flex;
      justify-content: flex-end;
      gap: var(--space-2);
      padding: var(--space-6);
      padding-block-start: 0;
    }
  }
}
@layer components {
  ot-dropdown {
    [popover] {
      position: fixed;
      margin: 0;
      min-width: 12rem;
      background-color: var(--background);
      border: 1px solid var(--border);
      border-radius: var(--radius-medium);
      box-shadow: var(--shadow-medium);
      opacity: 0;
      transform: translateY(-4px);
      transition:
        opacity .15s ease-out,
        transform .15s ease-out,
        display .15s allow-discrete,
        overlay .15s allow-discrete;
      &:popover-open {
        opacity: 1;
        transform: translateY(0);
      }
      @starting-style {
        &:popover-open {
          opacity: 0;
          transform: translateY(-4px);
        }
      }
    }
    [role=menuitem] {
      display: flex;
      align-items: center;
      justify-content: start;
      gap: var(--space-2);
      width: 100%;
      padding: var(--space-2) var(--space-3);
      font-size: var(--text-7);
      text-align: start;
      color: var(--foreground);
      background: none;
      border: none;
      border-radius: var(--radius-small);
      cursor: pointer;
      &:hover,
      &:focus {
        background-color: var(--accent);
        outline: none;
      }
    }
  }
}
@layer components {
  .toast-container {
    position: fixed;
    display: flex;
    flex-direction: column;
    pointer-events: none;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    overflow: visible;
    &::backdrop {
      display: none;
    }
    &[data-placement=top-left] {
      inset: var(--space-4) auto auto var(--space-4);
    }
    &[data-placement=top-center] {
      inset: var(--space-4) auto auto 50%;
      transform: translate(-50%);
    }
    &[data-placement=top-right] {
      inset: var(--space-4) var(--space-4) auto auto;
    }
    &[data-placement=bottom-left] {
      inset: auto auto var(--space-4) var(--space-4);
      flex-direction: column-reverse;
    }
    &[data-placement=bottom-center] {
      inset: auto auto var(--space-4) 50%;
      transform: translate(-50%);
      flex-direction: column-reverse;
    }
    &[data-placement=bottom-right] {
      inset: auto var(--space-4) var(--space-4) auto;
      flex-direction: column-reverse;
    }
  }
  .toast {
    --transition: .3s;
    --transition-in: calc(var(--transition) - 50ms);
    padding: var(--space-5) var(--space-4);
    max-width: 28rem;
    min-width: 20rem;
    pointer-events: auto;
    background-color: var(--card);
    border: 1px solid var(--border);
    border-inline-start-width: var(--space-1);
    border-inline-start-style: solid;
    border-radius: var(--radius-medium);
    box-shadow: var(--shadow-small);
    transition:
      opacity var(--transition-in),
      transform var(--transition-in),
      margin var(--transition-in);
    line-height: 1;
    .toast-title {
      font-weight: 600;
      margin: 0 0 var(--space-3) 0;
    }
    .toast-message {
      color: var(--muted-foreground);
    }
    &[data-variant=success] {
      border-inline-start-color: var(--success);
      .toast-title {
        color: var(--success);
      }
    }
    &[data-variant=danger] {
      border-inline-start-color: var(--danger);
      .toast-title {
        color: var(--danger);
      }
    }
    &[data-variant=warning] {
      border-inline-start-color: var(--warning);
      .toast-title {
        color: var(--warning);
      }
    }
    > [data-close] {
      margin-inline-start: auto;
      background: none;
      border: none;
      padding: 0;
      cursor: pointer;
      opacity: .5;
      &:hover {
        opacity: 1;
      }
    }
    margin: var(--space-2) 0;
    &[data-entering] {
      opacity: 0;
      transform: translateY(-1rem);
    }
    &[data-exiting] {
      opacity: 0;
      margin: 0;
      padding-block: 0;
      max-height: 0;
      overflow: hidden;
      transition:
        opacity var(--transition),
        margin var(--transition),
        padding var(--transition),
        max-height var(--transition);
    }
  }
}
@layer components {
  :root {
    --_nh: var(--space-12);
  }
  [data-sidebar-layout] {
    --topnav-offset: 0px;
    --topnav-scroll-offset: 0px;
    display: grid;
    grid-template-columns: 14rem 1fr;
    min-height: 100dvh;
    gap: var(--space-4);
    &:has(nav[data-topnav]) {
      --topnav-offset: var(--_nh);
      --topnav-scroll-offset: calc(var(--_nh) + var(--space-6));
    }
    > main {
      min-width: 0;
      margin-block-start: var(--topnav-offset);
      [id] {
        scroll-margin-block-start: var(--topnav-scroll-offset);
      }
    }
    > aside[data-sidebar] {
      position: sticky;
      top: var(--topnav-offset);
      z-index: 1;
      height: calc(100dvh - var(--topnav-offset));
      align-self: start;
      background-color: var(--background);
      border-inline-end: 1px solid var(--border);
      display: flex;
      flex-direction: column;
      > :is(header, footer) {
        flex-shrink: 0;
        padding: var(--space-3);
      }
      > footer {
        margin-block-start: auto;
      }
      > nav {
        flex: 1;
        min-height: 0;
        overflow-y: auto;
        padding: var(--space-3) var(--space-2);
        ul {
          list-style: none;
          padding: 0;
          margin: 0;
          display: flex;
          flex-direction: column;
          gap: var(--space-1);
          li {
            margin: 0;
          }
        }
        a {
          display: flex;
          gap: var(--space-2);
          padding: var(--space-1) var(--space-3);
          font-size: var(--text-7);
          color: var(--foreground);
          text-decoration: none;
          border-radius: var(--radius-small);
          transition: background-color var(--transition-fast);
          &:is(:hover, [aria-current]) {
            background-color: var(--accent);
          }
        }
        details {
          border: none;
          overflow: visible;
          + details {
            margin-top: 0;
          }
          &[open] summary {
            border-bottom: none;
          }
          > ul {
            margin-inline-start: var(--space-4);
            padding: var(--space-1) 0;
          }
        }
        summary {
          justify-content: flex-start;
          padding: var(--space-2) var(--space-3);
          font-size: var(--text-7);
          border-radius: var(--radius-small);
          &:after {
            width: .75rem;
            height: .75rem;
            margin-inline-start: auto;
          }
        }
      }
    }
  }
  nav[data-topnav] {
    position: fixed;
    inset: 0 0 auto;
    z-index: 5;
    min-height: var(--_nh);
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-4);
    background-color: var(--background);
    border-bottom: 1px solid var(--border);
    box-shadow: var(--shadow-small);
  }
  :is([data-sidebar-toggle], [data-sidebar-header]) {
    display: none;
  }
  [data-sidebar-toggle] {
    padding: 0 var(--space-1);
    background: none;
    border: 1px solid var(--border);
    border-radius: var(--radius-small);
    cursor: pointer;
  }
  @media (min-width:769px) {
    [data-sidebar-layout=always] [data-sidebar-toggle] {
      display: inline-block;
    }
    [data-sidebar-layout=always] {
      transition: grid-template-columns var(--transition);
      > aside[data-sidebar] {
        transform: translate(0);
        opacity: 1;
        transition:
          transform var(--transition),
          opacity var(--transition),
          visibility var(--transition);
      }
    }
    [data-sidebar-layout=always][data-sidebar-open] {
      grid-template-columns: 0px 1fr;
      gap: 0;
      > aside[data-sidebar] {
        overflow: hidden;
        min-width: 0;
        transform: translate(-100%);
        opacity: 0;
        visibility: hidden;
        border-inline-end: none;
      }
    }
  }
  @media (max-width:768px) {
    [data-sidebar-layout] {
      grid-template-columns: 1fr;
      > aside[data-sidebar] {
        position: fixed;
        left: 0;
        width: 16rem;
        transform: translate(-100%);
        transition: transform var(--transition);
        box-shadow: var(--shadow-large);
      }
      &[data-sidebar-open] > aside[data-sidebar] {
        transform: translate(0);
      }
    }
    [data-sidebar-toggle] {
      display: inline-block;
    }
    [data-sidebar-header] {
      display: flex;
      align-items: center;
      gap: var(--space-3);
      padding: var(--space-3) var(--space-4);
      border-bottom: 1px solid var(--border);
    }
  }
}
@layer components {
  [role=status].skeleton {
    --_c: light-dark( color-mix(in srgb, var(--muted) 30%, white), color-mix(in srgb, var(--muted) 90%, var(--foreground)) );
    margin-block-end: var(--space-3);
    background: var(--muted);
    border-radius: var(--radius-medium);
    animation: anim 2s infinite;
    background-size: 200% 100%;
    background-image:
      linear-gradient(
        90deg,
        var(--muted) 0%,
        var(--_c) 50%,
        var(--muted) 100%);
    &.box {
      width: 4rem;
      height: 4rem;
    }
    &.line {
      height: 1rem;
      width: 100%;
    }
  }
  [role=status].skeleton:last-child {
    margin-block-end: 0;
  }
  @keyframes anim {
    0% {
      background-position: 200% 0;
    }
    to {
      background-position: -200% 0;
    }
  }
}
@layer components {
  [data-tooltip] {
    position: relative;
  }
  [data-tooltip]:before,
  [data-tooltip]:after {
    position: absolute;
    inset-inline-start: 50%;
    opacity: 0;
    visibility: hidden;
    transition:
      opacity var(--transition-fast),
      transform var(--transition-fast),
      visibility var(--transition-fast);
    pointer-events: none;
    z-index: 1000;
  }
  [data-tooltip]:after {
    content: attr(data-tooltip);
    inset-block-end: calc(100% + 10px);
    transform: translate(-50%) translateY(4px);
    padding: var(--space-2) var(--space-3);
    font-size: var(--text-7);
    line-height: 1;
    white-space: nowrap;
    background: var(--foreground);
    color: var(--background);
    border-radius: var(--radius-medium);
  }
  [data-tooltip]:before {
    content: "";
    inset-block-end: calc(100% - 5px);
    transform: translate(-50%) translateY(4px);
    border: 8px solid transparent;
    border-top-color: var(--foreground);
  }
  [data-tooltip]:is(:hover, :focus-visible):before,
  [data-tooltip]:is(:hover, :focus-visible):after {
    opacity: 1;
    visibility: visible;
    transition-delay: .7s;
    transform: translate(-50%) translateY(0);
  }
}
@layer utilities {
  .text-left {
    text-align: start;
  }
  .text-center {
    text-align: center;
  }
  .text-right {
    text-align: end;
  }
  .text-light {
    color: var(--muted-foreground);
  }
  .text-lighter {
    color: var(--faint-foreground);
  }
  .flex {
    display: flex;
  }
  .flex-col {
    flex-direction: column;
  }
  .items-center {
    align-items: center;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-between {
    justify-content: space-between;
  }
  .hstack {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    flex-wrap: wrap;
    align-content: flex-start;
    height: auto;
  }
  .vstack {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
  }
  .gap-1 {
    gap: var(--space-1);
  }
  .gap-2 {
    gap: var(--space-2);
  }
  .gap-4 {
    gap: var(--space-4);
  }
  .mt-2 {
    margin-block-start: var(--space-2);
  }
  .mt-4 {
    margin-block-start: var(--space-4);
  }
  .mt-6 {
    margin-block-start: var(--space-6);
  }
  .mb-2 {
    margin-block-end: var(--space-2);
  }
  .mb-4 {
    margin-block-end: var(--space-4);
  }
  .mb-6 {
    margin-block-end: var(--space-6);
  }
  .p-4 {
    padding: var(--space-4);
  }
  .w-100 {
    width: 100%;
  }
  ul,
  ol {
    &.unstyled {
      list-style: none;
      padding-inline-start: 0;
      margin-inline-start: 0;
    }
  }
}

/* css/oat-overrides.css */
:root {
  --color-primary: oklch(70% 0.213 47.604);
  --color-primary-hover: oklch(65% 0.213 47.604);
  --color-bg: oklch(98% 0 0);
  --color-bg-secondary: oklch(96% 0.001 286.375);
  --color-bg-tertiary: oklch(92% 0.004 286.32);
  --color-fg: oklch(21% 0.006 285.885);
  --color-fg-muted: oklch(45% 0.006 285.885);
  --color-border: oklch(92% 0.004 286.32);
  --color-border-hover: oklch(85% 0.006 286.32);
  --color-success: oklch(70% 0.14 182.503);
  --color-success-bg: oklch(95% 0.03 182.503);
  --color-warning: oklch(66% 0.179 58.318);
  --color-warning-bg: oklch(95% 0.04 58.318);
  --color-error: oklch(58% 0.253 17.585);
  --color-error-bg: oklch(95% 0.05 17.585);
  --color-info: oklch(62% 0.214 259.815);
  --color-info-bg: oklch(95% 0.04 259.815);
  --color-primary-5: color-mix(in oklch, var(--color-primary) 5%, transparent);
  --color-primary-10: color-mix(in oklch, var(--color-primary) 10%, transparent);
  --color-primary-15: color-mix(in oklch, var(--color-primary) 15%, transparent);
  --color-primary-20: color-mix(in oklch, var(--color-primary) 20%, transparent);
  --color-primary-30: color-mix(in oklch, var(--color-primary) 30%, transparent);
  --color-success-10: color-mix(in oklch, var(--color-success) 10%, transparent);
  --color-success-20: color-mix(in oklch, var(--color-success) 20%, transparent);
  --color-success-30: color-mix(in oklch, var(--color-success) 30%, transparent);
  --color-warning-10: color-mix(in oklch, var(--color-warning) 10%, transparent);
  --color-warning-20: color-mix(in oklch, var(--color-warning) 20%, transparent);
  --color-warning-30: color-mix(in oklch, var(--color-warning) 30%, transparent);
  --color-error-5: color-mix(in oklch, var(--color-error) 5%, transparent);
  --color-error-10: color-mix(in oklch, var(--color-error) 10%, transparent);
  --color-error-20: color-mix(in oklch, var(--color-error) 20%, transparent);
  --color-info-10: color-mix(in oklch, var(--color-info) 10%, transparent);
  --color-fg-10: color-mix(in oklch, var(--color-fg) 10%, transparent);
  --color-border-20: color-mix(in oklch, var(--color-border) 20%, transparent);
  --color-border-30: color-mix(in oklch, var(--color-border) 30%, transparent);
  --color-border-40: color-mix(in oklch, var(--color-border) 40%, transparent);
  --color-border-50: color-mix(in oklch, var(--color-border) 50%, transparent);
  --color-bg-90: color-mix(in oklch, var(--color-bg) 90%, transparent);
  --color-bg-80: color-mix(in oklch, var(--color-bg) 80%, transparent);
  --color-bg-50: color-mix(in oklch, var(--color-bg) 50%, transparent);
  --color-bg-secondary-50: color-mix(in oklch, var(--color-bg-secondary) 50%, transparent);
  --color-bg-secondary-95: color-mix(in oklch, var(--color-bg-secondary) 95%, transparent);
  --color-bg-tertiary-10: color-mix(in oklch, var(--color-bg-tertiary) 10%, transparent);
  --color-bg-tertiary-20: color-mix(in oklch, var(--color-bg-tertiary) 20%, transparent);
  --color-bg-tertiary-30: color-mix(in oklch, var(--color-bg-tertiary) 30%, transparent);
  --color-bg-tertiary-40: color-mix(in oklch, var(--color-bg-tertiary) 40%, transparent);
  --color-bg-tertiary-50: color-mix(in oklch, var(--color-bg-tertiary) 50%, transparent);
  --color-bg-tertiary-80: color-mix(in oklch, var(--color-bg-tertiary) 80%, transparent);
  --font-sans:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    sans-serif;
  --font-mono:
    "IBM Plex Mono",
    ui-monospace,
    monospace;
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.25rem;
  --sp-6: 1.5rem;
  --sp-8: 2rem;
  --radius-sm: 0.25rem;
  --radius: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-full: 9999px;
  --sidebar-width: 14rem;
  --sidebar-collapsed: 4rem;
  --detail-sidebar: 24rem;
  --detail-sidebar-wide: 42rem;
  --container-sm: 24rem;
  --container-md: 32rem;
  --container-lg: 48rem;
  --container-xl: 56rem;
  --container-2xl: 64rem;
  --container-3xl: 72rem;
  --container-4xl: 80rem;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
  --transition-fast: 0s;
  --transition: 0s;
}
[data-theme=dark] {
  --color-primary: oklch(58% 0.233 277.117);
  --color-primary-hover: oklch(63% 0.233 277.117);
  --color-bg: oklch(25.26% 0.014 253.1);
  --color-bg-secondary: oklch(30.33% 0.016 252.42);
  --color-bg-tertiary: oklch(35% 0.018 252);
  --color-fg: oklch(97.807% 0.029 256.847);
  --color-fg-muted: oklch(70% 0.02 256.847);
  --color-border: oklch(35% 0.02 254.09);
  --color-border-hover: oklch(45% 0.025 254.09);
  --color-success: oklch(60% 0.118 184.704);
  --color-success-bg: oklch(30% 0.04 184.704);
  --color-warning: oklch(66% 0.179 58.318);
  --color-warning-bg: oklch(30% 0.06 58.318);
  --color-error: oklch(58% 0.253 17.585);
  --color-error-bg: oklch(30% 0.08 17.585);
  --color-info: oklch(58% 0.158 241.966);
  --color-info-bg: oklch(30% 0.05 241.966);
}
.hidden {
  display: none;
}
.block {
  display: block;
}
.inline {
  display: inline;
}
.inline-flex {
  display: inline-flex;
}
.grid {
  display: grid;
}
.flex-1,
.sidebar-spacer {
  flex: 1;
}
.flex-1-min-0 {
  flex: 1;
  min-width: 0;
}
.shrink-0 {
  flex-shrink: 0;
}
.flex-wrap {
  flex-wrap: wrap;
}
.hstack {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
}
.vstack {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}
.items-center {
  align-items: center;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-baseline {
  align-items: baseline;
}
.justify-start {
  justify-content: flex-start;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-end {
  justify-content: flex-end;
}
.self-end {
  align-self: flex-end;
}
.gap-1 {
  gap: var(--sp-1);
}
.gap-2 {
  gap: var(--sp-2);
}
.gap-3 {
  gap: var(--sp-3);
}
.gap-4 {
  gap: var(--sp-4);
}
.gap-5 {
  gap: var(--sp-5);
}
.gap-6 {
  gap: var(--sp-6);
}
.gap-sm {
  gap: var(--sp-2);
}
.w-full {
  width: 100%;
}
.w-currency {
  width: 5rem;
}
.min-w-0 {
  min-width: 0;
}
.max-w-sm {
  max-width: var(--container-sm);
}
.max-w-md {
  max-width: var(--container-md);
}
.max-w-lg {
  max-width: var(--container-lg);
}
.max-w-xl {
  max-width: var(--container-xl);
}
.max-w-2xl {
  max-width: var(--container-2xl);
}
.max-w-3xl {
  max-width: var(--container-3xl);
}
.max-w-4xl {
  max-width: var(--container-4xl);
}
.h-full {
  height: 100%;
}
.min-h-screen {
  min-height: 100vh;
}
.m-0 {
  margin: 0;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.mt-0 {
  margin-top: 0;
}
.mt-1 {
  margin-top: var(--sp-1);
}
.mt-2 {
  margin-top: var(--sp-2);
}
.mt-3 {
  margin-top: var(--sp-3);
}
.mt-4 {
  margin-top: var(--sp-4);
}
.mt-5 {
  margin-top: var(--sp-5);
}
.mt-6 {
  margin-top: var(--sp-6);
}
.mt-8 {
  margin-top: var(--sp-8);
}
.mb-0 {
  margin-bottom: 0;
}
.mb-1 {
  margin-bottom: var(--sp-1);
}
.mb-2 {
  margin-bottom: var(--sp-2);
}
.mb-3 {
  margin-bottom: var(--sp-3);
}
.mb-4 {
  margin-bottom: var(--sp-4);
}
.mb-5 {
  margin-bottom: var(--sp-5);
}
.mb-6 {
  margin-bottom: var(--sp-6);
}
.mb-8 {
  margin-bottom: var(--sp-8);
}
.ml-1 {
  margin-left: var(--sp-1);
}
.ml-2 {
  margin-left: var(--sp-2);
}
.ml-3 {
  margin-left: var(--sp-3);
}
.ml-4 {
  margin-left: var(--sp-4);
}
.ml-6 {
  margin-left: var(--sp-6);
}
.mr-1 {
  margin-right: var(--sp-1);
}
.mr-2 {
  margin-right: var(--sp-2);
}
.p-0 {
  padding: 0;
}
.p-1 {
  padding: var(--sp-1);
}
.p-2 {
  padding: var(--sp-2);
}
.p-3 {
  padding: var(--sp-3);
}
.p-4 {
  padding: var(--sp-4);
}
.p-6 {
  padding: var(--sp-6);
}
.p-8 {
  padding: var(--sp-8);
}
.p-content {
  padding: 1rem 1.5rem;
}
.px-1 {
  padding-left: var(--sp-1);
  padding-right: var(--sp-1);
}
.px-2 {
  padding-left: var(--sp-2);
  padding-right: var(--sp-2);
}
.px-3 {
  padding-left: var(--sp-3);
  padding-right: var(--sp-3);
}
.px-4 {
  padding-left: var(--sp-4);
  padding-right: var(--sp-4);
}
.px-6 {
  padding-left: var(--sp-6);
  padding-right: var(--sp-6);
}
.py-1 {
  padding-top: var(--sp-1);
  padding-bottom: var(--sp-1);
}
.py-2 {
  padding-top: var(--sp-2);
  padding-bottom: var(--sp-2);
}
.py-3 {
  padding-top: var(--sp-3);
  padding-bottom: var(--sp-3);
}
.py-4 {
  padding-top: var(--sp-4);
  padding-bottom: var(--sp-4);
}
.pt-1 {
  padding-top: var(--sp-1);
}
.pt-2 {
  padding-top: var(--sp-2);
}
.pt-3 {
  padding-top: var(--sp-3);
}
.pt-4 {
  padding-top: var(--sp-4);
}
.pt-6 {
  padding-top: var(--sp-6);
}
.pb-1 {
  padding-bottom: var(--sp-1);
}
.pb-2 {
  padding-bottom: var(--sp-2);
}
.pb-3 {
  padding-bottom: var(--sp-3);
}
.pb-4 {
  padding-bottom: var(--sp-4);
}
.pb-safe {
  padding-bottom: env(safe-area-inset-bottom);
}
.pt-safe {
  padding-top: env(safe-area-inset-top);
}
.space-y-2 > * + * {
  margin-top: var(--sp-2);
}
.space-y-3 > * + * {
  margin-top: var(--sp-3);
}
.space-y-4 > * + * {
  margin-top: var(--sp-4);
}
.space-y-6 > * + * {
  margin-top: var(--sp-6);
}
.text-2xs {
  font-size: 0.625rem;
}
.text-xs {
  font-size: 0.75rem;
}
.text-sm {
  font-size: 0.875rem;
}
.text-base {
  font-size: 1rem;
}
.text-lg {
  font-size: 1.125rem;
}
.text-xl {
  font-size: 1.25rem;
}
.text-2xl {
  font-size: 1.5rem;
}
.text-3xl {
  font-size: 1.875rem;
}
.text-4xl {
  font-size: 2.25rem;
}
.font-mono {
  font-family: var(--font-mono);
}
.font-normal {
  font-weight: 400;
}
.font-medium {
  font-weight: 500;
}
.font-semibold {
  font-weight: 600;
}
.font-bold {
  font-weight: 700;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.uppercase {
  text-transform: uppercase;
}
.capitalize {
  text-transform: capitalize;
}
.italic {
  font-style: italic;
}
.underline {
  text-decoration: underline;
}
.no-underline {
  text-decoration: none;
}
.leading-none {
  line-height: 1;
}
.leading-tight {
  line-height: 1.25;
}
.leading-snug {
  line-height: 1.375;
}
.leading-normal {
  line-height: 1.5;
}
.leading-relaxed {
  line-height: 1.625;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.tracking-widest {
  letter-spacing: 0.1em;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.color-muted,
.text-muted {
  color: var(--color-fg-muted);
}
.color-primary {
  color: var(--color-primary);
}
.color-primary-muted {
  color: color-mix(in oklch, var(--color-primary) 60%, transparent);
}
.color-success {
  color: var(--color-success);
}
.color-warning {
  color: var(--color-warning);
}
.color-error {
  color: var(--color-error);
}
.color-info {
  color: var(--color-info);
}
.icon-xs {
  width: 0.75rem;
  height: 0.75rem;
}
.icon-sm {
  width: 1rem;
  height: 1rem;
}
.icon-md {
  width: 1.25rem;
  height: 1.25rem;
}
.icon-lg {
  width: 1.5rem;
  height: 1.5rem;
}
.icon-xl {
  width: 2rem;
  height: 2rem;
}
.icon-2xl {
  width: 3rem;
  height: 3rem;
}
.icon-huge {
  width: 120px;
  height: 120px;
}
.col-1 {
  grid-column: span 1;
}
.col-2 {
  grid-column: span 2;
}
.col-3 {
  grid-column: span 3;
}
.col-4 {
  grid-column: span 4;
}
.col-5 {
  grid-column: span 5;
}
.col-6 {
  grid-column: span 6;
}
.col-7 {
  grid-column: span 7;
}
.col-8 {
  grid-column: span 8;
}
.col-9 {
  grid-column: span 9;
}
.col-10 {
  grid-column: span 10;
}
.col-11 {
  grid-column: span 11;
}
.col-12 {
  grid-column: span 12;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-auto {
  overflow: auto;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.relative {
  position: relative;
}
.absolute {
  position: absolute;
}
.fixed {
  position: fixed;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: 0;
}
.top-0 {
  top: 0;
}
.right-0 {
  right: 0;
}
.bottom-0 {
  bottom: 0;
}
.left-0 {
  left: 0;
}
.z-0 {
  z-index: 0;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.opacity-0 {
  opacity: 0;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-80 {
  opacity: 0.8;
}
.border {
  border: 1px solid var(--color-border);
}
.border-t {
  border-top: 1px solid var(--color-border);
}
.border-b {
  border-bottom: 1px solid var(--color-border);
}
.border-l {
  border-left: 1px solid var(--color-border);
}
.border-r {
  border-right: 1px solid var(--color-border);
}
.border-dashed {
  border-style: dashed;
}
.rounded {
  border-radius: var(--radius);
}
.rounded-lg {
  border-radius: var(--radius-lg);
}
.rounded-full {
  border-radius: var(--radius-full);
}
.cursor-pointer {
  cursor: pointer;
}
.cursor-default {
  cursor: default;
}
.cursor-wait {
  cursor: wait;
}
.pointer-events-none {
  pointer-events: none;
}
.select-none {
  user-select: none;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.spin {
  animation: spin 1s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .spin {
    animation: none;
  }
}
.app-shell {
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--color-bg);
}
.app-shell.monospace {
  font-family: var(--font-mono);
}
.app-layout {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  background: var(--color-bg-secondary);
}
.app-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.app-content {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
  min-width: 0;
  padding-bottom: 8rem;
  padding-top: var(--sp-2);
}
.content-area {
  flex: 1;
  padding: var(--sp-4);
  margin-bottom: 4rem;
}
.row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--sp-4);
}
.sidebar-nav {
  display: none;
  flex-direction: column;
  gap: var(--sp-4);
  padding: var(--sp-4) var(--sp-3);
  padding-top: env(safe-area-inset-top, var(--sp-4));
  padding-bottom: env(safe-area-inset-bottom, var(--sp-4));
  flex-shrink: 0;
  height: 100vh;
  overflow: hidden;
  background: var(--color-bg-secondary);
  border-right: 1px solid var(--color-border);
  width: var(--sidebar-width);
}
.sidebar-nav[data-collapsed=true] {
  width: var(--sidebar-collapsed);
  padding-left: var(--sp-2);
  padding-right: var(--sp-2);
}
.sidebar-header {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-2);
  text-decoration: none;
  color: inherit;
  transition: opacity var(--transition-fast);
}
.sidebar-header:hover {
  opacity: 0.8;
}
.sidebar-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: var(--radius-lg);
  background: var(--color-primary);
  color: white;
  flex-shrink: 0;
}
.sidebar-title {
  font-weight: 600;
  color: var(--color-fg);
}
.sidebar-nav-list {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-height: 0;
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
}
.sidebar-footer {
  border-top: 1px solid var(--color-border);
  padding-top: var(--sp-3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: var(--sp-2);
  padding-right: var(--sp-2);
}
.sidebar-version {
  font-size: 0.625rem;
  color: var(--color-fg-muted);
  opacity: 0.4;
}
.sidebar-toggle-btn {
  padding: 0.375rem;
  border-radius: var(--radius-lg);
  color: var(--color-fg-muted);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}
.sidebar-toggle-btn:hover {
  background: var(--color-fg-10);
  color: var(--color-fg);
}
.sidebar-footer-actions {
  display: flex;
  align-items: center;
  gap: var(--sp-1);
}
.nav-section-header {
  padding: var(--sp-4) var(--sp-2) var(--sp-1);
}
.nav-section-header:first-child {
  padding-top: 0;
}
.nav-section-header span {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.075em;
  color: var(--color-fg-muted);
  opacity: 0.4;
}
.nav-item-link {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-2) var(--sp-3);
  border-radius: var(--radius-lg);
  transition: background-color var(--transition-fast), color var(--transition-fast);
  text-decoration: none;
  color: var(--color-fg-muted);
}
.nav-item-link:hover {
  background: var(--color-fg-10);
  color: var(--color-fg);
}
.nav-item-link.active {
  font-weight: 600;
  color: var(--color-fg);
  background: var(--color-fg-10);
}
.nav-item-link .icon-md {
  flex-shrink: 0;
}
.nav-item-text {
  font-size: 0.875rem;
}
.sidebar-nav[data-collapsed=true] .sidebar-label,
.sidebar-nav[data-collapsed=true] .nav-section-header {
  display: none;
}
.sidebar-nav[data-collapsed=true] .sidebar-header {
  justify-content: center;
  padding: 0;
}
.sidebar-nav[data-collapsed=true] .nav-item-link {
  justify-content: center;
  padding: var(--sp-2);
  position: relative;
}
.sidebar-nav[data-collapsed=true] .nav-item-text {
  display: none;
}
.sidebar-nav[data-collapsed=true] .sidebar-footer {
  justify-content: center;
}
.sidebar-nav .sidebar-expand-icon {
  display: none;
}
.sidebar-nav[data-collapsed=true] .sidebar-expand-icon {
  display: block;
}
.sidebar-nav[data-collapsed=true] .sidebar-collapse-icon {
  display: none;
}
.sidebar-nav[data-collapsed=true] .nav-item-link:hover::after {
  content: attr(title);
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 0.75rem;
  padding: 0.375rem 0.75rem;
  background: var(--color-fg);
  color: var(--color-bg);
  font-size: 0.75rem;
  font-weight: 500;
  white-space: nowrap;
  border-radius: var(--radius);
  z-index: 100;
  pointer-events: none;
}
.mobile-nav {
  position: fixed;
  bottom: 0;
  width: 100%;
  background: var(--color-bg-90);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-top: 1px solid var(--color-border);
  z-index: 50;
  padding-bottom: env(safe-area-inset-bottom);
}
.mobile-nav-inner {
  display: flex;
  justify-content: space-around;
  align-items: center;
  height: 4rem;
  padding: 0 var(--sp-2);
}
.mobile-nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  padding: var(--sp-2);
  width: 4rem;
  transition: all var(--transition-fast);
  text-decoration: none;
}
.mobile-nav-icon {
  color: var(--color-fg-muted);
}
.mobile-nav-icon-active {
  border-radius: 0.75rem;
  background: var(--color-primary);
  padding: 0.25rem 0.75rem;
  box-shadow: var(--shadow-sm);
  color: white;
}
.mobile-nav-label {
  font-size: 0.5625rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--color-fg-muted);
}
.mobile-nav-label.active {
  font-weight: 700;
  color: var(--color-fg);
}
.page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-2);
  min-height: 2.75rem;
  padding: var(--sp-2) var(--sp-4);
  border-bottom: 1px solid var(--color-border);
  background: var(--color-bg-secondary-95);
  position: sticky;
  top: 0;
  z-index: 40;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  flex-shrink: 0;
}
.page-header-title {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.025em;
  color: var(--color-fg);
  text-decoration: none;
  flex-shrink: 0;
}
.page-header-title:hover {
  opacity: 0.8;
}
.page-header-selectors {
  display: none;
  align-items: center;
  gap: var(--sp-3);
  flex-shrink: 0;
}
.back-link {
  padding: 0.25rem;
  margin-left: -0.5rem;
  border-radius: var(--radius);
  color: var(--color-fg);
  transition: background-color var(--transition-fast);
}
.back-link:hover {
  background: var(--color-bg-secondary);
}
.section-header {
  padding-bottom: var(--sp-4);
}
.section-header h1 {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.5;
  margin: 0;
}
.section-header.with-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-6);
}
.section-header .subtitle {
  font-size: 0.875rem;
  color: var(--color-fg-muted);
  margin: 0;
}
.section-title {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 0;
}
.tab-strip,
.filter-pills,
.custom-command-tabs {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 2px;
  background: var(--color-border-30);
  border-radius: var(--radius);
  overflow-x: auto;
}
.filter-pills {
  background: var(--color-bg-secondary);
  flex-shrink: 0;
}
.custom-command-tabs {
  padding: 0.125rem;
  gap: 0.125rem;
  margin-left: 0.5rem;
}
.tab-item,
.filter-pill,
.custom-command-tab {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-2) var(--sp-3);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.025em;
  border-radius: calc(var(--radius) - 2px);
  color: var(--color-fg-muted);
  text-decoration: none;
  white-space: nowrap;
  transition: background-color var(--transition-fast), color var(--transition-fast);
  border: none;
  background: transparent;
  cursor: pointer;
}
.filter-pill {
  font-weight: 500;
}
.tab-item:hover,
.filter-pill:hover,
.custom-command-tab:not(.active):hover {
  color: var(--color-fg);
  background: var(--color-bg-50);
}
.tab-item.active,
.filter-pill.active,
.custom-command-tab.active {
  color: var(--color-fg);
  background: var(--color-bg);
  box-shadow: var(--shadow-sm);
}
.filter-pill.active.bg-success {
  background: var(--color-success);
  color: white;
}
.filter-pill.active.bg-warning {
  background: var(--color-warning);
  color: white;
}
.filter-pill.active.bg-error {
  background: var(--color-error);
  color: white;
}
.filter-bar,
.advanced-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--color-border);
  background: var(--color-bg);
}
.advanced-filters {
  padding: 0.5rem 1rem;
  background: var(--color-bg-50);
  gap: 0.75rem;
}
.advanced-filters .filter-label {
  display: inline;
  margin-bottom: 0;
}
.advanced-filters .hstack {
  flex-wrap: nowrap;
}
.filter-bar-search {
  width: 100%;
  order: 1;
}
.filter-bar-filters {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  overflow-x: auto;
  order: 2;
}
.filter-bar-actions {
  margin-left: auto;
  order: 3;
}
.filter-select,
.grouping-select,
.date-input {
  padding: var(--sp-2) var(--sp-3);
  font-size: 0.875rem;
  background: var(--color-bg-secondary);
  border: 1px solid transparent;
  border-radius: var(--radius);
  color: var(--color-fg);
  cursor: pointer;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.filter-select:focus,
.grouping-select:focus,
.date-input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-20);
}
.filter-select:hover {
  background: var(--color-bg-tertiary);
}
.grouping-select {
  border: none;
  padding: 0.375rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
}
.date-input {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  border: none;
}
.clear-filters-btn,
.filter-clear-link {
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  background: transparent;
  border: none;
  padding: var(--sp-1) var(--sp-2);
  cursor: pointer;
  transition: color var(--transition-fast);
}
.filter-clear-link {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.clear-filters-btn:hover,
.filter-clear-link:hover {
  color: var(--color-fg);
}
.filter-count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 0.375rem;
  font-size: 0.625rem;
  font-weight: 700;
  border-radius: var(--radius-full);
  background: var(--color-primary);
  color: white;
}
.filter-menu-card {
  margin-bottom: var(--sp-4);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  background: var(--color-bg-80);
  padding: var(--sp-4);
  box-shadow: var(--shadow-sm);
}
.filter-menu-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-3);
}
.filter-menu-label,
.filter-label {
  display: block;
  margin-bottom: 0.25rem;
  padding-left: 0.125rem;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-fg-muted);
  font-weight: 600;
}
.filter-menu-card input,
.filter-menu-card select {
  width: 100%;
  padding: var(--sp-2) var(--sp-3);
  font-size: 0.75rem;
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  color: var(--color-fg);
}
.filter-menu-card input:focus,
.filter-menu-card select:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-20);
}
.filter-menu-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: var(--sp-3);
  padding-top: var(--sp-3);
  border-top: 1px solid var(--color-border);
}
.filter-summary-text,
.filter-summary {
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  margin-left: auto;
}
.search-input-wrapper {
  position: relative;
}
.search-input-icon {
  position: absolute;
  left: var(--sp-3);
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-fg-muted);
  pointer-events: none;
}
.search-input {
  width: 100%;
  padding: var(--sp-2) var(--sp-3) var(--sp-2) 2.25rem;
  font-size: 0.875rem;
  background: var(--color-bg-secondary);
  border: 1px solid transparent;
  border-radius: var(--radius);
}
.search-input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-20);
}
.search-input::placeholder {
  color: var(--color-fg-muted);
}
.role-selector,
.project-switcher,
.grouping-selector,
.language-selector {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-2) var(--sp-3);
  background: var(--color-border-30);
  border-radius: var(--radius);
}
.grouping-selector {
  gap: 0.25rem;
  background: var(--color-bg-secondary);
  border-radius: var(--radius-lg);
  padding: 0.25rem;
}
.language-selector {
  background: var(--color-bg-secondary);
  padding: 0.375rem var(--sp-3);
}
.role-selector select,
.language-selector select {
  background: transparent;
  border: none;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-fg);
  outline: none;
}
.role-selector select {
  cursor: default;
}
.language-selector select {
  cursor: pointer;
}
.project-switcher {
  text-decoration: none;
  color: var(--color-fg);
  transition: background-color var(--transition-fast);
}
.project-switcher:hover {
  background: var(--color-border);
}
.project-switcher span {
  font-size: 0.875rem;
  font-weight: 500;
}
.grouping-label {
  padding: 0 0.5rem;
  font-size: 0.75rem;
  color: var(--color-fg-muted);
}
.language-selector-icon {
  color: var(--color-fg-muted);
}
.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  border-radius: var(--radius-full);
}
.badge--primary {
  background: var(--color-primary-20);
  color: var(--color-primary);
}
.badge--success {
  background: var(--color-success-20);
  color: var(--color-success);
}
.badge--warning {
  background: var(--color-warning-20);
  color: var(--color-warning);
}
.badge--error {
  background: var(--color-error-20);
  color: var(--color-error);
}
.badge--muted {
  background: var(--color-bg-secondary);
  color: var(--color-fg-muted);
}
.badge--sm {
  padding: 0.125rem 0.375rem;
  font-size: 0.625rem;
  border-radius: var(--radius-sm);
}
.tag-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  border-radius: var(--radius-full);
  background: var(--color-primary-20);
  color: var(--color-primary);
}
.tag-badge-small {
  padding: 0.125rem 0.375rem;
  background: var(--color-border-50);
  color: var(--color-fg-muted);
  font-size: 0.625rem;
  border-radius: var(--radius-sm);
}
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: var(--radius-full);
  background: var(--color-primary-10);
  color: var(--color-primary);
}
.status-badge.muted,
.status-muted {
  background: var(--color-bg-secondary);
  color: var(--color-fg-muted);
}
.status-success,
.badge-success {
  background: var(--color-success-20);
  color: var(--color-success);
}
.status-warning,
.badge-warning {
  background: var(--color-warning-20);
  color: var(--color-warning);
}
.status-error,
.badge-error {
  background: var(--color-error-20);
  color: var(--color-error);
}
.badge-overdue {
  margin-left: 0.5rem;
  font-size: 0.625rem;
  color: var(--color-error);
  font-weight: 600;
}
.badge-overdue-inline {
  display: inline-flex;
  margin-left: 0.5rem;
  font-size: 0.625rem;
  background: var(--color-error-20);
  border-radius: var(--radius-sm);
  color: var(--color-error);
  padding: 0.125rem 0.5rem;
}
.tag-overflow {
  font-size: 0.625rem;
  color: var(--color-fg-muted);
  opacity: 0.5;
}
.tag-remove {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: inherit;
  opacity: 0.7;
  transition: opacity var(--transition-fast);
}
.tag-remove:hover {
  opacity: 1;
}
.icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--sp-2);
  border-radius: var(--radius);
  background: var(--color-primary-10);
  color: var(--color-primary);
  cursor: pointer;
  border: none;
  transition: all var(--transition-fast);
}
.icon-button:hover {
  background: var(--color-primary);
  color: white;
}
.icon-button.muted {
  background: var(--color-bg-tertiary-50);
  color: var(--color-fg-muted);
}
.icon-button.muted:hover {
  background: var(--color-bg-tertiary-80);
  color: var(--color-fg);
}
.icon-button.ghost {
  background: transparent;
  color: var(--color-fg-muted);
}
.icon-button.ghost:hover {
  background: var(--color-bg-tertiary);
  color: var(--color-fg);
}
.icon-button-danger:hover {
  background: var(--color-error-20);
  color: var(--color-error);
}
.form-button-primary,
.upload-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  background: var(--color-primary);
  color: white;
  border: none;
  border-radius: var(--radius);
  cursor: pointer;
  transition: opacity var(--transition-fast);
}
.upload-button {
  width: 100%;
  padding: 0.75rem 1rem;
  border-radius: var(--radius-lg);
}
.form-button-primary:hover,
.upload-button:hover {
  opacity: 0.9;
}
.form-button-secondary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  background: transparent;
  color: var(--color-fg-muted);
  border: none;
  border-radius: var(--radius);
  cursor: pointer;
  transition: background-color var(--transition-fast);
}
.form-button-secondary:hover {
  background: var(--color-bg-secondary);
}
.form-field-group {
  padding: 0.75rem;
  background: var(--color-bg-secondary-50);
  border-radius: var(--radius-lg);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.form-input,
.form-select,
.form-textarea {
  width: 100%;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  background: var(--color-bg-secondary);
  border: none;
  border-radius: var(--radius);
  color: var(--color-fg);
}
.form-input,
.form-textarea {
  margin-top: 0.25rem;
}
.form-textarea {
  resize: none;
}
.form-select {
  cursor: pointer;
}
.form-input:focus,
.form-select:focus,
.form-textarea:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-primary);
}
.form-checkbox,
.form-radio {
  width: 1rem;
  height: 1rem;
  accent-color: var(--color-primary);
}
.form-checkbox {
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
}
.checkbox-label,
.radio-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-size: 0.875rem;
}
.checkbox-label {
  display: flex;
  padding: 0.75rem;
}
.radio {
  appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid var(--color-base-300);
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.15s ease;
  position: relative;
}
.radio:checked {
  border-color: var(--color-primary);
}
.radio:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--color-primary);
}
.radio:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-primary-content), 0 0 0 4px var(--color-primary);
}
.radio-primary:checked {
  border-color: var(--color-primary);
}
.radio-primary:checked::after {
  background: var(--color-primary);
}
.checkbox {
  appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid var(--color-base-300);
  border-radius: 0.25rem;
  cursor: pointer;
  transition: all 0.15s ease;
  position: relative;
}
.checkbox:checked {
  background: var(--color-primary);
  border-color: var(--color-primary);
}
.checkbox:checked::after {
  content: "";
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 0.3rem;
  height: 0.55rem;
  border: solid white;
  border-width: 0 2px 2px 0;
}
.checkbox:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-primary-content), 0 0 0 4px var(--color-primary);
}
.checkbox-primary:checked {
  background: var(--color-primary);
  border-color: var(--color-primary);
}
.form-warning {
  padding: 0.75rem;
  background: var(--color-warning-20);
  border: 1px solid var(--color-warning-30);
  border-radius: var(--radius);
  color: var(--color-warning);
  font-size: 0.875rem;
}
.form-section {
  padding: var(--sp-4);
}
.field-label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--color-fg-muted);
}
.readonly-value {
  padding: var(--sp-2) var(--sp-3);
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  font-size: 0.875rem;
}
.data-table {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.data-table-header {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--sp-2);
  padding: var(--sp-2) var(--sp-4);
  background: var(--color-bg-secondary);
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-fg-muted);
}
.data-table-header-cell {
  display: flex;
  align-items: center;
  gap: var(--sp-1);
  background: transparent;
  border: none;
  padding: 0;
  font: inherit;
  color: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
}
.data-table-header-cell.sortable {
  cursor: pointer;
  transition: color var(--transition-fast);
}
.data-table-header-cell.sortable:hover,
.sort-column-btn:hover,
.sort-column-btn.active {
  color: var(--color-fg);
}
.data-table-header-cell.align-right {
  justify-content: flex-end;
}
.data-table-header-cell.align-center {
  justify-content: center;
}
.data-table-row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--sp-2);
  padding: var(--sp-3) var(--sp-4);
  border-top: 1px solid var(--color-border-50);
  font-size: 0.875rem;
  text-decoration: none;
  color: inherit;
  transition: background-color var(--transition-fast);
  align-items: center;
}
.data-table-row:hover {
  background: var(--color-bg-secondary-50);
}
.data-table-empty {
  padding: var(--sp-8) var(--sp-4);
  text-align: center;
  color: var(--color-fg-muted);
}
.data-table-footer {
  margin-top: var(--sp-4);
}
.data-list {
  list-style: none;
  padding: 0;
  margin: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-bg);
}
.data-list li {
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--color-border);
}
.data-list li:last-child {
  border-bottom: none;
}
.data-list li strong {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-fg);
  margin-bottom: 0.125rem;
}
.data-list li span {
  font-size: 0.875rem;
  color: var(--color-fg-muted);
}
table tr.clickable {
  cursor: pointer;
}
table tr.clickable:hover {
  background: var(--color-bg-secondary);
}
table .actions-cell {
  width: 0;
  text-align: right;
  font-weight: 600;
}
.sort-column-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background: transparent;
  border: none;
  padding: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  transition: color var(--transition-fast);
}
.clickable-row {
  cursor: pointer;
  transition: background-color var(--transition-fast);
}
.clickable-row:hover {
  background: var(--color-border-30);
}
.clickable-row.selected {
  background: var(--color-border-40);
}
.row-overdue {
  background: var(--color-error-5);
}
.row-former {
  opacity: 0.6;
}
.row-former:hover {
  opacity: 0.8;
}
.stat-card {
  border-radius: var(--radius-lg);
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-sm);
}
.stat-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--sp-2);
}
.stat-card-label {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.025em;
  color: var(--color-fg-muted);
}
.stat-card-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-fg);
}
.stat-card-value.success {
  color: var(--color-success);
}
.stat-card-value.error {
  color: var(--color-error);
}
.stat-card-value.primary {
  color: var(--color-primary);
}
.stat-card-subtitle {
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  margin-top: var(--sp-1);
}
.stat-card-featured {
  border-radius: var(--radius-lg);
  background:
    linear-gradient(
      to right,
      color-mix(in oklch, var(--color-primary) 10%, var(--color-bg)),
      var(--color-primary-5));
  border: 1px solid var(--color-primary-20);
}
.metrics-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-4);
}
.detail-layout {
  flex: 1;
  display: flex;
  overflow: hidden;
}
.detail-sidebar {
  width: var(--detail-sidebar);
  border-right: 1px solid var(--color-border);
  padding: 1.5rem;
  overflow-y: auto;
  flex-shrink: 0;
}
.detail-sidebar-wide {
  width: auto;
  flex: 1;
  max-width: var(--detail-sidebar-wide);
}
.detail-preview {
  flex: 1;
  background: var(--color-bg-secondary);
  padding: 1.5rem;
  overflow-y: auto;
}
.detail-container {
  max-width: var(--container-xl);
  margin: 0 auto;
}
.detail-section {
  margin-bottom: var(--sp-6);
  box-shadow: var(--shadow);
}
.detail-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--sp-4);
}
.detail-section-title {
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-fg-muted);
  margin: 0;
}
.detail-field {
  margin-bottom: var(--sp-3);
  display: flex;
  flex-direction: column;
  gap: var(--sp-1);
}
.detail-field-label {
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-fg-muted);
  margin-bottom: var(--sp-1);
}
.detail-field-value {
  font-size: 0.875rem;
  color: var(--color-fg);
}
.detail-field dt {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-fg-muted);
}
.detail-field dd {
  font-size: 0.875rem;
  color: var(--color-fg);
  margin: 0;
}
.detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--sp-4);
}
.detail-grid.cols-4 {
  grid-template-columns: repeat(2, 1fr);
}
.amount-large {
  font-size: 1.5rem;
  font-family: var(--font-mono);
  font-weight: 700;
}
.amount-secondary {
  font-size: 1rem;
  font-weight: normal;
  color: var(--color-fg-muted);
}
.amount-income {
  font-weight: 500;
  color: var(--color-success);
}
.amount-expense {
  font-weight: 500;
  color: var(--color-error);
}
.amount-warning {
  font-weight: 500;
  color: var(--color-warning);
}
.text-overdue {
  color: var(--color-error);
  font-weight: 500;
}
.transaction-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--sp-3);
  border-radius: var(--radius);
  border: 1px solid var(--color-border-50);
  text-decoration: none;
  color: inherit;
  transition: background-color var(--transition-fast);
}
.transaction-item:hover {
  background: var(--color-bg-secondary);
}
.transaction-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: var(--color-primary-10);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.transaction-details {
  flex: 1;
  min-width: 0;
  margin-left: var(--sp-3);
}
.transaction-payee {
  font-weight: 500;
  font-size: 0.875rem;
  color: var(--color-fg);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.transaction-meta {
  font-size: 0.75rem;
  color: var(--color-fg-muted);
}
.transaction-amount {
  font-size: 0.875rem;
  font-family: var(--font-mono);
  font-weight: 600;
  color: var(--color-fg);
}
.attachment-link,
.attachment-empty,
.attachment-warning {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  border-radius: var(--radius);
  font-size: 0.875rem;
  transition: background-color var(--transition-fast), color var(--transition-fast);
  width: 100%;
  text-align: left;
  border: none;
  cursor: pointer;
  text-decoration: none;
}
.attachment-link {
  background: var(--color-success-20);
  color: var(--color-success);
}
.attachment-link:hover {
  background: var(--color-success-30);
}
.attachment-link.active {
  background: var(--color-primary-20);
  color: var(--color-primary);
}
.attachment-empty {
  display: inline-flex;
  background: var(--color-bg-secondary);
  color: var(--color-fg-muted);
  cursor: default;
}
.attachment-warning {
  display: inline-flex;
  background: var(--color-warning-20);
  color: var(--color-warning);
  cursor: default;
}
.attachment-row,
.posting-row {
  display: flex;
  gap: var(--sp-3);
  align-items: flex-start;
  justify-content: space-between;
  padding: var(--sp-3);
  background: var(--color-bg-secondary);
  border-radius: var(--radius);
}
.posting-row {
  padding: var(--sp-2) var(--sp-3);
}
.current-attachment-item,
.staged-file-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem;
  background: var(--color-bg);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
}
.current-attachment-info,
.staged-file-info {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}
.current-attachment-details {
  min-width: 0;
}
.current-attachment-name,
.staged-file-name {
  font-size: 0.875rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}
.current-attachment-view {
  font-size: 0.625rem;
  color: var(--color-primary);
  text-decoration: none;
}
.current-attachment-view:hover {
  text-decoration: underline;
}
.current-attachment-remove,
.staged-file-remove {
  padding: 0.375rem;
  color: var(--color-fg-muted);
  background: transparent;
  border: none;
  border-radius: var(--radius);
  cursor: pointer;
  flex-shrink: 0;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}
.staged-file-remove {
  padding: 0.25rem;
}
.current-attachment-remove:hover,
.staged-file-remove:hover {
  background: var(--color-error-20);
  color: var(--color-error);
}
.upload-dropzone,
.files-upload-dropzone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--sp-4);
  border: 2px dashed var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-bg-secondary);
  text-align: center;
  transition: border-color var(--transition), background var(--transition);
  cursor: pointer;
}
.files-upload-dropzone {
  border-radius: var(--radius);
  padding: 1rem;
  background: var(--color-bg-secondary-50);
  margin-bottom: 0.75rem;
}
.upload-dropzone:hover,
.files-upload-dropzone:hover {
  border-color: var(--color-primary);
  background: var(--color-bg-tertiary);
}
.files-upload-dropzone:hover {
  background: var(--color-bg-secondary);
}
.upload-dropzone.drag-over {
  border-color: var(--color-primary);
  background: var(--color-primary-5);
}
.upload-dropzone-label,
.files-upload-label {
  cursor: pointer;
  text-align: center;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}
.upload-dropzone-icon,
.files-upload-icon {
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1rem;
  color: var(--color-fg-muted);
  opacity: 0.3;
}
.files-upload-icon {
  width: 2rem;
  height: 2rem;
  margin: 0;
  opacity: 0.4;
}
.upload-dropzone-icon-lg {
  width: 3rem;
  height: 3rem;
  margin: 0 auto 0.75rem;
  color: var(--color-fg-muted);
  opacity: 0.3;
}
.upload-dropzone-tall {
  min-height: 200px;
}
.upload-dropzone-title {
  font-size: 1.125rem;
  color: var(--color-fg-muted);
  font-weight: 500;
}
.upload-dropzone-subtitle,
.upload-dropzone-hint,
.files-upload-hint {
  font-size: 0.875rem;
  color: var(--color-fg-muted);
  opacity: 0.6;
  margin-top: 0.25rem;
}
.upload-dropzone-hint,
.files-upload-hint {
  font-size: 0.75rem;
  margin-top: 1rem;
}
.files-upload-text {
  font-size: 0.875rem;
  color: var(--color-fg-muted);
}
.files-upload-text strong {
  color: var(--color-fg);
}
.upload-entry {
  padding: var(--sp-1) var(--sp-2);
  background: var(--color-bg-secondary);
  border-radius: var(--radius-sm);
  font-size: 0.75rem;
  margin-top: var(--sp-3);
}
.upload-entry-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  background: var(--color-bg-secondary);
  border-radius: var(--radius);
  padding: 0.25rem 0.5rem;
  margin-top: 0.5rem;
}
.upload-entry-name {
  flex: 1;
  color: var(--color-fg);
}
.upload-entry-progress {
  color: var(--color-fg-muted);
}
.upload-entry-cancel {
  color: var(--color-fg-muted);
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: color var(--transition-fast);
}
.upload-entry-cancel:hover {
  color: var(--color-error);
}
.upload-entry-error {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  color: var(--color-error);
}
.preview-container {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.preview-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  color: var(--color-primary);
  text-decoration: none;
}
.preview-link:hover {
  text-decoration: underline;
}
.preview-frame {
  flex: 1;
  background: var(--color-bg);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow);
}
.preview-iframe,
.pdf-preview iframe,
.pdf-viewer-frame iframe,
.pdf-preview-iframe-fullscreen {
  width: 100%;
  height: 100%;
  border: none;
}
.preview-image-container {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.preview-image {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.preview-empty {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--color-fg-muted);
  opacity: 0.5;
}
.preview-empty-icon {
  width: 6rem;
  height: 6rem;
  margin-bottom: 1rem;
}
.preview-empty-title {
  font-size: 1.125rem;
}
.preview-empty-subtitle {
  font-size: 0.875rem;
  margin-top: 0.25rem;
}
.pdf-preview {
  background: var(--color-bg-secondary);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.pdf-preview iframe {
  height: 600px;
}
.pdf-preview-fullscreen {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pdf-preview-iframe-fullscreen {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
}
.pdf-viewer-card {
  padding: var(--sp-4);
}
.pdf-viewer-frame {
  width: 100%;
  height: 720px;
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid var(--color-border);
}
.ocr-fields {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}
.ocr-field {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--sp-2) var(--sp-3);
  background: var(--color-bg-secondary);
  border-radius: var(--radius);
}
.ocr-field-label {
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.ocr-field-value {
  font-size: 0.875rem;
  color: var(--color-fg);
  text-align: right;
}
.ocr-field-select {
  display: flex;
  flex-direction: column;
  gap: var(--sp-1);
}
.ocr-field-select .ocr-field-label {
  margin-bottom: var(--sp-1);
}
.ocr-field-select select,
.ocr-field-select input {
  width: 100%;
  padding: var(--sp-2);
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  font-size: 0.875rem;
  color: var(--color-fg);
}
.ocr-field-select select:focus,
.ocr-field-select input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-alpha);
}
.ocr-field-select select option {
  padding: var(--sp-2);
}
.ocr-field-select .w-auto {
  width: auto;
  min-width: 100px;
}
.ocr-raw-text {
  margin-top: var(--sp-2);
}
.ocr-raw-summary {
  cursor: pointer;
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: var(--sp-1) 0;
}
.ocr-raw-summary:hover {
  color: var(--color-fg);
}
.ocr-raw-content {
  margin-top: var(--sp-2);
  padding: var(--sp-3);
  background: var(--color-bg-tertiary);
  border-radius: var(--radius);
  font-size: 0.7rem;
  line-height: 1.4;
  max-height: 200px;
  overflow-y: auto;
  white-space: pre-wrap;
  word-break: break-word;
  color: var(--color-fg-muted);
}
.ocr-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--sp-8);
  color: var(--color-fg-muted);
}
.ocr-loading-spinner {
  width: 2rem;
  height: 2rem;
  border: 2px solid var(--color-border);
  border-top-color: var(--color-primary);
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: var(--sp-3);
}
.ocr-preview {
  border-top: 1px solid var(--color-border);
  padding-top: var(--sp-4);
}
.ocr-preview-frame {
  background: var(--color-bg-tertiary);
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--color-border);
}
.ocr-preview-iframe {
  width: 100%;
  height: 400px;
  border: none;
}
.ocr-preview-image {
  width: 100%;
  height: auto;
  max-height: 400px;
  object-fit: contain;
  display: block;
}
.ocr-preview-pdf-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--sp-8);
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.alert-error,
.alert-warning {
  margin-bottom: 1rem;
  border-radius: var(--radius);
  padding: 0.75rem 1rem;
}
.alert-error {
  border: 1px solid var(--color-error-30);
  background: var(--color-error-10);
}
.alert-warning {
  border: 1px solid var(--color-warning-30);
  background: var(--color-warning-10);
}
.alert-link {
  margin-top: 0.25rem;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.error-message {
  padding: 1rem;
  background: var(--color-error-10);
  border: 1px solid var(--color-error-20);
  border-radius: var(--radius);
  color: var(--color-error);
}
.error-card-wrapper {
  padding: 0 var(--sp-4);
}
.error-card {
  border: 1px solid var(--color-border-30);
  background: var(--color-bg-tertiary-10);
  padding: var(--sp-8);
  margin-bottom: var(--sp-6);
}
.error-card h2 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-fg);
  margin: 0 0 var(--sp-2);
}
.error-card .error-link {
  display: block;
  color: var(--color-fg);
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  margin-bottom: var(--sp-4);
  word-break: break-all;
  transition: color var(--transition-fast);
}
.error-card .error-link:hover {
  color: var(--color-primary);
}
.error-card .error-link small {
  display: block;
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  margin-top: 0.25rem;
}
.error-card .error-message {
  color: var(--color-fg-muted);
  margin-bottom: var(--sp-4);
}
.error-card .error-location {
  display: block;
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  margin-bottom: var(--sp-4);
}
.error-card .settings-link {
  color: var(--color-fg);
  text-decoration: underline;
}
.flash-group {
  position: fixed;
  right: var(--sp-4);
  top: var(--sp-4);
  z-index: 50;
  display: flex;
  width: 22rem;
  max-width: 90vw;
  flex-direction: column;
  gap: var(--sp-3);
}
.empty-state {
  padding: var(--sp-6);
  text-align: center;
}
.empty-state-icon {
  opacity: 0.3;
  margin-bottom: 0.75rem;
}
.balance-content,
.files-content {
  padding: 0 var(--sp-4);
}
.balance-tree {
  font-family: var(--font-mono);
}
.balance-options {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
  margin-top: 0.5rem;
}
.balance-section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: var(--sp-2);
  cursor: pointer;
}
.balance-section-grid,
.balance-tree-grid {
  display: grid;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
}
.balance-section-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
}
.balance-section-title {
  font-weight: 700;
  color: var(--color-fg);
}
.balance-chevron {
  color: var(--color-fg-muted);
  transition: transform var(--transition-fast);
}
.balance-chevron.collapsed {
  transform: rotate(-90deg);
}
.balance-tree-line {
  position: relative;
  padding-left: 1rem;
  margin-left: 0.25rem;
}
.balance-tree-line::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background-color: var(--color-border);
}
.balance-tree-branch {
  position: relative;
  display: flex;
  align-items: center;
}
.balance-tree-branch::before {
  content: "";
  position: absolute;
  left: -1rem;
  top: 50%;
  width: 0.75rem;
  height: 1px;
  background-color: var(--color-border);
}
.balance-amount {
  font-weight: 700;
  color: var(--color-fg);
  text-align: right;
  min-width: 5rem;
}
.balance-tree-node {
  padding: 0.375rem 0.5rem;
  cursor: pointer;
  color: var(--color-fg-muted);
}
.balance-tree-node.highlighted {
  color: var(--color-fg);
}
.balance-tree-node:hover {
  background: var(--color-border-20);
}
.balance-tree-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
}
.balance-tree-row:hover {
  background: var(--color-bg-secondary);
  border-radius: var(--radius-sm);
}
.balance-tree-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}
.balance-tree-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}
.balance-tree-link:hover {
  text-decoration: underline;
}
.balance-tree-name {
  font-size: 0.75rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.balance-tree-value {
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
  text-align: right;
  min-width: 5rem;
  color: inherit;
  text-decoration: none;
}
.balance-tree-value:hover {
  text-decoration: underline;
}
.balance-tree-maximized {
  position: fixed;
  inset: var(--sp-4);
  z-index: 50;
  overflow: auto;
}
.leader-dots {
  flex-grow: 1;
  border-bottom: 1px dotted var(--color-border);
  margin: 0 6px;
  position: relative;
  top: -4px;
}
.tree-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  border-radius: var(--radius-sm);
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  transition: background-color var(--transition-fast);
}
.tree-toggle:hover {
  background: var(--color-border-40);
}
.tree-toggle .rotated {
  transform: rotate(-90deg);
}
.tree-toggle-spacer {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}
.balance-report-section {
  margin-bottom: 2rem;
}
.balance-report-header {
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 0.5rem;
  margin-bottom: 0.75rem;
  padding-left: 0.25rem;
}
.balance-report-header-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
}
.balance-report-title {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.balance-report-title h3 {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-fg);
  letter-spacing: 0.1em;
}
.balance-report-date-range {
  font-size: 0.625rem;
  color: var(--color-fg-muted);
}
.balance-report-content {
  font-size: 0.875rem;
  font-family: var(--font-mono);
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  user-select: none;
}
.balance-total-row,
.balance-total-row-grid {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px dashed var(--color-border);
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.balance-total-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.balance-total-row-grid {
  display: grid;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
}
.balance-total-label {
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  color: var(--color-fg);
}
.balance-total-value {
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--color-fg);
}
.balance-total-value.positive {
  color: var(--color-success);
}
.balance-total-value.negative {
  color: var(--color-error);
}
.balance-currency-totals {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px dashed var(--color-border);
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.balance-currency-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.25rem 0;
}
.balance-currency-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--color-fg-muted);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.balance-currency-value {
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums;
  color: var(--color-fg);
}
.balance-currency-value.negative {
  color: var(--color-error);
}
.profit-loss-summary {
  background: var(--color-bg-secondary);
}
.pl-tree-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: var(--sp-2);
  border-radius: var(--radius);
  transition: background-color var(--transition-fast);
}
.pl-tree-header.pl-income {
  background: var(--color-success-10);
  border: 1px solid var(--color-success-20);
  color: var(--color-success);
}
.pl-tree-header.pl-expense {
  background: var(--color-error-10);
  border: 1px solid var(--color-error-20);
  color: var(--color-error);
}
.pl-income-row,
.pl-expense-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--sp-2);
  border-radius: var(--radius);
  cursor: pointer;
  transition: background-color var(--transition-fast);
  gap: var(--sp-3);
}
.pl-income-row {
  color: color-mix(in oklch, var(--color-success) 80%, var(--color-fg));
}
.pl-expense-row {
  color: color-mix(in oklch, var(--color-error) 80%, var(--color-fg));
}
.pl-income-row:hover,
.pl-expense-row:hover {
  background: var(--color-border-30);
}
.chart-container {
  overflow-x: auto;
}
.chart-bars {
  display: flex;
  align-items: flex-end;
  gap: var(--sp-2);
  height: 12rem;
  border-bottom: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
  padding: var(--sp-4);
  min-width: 600px;
}
.chart-bar-group {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-1);
}
.chart-bar-pair {
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 2px;
  height: 10rem;
}
.chart-bar {
  width: 45%;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  transition: opacity var(--transition-fast);
}
.chart-bar:hover {
  opacity: 0.8;
}
.chart-bar.income,
.chart-legend-dot.income {
  background: var(--color-success);
}
.chart-bar.expense,
.chart-legend-dot.expense {
  background: var(--color-error);
}
.chart-bar-label {
  font-size: 0.625rem;
  color: var(--color-fg-muted);
  text-align: center;
}
.chart-legend {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-4);
  margin-top: var(--sp-3);
}
.chart-legend-item {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
}
.chart-legend-dot {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: var(--radius-sm);
}
.console-view {
  font-family: var(--font-mono);
  background: #1a1a1a;
  color: #e0e0e0;
}
.commit-entry {
  width: 100%;
  text-align: left;
  padding: var(--sp-2) var(--sp-3);
  border-radius: var(--radius);
  background: transparent;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
}
.commit-entry:hover {
  background: var(--color-bg-secondary);
}
.commit-entry.selected {
  background: var(--color-primary-10);
  border-color: var(--color-primary-20);
}
.diff-file {
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  overflow: hidden;
}
.diff-content {
  padding: var(--sp-3);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  overflow-x: auto;
  background: var(--color-bg);
}
.diff-content pre {
  margin: 0;
}
.diff-content code {
  background: transparent;
  padding: 0;
}
.diff-line-added {
  background: var(--color-success-10);
  color: var(--color-success);
}
.diff-line-removed {
  background: var(--color-error-10);
  color: var(--color-error);
}
.diff-line-hunk {
  background: var(--color-info-10);
  color: var(--color-info);
  font-weight: 600;
}
.diff-line-header {
  background: var(--color-bg-secondary);
  color: var(--color-fg);
  font-weight: 600;
}
.diff-line-unchanged {
  color: var(--color-fg-muted);
}
.diff-added {
  color: var(--color-success);
}
.diff-removed {
  color: var(--color-error);
}
.files-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-4);
}
.files-panel {
  border: 1px solid var(--color-border-30);
  border-radius: var(--radius);
  padding: var(--sp-4);
  background: var(--color-bg-tertiary-10);
}
.files-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}
.files-panel-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-fg);
}
.files-panel-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.files-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  margin-bottom: 1rem;
}
.files-breadcrumb-link {
  color: var(--color-fg-muted);
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: color var(--transition-fast);
}
.files-breadcrumb-link:hover {
  color: var(--color-fg);
}
.files-breadcrumb-current {
  color: var(--color-fg);
  font-weight: 600;
}
.files-breadcrumb-separator {
  color: var(--color-fg-muted);
}
.files-empty-state {
  color: var(--color-fg-muted);
  font-size: 0.875rem;
}
.new-item-form {
  margin-bottom: 0.75rem;
  padding: 0.5rem;
  background: var(--color-bg-secondary);
  border-radius: var(--radius);
}
.new-item-form-inner {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.new-item-input {
  flex: 1;
  height: 2rem;
  border-radius: var(--radius);
  border: 1px solid var(--color-border);
  background: var(--color-bg);
  padding: 0 0.5rem;
  font-size: 0.75rem;
  color: var(--color-fg);
  box-shadow: var(--shadow-sm);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.new-item-input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-30);
}
.file-list-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.5rem;
  border-radius: var(--radius);
  transition: background-color var(--transition-fast);
}
.file-list-item:hover {
  background: var(--color-border-30);
}
.file-list-link {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-size: 0.875rem;
  color: var(--color-fg);
  text-decoration: none;
}
.file-list-link:hover {
  text-decoration: underline;
}
.file-list-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  opacity: 0;
  transition: opacity var(--transition-fast);
}
.file-list-item:hover .file-list-actions {
  opacity: 1;
}
.fullscreen-editor {
  position: fixed;
  inset: 0;
  z-index: 50;
  background: var(--color-bg);
  display: flex;
  flex-direction: column;
}
.fullscreen-editor-header {
  background: var(--color-bg-secondary-95);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--color-border-20);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
}
.fullscreen-editor-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-fg);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.fullscreen-editor-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.fullscreen-editor-content {
  flex: 1;
  overflow: auto;
  padding: var(--sp-6);
}
.fullscreen-editor-form {
  max-width: 80rem;
  margin: 0 auto;
}
.scripts-layout {
  display: grid;
  grid-template-columns: 16rem 1fr;
  gap: var(--sp-4);
  min-height: calc(100vh - 8rem);
}
.scripts-sidebar {
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  overflow: hidden;
}
.scripts-sidebar-section {
  padding: var(--sp-4);
}
.scripts-list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-2);
  padding: var(--sp-2);
  border-radius: var(--radius);
  transition: background-color var(--transition-fast);
}
.scripts-list-item:hover {
  background: var(--color-bg-tertiary);
}
.scripts-list-item a {
  text-decoration: none;
  color: var(--color-fg);
}
.scripts-delete-btn {
  opacity: 0;
  color: var(--color-error);
  transition: opacity var(--transition-fast);
}
.scripts-list-item:hover .scripts-delete-btn {
  opacity: 1;
}
.scripts-main-content {
  flex: 1;
  overflow-y: auto;
}
.scripts-form-container {
  padding: var(--sp-6);
  max-width: var(--container-xl);
  margin: 0 auto;
  width: 100%;
}
.scripts-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--color-fg-muted);
  text-align: center;
  padding: var(--sp-8);
}
.transactions-section-header {
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--color-border);
}
.bookings-group-header {
  width: 100%;
  padding: var(--sp-2) var(--sp-4);
  background: var(--color-bg-tertiary-20);
  border-bottom: 1px solid var(--color-border);
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  cursor: pointer;
  transition: background-color var(--transition-fast);
  border: none;
}
.bookings-group-header:hover {
  background: var(--color-bg-tertiary-30);
}
.group-title,
.totals-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.075em;
  color: var(--color-fg);
}
.group-count {
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  margin-left: 0.25rem;
}
.group-total {
  font-size: 0.75rem;
  font-family: var(--font-mono);
  font-weight: 600;
  color: var(--color-fg);
}
.bookings-totals-footer {
  padding: var(--sp-3) var(--sp-4);
  background: var(--color-bg-tertiary-40);
  border-top: 1px solid var(--color-border);
}
.totals-amount {
  font-size: 0.875rem;
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--color-fg);
}
.bookings-page,
.salary-statement-page {
  min-height: 100vh;
  background: var(--color-bg);
}
.employee-card {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: box-shadow var(--transition);
}
.employee-card:hover {
  box-shadow: 0 4px 12px var(--color-fg-10);
}
.employee-card.former {
  opacity: 0.75;
  border-color: var(--color-border-50);
  background: var(--color-bg-secondary);
}
.employee-card-header {
  padding: var(--sp-4) var(--sp-6);
  border-bottom: 1px solid var(--color-border-50);
  background:
    linear-gradient(
      to right,
      var(--color-primary-10),
      var(--color-primary-5));
}
.employee-card-header.former {
  background: var(--color-bg-tertiary-50);
}
.salary-info-card,
.period-card {
  border-radius: var(--radius);
  padding: var(--sp-3);
  background: var(--color-bg-secondary-50);
}
.salary-info-card.former {
  background: var(--color-bg-tertiary-50);
}
.salary-preview-section {
  margin-top: var(--sp-8);
  padding-top: var(--sp-6);
  border-top: 1px solid var(--color-border);
}
.salary-header {
  padding-bottom: var(--sp-4);
  margin-bottom: var(--sp-4);
  border-bottom: 1px solid var(--color-border);
}
.salary-table {
  width: 100%;
  font-size: 0.875rem;
}
.salary-table th {
  padding: var(--sp-2) 0;
  font-weight: 600;
  border-bottom: 1px solid var(--color-border);
}
.salary-table td {
  padding: var(--sp-2) 0;
}
.salary-table .numeric {
  text-align: right;
}
.salary-table .subtotal {
  background: var(--color-bg-tertiary-50);
}
.salary-table .subtotal td,
.salary-table .total td {
  padding: var(--sp-2) var(--sp-1);
}
.salary-table .total {
  background: var(--color-primary-10);
}
.salary-summary {
  margin-top: var(--sp-6);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--color-border);
}
.section-header-row {
  margin-bottom: var(--sp-3);
}
.section-divider {
  border-top: 1px solid var(--color-border);
  padding-top: 1rem;
  margin-bottom: 1rem;
}
.raw-ledger-section {
  padding-top: 1rem;
  margin-top: 1rem;
  border-top: 1px solid var(--color-border);
}
.raw-ledger-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: color var(--transition-fast);
}
.raw-ledger-toggle:hover {
  color: var(--color-fg);
}
.raw-ledger-content {
  margin-top: 0.75rem;
  padding: 0.75rem;
  background: var(--color-bg-secondary);
  border-radius: var(--radius);
  font-size: 0.75rem;
  overflow-x: auto;
}
.rule-row {
  display: flex;
  padding: var(--sp-2);
  background: var(--color-bg-secondary);
  border-radius: var(--radius);
  flex-wrap: wrap;
}
.rule-row select,
.rule-row input {
  font-size: 0.875rem;
}
.admin-layout {
  min-height: 100vh;
  background: var(--color-bg);
}
.admin-sidebar {
  width: 16rem;
  background: var(--color-bg-secondary);
  border-right: 1px solid var(--color-border);
  min-height: 100vh;
}
.admin-nav-item {
  display: block;
  padding: var(--sp-2) var(--sp-4);
  border-radius: var(--radius);
  color: var(--color-fg-muted);
  text-decoration: none;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}
.admin-nav-item:hover {
  background: var(--color-bg-tertiary);
  color: var(--color-fg);
}
.admin-nav-item.active {
  background: var(--color-primary-15);
  color: var(--color-primary);
  font-weight: 500;
}
.login-container {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--sp-4);
  background: var(--color-bg);
}
.login-card-wrapper {
  width: 100%;
  max-width: 28rem;
}
.login-card {
  padding: var(--sp-8);
}
.login-header {
  text-align: center;
  margin-bottom: var(--sp-8);
}
.login-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  margin: 0 auto var(--sp-4);
  border-radius: var(--radius-full);
  border: 2px solid var(--color-border);
}
.login-footer {
  margin-top: var(--sp-6);
  text-align: center;
}
.theme-toggle {
  position: relative;
  display: flex;
  align-items: center;
  border-radius: var(--radius-full);
  border: 1px solid var(--color-border);
  background: var(--color-bg-secondary);
  padding: 0.25rem;
  box-shadow: var(--shadow-sm);
}
.theme-toggle-indicator {
  position: absolute;
  inset: 0.25rem 0;
  width: calc(100% / 3 - 0.125rem);
  border-radius: var(--radius-full);
  border: 1px solid var(--color-border);
  background: var(--color-bg);
  box-shadow: var(--shadow-sm);
  left: 0;
  transition: left var(--transition);
}
[data-theme=light] .theme-toggle-indicator {
  left: calc(100% / 3);
}
[data-theme=dark] .theme-toggle-indicator {
  left: calc(100% * 2 / 3);
}
.theme-toggle-btn {
  display: flex;
  width: calc(100% / 3);
  align-items: center;
  justify-content: center;
  padding: var(--sp-2);
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--color-fg-muted);
  transition: color var(--transition-fast);
  position: relative;
  z-index: 1;
}
.theme-toggle-btn:hover {
  color: var(--color-fg);
}
.account-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  background: var(--color-bg-secondary);
  border-radius: var(--radius);
  font-size: 0.875rem;
}
.landing-link-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-6);
  text-align: center;
  font-size: 0.875rem;
  font-weight: 600;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}
.landing-link-card:hover {
  transform: scale(1.02);
}
.landing-text-link {
  padding: var(--sp-1) var(--sp-2);
  border-radius: var(--radius);
  transition: background-color var(--transition-fast);
}
.landing-text-link:hover {
  background: var(--color-bg-secondary);
}
@media (min-width: 768px) {
  .app-layout {
    flex-direction: row;
  }
  .app-content {
    padding-bottom: 2.5rem;
  }
  .content-area {
    padding: var(--sp-8);
    margin-bottom: 0;
  }
  .sidebar-nav {
    display: flex;
  }
  .mobile-nav {
    display: none;
  }
  .page-header {
    padding: var(--sp-2) var(--sp-6);
    gap: var(--sp-3);
  }
  .page-header-selectors {
    display: flex;
  }
  .filter-bar {
    padding: var(--sp-3) var(--sp-6);
    gap: var(--sp-4);
  }
  .filter-bar-search {
    width: auto;
    flex: 1;
    min-width: 12rem;
    max-width: 20rem;
  }
  .filter-menu-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .advanced-filters {
    padding: 0.5rem 1.5rem;
  }
  .metrics-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .detail-grid.cols-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .pdf-viewer-frame {
    height: 820px;
  }
  .posting-row {
    flex-direction: row;
  }
}
@media (max-width: 767px) {
  .col-1,
  .col-2,
  .col-3,
  .col-4,
  .col-5,
  .col-6,
  .col-7,
  .col-8,
  .col-9,
  .col-10,
  .col-11,
  .col-12 {
    grid-column: span 12;
  }
  .posting-row {
    flex-direction: column;
  }
  .posting-row > div {
    width: 100% !important;
  }
  .scripts-layout {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 1024px) {
  .filter-menu-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .files-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .phoenix-landing-bg {
    display: block !important;
    left: 40rem;
  }
}
@media (min-width: 1280px) {
  .metrics-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .phoenix-landing-bg {
    left: 50rem;
  }
}
.setup-stepper {
  margin-bottom: var(--sp-6);
}
.setup-stepper-list {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}
.setup-stepper-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  flex: 1;
  max-width: 10rem;
}
.setup-stepper-indicator {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 600;
  transition: all var(--transition);
  z-index: 1;
  background: var(--color-bg);
  border: 2px solid var(--color-border);
  color: var(--color-fg-muted);
}
.setup-stepper-item.complete .setup-stepper-indicator {
  background: var(--color-success);
  border-color: var(--color-success);
  color: var(--color-success-content);
}
.setup-stepper-item.current .setup-stepper-indicator {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-primary-content);
}
.setup-stepper-item.pending .setup-stepper-indicator {
  background: var(--color-bg-secondary);
  border-color: var(--color-border);
  color: var(--color-fg-muted);
}
.setup-stepper-number {
  font-variant-numeric: tabular-nums;
}
.setup-stepper-label {
  margin-top: var(--sp-2);
  font-size: 0.75rem;
  text-align: center;
  color: var(--color-fg-muted);
  line-height: 1.3;
}
.setup-stepper-item.current .setup-stepper-label {
  color: var(--color-fg);
  font-weight: 500;
}
.setup-stepper-item.complete .setup-stepper-label {
  color: var(--color-success);
}
.setup-stepper-connector {
  position: absolute;
  top: 1rem;
  left: calc(50% + 1rem);
  width: calc(100% - 2rem);
  height: 2px;
  background: var(--color-border);
}
.setup-stepper-item.complete .setup-stepper-connector {
  background: var(--color-success);
}
.completed-step-row {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3);
  background: var(--color-success-10);
  border: 1px solid var(--color-success-20);
  border-radius: var(--radius);
  margin-bottom: var(--sp-3);
}
.completed-step-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-fg);
}
.completed-step-value {
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  margin-left: auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 50%;
}
.locked-step-row {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3);
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  margin-bottom: var(--sp-3);
  opacity: 0.6;
}
.locked-step-row span {
  font-size: 0.875rem;
  color: var(--color-fg-muted);
}
.locked-step-hint {
  margin-left: auto;
  font-size: 0.75rem;
}
.setup-step-card {
  padding: var(--sp-4);
  background: var(--color-bg);
  border: 1px solid var(--color-primary-30);
  border-radius: var(--radius-lg);
  margin-bottom: var(--sp-4);
}
.setup-step-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-fg);
  margin-bottom: var(--sp-3);
  display: flex;
  align-items: center;
  gap: var(--sp-2);
}
.setup-step-content {
  font-size: 0.875rem;
  color: var(--color-fg);
}
.setup-step-content p {
  margin-bottom: var(--sp-3);
  color: var(--color-fg-muted);
}
.setup-step-content ol {
  margin: var(--sp-3) 0;
  padding-left: var(--sp-4);
}
.setup-step-content ol li {
  margin-bottom: var(--sp-2);
  color: var(--color-fg-muted);
}
.time-warning {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
  padding: var(--sp-4);
  background: var(--color-warning-10);
  border: 1px solid var(--color-warning-30);
  border-left: 4px solid var(--color-warning);
  border-radius: var(--radius);
  margin-bottom: var(--sp-4);
}
.time-warning-icon {
  flex-shrink: 0;
  color: var(--color-warning);
}
.time-warning-content {
  flex: 1;
}
.time-warning-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-fg);
  margin-bottom: var(--sp-1);
}
.time-warning-text {
  font-size: 0.75rem;
  color: var(--color-fg-muted);
}
.connected-status-card {
  padding: var(--sp-4);
  background: var(--color-success-5);
  border: 1px solid var(--color-success-20);
  border-radius: var(--radius-lg);
}
.connected-status-header {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin-bottom: var(--sp-4);
}
.connected-status-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-fg);
}
.connected-status-badge {
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: var(--sp-1) var(--sp-2);
  border-radius: var(--radius);
  background: var(--color-bg-secondary);
  color: var(--color-fg-muted);
  margin-left: auto;
}
.connected-status-badge.production {
  background: var(--color-success-20);
  color: var(--color-success);
}
.connected-status-badge.sandbox {
  background: var(--color-warning-20);
  color: var(--color-warning);
}
.connected-status-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-4);
  margin-bottom: var(--sp-4);
}
.connected-status-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  padding-top: var(--sp-3);
  border-top: 1px solid var(--color-border-50);
}
.advanced-options-section {
  margin-top: var(--sp-6);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--color-border);
}
.advanced-options-summary {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  cursor: pointer;
  padding: var(--sp-2) 0;
}
.advanced-options-summary:hover {
  color: var(--color-fg);
}
.advanced-options-content {
  margin-top: var(--sp-4);
}
.advanced-options-content details {
  margin-bottom: var(--sp-3);
  padding: var(--sp-3);
  background: var(--color-bg-secondary);
  border-radius: var(--radius);
}
.advanced-options-content summary {
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  color: var(--color-fg-muted);
}
.advanced-options-content summary:hover {
  color: var(--color-fg);
}
@media (max-width: 640px) {
  .setup-stepper-list {
    flex-direction: column;
    align-items: stretch;
    gap: var(--sp-2);
  }
  .setup-stepper-item {
    flex-direction: row;
    max-width: none;
    gap: var(--sp-3);
  }
  .setup-stepper-label {
    margin-top: 0;
    text-align: left;
  }
  .setup-stepper-connector {
    display: none;
  }
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9Aa25hZGgvb2F0L29hdC5taW4uY3NzIiwgIi4uLy4uLy4uLy4uL2Fzc2V0cy9jc3Mvb2F0LW92ZXJyaWRlcy5jc3MiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIkBsYXllciB0aGVtZSxiYXNlLGNvbXBvbmVudHMsYW5pbWF0aW9ucyx1dGlsaXRpZXM7QGxheWVyIGJhc2V7KiwqOmJlZm9yZSwqOmFmdGVye2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9KnttYXJnaW46MH1odG1se3RhYi1zaXplOjR9Ym9keSxkaWFsb2csW3BvcG92ZXJde2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOnZhcigtLXRleHQtcmVndWxhcik7bGluZS1oZWlnaHQ6dmFyKC0tbGVhZGluZy1ub3JtYWwpO2NvbG9yOnZhcigtLWZvcmVncm91bmQpfWJvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1iYWNrZ3JvdW5kKTtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKTstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkfWltZyxwaWN0dXJlLHZpZGVvLGNhbnZhcyxzdmd7bWF4LXdpZHRoOjEwMCV9cCxoMSxoMixoMyxoNCxoNSxoNntvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9aDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC1zZW1pYm9sZCk7bGluZS1oZWlnaHQ6MS4yNTsmOmZpcnN0LWNoaWxke21hcmdpbi1ibG9jay1zdGFydDowfX1oMXtmb250LXNpemU6dmFyKC0tdGV4dC0xKTttYXJnaW46dmFyKC0tc3BhY2UtMTApIDAgdmFyKC0tc3BhY2UtNil9aDJ7Zm9udC1zaXplOnZhcigtLXRleHQtMik7bWFyZ2luOnZhcigtLXNwYWNlLTgpIDAgdmFyKC0tc3BhY2UtNSl9aDN7Zm9udC1zaXplOnZhcigtLXRleHQtMyk7bWFyZ2luOnZhcigtLXNwYWNlLTYpIDAgdmFyKC0tc3BhY2UtNCl9aDR7Zm9udC1zaXplOnZhcigtLXRleHQtNCk7bWFyZ2luOnZhcigtLXNwYWNlLTUpIDAgdmFyKC0tc3BhY2UtMyl9aDV7Zm9udC1zaXplOnZhcigtLXRleHQtNSk7bWFyZ2luOnZhcigtLXNwYWNlLTQpIDAgdmFyKC0tc3BhY2UtMil9aDZ7Zm9udC1zaXplOnZhcigtLXRleHQtcmVndWxhcik7bWFyZ2luOnZhcigtLXNwYWNlLTQpIDAgdmFyKC0tc3BhY2UtMil9cHttYXJnaW4tYmxvY2stZW5kOnZhcigtLXNwYWNlLTQpOyY6bGFzdC1jaGlsZHttYXJnaW4tYmxvY2stZW5kOjB9fWF7Y29sb3I6dmFyKC0tcHJpbWFyeSk7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt0ZXh0LXVuZGVybGluZS1vZmZzZXQ6MnB4O3RyYW5zaXRpb246Y29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsmOmhvdmVye2NvbG9yOnJnYihmcm9tIHZhcigtLXByaW1hcnkpIHIgZyBiIC8gLjgpfX1zdHJvbmcsYntmb250LXdlaWdodDp2YXIoLS1mb250LXNlbWlib2xkKX1lbSxpe2ZvbnQtc3R5bGU6aXRhbGljfXNtYWxse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTcpfWNvZGV7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6Ljg3NWVtO3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjZS0xKSAvIDIpIHZhcigtLXNwYWNlLTEpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tZmFpbnQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtYWxsKX1wcmV7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtwYWRkaW5nOnZhcigtLXNwYWNlLTQpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tZmFpbnQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1lZGl1bSk7b3ZlcmZsb3cteDphdXRvO21hcmdpbi1ibG9jay1lbmQ6dmFyKC0tc3BhY2UtNCk7Y29kZXtwYWRkaW5nOjA7YmFja2dyb3VuZDpub25lO2JvcmRlci1yYWRpdXM6MH19YmxvY2txdW90ZXtib3JkZXItaW5saW5lLXN0YXJ0OjRweCBzb2xpZCB2YXIoLS1ib3JkZXIpO3BhZGRpbmctaW5saW5lLXN0YXJ0OnZhcigtLXNwYWNlLTQpO21hcmdpbjp2YXIoLS1zcGFjZS00KSAwO2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpO2ZvbnQtc3R5bGU6aXRhbGljfWhye2JvcmRlcjpub25lO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7bWFyZ2luOnZhcigtLXNwYWNlLTIpIDB9dWwsb2x7cGFkZGluZy1pbmxpbmUtc3RhcnQ6dmFyKC0tc3BhY2UtNik7bWFyZ2luLWJsb2NrLWVuZDp2YXIoLS1zcGFjZS00KX11bHtsaXN0LXN0eWxlLXR5cGU6ZGlzY31vbHtsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbH1saXttYXJnaW4tYmxvY2stZW5kOnZhcigtLXNwYWNlLTEpfW1hcmt7YmFja2dyb3VuZC1jb2xvcjpyZ2IoZnJvbSB2YXIoLS13YXJuaW5nKSByIGcgYiAvIC4zKTtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2UtMSkgLyAyKSB2YXIoLS1zcGFjZS0xKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbWFsbCl9W2hpZGRlbl17ZGlzcGxheTpub25lfTpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLXJpbmcpO291dGxpbmUtb2Zmc2V0OjJweH06ZGlzYWJsZWR7b3BhY2l0eTouNTtjdXJzb3I6bm90LWFsbG93ZWR9fUBsYXllciB0aGVtZXs6cm9vdHtjb2xvci1zY2hlbWU6bGlnaHQgZGFyazstLWJhY2tncm91bmQ6IGxpZ2h0LWRhcmsoI2ZmZiwgIzA5MDkwYik7LS1mb3JlZ3JvdW5kOiBsaWdodC1kYXJrKCMwOTA5MGIsICNmYWZhZmEpOy0tY2FyZDogbGlnaHQtZGFyaygjZmZmLCAjMTgxODFiKTstLWNhcmQtZm9yZWdyb3VuZDogbGlnaHQtZGFyaygjMDkwOTBiLCAjZmFmYWZhKTstLXByaW1hcnk6IGxpZ2h0LWRhcmsoIzU3NDc0NywgI2ZhZmFmYSk7LS1wcmltYXJ5LWZvcmVncm91bmQ6IGxpZ2h0LWRhcmsoI2ZhZmFmYSwgIzE4MTgxYik7LS1zZWNvbmRhcnk6IGxpZ2h0LWRhcmsoI2Y0ZjRmNSwgIzI3MjcyYSk7LS1zZWNvbmRhcnktZm9yZWdyb3VuZDogbGlnaHQtZGFyaygjNTc0NzQ3LCAjZmFmYWZhKTstLW11dGVkOiBsaWdodC1kYXJrKCNmNGY0ZjUsICMyNzI3MmEpOy0tbXV0ZWQtZm9yZWdyb3VuZDogbGlnaHQtZGFyaygjNzE3MTdhLCAjYTFhMWFhKTstLWZhaW50OiBsaWdodC1kYXJrKCNmYWZhZmEsICMxZTFlMjEpOy0tZmFpbnQtZm9yZWdyb3VuZDogbGlnaHQtZGFyaygjYTFhMWFhLCAjNzE3MTdhKTstLWFjY2VudDogbGlnaHQtZGFyaygjZjRmNGY1LCAjMjcyNzJhKTstLWRhbmdlcjogbGlnaHQtZGFyaygjZDMyZjJmLCAjZjQ4MDdiKTstLWRhbmdlci1mb3JlZ3JvdW5kOiBsaWdodC1kYXJrKCNmYWZhZmEsICMxODE4MWIpOy0tc3VjY2VzczogbGlnaHQtZGFyaygjMDA4MDMyLCAjNmNjMDcwKTstLXN1Y2Nlc3MtZm9yZWdyb3VuZDogbGlnaHQtZGFyaygjZmFmYWZhLCAjMTgxODFiKTstLXdhcm5pbmc6IGxpZ2h0LWRhcmsoI2E2NWIwMCwgI2YwYTAzMCk7LS13YXJuaW5nLWZvcmVncm91bmQ6ICMwOTA5MGI7LS1ib3JkZXI6IGxpZ2h0LWRhcmsoI2Q0ZDRkOCwgIzUyNTI1Yik7LS1pbnB1dDogbGlnaHQtZGFyaygjZDRkNGQ4LCAjNTI1MjViKTstLXJpbmc6IGxpZ2h0LWRhcmsoIzU3NDc0NywgI2Q0ZDRkOCk7LS1zcGFjZS0xOiAuMjVyZW07LS1zcGFjZS0yOiAuNXJlbTstLXNwYWNlLTM6IC43NXJlbTstLXNwYWNlLTQ6IDFyZW07LS1zcGFjZS01OiAxLjI1cmVtOy0tc3BhY2UtNjogMS41cmVtOy0tc3BhY2UtODogMnJlbTstLXNwYWNlLTEwOiAyLjVyZW07LS1zcGFjZS0xMjogM3JlbTstLXNwYWNlLTE0OiAzLjVyZW07LS1zcGFjZS0xNjogNHJlbTstLXNwYWNlLTE4OiA0LjVyZW07LS1yYWRpdXMtc21hbGw6IC4xMjVyZW07LS1yYWRpdXMtbWVkaXVtOiAuMzc1cmVtOy0tcmFkaXVzLWxhcmdlOiAuNzVyZW07LS1yYWRpdXMtZnVsbDogOTk5OXB4Oy0tYmFyLWhlaWdodDogLjVyZW07LS1mb250LXNhbnM6IHN5c3RlbS11aSwgc2Fucy1zZXJpZjstLWZvbnQtbW9ubzogdWktbW9ub3NwYWNlLCBDb25zb2xhcywgbW9ub3NwYWNlOy0tdGV4dC0xOiBjbGFtcCgxLjc1cmVtLCAxLjVyZW0gKyAxLjF2dywgMi4yNXJlbSk7LS10ZXh0LTI6IGNsYW1wKDEuNXJlbSwgMS4zcmVtICsgLjh2dywgMS44NzVyZW0pOy0tdGV4dC0zOiBjbGFtcCgxLjI1cmVtLCAxLjFyZW0gKyAuNXZ3LCAxLjVyZW0pOy0tdGV4dC00OiBjbGFtcCgxLjEyNXJlbSwgMS4wNXJlbSArIC4zdncsIDEuMjVyZW0pOy0tdGV4dC01OiAxLjEyNXJlbTstLXRleHQtNjogMXJlbTstLXRleHQtNzogLjg3NXJlbTstLXRleHQtODogLjc1cmVtOy0tdGV4dC1yZWd1bGFyOiB2YXIoLS10ZXh0LTYpOy0tbGVhZGluZy1ub3JtYWw6IDEuNTstLWZvbnQtbm9ybWFsOiA0MDA7LS1mb250LW1lZGl1bTogNTAwOy0tZm9udC1zZW1pYm9sZDogNjAwOy0tZm9udC1ib2xkOiA2MDA7LS1zaGFkb3ctc21hbGw6IDAgMXB4IDJweCAwIHJnYigwIDAgMCAvIC4wNSk7LS1zaGFkb3ctbWVkaXVtOiAwIDFweCAzcHggMCByZ2IoMCAwIDAgLyAuMSksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIC4xKTstLXNoYWRvdy1sYXJnZTogMCA0cHggNnB4IC0xcHggcmdiKDAgMCAwIC8gLjEpLCAwIDJweCA0cHggLTJweCByZ2IoMCAwIDAgLyAuMSk7LS10cmFuc2l0aW9uLWZhc3Q6IC4xMnMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7LS10cmFuc2l0aW9uOiAuMnMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7LS16LWRyb3Bkb3duOiA1MDstLXotbW9kYWw6IDIwMH19QGxheWVyIGFuaW1hdGlvbnN7LmFuaW1hdGUtcG9wLWlue29wYWNpdHk6MTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDApIHRyYW5zbGF0ZVooMCk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksdHJhbnNmb3JtIC4xNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksb3ZlcmxheSAuMTVzIGN1YmljLWJlemllciguNCwwLC4yLDEpIGFsbG93LWRpc2NyZXRlLGRpc3BsYXkgLjE1cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSBhbGxvdy1kaXNjcmV0ZTtAc3RhcnRpbmctc3R5bGV7b3BhY2l0eTowO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTE1ZGVnKSB0cmFuc2xhdGVaKC04MHB4KX0mW2RhdGEtc3RhdGU9Y2xvc2luZ117b3BhY2l0eTowO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTE1ZGVnKSB0cmFuc2xhdGVaKC04MHB4KX0mW2RhdGEtc3RhdGU9Y2xvc2luZ106OmJhY2tkcm9we29wYWNpdHk6MH19ZGlhbG9nOjpiYWNrZHJvcHtvcGFjaXR5OjE7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7QHN0YXJ0aW5nLXN0eWxle29wYWNpdHk6MH19LmFuaW1hdGUtc2xpZGUtaW57b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgY3ViaWMtYmV6aWVyKC4xNiwxLC4zLDEpLHRyYW5zZm9ybSAuMTVzIGN1YmljLWJlemllciguMTYsMSwuMywxKTtAc3RhcnRpbmctc3R5bGV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUoMTAwJSl9JltkYXRhLXN0YXRlPWNsb3Npbmdde29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKDEwMCUpfX19QGxheWVyIGJhc2V7OmlzKGJ1dHRvbixbdHlwZT1zdWJtaXRdLFt0eXBlPXJlc2V0XSxbdHlwZT1idXR0b25dLGEuYnV0dG9uKSw6OmZpbGUtc2VsZWN0b3ItYnV0dG9uey0tX2hvdjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXByaW1hcnkpLCB3aGl0ZSAyNSUpO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOnZhcigtLXNwYWNlLTIpO3BhZGRpbmc6dmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtNCk7Zm9udC1zaXplOnZhcigtLXRleHQtNyk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC1tZWRpdW0pO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctbm9ybWFsKTt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KTtjb2xvcjp2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1lZGl1bSk7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6cmdiKGZyb20gI2ZmZiByIGcgYiAvIC4xNSkgcmdiKGZyb20gIzAwMCByIGcgYiAvIC4yKSByZ2IoZnJvbSAjMDAwIHIgZyBiIC8gLjIpIHJnYihmcm9tICNmZmYgciBnIGIgLyAuMTUpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSx0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsmOm5vdCg6ZGlzYWJsZWQpe2N1cnNvcjpwb2ludGVyfSY6aG92ZXI6bm90KDpkaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1faG92KX0mOmFjdGl2ZTpub3QoOmRpc2FibGVkKXt0cmFuc2Zvcm06dHJhbnNsYXRlKDFweCwxcHgpfSZbZGF0YS12YXJpYW50PXNlY29uZGFyeV17LS1faG92OiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc2Vjb25kYXJ5KSwgYmxhY2sgMTAlKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNlY29uZGFyeSk7Y29sb3I6dmFyKC0tc2Vjb25kYXJ5LWZvcmVncm91bmQpO2JvcmRlci1jb2xvcjpyZ2IoZnJvbSAjZmZmIHIgZyBiIC8gLjUpIHJnYihmcm9tICMwMDAgciBnIGIgLyAuMSkgcmdiKGZyb20gIzAwMCByIGcgYiAvIC4xKSByZ2IoZnJvbSAjZmZmIHIgZyBiIC8gLjUpfSZbZGF0YS12YXJpYW50PWRhbmdlcl17LS1faG92OiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tZGFuZ2VyKSwgYmxhY2sgMTUlKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRhbmdlcik7Y29sb3I6dmFyKC0tZGFuZ2VyLWZvcmVncm91bmQpfSY6aXMoLm91dGxpbmUsLmdob3N0KXstLV9ob3Y6IHZhcigtLWFjY2VudCk7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKTsmW2RhdGEtdmFyaWFudD1kYW5nZXJdey0tX2hvdjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWRhbmdlciksIHRyYW5zcGFyZW50IDkwJSk7Y29sb3I6dmFyKC0tZGFuZ2VyKX0mW2RhdGEtdmFyaWFudD1zZWNvbmRhcnldey0tX2hvdjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNlY29uZGFyeSksIHRyYW5zcGFyZW50IDgwJSk7Y29sb3I6dmFyKC0tc2Vjb25kYXJ5LWZvcmVncm91bmQpfX0mLm91dGxpbmV7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlcik7JltkYXRhLXZhcmlhbnQ9ZGFuZ2VyXXtib3JkZXItY29sb3I6dmFyKC0tZGFuZ2VyKX0mW2RhdGEtdmFyaWFudD1zZWNvbmRhcnlde2JvcmRlci1jb2xvcjp2YXIoLS1zZWNvbmRhcnkpfX0mLmdob3N0e2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0mLnNtYWxse3BhZGRpbmc6dmFyKC0tc3BhY2UtMSkgdmFyKC0tc3BhY2UtMyk7Zm9udC1zaXplOnZhcigtLXRleHQtOCl9Ji5sYXJnZXtoZWlnaHQ6M3JlbTtwYWRkaW5nOjAgdmFyKC0tc3BhY2UtNik7Zm9udC1zaXplOnZhcigtLXRleHQtcmVndWxhcil9Ji5pY29ue3dpZHRoOjIuNXJlbTtwYWRkaW5nOjA7Ji5zbWFsbHt3aWR0aDoycmVtfSYubGFyZ2V7d2lkdGg6M3JlbX19fTo6ZmlsZS1zZWxlY3Rvci1idXR0b257YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcil9OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWFjY2VudCl9fUBsYXllciBjb21wb25lbnRze21lbnUuYnV0dG9uc3tsaXN0LXN0eWxlLXR5cGU6bm9uZTtwYWRkaW5nLWlubGluZS1zdGFydDowO2Rpc3BsYXk6aW5saW5lLWZsZXg7PmxpeyY6Zmlyc3QtY2hpbGQ+Kntib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOnZhcigtLXJhZGl1cy1tZWRpdW0pO2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOnZhcigtLXJhZGl1cy1tZWRpdW0pfSY6bGFzdC1jaGlsZD4qe2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOnZhcigtLXJhZGl1cy1tZWRpdW0pO2JvcmRlci1lbmQtZW5kLXJhZGl1czp2YXIoLS1yYWRpdXMtbWVkaXVtKX0+Kntib3JkZXItcmFkaXVzOjB9Jjpub3QoOmxhc3QtY2hpbGQpPip7Ym9yZGVyLWlubGluZS1lbmQ6MXB4IHNvbGlkIHJnYihmcm9tIHZhcigtLXByaW1hcnktZm9yZWdyb3VuZCkgciBnIGIgLyAuMil9fX19QGxheWVyIGJhc2V7bGFiZWx7ZGlzcGxheTpibG9jaztmb250LXNpemU6dmFyKC0tdGV4dC03KTtmb250LXdlaWdodDp2YXIoLS1mb250LW1lZGl1bSk7JjpoYXMoaW5wdXQ6d2hlcmUoW3R5cGU9Y2hlY2tib3hdLFt0eXBlPXJhZGlvXSkpe2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1zcGFjZS0yKTtmb250LXdlaWdodDp2YXIoLS1mb250LW5vcm1hbCl9fTp3aGVyZShpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLFt0eXBlPXJhZGlvXSxbdHlwZT1yYW5nZV0sW3R5cGU9ZmlsZV0sW3R5cGU9Y29sb3JdKSx0ZXh0YXJlYSxzZWxlY3Qpe3dpZHRoOjEwMCU7bWFyZ2luLWJsb2NrLXN0YXJ0OnZhcigtLXNwYWNlLTEpO3BhZGRpbmc6dmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7Zm9udC1zaXplOnZhcigtLXRleHQtNyk7bGluZS1oZWlnaHQ6dmFyKC0tbGVhZGluZy1ub3JtYWwpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tYmFja2dyb3VuZCk7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1pbnB1dCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWVkaXVtKTt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsmOjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX0mOmZvY3Vze291dGxpbmU6bm9uZTtib3JkZXItY29sb3I6dmFyKC0tcmluZyk7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiKGZyb20gdmFyKC0tcmluZykgciBnIGIgLyAuMik7ei1pbmRleDoxfSY6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9JjppcyhbYXJpYS1pbnZhbGlkPXRydWVdLDp1c2VyLWludmFsaWQpe2JvcmRlci1jb2xvcjp2YXIoLS1kYW5nZXIpOyY6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiKGZyb20gdmFyKC0tZGFuZ2VyKSByIGcgYiAvIC4yKX19fXRleHRhcmVhe2hlaWdodDphdXRvO21pbi1oZWlnaHQ6NXJlbTtwYWRkaW5nOnZhcigtLXNwYWNlLTMpO3Jlc2l6ZTp2ZXJ0aWNhbH1zZWxlY3R7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzcxNzE3YScgc3Ryb2tlLXdpZHRoPScyJyUzRSUzQ3BhdGggZD0nbTYgOSA2IDYgNi02Jy8lM0UlM0Mvc3ZnJTNFXCIpO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IHZhcigtLXNwYWNlLTIpIGNlbnRlcjtwYWRkaW5nLWlubGluZS1lbmQ6dmFyKC0tc3BhY2UtNil9aW5wdXQ6d2hlcmUoW3R5cGU9Y2hlY2tib3hdLFt0eXBlPXJhZGlvXSl7YXBwZWFyYW5jZTpub25lO3dpZHRoOjFyZW07aGVpZ2h0OjFyZW07bWFyZ2luOjA7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1iYWNrZ3JvdW5kKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWlucHV0KTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsmOmNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KTtib3JkZXItY29sb3I6dmFyKC0tcHJpbWFyeSk7JjphZnRlcntjb250ZW50OlwiXCI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnktZm9yZWdyb3VuZCk7bWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1yZXBlYXQ6bm8tcmVwZWF0O21hc2stc2l6ZToxMDAlfX19aW5wdXRbdHlwZT1jaGVja2JveF17Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc21hbGwpOyY6Y2hlY2tlZDphZnRlcnttYXNrLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nY3VycmVudENvbG9yJyBzdHJva2Utd2lkdGg9JzQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPScyMCA2IDkgMTcgNCAxMicvJTNFJTNDL3N2ZyUzRVwiKX0mW3JvbGU9c3dpdGNoXXstLXN3aXRjaC1oZWlnaHQ6IGNhbGModmFyKC0tYmFyLWhlaWdodCkgKiAzKTstLXN3aXRjaC1pbnNldDogMnB4Oy0tc3dpdGNoLXRodW1iOiBjYWxjKHZhcigtLXN3aXRjaC1oZWlnaHQpIC0gdmFyKC0tc3dpdGNoLWluc2V0KSAqIDMpO3dpZHRoOmNhbGModmFyKC0tc3dpdGNoLWhlaWdodCkgKiAyKTtoZWlnaHQ6dmFyKC0tc3dpdGNoLWhlaWdodCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCk7JjpiZWZvcmV7Y29udGVudDpcIlwiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDp2YXIoLS1zd2l0Y2gtaW5zZXQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOnZhcigtLXN3aXRjaC10aHVtYik7aGVpZ2h0OnZhcigtLXN3aXRjaC10aHVtYik7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1iYWNrZ3JvdW5kKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1zbWFsbCl9JjpjaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tcHJpbWFyeSk7JjphZnRlcntjb250ZW50Om5vbmV9JjpiZWZvcmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlKHZhcigtLXN3aXRjaC1oZWlnaHQpKX19fX1pbnB1dFt0eXBlPXJhZGlvXXtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTsmOmNoZWNrZWQ6YWZ0ZXJ7bWFzay1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBjeD0nOCcgY3k9JzgnIHI9JzQnIGZpbGw9J2N1cnJlbnRDb2xvcicvJTNFJTNDL3N2ZyUzRVwiKX19OndoZXJlKGlucHV0OndoZXJlKFt0eXBlPWNoZWNrYm94XSxbdHlwZT1yYWRpb10sW3R5cGU9cmFuZ2VdKSxzZWxlY3QpOm5vdCg6ZGlzYWJsZWQpLGxhYmVsOmhhcyhpbnB1dDp3aGVyZShbdHlwZT1jaGVja2JveF0sW3R5cGU9cmFkaW9dKTpub3QoOmRpc2FibGVkKSl7Y3Vyc29yOnBvaW50ZXJ9aW5wdXRbdHlwZT1yYW5nZV17d2lkdGg6MTAwJTtoZWlnaHQ6dmFyKC0tYmFyLWhlaWdodCk7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6dmFyKC0tbXV0ZWQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpOyY6Oi13ZWJraXQtc2xpZGVyLXRodW1ie2FwcGVhcmFuY2U6bm9uZTt3aWR0aDoxLjI1cmVtO2hlaWdodDoxLjI1cmVtO2JhY2tncm91bmQ6dmFyKC0tcHJpbWFyeSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsmOmhvdmVye3RyYW5zZm9ybTpzY2FsZSgxLjEpfX0mOjotbW96LXJhbmdlLXRodW1ie3dpZHRoOjEuMjVyZW07aGVpZ2h0OjEuMjVyZW07YmFja2dyb3VuZDp2YXIoLS1wcmltYXJ5KTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKX19ZmllbGRzZXR7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1lZGl1bSk7cGFkZGluZzp2YXIoLS1zcGFjZS00KTttYXJnaW4tYmxvY2stZW5kOnZhcigtLXNwYWNlLTQpfWxlZ2VuZHtmb250LXNpemU6dmFyKC0tdGV4dC03KTtmb250LXdlaWdodDp2YXIoLS1mb250LW1lZGl1bSk7cGFkZGluZzowIHZhcigtLXNwYWNlLTIpfX1AbGF5ZXIgY29tcG9uZW50c3tmaWVsZHNldC5ncm91cHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6c3RyZXRjaDtib3JkZXI6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjA7PjppcyhpbnB1dCx0ZXh0YXJlYSxzZWxlY3Qpe2ZsZXg6MTttYXJnaW4tYmxvY2stc3RhcnQ6MDsmOm5vdCg6Zm9jdXMpe2JvcmRlci1pbmxpbmUtZW5kLWNvbG9yOnRyYW5zcGFyZW50fX0+OmlzKGlucHV0LHRleHRhcmVhLHNlbGVjdCxidXR0b24pe2JvcmRlci1yYWRpdXM6MDsmOmZpcnN0LWNoaWxke2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1lZGl1bSkgMCAwIHZhcigtLXJhZGl1cy1tZWRpdW0pfSY6bGFzdC1jaGlsZHtib3JkZXItcmFkaXVzOjAgdmFyKC0tcmFkaXVzLW1lZGl1bSkgdmFyKC0tcmFkaXVzLW1lZGl1bSkgMH19PmxlZ2VuZHtmbG9hdDppbmxpbmUtc3RhcnQ7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzowIHZhcigtLXNwYWNlLTMpO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctbm9ybWFsKTtmb250LXdlaWdodDp2YXIoLS1mb250LW5vcm1hbCk7Y29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1pbnB1dCk7Ym9yZGVyLWlubGluZS1lbmQ6bm9uZTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZWRpdW0pIDAgMCB2YXIoLS1yYWRpdXMtbWVkaXVtKX19W2RhdGEtZmllbGRde21hcmdpbi1ibG9jay1lbmQ6dmFyKC0tc3BhY2UtNCk7W2RhdGEtaGludF0sLmVycm9ye2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTgpO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtbm9ybWFsKTtjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTttYXJnaW4tYmxvY2stc3RhcnQ6dmFyKC0tc3BhY2UtMSl9LmVycm9ye2Rpc3BsYXk6bm9uZX0mW2RhdGEtZmllbGQ9ZXJyb3JdIC5lcnJvcntkaXNwbGF5OmJsb2NrO2NvbG9yOnZhcigtLWRhbmdlcil9fX1AbGF5ZXIgYmFzZXt0YWJsZXtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7dGFibGUtbGF5b3V0OmZpeGVkO3dpZHRoOjEwMCU7Zm9udC1zaXplOnZhcigtLXRleHQtNyl9dGhlYWR7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyKX10aCx0ZHtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9dGh7cGFkZGluZzp2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS0yKTt0ZXh0LWFsaWduOnN0YXJ0O2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtbWVkaXVtKTtjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX10ZHtwYWRkaW5nOnZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTIpfXRib2R5IHRye2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7JjpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206bm9uZX0mOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiKGZyb20gdmFyKC0tbXV0ZWQpIHIgZyBiIC8gLjUpfX19QGxheWVyIGJhc2V7cHJvZ3Jlc3N7YXBwZWFyYW5jZTpub25lO3dpZHRoOjEwMCU7aGVpZ2h0OnZhcigtLWJhci1oZWlnaHQpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKTsmOjotd2Via2l0LXByb2dyZXNzLWJhcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKX0mOjotd2Via2l0LXByb2dyZXNzLXZhbHVle2JhY2tncm91bmQtY29sb3I6dmFyKC0tcHJpbWFyeSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7dHJhbnNpdGlvbjp3aWR0aCB2YXIoLS10cmFuc2l0aW9uKX0mOjotbW96LXByb2dyZXNzLWJhcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpfX1tZXRlcnthcHBlYXJhbmNlOm5vbmU7d2lkdGg6MTAwJTtoZWlnaHQ6dmFyKC0tYmFyLWhlaWdodCk7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6dmFyKC0tbXV0ZWQpOyY6Oi13ZWJraXQtbWV0ZXItYmFye2JhY2tncm91bmQ6dmFyKC0tbXV0ZWQpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO2hlaWdodDp2YXIoLS1iYXItaGVpZ2h0KX0mOjotd2Via2l0LW1ldGVyLW9wdGltdW0tdmFsdWUsJjo6LXdlYmtpdC1tZXRlci1zdWJvcHRpbXVtLXZhbHVlLCY6Oi13ZWJraXQtbWV0ZXItZXZlbi1sZXNzLWdvb2QtdmFsdWV7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCl9Jjo6LXdlYmtpdC1tZXRlci1vcHRpbXVtLXZhbHVle2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcyl9Jjo6LXdlYmtpdC1tZXRlci1zdWJvcHRpbXVtLXZhbHVle2JhY2tncm91bmQ6dmFyKC0td2FybmluZyl9Jjo6LXdlYmtpdC1tZXRlci1ldmVuLWxlc3MtZ29vZC12YWx1ZXtiYWNrZ3JvdW5kOnZhcigtLWRhbmdlcil9Jjo6LW1vei1tZXRlci1iYXJ7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKX0mOi1tb3otbWV0ZXItc3ViLW9wdGltdW06Oi1tb3otbWV0ZXItYmFye2JhY2tncm91bmQ6dmFyKC0td2FybmluZyl9JjotbW96LW1ldGVyLXN1Yi1zdWItb3B0aW11bTo6LW1vei1tZXRlci1iYXJ7YmFja2dyb3VuZDp2YXIoLS1kYW5nZXIpfX19QGxheWVyIGNvbXBvbmVudHN7W2FyaWEtYnVzeT10cnVlXXsmOmJlZm9yZXtjb250ZW50OlwiXCI7ZGlzcGxheTppbmxpbmUtYmxvY2s7aW5zZXQ6MDttYXJnaW46YXV0bzt3aWR0aDoxLjVyZW07aGVpZ2h0OjEuNXJlbTtib3JkZXI6MnB4IHNvbGlkIHZhcigtLW11dGVkKTtib3JkZXItdG9wLWNvbG9yOnZhcigtLXByaW1hcnkpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO2FuaW1hdGlvbjpzcGluIDFzIGxpbmVhciBpbmZpbml0ZTt0ZXh0LWFsaWduOmNlbnRlcn0mW2RhdGEtc3Bpbm5lcn49c21hbGxdOmJlZm9yZXt3aWR0aDoxcmVtO2hlaWdodDoxcmVtfSZbZGF0YS1zcGlubmVyfj1sYXJnZV06YmVmb3Jle3dpZHRoOjJyZW07aGVpZ2h0OjJyZW07Ym9yZGVyLXdpZHRoOjNweH0mW2RhdGEtc3Bpbm5lcn49b3ZlcmxheV17cG9zaXRpb246cmVsYXRpdmU7Pip7b3BhY2l0eTouMztwb2ludGVyLWV2ZW50czpub25lfSY6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7bWFyZ2luOmF1dG87ei1pbmRleDoxfX19QGtleWZyYW1lcyBzcGlue3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19fUBsYXllciBjb21wb25lbnRzezpyb290ey0tZ3JpZC1jb2xzOiAxMjstLWdyaWQtZ2FwOiAxLjVyZW07LS1jb250YWluZXItbWF4OiAxMjgwcHg7LS1jb250YWluZXItcGFkOiAxcmVtfS5jb250YWluZXJ7d2lkdGg6MTAwJTttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLW1heCk7bWFyZ2luLWlubGluZTphdXRvO3BhZGRpbmctaW5saW5lOnZhcigtLWNvbnRhaW5lci1wYWQpfS5yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQodmFyKC0tZ3JpZC1jb2xzKSwxZnIpO2dhcDp2YXIoLS1ncmlkLWdhcCk7d2lkdGg6MTAwJX0uY29sLFtjbGFzcyo9Y29sLV17Z3JpZC1jb2x1bW4tZW5kOnNwYW4gdmFyKC0tc3BhbiwgdmFyKC0tZ3JpZC1jb2xzKSl9LmNvbC0xey0tc3BhbjogMX0uY29sLTJ7LS1zcGFuOiAyfS5jb2wtM3stLXNwYW46IDN9LmNvbC00ey0tc3BhbjogNH0uY29sLTV7LS1zcGFuOiA1fS5jb2wtNnstLXNwYW46IDZ9LmNvbC03ey0tc3BhbjogN30uY29sLTh7LS1zcGFuOiA4fS5jb2wtOXstLXNwYW46IDl9LmNvbC0xMHstLXNwYW46IDEwfS5jb2wtMTF7LS1zcGFuOiAxMX0uY29sLTEyey0tc3BhbjogMTJ9Lm9mZnNldC0xe2dyaWQtY29sdW1uLXN0YXJ0OjJ9Lm9mZnNldC0ye2dyaWQtY29sdW1uLXN0YXJ0OjN9Lm9mZnNldC0ze2dyaWQtY29sdW1uLXN0YXJ0OjR9Lm9mZnNldC00e2dyaWQtY29sdW1uLXN0YXJ0OjV9Lm9mZnNldC01e2dyaWQtY29sdW1uLXN0YXJ0OjZ9Lm9mZnNldC02e2dyaWQtY29sdW1uLXN0YXJ0Ojd9LmNvbC1lbmR7Z3JpZC1jb2x1bW4tc3RhcnQ6c3BhbiB2YXIoLS1zcGFuLCAxKTtncmlkLWNvbHVtbi1lbmQ6LTF9QG1lZGlhKG1heC13aWR0aDo3NjhweCl7LnJvd3stLWdyaWQtY29sczogNDstLWdyaWQtZ2FwOiAxcmVtfS5jb2wsW2NsYXNzKj1jb2wtXXstLXNwYW46IDR9W2NsYXNzKj1vZmZzZXQtXXtncmlkLWNvbHVtbi1zdGFydDphdXRvfX19QGxheWVyIGNvbXBvbmVudHN7LmNhcmR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jYXJkKTtjb2xvcjp2YXIoLS1jYXJkLWZvcmVncm91bmQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZWRpdW0pO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXNtYWxsKTtwYWRkaW5nOnZhcigtLXNwYWNlLTYpO292ZXJmbG93OmhpZGRlbn19QGxheWVyIGNvbXBvbmVudHN7W3JvbGU9YWxlcnRde3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDtnYXA6dmFyKC0tc3BhY2UtMyk7cGFkZGluZzp2YXIoLS1zcGFjZS00KSB2YXIoLS1zcGFjZS02KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZWRpdW0pO2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTcpOyZbZGF0YS12YXJpYW50XXtib3JkZXI6bm9uZX0mW2RhdGEtdmFyaWFudD1lcnJvcl0sJltkYXRhLXZhcmlhbnQ9ZGFuZ2VyXXtjb2xvcjp2YXIoLS1kYW5nZXIpO2JhY2tncm91bmQtY29sb3I6bGlnaHQtZGFyayhjb2xvci1taXgoaW4gc3JnYix2YXIoLS1kYW5nZXIpIDglLHRyYW5zcGFyZW50KSxjb2xvci1taXgoaW4gc3JnYix2YXIoLS1kYW5nZXIpIDIwJSx0cmFuc3BhcmVudCkpOyYgYXtjb2xvcjp2YXIoLS1kYW5nZXIpfX0mW2RhdGEtdmFyaWFudD1zdWNjZXNzXXtjb2xvcjp2YXIoLS1zdWNjZXNzKTtiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0LWRhcmsoY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tc3VjY2VzcykgOCUsdHJhbnNwYXJlbnQpLGNvbG9yLW1peChpbiBzcmdiLHZhcigtLXN1Y2Nlc3MpIDIwJSx0cmFuc3BhcmVudCkpOyYgYXtjb2xvcjp2YXIoLS1zdWNjZXNzKX19JltkYXRhLXZhcmlhbnQ9d2FybmluZ117Y29sb3I6dmFyKC0td2FybmluZyk7YmFja2dyb3VuZC1jb2xvcjpsaWdodC1kYXJrKGNvbG9yLW1peChpbiBzcmdiLHZhcigtLXdhcm5pbmcpIDglLHRyYW5zcGFyZW50KSxjb2xvci1taXgoaW4gc3JnYix2YXIoLS13YXJuaW5nKSAyMCUsdHJhbnNwYXJlbnQpKTsmIGF7Y29sb3I6dmFyKC0td2FybmluZyl9fX19QGxheWVyIGNvbXBvbmVudHN7LmJhZGdle2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1zcGFjZS0xKTtwYWRkaW5nOnZhcigtLXNwYWNlLTEpIHZhcigtLXNwYWNlLTQpO2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTgpO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtbWVkaXVtKTtsaW5lLWhlaWdodDp2YXIoLS1sZWFkaW5nLW5vcm1hbCk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KTtjb2xvcjp2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpOyYuc2Vjb25kYXJ5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2Vjb25kYXJ5KTtjb2xvcjp2YXIoLS1zZWNvbmRhcnktZm9yZWdyb3VuZCl9Ji5vdXRsaW5le2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpfSYuc3VjY2Vzc3tjb2xvcjp2YXIoLS1zdWNjZXNzKTtiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0LWRhcmsoY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tc3VjY2VzcykgMTAlLHRyYW5zcGFyZW50KSxjb2xvci1taXgoaW4gc3JnYix2YXIoLS1zdWNjZXNzKSAzMCUsdHJhbnNwYXJlbnQpKX0mLndhcm5pbmd7Y29sb3I6dmFyKC0td2FybmluZyk7YmFja2dyb3VuZC1jb2xvcjpsaWdodC1kYXJrKGNvbG9yLW1peChpbiBzcmdiLHZhcigtLXdhcm5pbmcpIDEwJSx0cmFuc3BhcmVudCksY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0td2FybmluZykgMzAlLHRyYW5zcGFyZW50KSl9Ji5kYW5nZXJ7Y29sb3I6dmFyKC0tZGFuZ2VyKTtiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0LWRhcmsoY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tZGFuZ2VyKSAxMCUsdHJhbnNwYXJlbnQpLGNvbG9yLW1peChpbiBzcmdiLHZhcigtLWRhbmdlcikgMzAlLHRyYW5zcGFyZW50KSl9fX1AbGF5ZXIgY29tcG9uZW50c3tkZXRhaWxze2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZWRpdW0pO292ZXJmbG93OmhpZGRlbjsrZGV0YWlsc3ttYXJnaW4tdG9wOi0xcHg7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czowO2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9JjpoYXMoK2RldGFpbHMpe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjA7Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjB9JltvcGVuXSBzdW1tYXJ5e2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlcil9fXN1bW1hcnl7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6dmFyKC0tc3BhY2UtMik7cGFkZGluZzp2YXIoLS1zcGFjZS00KTtmb250LXdlaWdodDp2YXIoLS1mb250LW1lZGl1bSk7Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsmOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfSY6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIsJjo6bWFya2Vye2Rpc3BsYXk6bm9uZX0mOmFmdGVye2NvbnRlbnQ6XCJcIjt3aWR0aDoxZW07aGVpZ2h0OjFlbTtmbGV4LXNocmluazowO2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO21hc2staW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdjdXJyZW50Q29sb3InIHN0cm9rZS13aWR0aD0nMiclM0UlM0NwYXRoIGQ9J202IDkgNiA2IDYtNicvJTNFJTNDL3N2ZyUzRVwiKTttYXNrLXNpemU6Y29udGFpbjttYXNrLXJlcGVhdDpuby1yZXBlYXQ7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX1kZXRhaWxzW29wZW5dICY6YWZ0ZXJ7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfX1kZXRhaWxzPio6bm90KHN1bW1hcnkpe3BhZGRpbmc6dmFyKC0tc3BhY2UtNCl9fUBsYXllciBjb21wb25lbnRze1tyb2xlPXRhYmxpc3Rde2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1zcGFjZS0xKTtwYWRkaW5nOnZhcigtLXNwYWNlLTEpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1lZGl1bSl9W3JvbGU9dGFiXXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6dmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7Zm9udC1zaXplOnZhcigtLXRleHQtNyk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC1tZWRpdW0pO3doaXRlLXNwYWNlOm5vd3JhcDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLWZvcmVncm91bmQpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMtbWVkaXVtKSAtIDJweCk7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsmOmhvdmVye2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfSZbYXJpYS1zZWxlY3RlZD10cnVlXXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXNtYWxsKX19W3JvbGU9dGFicGFuZWxde3BhZGRpbmc6dmFyKC0tc3BhY2UtNCkgMDsmOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfX19QGxheWVyIGNvbXBvbmVudHN7ZGlhbG9ne3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7ei1pbmRleDp2YXIoLS16LW1vZGFsKTt3aWR0aDptaW4oMTAwJSAtIDJyZW0sMzJyZW0pO21heC1oZWlnaHQ6ODV2aDttYXJnaW46YXV0bztwYWRkaW5nOjA7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jYXJkKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGFyZ2UpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LWxhcmdlKTtvdmVyZmxvdzpoaWRkZW47b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOTUpO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGVhc2UsdHJhbnNmb3JtIC4xNXMgZWFzZSxvdmVybGF5IC4xNXMgZWFzZSBhbGxvdy1kaXNjcmV0ZSxkaXNwbGF5IC4xNXMgZWFzZSBhbGxvdy1kaXNjcmV0ZTsmW29wZW5de29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSl9QHN0YXJ0aW5nLXN0eWxleyZbb3Blbl17b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOTUpfX0mOjpiYWNrZHJvcHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2Usb3ZlcmxheSAuMTVzIGVhc2UgYWxsb3ctZGlzY3JldGUsZGlzcGxheSAuMTVzIGVhc2UgYWxsb3ctZGlzY3JldGV9JltvcGVuXTo6YmFja2Ryb3B7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwODB9QHN0YXJ0aW5nLXN0eWxleyZbb3Blbl06OmJhY2tkcm9we2JhY2tncm91bmQtY29sb3I6IzAwMDB9fT5oZWFkZXIsPmZvcm0+aGVhZGVye2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOnZhcigtLXNwYWNlLTEpO3BhZGRpbmc6dmFyKC0tc3BhY2UtNik7cGFkZGluZy1ibG9jay1lbmQ6MDs+aDEsPmgyLD5oMyw+aDQsPmg1LD5oNnttYXJnaW4tYmxvY2stZW5kOjB9PnB7Zm9udC1zaXplOnZhcigtLXRleHQtNyk7Y29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCk7bWFyZ2luLWJsb2NrLWVuZDowfX0+cCw+ZGl2LD5zZWN0aW9uLD5mb3JtPnAsPmZvcm0+ZGl2LD5mb3JtPnNlY3Rpb257cGFkZGluZzp2YXIoLS1zcGFjZS02KTtvdmVyZmxvdy15OmF1dG99PmZvb3Rlciw+Zm9ybT5mb290ZXJ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtnYXA6dmFyKC0tc3BhY2UtMik7cGFkZGluZzp2YXIoLS1zcGFjZS02KTtwYWRkaW5nLWJsb2NrLXN0YXJ0OjB9fX1AbGF5ZXIgY29tcG9uZW50c3tvdC1kcm9wZG93bntbcG9wb3Zlcl17cG9zaXRpb246Zml4ZWQ7bWFyZ2luOjA7bWluLXdpZHRoOjEycmVtO2JhY2tncm91bmQtY29sb3I6dmFyKC0tYmFja2dyb3VuZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1lZGl1bSk7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctbWVkaXVtKTtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgZWFzZS1vdXQsdHJhbnNmb3JtIC4xNXMgZWFzZS1vdXQsZGlzcGxheSAuMTVzIGFsbG93LWRpc2NyZXRlLG92ZXJsYXkgLjE1cyBhbGxvdy1kaXNjcmV0ZTsmOnBvcG92ZXItb3BlbntvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9QHN0YXJ0aW5nLXN0eWxleyY6cG9wb3Zlci1vcGVue29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNHB4KX19fVtyb2xlPW1lbnVpdGVtXXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzdGFydDtnYXA6dmFyKC0tc3BhY2UtMik7d2lkdGg6MTAwJTtwYWRkaW5nOnZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTcpO3RleHQtYWxpZ246c3RhcnQ7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCk7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtYWxsKTtjdXJzb3I6cG9pbnRlcjsmOmhvdmVyLCY6Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1hY2NlbnQpO291dGxpbmU6bm9uZX19fX1AbGF5ZXIgY29tcG9uZW50c3sudG9hc3QtY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cG9pbnRlci1ldmVudHM6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtvdmVyZmxvdzp2aXNpYmxlOyY6OmJhY2tkcm9we2Rpc3BsYXk6bm9uZX0mW2RhdGEtcGxhY2VtZW50PXRvcC1sZWZ0XXtpbnNldDp2YXIoLS1zcGFjZS00KSBhdXRvIGF1dG8gdmFyKC0tc3BhY2UtNCl9JltkYXRhLXBsYWNlbWVudD10b3AtY2VudGVyXXtpbnNldDp2YXIoLS1zcGFjZS00KSBhdXRvIGF1dG8gNTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSl9JltkYXRhLXBsYWNlbWVudD10b3AtcmlnaHRde2luc2V0OnZhcigtLXNwYWNlLTQpIHZhcigtLXNwYWNlLTQpIGF1dG8gYXV0b30mW2RhdGEtcGxhY2VtZW50PWJvdHRvbS1sZWZ0XXtpbnNldDphdXRvIGF1dG8gdmFyKC0tc3BhY2UtNCkgdmFyKC0tc3BhY2UtNCk7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2V9JltkYXRhLXBsYWNlbWVudD1ib3R0b20tY2VudGVyXXtpbnNldDphdXRvIGF1dG8gdmFyKC0tc3BhY2UtNCkgNTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSk7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2V9JltkYXRhLXBsYWNlbWVudD1ib3R0b20tcmlnaHRde2luc2V0OmF1dG8gdmFyKC0tc3BhY2UtNCkgdmFyKC0tc3BhY2UtNCkgYXV0bztmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZX19LnRvYXN0ey0tdHJhbnNpdGlvbjogLjNzOy0tdHJhbnNpdGlvbi1pbjogY2FsYyh2YXIoLS10cmFuc2l0aW9uKSAtIDUwbXMpO3BhZGRpbmc6dmFyKC0tc3BhY2UtNSkgdmFyKC0tc3BhY2UtNCk7bWF4LXdpZHRoOjI4cmVtO21pbi13aWR0aDoyMHJlbTtwb2ludGVyLWV2ZW50czphdXRvO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2FyZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6dmFyKC0tc3BhY2UtMSk7Ym9yZGVyLWlubGluZS1zdGFydC1zdHlsZTpzb2xpZDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZWRpdW0pO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXNtYWxsKTt0cmFuc2l0aW9uOm9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1pbiksdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24taW4pLG1hcmdpbiB2YXIoLS10cmFuc2l0aW9uLWluKTtsaW5lLWhlaWdodDoxOy50b2FzdC10aXRsZXtmb250LXdlaWdodDo2MDA7bWFyZ2luOjAgMCB2YXIoLS1zcGFjZS0zKSAwfS50b2FzdC1tZXNzYWdle2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfSZbZGF0YS12YXJpYW50PXN1Y2Nlc3Nde2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tc3VjY2Vzcyk7LnRvYXN0LXRpdGxle2NvbG9yOnZhcigtLXN1Y2Nlc3MpfX0mW2RhdGEtdmFyaWFudD1kYW5nZXJde2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tZGFuZ2VyKTsudG9hc3QtdGl0bGV7Y29sb3I6dmFyKC0tZGFuZ2VyKX19JltkYXRhLXZhcmlhbnQ9d2FybmluZ117Ym9yZGVyLWlubGluZS1zdGFydC1jb2xvcjp2YXIoLS13YXJuaW5nKTsudG9hc3QtdGl0bGV7Y29sb3I6dmFyKC0td2FybmluZyl9fT5bZGF0YS1jbG9zZV17bWFyZ2luLWlubGluZS1zdGFydDphdXRvO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eTouNTsmOmhvdmVye29wYWNpdHk6MX19bWFyZ2luOnZhcigtLXNwYWNlLTIpIDA7JltkYXRhLWVudGVyaW5nXXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFyZW0pfSZbZGF0YS1leGl0aW5nXXtvcGFjaXR5OjA7bWFyZ2luOjA7cGFkZGluZy1ibG9jazowO21heC1oZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjpvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24pLG1hcmdpbiB2YXIoLS10cmFuc2l0aW9uKSxwYWRkaW5nIHZhcigtLXRyYW5zaXRpb24pLG1heC1oZWlnaHQgdmFyKC0tdHJhbnNpdGlvbil9fX1AbGF5ZXIgY29tcG9uZW50c3s6cm9vdHstLV9uaDogdmFyKC0tc3BhY2UtMTIpfVtkYXRhLXNpZGViYXItbGF5b3V0XXstLXRvcG5hdi1vZmZzZXQ6IDBweDstLXRvcG5hdi1zY3JvbGwtb2Zmc2V0OiAwcHg7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxNHJlbSAxZnI7bWluLWhlaWdodDoxMDBkdmg7Z2FwOnZhcigtLXNwYWNlLTQpOyY6aGFzKG5hdltkYXRhLXRvcG5hdl0pey0tdG9wbmF2LW9mZnNldDogdmFyKC0tX25oKTstLXRvcG5hdi1zY3JvbGwtb2Zmc2V0OiBjYWxjKHZhcigtLV9uaCkgKyB2YXIoLS1zcGFjZS02KSl9Pm1haW57bWluLXdpZHRoOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OnZhcigtLXRvcG5hdi1vZmZzZXQpO1tpZF17c2Nyb2xsLW1hcmdpbi1ibG9jay1zdGFydDp2YXIoLS10b3BuYXYtc2Nyb2xsLW9mZnNldCl9fT5hc2lkZVtkYXRhLXNpZGViYXJde3Bvc2l0aW9uOnN0aWNreTt0b3A6dmFyKC0tdG9wbmF2LW9mZnNldCk7ei1pbmRleDoxO2hlaWdodDpjYWxjKDEwMGR2aCAtIHZhcigtLXRvcG5hdi1vZmZzZXQpKTthbGlnbi1zZWxmOnN0YXJ0O2JhY2tncm91bmQtY29sb3I6dmFyKC0tYmFja2dyb3VuZCk7Ym9yZGVyLWlubGluZS1lbmQ6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjs+OmlzKGhlYWRlcixmb290ZXIpe2ZsZXgtc2hyaW5rOjA7cGFkZGluZzp2YXIoLS1zcGFjZS0zKX0+Zm9vdGVye21hcmdpbi1ibG9jay1zdGFydDphdXRvfT5uYXZ7ZmxleDoxO21pbi1oZWlnaHQ6MDtvdmVyZmxvdy15OmF1dG87cGFkZGluZzp2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS0yKTt1bHtsaXN0LXN0eWxlOm5vbmU7cGFkZGluZzowO21hcmdpbjowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOnZhcigtLXNwYWNlLTEpO2xpe21hcmdpbjowfX1he2Rpc3BsYXk6ZmxleDtnYXA6dmFyKC0tc3BhY2UtMik7cGFkZGluZzp2YXIoLS1zcGFjZS0xKSB2YXIoLS1zcGFjZS0zKTtmb250LXNpemU6dmFyKC0tdGV4dC03KTtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKTt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbWFsbCk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7Jjppcyg6aG92ZXIsW2FyaWEtY3VycmVudF0pe2JhY2tncm91bmQtY29sb3I6dmFyKC0tYWNjZW50KX19ZGV0YWlsc3tib3JkZXI6bm9uZTtvdmVyZmxvdzp2aXNpYmxlOytkZXRhaWxze21hcmdpbi10b3A6MH0mW29wZW5dIHN1bW1hcnl7Ym9yZGVyLWJvdHRvbTpub25lfT51bHttYXJnaW4taW5saW5lLXN0YXJ0OnZhcigtLXNwYWNlLTQpO3BhZGRpbmc6dmFyKC0tc3BhY2UtMSkgMH19c3VtbWFyeXtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtwYWRkaW5nOnZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTcpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtYWxsKTsmOmFmdGVye3dpZHRoOi43NXJlbTtoZWlnaHQ6Ljc1cmVtO21hcmdpbi1pbmxpbmUtc3RhcnQ6YXV0b319fX19bmF2W2RhdGEtdG9wbmF2XXtwb3NpdGlvbjpmaXhlZDtpbnNldDowIDAgYXV0bzt6LWluZGV4OjU7bWluLWhlaWdodDp2YXIoLS1fbmgpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLXNwYWNlLTMpO3BhZGRpbmc6dmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtNCk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1iYWNrZ3JvdW5kKTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXNtYWxsKX06aXMoW2RhdGEtc2lkZWJhci10b2dnbGVdLFtkYXRhLXNpZGViYXItaGVhZGVyXSl7ZGlzcGxheTpub25lfVtkYXRhLXNpZGViYXItdG9nZ2xlXXtwYWRkaW5nOjAgdmFyKC0tc3BhY2UtMSk7YmFja2dyb3VuZDpub25lO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbWFsbCk7Y3Vyc29yOnBvaW50ZXJ9QG1lZGlhKG1pbi13aWR0aDo3NjlweCl7W2RhdGEtc2lkZWJhci1sYXlvdXQ9YWx3YXlzXSBbZGF0YS1zaWRlYmFyLXRvZ2dsZV17ZGlzcGxheTppbmxpbmUtYmxvY2t9W2RhdGEtc2lkZWJhci1sYXlvdXQ9YWx3YXlzXXt0cmFuc2l0aW9uOmdyaWQtdGVtcGxhdGUtY29sdW1ucyB2YXIoLS10cmFuc2l0aW9uKTs+YXNpZGVbZGF0YS1zaWRlYmFyXXt0cmFuc2Zvcm06dHJhbnNsYXRlKDApO29wYWNpdHk6MTt0cmFuc2l0aW9uOnRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uKSxvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24pLHZpc2liaWxpdHkgdmFyKC0tdHJhbnNpdGlvbil9fVtkYXRhLXNpZGViYXItbGF5b3V0PWFsd2F5c11bZGF0YS1zaWRlYmFyLW9wZW5de2dyaWQtdGVtcGxhdGUtY29sdW1uczowcHggMWZyO2dhcDowOz5hc2lkZVtkYXRhLXNpZGViYXJde292ZXJmbG93OmhpZGRlbjttaW4td2lkdGg6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMDAlKTtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47Ym9yZGVyLWlubGluZS1lbmQ6bm9uZX19fUBtZWRpYShtYXgtd2lkdGg6NzY4cHgpe1tkYXRhLXNpZGViYXItbGF5b3V0XXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyOz5hc2lkZVtkYXRhLXNpZGViYXJde3Bvc2l0aW9uOmZpeGVkO2xlZnQ6MDt3aWR0aDoxNnJlbTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMDAlKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1sYXJnZSl9JltkYXRhLXNpZGViYXItb3Blbl0+YXNpZGVbZGF0YS1zaWRlYmFyXXt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfX1bZGF0YS1zaWRlYmFyLXRvZ2dsZV17ZGlzcGxheTppbmxpbmUtYmxvY2t9W2RhdGEtc2lkZWJhci1oZWFkZXJde2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLXNwYWNlLTMpO3BhZGRpbmc6dmFyKC0tc3BhY2UtMykgdmFyKC0tc3BhY2UtNCk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyKX19fUBsYXllciBjb21wb25lbnRze1tyb2xlPXN0YXR1c10uc2tlbGV0b257LS1fYzogbGlnaHQtZGFyayggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW11dGVkKSAzMCUsIHdoaXRlKSwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW11dGVkKSA5MCUsIHZhcigtLWZvcmVncm91bmQpKSApO21hcmdpbi1ibG9jay1lbmQ6dmFyKC0tc3BhY2UtMyk7YmFja2dyb3VuZDp2YXIoLS1tdXRlZCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWVkaXVtKTthbmltYXRpb246YW5pbSAycyBpbmZpbml0ZTtiYWNrZ3JvdW5kLXNpemU6MjAwJSAxMDAlO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDkwZGVnLHZhcigtLW11dGVkKSAwJSx2YXIoLS1fYykgNTAlLHZhcigtLW11dGVkKSAxMDAlKTsmLmJveHt3aWR0aDo0cmVtO2hlaWdodDo0cmVtfSYubGluZXtoZWlnaHQ6MXJlbTt3aWR0aDoxMDAlfX1bcm9sZT1zdGF0dXNdLnNrZWxldG9uOmxhc3QtY2hpbGR7bWFyZ2luLWJsb2NrLWVuZDowfUBrZXlmcmFtZXMgYW5pbXswJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjIwMCUgMH10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDAlIDB9fX1AbGF5ZXIgY29tcG9uZW50c3tbZGF0YS10b29sdGlwXXtwb3NpdGlvbjpyZWxhdGl2ZX1bZGF0YS10b29sdGlwXTpiZWZvcmUsW2RhdGEtdG9vbHRpcF06YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQtaW5saW5lLXN0YXJ0OjUwJTtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47dHJhbnNpdGlvbjpvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZmFzdCksdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCksdmlzaWJpbGl0eSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDoxMDAwfVtkYXRhLXRvb2x0aXBdOmFmdGVye2NvbnRlbnQ6YXR0cihkYXRhLXRvb2x0aXApO2luc2V0LWJsb2NrLWVuZDpjYWxjKDEwMCUgKyAxMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpIHRyYW5zbGF0ZVkoNHB4KTtwYWRkaW5nOnZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTcpO2xpbmUtaGVpZ2h0OjE7d2hpdGUtc3BhY2U6bm93cmFwO2JhY2tncm91bmQ6dmFyKC0tZm9yZWdyb3VuZCk7Y29sb3I6dmFyKC0tYmFja2dyb3VuZCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWVkaXVtKX1bZGF0YS10b29sdGlwXTpiZWZvcmV7Y29udGVudDpcIlwiO2luc2V0LWJsb2NrLWVuZDpjYWxjKDEwMCUgLSA1cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSkgdHJhbnNsYXRlWSg0cHgpO2JvcmRlcjo4cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX1bZGF0YS10b29sdGlwXTppcyg6aG92ZXIsOmZvY3VzLXZpc2libGUpOmJlZm9yZSxbZGF0YS10b29sdGlwXTppcyg6aG92ZXIsOmZvY3VzLXZpc2libGUpOmFmdGVye29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7dHJhbnNpdGlvbi1kZWxheTouN3M7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKSB0cmFuc2xhdGVZKDApfX1AbGF5ZXIgdXRpbGl0aWVzey50ZXh0LWxlZnR7dGV4dC1hbGlnbjpzdGFydH0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtcmlnaHR7dGV4dC1hbGlnbjplbmR9LnRleHQtbGlnaHR7Y29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCl9LnRleHQtbGlnaHRlcntjb2xvcjp2YXIoLS1mYWludC1mb3JlZ3JvdW5kKX0uZmxleHtkaXNwbGF5OmZsZXh9LmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uaXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlcn0uanVzdGlmeS1jZW50ZXJ7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uanVzdGlmeS1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5oc3RhY2t7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tc3BhY2UtMyk7ZmxleC13cmFwOndyYXA7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0O2hlaWdodDphdXRvfS52c3RhY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6dmFyKC0tc3BhY2UtMyl9LmdhcC0xe2dhcDp2YXIoLS1zcGFjZS0xKX0uZ2FwLTJ7Z2FwOnZhcigtLXNwYWNlLTIpfS5nYXAtNHtnYXA6dmFyKC0tc3BhY2UtNCl9Lm10LTJ7bWFyZ2luLWJsb2NrLXN0YXJ0OnZhcigtLXNwYWNlLTIpfS5tdC00e21hcmdpbi1ibG9jay1zdGFydDp2YXIoLS1zcGFjZS00KX0ubXQtNnttYXJnaW4tYmxvY2stc3RhcnQ6dmFyKC0tc3BhY2UtNil9Lm1iLTJ7bWFyZ2luLWJsb2NrLWVuZDp2YXIoLS1zcGFjZS0yKX0ubWItNHttYXJnaW4tYmxvY2stZW5kOnZhcigtLXNwYWNlLTQpfS5tYi02e21hcmdpbi1ibG9jay1lbmQ6dmFyKC0tc3BhY2UtNil9LnAtNHtwYWRkaW5nOnZhcigtLXNwYWNlLTQpfS53LTEwMHt3aWR0aDoxMDAlfXVsLG9seyYudW5zdHlsZWR7bGlzdC1zdHlsZTpub25lO3BhZGRpbmctaW5saW5lLXN0YXJ0OjA7bWFyZ2luLWlubGluZS1zdGFydDowfX19XG4iLCAiLyogT2F0IFVJIE92ZXJyaWRlcyAtIEFjY291bnRHdXJ1IFRoZW1lICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBERVNJR04gVE9LRU5TXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46cm9vdCB7XG4gIC8qIENvbG9ycyAtIEJhc2UgKi9cbiAgLS1jb2xvci1wcmltYXJ5OiBva2xjaCg3MCUgMC4yMTMgNDcuNjA0KTtcbiAgLS1jb2xvci1wcmltYXJ5LWhvdmVyOiBva2xjaCg2NSUgMC4yMTMgNDcuNjA0KTtcbiAgLS1jb2xvci1iZzogb2tsY2goOTglIDAgMCk7XG4gIC0tY29sb3ItYmctc2Vjb25kYXJ5OiBva2xjaCg5NiUgMC4wMDEgMjg2LjM3NSk7XG4gIC0tY29sb3ItYmctdGVydGlhcnk6IG9rbGNoKDkyJSAwLjAwNCAyODYuMzIpO1xuICAtLWNvbG9yLWZnOiBva2xjaCgyMSUgMC4wMDYgMjg1Ljg4NSk7XG4gIC0tY29sb3ItZmctbXV0ZWQ6IG9rbGNoKDQ1JSAwLjAwNiAyODUuODg1KTtcbiAgLS1jb2xvci1ib3JkZXI6IG9rbGNoKDkyJSAwLjAwNCAyODYuMzIpO1xuICAtLWNvbG9yLWJvcmRlci1ob3Zlcjogb2tsY2goODUlIDAuMDA2IDI4Ni4zMik7XG4gIC0tY29sb3Itc3VjY2Vzczogb2tsY2goNzAlIDAuMTQgMTgyLjUwMyk7XG4gIC0tY29sb3Itc3VjY2Vzcy1iZzogb2tsY2goOTUlIDAuMDMgMTgyLjUwMyk7XG4gIC0tY29sb3Itd2FybmluZzogb2tsY2goNjYlIDAuMTc5IDU4LjMxOCk7XG4gIC0tY29sb3Itd2FybmluZy1iZzogb2tsY2goOTUlIDAuMDQgNTguMzE4KTtcbiAgLS1jb2xvci1lcnJvcjogb2tsY2goNTglIDAuMjUzIDE3LjU4NSk7XG4gIC0tY29sb3ItZXJyb3ItYmc6IG9rbGNoKDk1JSAwLjA1IDE3LjU4NSk7XG4gIC0tY29sb3ItaW5mbzogb2tsY2goNjIlIDAuMjE0IDI1OS44MTUpO1xuICAtLWNvbG9yLWluZm8tYmc6IG9rbGNoKDk1JSAwLjA0IDI1OS44MTUpO1xuXG4gIC8qIENvbG9ycyAtIEFscGhhIHZhcmlhbnRzIChyZXBsYWNlcyByZXBlYXRlZCBjb2xvci1taXgpICovXG4gIC0tY29sb3ItcHJpbWFyeS01OiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLXByaW1hcnkpIDUlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3ItcHJpbWFyeS0xMDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1wcmltYXJ5KSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgLS1jb2xvci1wcmltYXJ5LTE1OiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLXByaW1hcnkpIDE1JSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLXByaW1hcnktMjA6IGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMjAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3ItcHJpbWFyeS0zMDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1wcmltYXJ5KSAzMCUsIHRyYW5zcGFyZW50KTtcbiAgLS1jb2xvci1zdWNjZXNzLTEwOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLXN1Y2Nlc3MpIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLXN1Y2Nlc3MtMjA6IGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3Itc3VjY2VzcykgMjAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3Itc3VjY2Vzcy0zMDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1zdWNjZXNzKSAzMCUsIHRyYW5zcGFyZW50KTtcbiAgLS1jb2xvci13YXJuaW5nLTEwOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLXdhcm5pbmcpIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLXdhcm5pbmctMjA6IGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3Itd2FybmluZykgMjAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3Itd2FybmluZy0zMDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci13YXJuaW5nKSAzMCUsIHRyYW5zcGFyZW50KTtcbiAgLS1jb2xvci1lcnJvci01OiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLWVycm9yKSA1JSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLWVycm9yLTEwOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLWVycm9yKSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgLS1jb2xvci1lcnJvci0yMDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1lcnJvcikgMjAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3ItaW5mby0xMDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1pbmZvKSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgLS1jb2xvci1mZy0xMDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1mZykgMTAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3ItYm9yZGVyLTIwOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLWJvcmRlcikgMjAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3ItYm9yZGVyLTMwOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLWJvcmRlcikgMzAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3ItYm9yZGVyLTQwOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLWJvcmRlcikgNDAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3ItYm9yZGVyLTUwOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLWJvcmRlcikgNTAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3ItYmctOTA6IGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3ItYmcpIDkwJSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLWJnLTgwOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLWJnKSA4MCUsIHRyYW5zcGFyZW50KTtcbiAgLS1jb2xvci1iZy01MDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1iZykgNTAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3ItYmctc2Vjb25kYXJ5LTUwOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSkgNTAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3ItYmctc2Vjb25kYXJ5LTk1OiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSkgOTUlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3ItYmctdGVydGlhcnktMTA6IGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3ItYmctdGVydGlhcnkpIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLWJnLXRlcnRpYXJ5LTIwOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLWJnLXRlcnRpYXJ5KSAyMCUsIHRyYW5zcGFyZW50KTtcbiAgLS1jb2xvci1iZy10ZXJ0aWFyeS0zMDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1iZy10ZXJ0aWFyeSkgMzAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3ItYmctdGVydGlhcnktNDA6IGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3ItYmctdGVydGlhcnkpIDQwJSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLWJnLXRlcnRpYXJ5LTUwOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLWJnLXRlcnRpYXJ5KSA1MCUsIHRyYW5zcGFyZW50KTtcbiAgLS1jb2xvci1iZy10ZXJ0aWFyeS04MDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1iZy10ZXJ0aWFyeSkgODAlLCB0cmFuc3BhcmVudCk7XG5cbiAgLyogVHlwb2dyYXBoeSAqL1xuICAtLWZvbnQtc2Fuczogc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAtLWZvbnQtbW9ubzogXCJJQk0gUGxleCBNb25vXCIsIHVpLW1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuXG4gIC8qIFNwYWNpbmcgKHNpbmdsZSBzeXN0ZW0pICovXG4gIC0tc3AtMTogMC4yNXJlbTtcbiAgLS1zcC0yOiAwLjVyZW07XG4gIC0tc3AtMzogMC43NXJlbTtcbiAgLS1zcC00OiAxcmVtO1xuICAtLXNwLTU6IDEuMjVyZW07XG4gIC0tc3AtNjogMS41cmVtO1xuICAtLXNwLTg6IDJyZW07XG5cbiAgLyogUmFkaWkgKi9cbiAgLS1yYWRpdXMtc206IDAuMjVyZW07XG4gIC0tcmFkaXVzOiAwLjVyZW07XG4gIC0tcmFkaXVzLWxnOiAwLjc1cmVtO1xuICAtLXJhZGl1cy14bDogMXJlbTtcbiAgLS1yYWRpdXMtZnVsbDogOTk5OXB4O1xuXG4gIC8qIExheW91dCB3aWR0aHMgKi9cbiAgLS1zaWRlYmFyLXdpZHRoOiAxNHJlbTtcbiAgLS1zaWRlYmFyLWNvbGxhcHNlZDogNHJlbTtcbiAgLS1kZXRhaWwtc2lkZWJhcjogMjRyZW07XG4gIC0tZGV0YWlsLXNpZGViYXItd2lkZTogNDJyZW07XG4gIC0tY29udGFpbmVyLXNtOiAyNHJlbTtcbiAgLS1jb250YWluZXItbWQ6IDMycmVtO1xuICAtLWNvbnRhaW5lci1sZzogNDhyZW07XG4gIC0tY29udGFpbmVyLXhsOiA1NnJlbTtcbiAgLS1jb250YWluZXItMnhsOiA2NHJlbTtcbiAgLS1jb250YWluZXItM3hsOiA3MnJlbTtcbiAgLS1jb250YWluZXItNHhsOiA4MHJlbTtcblxuICAvKiBTaGFkb3dzICovXG4gIC0tc2hhZG93LXNtOiAwIDFweCAycHggcmdiYSgwLDAsMCwwLjA1KTtcbiAgLS1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IHJnYmEoMCwwLDAsMC4xKSwgMCAycHggNHB4IC0ycHggcmdiYSgwLDAsMCwwLjEpO1xuICAtLXNoYWRvdy1sZzogMCAxMHB4IDE1cHggLTNweCByZ2JhKDAsMCwwLDAuMSksIDAgNHB4IDZweCAtNHB4IHJnYmEoMCwwLDAsMC4xKTtcblxuICAvKiBUcmFuc2l0aW9ucyAqL1xuICAtLXRyYW5zaXRpb24tZmFzdDogMHM7XG4gIC0tdHJhbnNpdGlvbjogMHM7XG59XG5cbltkYXRhLXRoZW1lPVwiZGFya1wiXSB7XG4gIC0tY29sb3ItcHJpbWFyeTogb2tsY2goNTglIDAuMjMzIDI3Ny4xMTcpO1xuICAtLWNvbG9yLXByaW1hcnktaG92ZXI6IG9rbGNoKDYzJSAwLjIzMyAyNzcuMTE3KTtcbiAgLS1jb2xvci1iZzogb2tsY2goMjUuMjYlIDAuMDE0IDI1My4xKTtcbiAgLS1jb2xvci1iZy1zZWNvbmRhcnk6IG9rbGNoKDMwLjMzJSAwLjAxNiAyNTIuNDIpO1xuICAtLWNvbG9yLWJnLXRlcnRpYXJ5OiBva2xjaCgzNSUgMC4wMTggMjUyKTtcbiAgLS1jb2xvci1mZzogb2tsY2goOTcuODA3JSAwLjAyOSAyNTYuODQ3KTtcbiAgLS1jb2xvci1mZy1tdXRlZDogb2tsY2goNzAlIDAuMDIgMjU2Ljg0Nyk7XG4gIC0tY29sb3ItYm9yZGVyOiBva2xjaCgzNSUgMC4wMiAyNTQuMDkpO1xuICAtLWNvbG9yLWJvcmRlci1ob3Zlcjogb2tsY2goNDUlIDAuMDI1IDI1NC4wOSk7XG4gIC0tY29sb3Itc3VjY2Vzczogb2tsY2goNjAlIDAuMTE4IDE4NC43MDQpO1xuICAtLWNvbG9yLXN1Y2Nlc3MtYmc6IG9rbGNoKDMwJSAwLjA0IDE4NC43MDQpO1xuICAtLWNvbG9yLXdhcm5pbmc6IG9rbGNoKDY2JSAwLjE3OSA1OC4zMTgpO1xuICAtLWNvbG9yLXdhcm5pbmctYmc6IG9rbGNoKDMwJSAwLjA2IDU4LjMxOCk7XG4gIC0tY29sb3ItZXJyb3I6IG9rbGNoKDU4JSAwLjI1MyAxNy41ODUpO1xuICAtLWNvbG9yLWVycm9yLWJnOiBva2xjaCgzMCUgMC4wOCAxNy41ODUpO1xuICAtLWNvbG9yLWluZm86IG9rbGNoKDU4JSAwLjE1OCAyNDEuOTY2KTtcbiAgLS1jb2xvci1pbmZvLWJnOiBva2xjaCgzMCUgMC4wNSAyNDEuOTY2KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFVUSUxJVElFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGlzcGxheSAqL1xuLmhpZGRlbiB7IGRpc3BsYXk6IG5vbmU7IH1cbi5ibG9jayB7IGRpc3BsYXk6IGJsb2NrOyB9XG4uaW5saW5lIHsgZGlzcGxheTogaW5saW5lOyB9XG4uaW5saW5lLWZsZXggeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuLmdyaWQgeyBkaXNwbGF5OiBncmlkOyB9XG5cbi8qIEZsZXhib3ggKi9cbi5mbGV4LTEsIC5zaWRlYmFyLXNwYWNlciB7IGZsZXg6IDE7IH1cbi5mbGV4LTEtbWluLTAgeyBmbGV4OiAxOyBtaW4td2lkdGg6IDA7IH1cbi5zaHJpbmstMCB7IGZsZXgtc2hyaW5rOiAwOyB9XG4uZmxleC13cmFwIHsgZmxleC13cmFwOiB3cmFwOyB9XG4uaHN0YWNrIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiB2YXIoLS1zcC0zKTsgfVxuLnZzdGFjayB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogdmFyKC0tc3AtMyk7IH1cbi5pdGVtcy1jZW50ZXIgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4uaXRlbXMtc3RhcnQgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuLml0ZW1zLWVuZCB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuLml0ZW1zLWJhc2VsaW5lIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4uanVzdGlmeS1zdGFydCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuLmp1c3RpZnktY2VudGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbi5qdXN0aWZ5LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbi5qdXN0aWZ5LWVuZCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbi5zZWxmLWVuZCB7IGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi8qIEdhcCAqL1xuLmdhcC0xIHsgZ2FwOiB2YXIoLS1zcC0xKTsgfVxuLmdhcC0yIHsgZ2FwOiB2YXIoLS1zcC0yKTsgfVxuLmdhcC0zIHsgZ2FwOiB2YXIoLS1zcC0zKTsgfVxuLmdhcC00IHsgZ2FwOiB2YXIoLS1zcC00KTsgfVxuLmdhcC01IHsgZ2FwOiB2YXIoLS1zcC01KTsgfVxuLmdhcC02IHsgZ2FwOiB2YXIoLS1zcC02KTsgfVxuLmdhcC1zbSB7IGdhcDogdmFyKC0tc3AtMik7IH1cblxuLyogV2lkdGgvSGVpZ2h0ICovXG4udy1mdWxsIHsgd2lkdGg6IDEwMCU7IH1cbi53LWN1cnJlbmN5IHsgd2lkdGg6IDVyZW07IH1cbi5taW4tdy0wIHsgbWluLXdpZHRoOiAwOyB9XG4ubWF4LXctc20geyBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1zbSk7IH1cbi5tYXgtdy1tZCB7IG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLW1kKTsgfVxuLm1heC13LWxnIHsgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItbGcpOyB9XG4ubWF4LXcteGwgeyBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci14bCk7IH1cbi5tYXgtdy0yeGwgeyBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci0yeGwpOyB9XG4ubWF4LXctM3hsIHsgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItM3hsKTsgfVxuLm1heC13LTR4bCB7IG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLTR4bCk7IH1cbi5oLWZ1bGwgeyBoZWlnaHQ6IDEwMCU7IH1cbi5taW4taC1zY3JlZW4geyBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuXG4vKiBNYXJnaW4gKi9cbi5tLTAgeyBtYXJnaW46IDA7IH1cbi5teC1hdXRvIHsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgfVxuLm10LTAgeyBtYXJnaW4tdG9wOiAwOyB9XG4ubXQtMSB7IG1hcmdpbi10b3A6IHZhcigtLXNwLTEpOyB9XG4ubXQtMiB7IG1hcmdpbi10b3A6IHZhcigtLXNwLTIpOyB9XG4ubXQtMyB7IG1hcmdpbi10b3A6IHZhcigtLXNwLTMpOyB9XG4ubXQtNCB7IG1hcmdpbi10b3A6IHZhcigtLXNwLTQpOyB9XG4ubXQtNSB7IG1hcmdpbi10b3A6IHZhcigtLXNwLTUpOyB9XG4ubXQtNiB7IG1hcmdpbi10b3A6IHZhcigtLXNwLTYpOyB9XG4ubXQtOCB7IG1hcmdpbi10b3A6IHZhcigtLXNwLTgpOyB9XG4ubWItMCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbi5tYi0xIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtMSk7IH1cbi5tYi0yIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtMik7IH1cbi5tYi0zIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtMyk7IH1cbi5tYi00IHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtNCk7IH1cbi5tYi01IHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtNSk7IH1cbi5tYi02IHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtNik7IH1cbi5tYi04IHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtOCk7IH1cbi5tbC0xIHsgbWFyZ2luLWxlZnQ6IHZhcigtLXNwLTEpOyB9XG4ubWwtMiB7IG1hcmdpbi1sZWZ0OiB2YXIoLS1zcC0yKTsgfVxuLm1sLTMgeyBtYXJnaW4tbGVmdDogdmFyKC0tc3AtMyk7IH1cbi5tbC00IHsgbWFyZ2luLWxlZnQ6IHZhcigtLXNwLTQpOyB9XG4ubWwtNiB7IG1hcmdpbi1sZWZ0OiB2YXIoLS1zcC02KTsgfVxuLm1yLTEgeyBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwLTEpOyB9XG4ubXItMiB7IG1hcmdpbi1yaWdodDogdmFyKC0tc3AtMik7IH1cblxuLyogUGFkZGluZyAqL1xuLnAtMCB7IHBhZGRpbmc6IDA7IH1cbi5wLTEgeyBwYWRkaW5nOiB2YXIoLS1zcC0xKTsgfVxuLnAtMiB7IHBhZGRpbmc6IHZhcigtLXNwLTIpOyB9XG4ucC0zIHsgcGFkZGluZzogdmFyKC0tc3AtMyk7IH1cbi5wLTQgeyBwYWRkaW5nOiB2YXIoLS1zcC00KTsgfVxuLnAtNiB7IHBhZGRpbmc6IHZhcigtLXNwLTYpOyB9XG4ucC04IHsgcGFkZGluZzogdmFyKC0tc3AtOCk7IH1cbi5wLWNvbnRlbnQgeyBwYWRkaW5nOiAxcmVtIDEuNXJlbTsgfVxuLnB4LTEgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwLTEpOyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcC0xKTsgfVxuLnB4LTIgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwLTIpOyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcC0yKTsgfVxuLnB4LTMgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwLTMpOyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcC0zKTsgfVxuLnB4LTQgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwLTQpOyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcC00KTsgfVxuLnB4LTYgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwLTYpOyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcC02KTsgfVxuLnB5LTEgeyBwYWRkaW5nLXRvcDogdmFyKC0tc3AtMSk7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcC0xKTsgfVxuLnB5LTIgeyBwYWRkaW5nLXRvcDogdmFyKC0tc3AtMik7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcC0yKTsgfVxuLnB5LTMgeyBwYWRkaW5nLXRvcDogdmFyKC0tc3AtMyk7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcC0zKTsgfVxuLnB5LTQgeyBwYWRkaW5nLXRvcDogdmFyKC0tc3AtNCk7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcC00KTsgfVxuLnB0LTEgeyBwYWRkaW5nLXRvcDogdmFyKC0tc3AtMSk7IH1cbi5wdC0yIHsgcGFkZGluZy10b3A6IHZhcigtLXNwLTIpOyB9XG4ucHQtMyB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcC0zKTsgfVxuLnB0LTQgeyBwYWRkaW5nLXRvcDogdmFyKC0tc3AtNCk7IH1cbi5wdC02IHsgcGFkZGluZy10b3A6IHZhcigtLXNwLTYpOyB9XG4ucGItMSB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcC0xKTsgfVxuLnBiLTIgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3AtMik7IH1cbi5wYi0zIHsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwLTMpOyB9XG4ucGItNCB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcC00KTsgfVxuLnBiLXNhZmUgeyBwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pOyB9XG4ucHQtc2FmZSB7IHBhZGRpbmctdG9wOiBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCk7IH1cbi5zcGFjZS15LTIgPiAqICsgKiB7IG1hcmdpbi10b3A6IHZhcigtLXNwLTIpOyB9XG4uc3BhY2UteS0zID4gKiArICogeyBtYXJnaW4tdG9wOiB2YXIoLS1zcC0zKTsgfVxuLnNwYWNlLXktNCA+ICogKyAqIHsgbWFyZ2luLXRvcDogdmFyKC0tc3AtNCk7IH1cbi5zcGFjZS15LTYgPiAqICsgKiB7IG1hcmdpbi10b3A6IHZhcigtLXNwLTYpOyB9XG5cbi8qIFR5cG9ncmFwaHkgKi9cbi50ZXh0LTJ4cyB7IGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbi50ZXh0LXhzIHsgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4udGV4dC1zbSB7IGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbi50ZXh0LWJhc2UgeyBmb250LXNpemU6IDFyZW07IH1cbi50ZXh0LWxnIHsgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuLnRleHQteGwgeyBmb250LXNpemU6IDEuMjVyZW07IH1cbi50ZXh0LTJ4bCB7IGZvbnQtc2l6ZTogMS41cmVtOyB9XG4udGV4dC0zeGwgeyBmb250LXNpemU6IDEuODc1cmVtOyB9XG4udGV4dC00eGwgeyBmb250LXNpemU6IDIuMjVyZW07IH1cbi5mb250LW1vbm8geyBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTsgfVxuLmZvbnQtbm9ybWFsIHsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuLmZvbnQtbWVkaXVtIHsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuLmZvbnQtc2VtaWJvbGQgeyBmb250LXdlaWdodDogNjAwOyB9XG4uZm9udC1ib2xkIHsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuLnRleHQtbGVmdCB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbi50ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuLnRleHQtcmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuLnVwcGVyY2FzZSB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbi5jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbi5pdGFsaWMgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cbi51bmRlcmxpbmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuLm5vLXVuZGVybGluZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuLmxlYWRpbmctbm9uZSB7IGxpbmUtaGVpZ2h0OiAxOyB9XG4ubGVhZGluZy10aWdodCB7IGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG4ubGVhZGluZy1zbnVnIHsgbGluZS1oZWlnaHQ6IDEuMzc1OyB9XG4ubGVhZGluZy1ub3JtYWwgeyBsaW5lLWhlaWdodDogMS41OyB9XG4ubGVhZGluZy1yZWxheGVkIHsgbGluZS1oZWlnaHQ6IDEuNjI1OyB9XG4udHJhY2tpbmctdGlnaHQgeyBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07IH1cbi50cmFja2luZy13aWRlIHsgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07IH1cbi50cmFja2luZy13aWRlciB7IGxldHRlci1zcGFjaW5nOiAwLjA1ZW07IH1cbi50cmFja2luZy13aWRlc3QgeyBsZXR0ZXItc3BhY2luZzogMC4xZW07IH1cbi53aGl0ZXNwYWNlLW5vd3JhcCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbi53aGl0ZXNwYWNlLXByZS13cmFwIHsgd2hpdGUtc3BhY2U6IHByZS13cmFwOyB9XG4udHJ1bmNhdGUgeyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiBDb2xvcnMgKi9cbi5jb2xvci1tdXRlZCwgLnRleHQtbXV0ZWQgeyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4uY29sb3ItcHJpbWFyeSB7IGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgfVxuLmNvbG9yLXByaW1hcnktbXV0ZWQgeyBjb2xvcjogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1wcmltYXJ5KSA2MCUsIHRyYW5zcGFyZW50KTsgfVxuLmNvbG9yLXN1Y2Nlc3MgeyBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IH1cbi5jb2xvci13YXJuaW5nIHsgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpOyB9XG4uY29sb3ItZXJyb3IgeyBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpOyB9XG4uY29sb3ItaW5mbyB7IGNvbG9yOiB2YXIoLS1jb2xvci1pbmZvKTsgfVxuXG4vKiBJY29ucyAqL1xuLmljb24teHMgeyB3aWR0aDogMC43NXJlbTsgaGVpZ2h0OiAwLjc1cmVtOyB9XG4uaWNvbi1zbSB7IHdpZHRoOiAxcmVtOyBoZWlnaHQ6IDFyZW07IH1cbi5pY29uLW1kIHsgd2lkdGg6IDEuMjVyZW07IGhlaWdodDogMS4yNXJlbTsgfVxuLmljb24tbGcgeyB3aWR0aDogMS41cmVtOyBoZWlnaHQ6IDEuNXJlbTsgfVxuLmljb24teGwgeyB3aWR0aDogMnJlbTsgaGVpZ2h0OiAycmVtOyB9XG4uaWNvbi0yeGwgeyB3aWR0aDogM3JlbTsgaGVpZ2h0OiAzcmVtOyB9XG4uaWNvbi1odWdlIHsgd2lkdGg6IDEyMHB4OyBoZWlnaHQ6IDEyMHB4OyB9XG5cbi8qIEdyaWQgY29sdW1ucyAqL1xuLmNvbC0xIHsgZ3JpZC1jb2x1bW46IHNwYW4gMTsgfVxuLmNvbC0yIHsgZ3JpZC1jb2x1bW46IHNwYW4gMjsgfVxuLmNvbC0zIHsgZ3JpZC1jb2x1bW46IHNwYW4gMzsgfVxuLmNvbC00IHsgZ3JpZC1jb2x1bW46IHNwYW4gNDsgfVxuLmNvbC01IHsgZ3JpZC1jb2x1bW46IHNwYW4gNTsgfVxuLmNvbC02IHsgZ3JpZC1jb2x1bW46IHNwYW4gNjsgfVxuLmNvbC03IHsgZ3JpZC1jb2x1bW46IHNwYW4gNzsgfVxuLmNvbC04IHsgZ3JpZC1jb2x1bW46IHNwYW4gODsgfVxuLmNvbC05IHsgZ3JpZC1jb2x1bW46IHNwYW4gOTsgfVxuLmNvbC0xMCB7IGdyaWQtY29sdW1uOiBzcGFuIDEwOyB9XG4uY29sLTExIHsgZ3JpZC1jb2x1bW46IHNwYW4gMTE7IH1cbi5jb2wtMTIgeyBncmlkLWNvbHVtbjogc3BhbiAxMjsgfVxuXG4vKiBPdmVyZmxvdyAqL1xuLm92ZXJmbG93LWhpZGRlbiB7IG92ZXJmbG93OiBoaWRkZW47IH1cbi5vdmVyZmxvdy1hdXRvIHsgb3ZlcmZsb3c6IGF1dG87IH1cbi5vdmVyZmxvdy14LWF1dG8geyBvdmVyZmxvdy14OiBhdXRvOyB9XG4ub3ZlcmZsb3cteS1hdXRvIHsgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4vKiBQb3NpdGlvbiAqL1xuLnJlbGF0aXZlIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4uYWJzb2x1dGUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbi5maXhlZCB7IHBvc2l0aW9uOiBmaXhlZDsgfVxuLnN0aWNreSB7IHBvc2l0aW9uOiBzdGlja3k7IH1cbi5pbnNldC0wIHsgaW5zZXQ6IDA7IH1cbi50b3AtMCB7IHRvcDogMDsgfVxuLnJpZ2h0LTAgeyByaWdodDogMDsgfVxuLmJvdHRvbS0wIHsgYm90dG9tOiAwOyB9XG4ubGVmdC0wIHsgbGVmdDogMDsgfVxuXG4vKiBaLWluZGV4ICovXG4uei0wIHsgei1pbmRleDogMDsgfVxuLnotMTAgeyB6LWluZGV4OiAxMDsgfVxuLnotMjAgeyB6LWluZGV4OiAyMDsgfVxuLnotMzAgeyB6LWluZGV4OiAzMDsgfVxuLnotNDAgeyB6LWluZGV4OiA0MDsgfVxuLnotNTAgeyB6LWluZGV4OiA1MDsgfVxuXG4vKiBPcGFjaXR5ICovXG4ub3BhY2l0eS0wIHsgb3BhY2l0eTogMDsgfVxuLm9wYWNpdHktMzAgeyBvcGFjaXR5OiAwLjM7IH1cbi5vcGFjaXR5LTUwIHsgb3BhY2l0eTogMC41OyB9XG4ub3BhY2l0eS02MCB7IG9wYWNpdHk6IDAuNjsgfVxuLm9wYWNpdHktNzAgeyBvcGFjaXR5OiAwLjc7IH1cbi5vcGFjaXR5LTgwIHsgb3BhY2l0eTogMC44OyB9XG5cbi8qIEJvcmRlcnMgKi9cbi5ib3JkZXIgeyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XG4uYm9yZGVyLXQgeyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxuLmJvcmRlci1iIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IH1cbi5ib3JkZXItbCB7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxuLmJvcmRlci1yIHsgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxuLmJvcmRlci1kYXNoZWQgeyBib3JkZXItc3R5bGU6IGRhc2hlZDsgfVxuLnJvdW5kZWQgeyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyB9XG4ucm91bmRlZC1sZyB7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7IH1cbi5yb3VuZGVkLWZ1bGwgeyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZnVsbCk7IH1cblxuLyogQ3Vyc29yICYgSW50ZXJhY3Rpb24gKi9cbi5jdXJzb3ItcG9pbnRlciB7IGN1cnNvcjogcG9pbnRlcjsgfVxuLmN1cnNvci1kZWZhdWx0IHsgY3Vyc29yOiBkZWZhdWx0OyB9XG4uY3Vyc29yLXdhaXQgeyBjdXJzb3I6IHdhaXQ7IH1cbi5wb2ludGVyLWV2ZW50cy1ub25lIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbi5zZWxlY3Qtbm9uZSB7IHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi8qIEFjY2Vzc2liaWxpdHkgKi9cbi5zci1vbmx5IHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMXB4OyBoZWlnaHQ6IDFweDsgcGFkZGluZzogMDsgbWFyZ2luOiAtMXB4OyBvdmVyZmxvdzogaGlkZGVuOyBjbGlwOiByZWN0KDAsMCwwLDApOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBib3JkZXI6IDA7IH1cblxuLyogQW5pbWF0aW9uICovXG5Aa2V5ZnJhbWVzIHNwaW4geyBmcm9tIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0gdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cbi5zcGluIHsgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTsgfVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHsgLnNwaW4geyBhbmltYXRpb246IG5vbmU7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTEFZT1VUXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYXBwLXNoZWxsIHsgaGVpZ2h0OiAxMDB2aDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgb3ZlcmZsb3c6IGhpZGRlbjsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpOyB9XG4uYXBwLXNoZWxsLm1vbm9zcGFjZSB7IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOyB9XG4uYXBwLWxheW91dCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGZsZXg6IDE7IG1pbi1oZWlnaHQ6IDA7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IH1cbi5hcHAtbWFpbiB7IGZsZXg6IDE7IG1pbi13aWR0aDogMDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuLmFwcC1jb250ZW50IHsgZmxleDogMTsgb3ZlcmZsb3cteTogYXV0bzsgb3ZlcmZsb3cteDogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7IG1pbi13aWR0aDogMDsgcGFkZGluZy1ib3R0b206IDhyZW07IHBhZGRpbmctdG9wOiB2YXIoLS1zcC0yKTsgfVxuLmNvbnRlbnQtYXJlYSB7IGZsZXg6IDE7IHBhZGRpbmc6IHZhcigtLXNwLTQpOyBtYXJnaW4tYm90dG9tOiA0cmVtOyB9XG4ucm93IHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7IGdhcDogdmFyKC0tc3AtNCk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNJREVCQVJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zaWRlYmFyLW5hdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3AtNCk7XG4gIHBhZGRpbmc6IHZhcigtLXNwLTQpIHZhcigtLXNwLTMpO1xuICBwYWRkaW5nLXRvcDogZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIHZhcigtLXNwLTQpKTtcbiAgcGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCB2YXIoLS1zcC00KSk7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICB3aWR0aDogdmFyKC0tc2lkZWJhci13aWR0aCk7XG59XG4uc2lkZWJhci1uYXZbZGF0YS1jb2xsYXBzZWQ9XCJ0cnVlXCJdIHsgd2lkdGg6IHZhcigtLXNpZGViYXItY29sbGFwc2VkKTsgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcC0yKTsgcGFkZGluZy1yaWdodDogdmFyKC0tc3AtMik7IH1cbi5zaWRlYmFyLWhlYWRlciB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogdmFyKC0tc3AtMyk7IHBhZGRpbmc6IHZhcigtLXNwLTIpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiBpbmhlcml0OyB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi5zaWRlYmFyLWhlYWRlcjpob3ZlciB7IG9wYWNpdHk6IDAuODsgfVxuLnNpZGViYXItbG9nbyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB3aWR0aDogMi4yNXJlbTsgaGVpZ2h0OiAyLjI1cmVtOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgY29sb3I6IHdoaXRlOyBmbGV4LXNocmluazogMDsgfVxuLnNpZGViYXItdGl0bGUgeyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG4uc2lkZWJhci1uYXYtbGlzdCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMC4yNXJlbTsgbWluLWhlaWdodDogMDsgZmxleDogMTsgb3ZlcmZsb3cteTogYXV0bzsgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG4uc2lkZWJhci1mb290ZXIgeyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgcGFkZGluZy10b3A6IHZhcigtLXNwLTMpOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IHBhZGRpbmctbGVmdDogdmFyKC0tc3AtMik7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwLTIpOyB9XG4uc2lkZWJhci12ZXJzaW9uIHsgZm9udC1zaXplOiAwLjYyNXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgb3BhY2l0eTogMC40OyB9XG4uc2lkZWJhci10b2dnbGUtYnRuIHsgcGFkZGluZzogMC4zNzVyZW07IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IG5vbmU7IGN1cnNvcjogcG9pbnRlcjsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4uc2lkZWJhci10b2dnbGUtYnRuOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZmctMTApOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG4uc2lkZWJhci1mb290ZXItYWN0aW9ucyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogdmFyKC0tc3AtMSk7IH1cbi5uYXYtc2VjdGlvbi1oZWFkZXIgeyBwYWRkaW5nOiB2YXIoLS1zcC00KSB2YXIoLS1zcC0yKSB2YXIoLS1zcC0xKTsgfVxuLm5hdi1zZWN0aW9uLWhlYWRlcjpmaXJzdC1jaGlsZCB7IHBhZGRpbmctdG9wOiAwOyB9XG4ubmF2LXNlY3Rpb24taGVhZGVyIHNwYW4geyBmb250LXNpemU6IDAuNjg3NXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDAuMDc1ZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IG9wYWNpdHk6IDAuNDsgfVxuLm5hdi1pdGVtLWxpbmsgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IHZhcigtLXNwLTMpOyBwYWRkaW5nOiB2YXIoLS1zcC0yKSB2YXIoLS1zcC0zKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi5uYXYtaXRlbS1saW5rOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZmctMTApOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG4ubmF2LWl0ZW0tbGluay5hY3RpdmUgeyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1mZy0xMCk7IH1cbi5uYXYtaXRlbS1saW5rIC5pY29uLW1kIHsgZmxleC1zaHJpbms6IDA7IH1cbi5uYXYtaXRlbS10ZXh0IHsgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4vKiBDb2xsYXBzZWQgc2lkZWJhciAqL1xuLnNpZGViYXItbmF2W2RhdGEtY29sbGFwc2VkPVwidHJ1ZVwiXSAuc2lkZWJhci1sYWJlbCxcbi5zaWRlYmFyLW5hdltkYXRhLWNvbGxhcHNlZD1cInRydWVcIl0gLm5hdi1zZWN0aW9uLWhlYWRlciB7IGRpc3BsYXk6IG5vbmU7IH1cbi5zaWRlYmFyLW5hdltkYXRhLWNvbGxhcHNlZD1cInRydWVcIl0gLnNpZGViYXItaGVhZGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IHBhZGRpbmc6IDA7IH1cbi5zaWRlYmFyLW5hdltkYXRhLWNvbGxhcHNlZD1cInRydWVcIl0gLm5hdi1pdGVtLWxpbmsgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgcGFkZGluZzogdmFyKC0tc3AtMik7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuLnNpZGViYXItbmF2W2RhdGEtY29sbGFwc2VkPVwidHJ1ZVwiXSAubmF2LWl0ZW0tdGV4dCB7IGRpc3BsYXk6IG5vbmU7IH1cbi5zaWRlYmFyLW5hdltkYXRhLWNvbGxhcHNlZD1cInRydWVcIl0gLnNpZGViYXItZm9vdGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbi5zaWRlYmFyLW5hdiAuc2lkZWJhci1leHBhbmQtaWNvbiB7IGRpc3BsYXk6IG5vbmU7IH1cbi5zaWRlYmFyLW5hdltkYXRhLWNvbGxhcHNlZD1cInRydWVcIl0gLnNpZGViYXItZXhwYW5kLWljb24geyBkaXNwbGF5OiBibG9jazsgfVxuLnNpZGViYXItbmF2W2RhdGEtY29sbGFwc2VkPVwidHJ1ZVwiXSAuc2lkZWJhci1jb2xsYXBzZS1pY29uIHsgZGlzcGxheTogbm9uZTsgfVxuLnNpZGViYXItbmF2W2RhdGEtY29sbGFwc2VkPVwidHJ1ZVwiXSAubmF2LWl0ZW0tbGluazpob3Zlcjo6YWZ0ZXIge1xuICBjb250ZW50OiBhdHRyKHRpdGxlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxMDAlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBtYXJnaW4tbGVmdDogMC43NXJlbTtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZmcpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIHotaW5kZXg6IDEwMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNT0JJTEUgTkFWXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubW9iaWxlLW5hdiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctOTApO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgei1pbmRleDogNTA7XG4gIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG59XG4ubW9iaWxlLW5hdi1pbm5lciB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyBhbGlnbi1pdGVtczogY2VudGVyOyBoZWlnaHQ6IDRyZW07IHBhZGRpbmc6IDAgdmFyKC0tc3AtMik7IH1cbi5tb2JpbGUtbmF2LWl0ZW0geyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuMjVyZW07IHBhZGRpbmc6IHZhcigtLXNwLTIpOyB3aWR0aDogNHJlbTsgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuLm1vYmlsZS1uYXYtaWNvbiB7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi5tb2JpbGUtbmF2LWljb24tYWN0aXZlIHsgYm9yZGVyLXJhZGl1czogMC43NXJlbTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7IHBhZGRpbmc6IDAuMjVyZW0gMC43NXJlbTsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTsgY29sb3I6IHdoaXRlOyB9XG4ubW9iaWxlLW5hdi1sYWJlbCB7IGZvbnQtc2l6ZTogMC41NjI1cmVtOyBmb250LXdlaWdodDogNTAwOyBsZXR0ZXItc3BhY2luZzogMC4xZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi5tb2JpbGUtbmF2LWxhYmVsLmFjdGl2ZSB7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBBR0UgSEVBREVSXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucGFnZS1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogdmFyKC0tc3AtMik7XG4gIG1pbi1oZWlnaHQ6IDIuNzVyZW07XG4gIHBhZGRpbmc6IHZhcigtLXNwLTIpIHZhcigtLXNwLTQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5LTk1KTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA0MDtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucGFnZS1oZWFkZXItdGl0bGUgeyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LXdlaWdodDogNjAwOyBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbGV4LXNocmluazogMDsgfVxuLnBhZ2UtaGVhZGVyLXRpdGxlOmhvdmVyIHsgb3BhY2l0eTogMC44OyB9XG4ucGFnZS1oZWFkZXItc2VsZWN0b3JzIHsgZGlzcGxheTogbm9uZTsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiB2YXIoLS1zcC0zKTsgZmxleC1zaHJpbms6IDA7IH1cbi5iYWNrLWxpbmsgeyBwYWRkaW5nOiAwLjI1cmVtOyBtYXJnaW4tbGVmdDogLTAuNXJlbTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4uYmFjay1saW5rOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgfVxuXG4vKiBTZWN0aW9uIEhlYWRlcnMgKi9cbi5zZWN0aW9uLWhlYWRlciB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcC00KTsgfVxuLnNlY3Rpb24taGVhZGVyIGgxIHsgZm9udC1zaXplOiAxLjEyNXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgbGluZS1oZWlnaHQ6IDEuNTsgbWFyZ2luOiAwOyB9XG4uc2VjdGlvbi1oZWFkZXIud2l0aC1hY3Rpb25zIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBnYXA6IHZhcigtLXNwLTYpOyB9XG4uc2VjdGlvbi1oZWFkZXIgLnN1YnRpdGxlIHsgZm9udC1zaXplOiAwLjg3NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgbWFyZ2luOiAwOyB9XG4uc2VjdGlvbi10aXRsZSB7IGZvbnQtc2l6ZTogMC43NXJlbTsgZm9udC13ZWlnaHQ6IDcwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMWVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW46IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRBQlMgJiBQSUxMU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRhYi1zdHJpcCwgLmZpbHRlci1waWxscywgLmN1c3RvbS1jb21tYW5kLXRhYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDJweDtcbiAgcGFkZGluZzogMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItMzApO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuLmZpbHRlci1waWxscyB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IGZsZXgtc2hyaW5rOiAwOyB9XG4uY3VzdG9tLWNvbW1hbmQtdGFicyB7IHBhZGRpbmc6IDAuMTI1cmVtOyBnYXA6IDAuMTI1cmVtOyBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG5cbi50YWItaXRlbSwgLmZpbHRlci1waWxsLCAuY3VzdG9tLWNvbW1hbmQtdGFiIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3AtMik7XG4gIHBhZGRpbmc6IHZhcigtLXNwLTIpIHZhcigtLXNwLTMpO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXJhZGl1cykgLSAycHgpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmZpbHRlci1waWxsIHsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuLnRhYi1pdGVtOmhvdmVyLCAuZmlsdGVyLXBpbGw6aG92ZXIsIC5jdXN0b20tY29tbWFuZC10YWI6bm90KC5hY3RpdmUpOmhvdmVyIHsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctNTApOyB9XG4udGFiLWl0ZW0uYWN0aXZlLCAuZmlsdGVyLXBpbGwuYWN0aXZlLCAuY3VzdG9tLWNvbW1hbmQtdGFiLmFjdGl2ZSB7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnKTsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTsgfVxuLmZpbHRlci1waWxsLmFjdGl2ZS5iZy1zdWNjZXNzIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IGNvbG9yOiB3aGl0ZTsgfVxuLmZpbHRlci1waWxsLmFjdGl2ZS5iZy13YXJuaW5nIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2FybmluZyk7IGNvbG9yOiB3aGl0ZTsgfVxuLmZpbHRlci1waWxsLmFjdGl2ZS5iZy1lcnJvciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWVycm9yKTsgY29sb3I6IHdoaXRlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGSUxURVJTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZmlsdGVyLWJhciwgLmFkdmFuY2VkLWZpbHRlcnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3AtMyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwLTMpIHZhcigtLXNwLTQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpO1xufVxuLmFkdmFuY2VkLWZpbHRlcnMgeyBwYWRkaW5nOiAwLjVyZW0gMXJlbTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctNTApOyBnYXA6IDAuNzVyZW07IH1cbi5hZHZhbmNlZC1maWx0ZXJzIC5maWx0ZXItbGFiZWwgeyBkaXNwbGF5OiBpbmxpbmU7IG1hcmdpbi1ib3R0b206IDA7IH1cbi5hZHZhbmNlZC1maWx0ZXJzIC5oc3RhY2sgeyBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuLmZpbHRlci1iYXItc2VhcmNoIHsgd2lkdGg6IDEwMCU7IG9yZGVyOiAxOyB9XG4uZmlsdGVyLWJhci1maWx0ZXJzIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiB2YXIoLS1zcC0zKTsgb3ZlcmZsb3cteDogYXV0bzsgb3JkZXI6IDI7IH1cbi5maWx0ZXItYmFyLWFjdGlvbnMgeyBtYXJnaW4tbGVmdDogYXV0bzsgb3JkZXI6IDM7IH1cblxuLyogRmlsdGVyIGlucHV0cyAoY29uc29saWRhdGVkKSAqL1xuLmZpbHRlci1zZWxlY3QsIC5ncm91cGluZy1zZWxlY3QsIC5kYXRlLWlucHV0IHtcbiAgcGFkZGluZzogdmFyKC0tc3AtMikgdmFyKC0tc3AtMyk7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZmcpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG4uZmlsdGVyLXNlbGVjdDpmb2N1cywgLmdyb3VwaW5nLXNlbGVjdDpmb2N1cywgLmRhdGUtaW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tY29sb3ItcHJpbWFyeS0yMCk7XG59XG4uZmlsdGVyLXNlbGVjdDpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXRlcnRpYXJ5KTsgfVxuLmdyb3VwaW5nLXNlbGVjdCB7IGJvcmRlcjogbm9uZTsgcGFkZGluZzogMC4zNzVyZW0gMC41cmVtOyBmb250LXNpemU6IDAuNzVyZW07IGZvbnQtd2VpZ2h0OiA1MDA7IH1cbi5kYXRlLWlucHV0IHsgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07IGZvbnQtc2l6ZTogMC43NXJlbTsgYm9yZGVyOiBub25lOyB9XG5cbi5jbGVhci1maWx0ZXJzLWJ0biwgLmZpbHRlci1jbGVhci1saW5rIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiB2YXIoLS1zcC0xKSB2YXIoLS1zcC0yKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuLmZpbHRlci1jbGVhci1saW5rIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4OyB9XG4uY2xlYXItZmlsdGVycy1idG46aG92ZXIsIC5maWx0ZXItY2xlYXItbGluazpob3ZlciB7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cblxuLmZpbHRlci1jb3VudC1iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWluLXdpZHRoOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07XG4gIHBhZGRpbmc6IDAgMC4zNzVyZW07XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1mdWxsKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmZpbHRlci1tZW51LWNhcmQge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC00KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctODApO1xuICBwYWRkaW5nOiB2YXIoLS1zcC00KTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbn1cbi5maWx0ZXItbWVudS1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IGdhcDogdmFyKC0tc3AtMyk7IH1cbi5maWx0ZXItbWVudS1sYWJlbCwgLmZpbHRlci1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuMTI1cmVtO1xuICBmb250LXNpemU6IDAuNjI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uZmlsdGVyLW1lbnUtY2FyZCBpbnB1dCwgLmZpbHRlci1tZW51LWNhcmQgc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLXNwLTIpIHZhcigtLXNwLTMpO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWZnKTtcbn1cbi5maWx0ZXItbWVudS1jYXJkIGlucHV0OmZvY3VzLCAuZmlsdGVyLW1lbnUtY2FyZCBzZWxlY3Q6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tY29sb3ItcHJpbWFyeS0yMCk7XG59XG4uZmlsdGVyLW1lbnUtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcC0zKTtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwLTMpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cbi5maWx0ZXItc3VtbWFyeS10ZXh0LCAuZmlsdGVyLXN1bW1hcnkgeyBmb250LXNpemU6IDAuNzVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTRUFSQ0ggSU5QVVRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zZWFyY2gtaW5wdXQtd3JhcHBlciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuLnNlYXJjaC1pbnB1dC1pY29uIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiB2YXIoLS1zcC0zKTsgdG9wOiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbi5zZWFyY2gtaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogdmFyKC0tc3AtMikgdmFyKC0tc3AtMykgdmFyKC0tc3AtMikgMi4yNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG59XG4uc2VhcmNoLWlucHV0OmZvY3VzIHsgb3V0bGluZTogbm9uZTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWNvbG9yLXByaW1hcnktMjApOyB9XG4uc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNFTEVDVE9SU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnJvbGUtc2VsZWN0b3IsIC5wcm9qZWN0LXN3aXRjaGVyLCAuZ3JvdXBpbmctc2VsZWN0b3IsIC5sYW5ndWFnZS1zZWxlY3RvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3AtMik7XG4gIHBhZGRpbmc6IHZhcigtLXNwLTIpIHZhcigtLXNwLTMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItMzApO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuLmdyb3VwaW5nLXNlbGVjdG9yIHsgZ2FwOiAwLjI1cmVtOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpOyBwYWRkaW5nOiAwLjI1cmVtOyB9XG4ubGFuZ3VhZ2Utc2VsZWN0b3IgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBwYWRkaW5nOiAwLjM3NXJlbSB2YXIoLS1zcC0zKTsgfVxuLnJvbGUtc2VsZWN0b3Igc2VsZWN0LCAubGFuZ3VhZ2Utc2VsZWN0b3Igc2VsZWN0IHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogbm9uZTsgZm9udC1zaXplOiAwLjg3NXJlbTsgZm9udC13ZWlnaHQ6IDUwMDsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgb3V0bGluZTogbm9uZTsgfVxuLnJvbGUtc2VsZWN0b3Igc2VsZWN0IHsgY3Vyc29yOiBkZWZhdWx0OyB9XG4ubGFuZ3VhZ2Utc2VsZWN0b3Igc2VsZWN0IHsgY3Vyc29yOiBwb2ludGVyOyB9XG4ucHJvamVjdC1zd2l0Y2hlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4ucHJvamVjdC1zd2l0Y2hlcjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlcik7IH1cbi5wcm9qZWN0LXN3aXRjaGVyIHNwYW4geyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LXdlaWdodDogNTAwOyB9XG4uZ3JvdXBpbmctbGFiZWwgeyBwYWRkaW5nOiAwIDAuNXJlbTsgZm9udC1zaXplOiAwLjc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4ubGFuZ3VhZ2Utc2VsZWN0b3ItaWNvbiB7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJBREdFUyAoY29uc29saWRhdGVkIGJhc2UgKyBtb2RpZmllcnMpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjI1cmVtO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpO1xufVxuLmJhZGdlLS1wcmltYXJ5IHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS0yMCk7IGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgfVxuLmJhZGdlLS1zdWNjZXNzIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcy0yMCk7IGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTsgfVxuLmJhZGdlLS13YXJuaW5nIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2FybmluZy0yMCk7IGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTsgfVxuLmJhZGdlLS1lcnJvciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWVycm9yLTIwKTsgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTsgfVxuLmJhZGdlLS1tdXRlZCB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi5iYWRnZS0tc20geyBwYWRkaW5nOiAwLjEyNXJlbSAwLjM3NXJlbTsgZm9udC1zaXplOiAwLjYyNXJlbTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsgfVxuXG4vKiBMZWdhY3kgYmFkZ2UgY2xhc3NlcyAoZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5KSAqL1xuLnRhZy1iYWRnZSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuMjVyZW07IHBhZGRpbmc6IDAuMTI1cmVtIDAuNXJlbTsgZm9udC1zaXplOiAwLjc1cmVtOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZnVsbCk7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktMjApOyBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IH1cbi50YWctYmFkZ2Utc21hbGwgeyBwYWRkaW5nOiAwLjEyNXJlbSAwLjM3NXJlbTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLTUwKTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgZm9udC1zaXplOiAwLjYyNXJlbTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsgfVxuLnN0YXR1cy1iYWRnZSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuNXJlbTsgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07IGZvbnQtc2l6ZTogMC43NXJlbTsgZm9udC13ZWlnaHQ6IDUwMDsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LTEwKTsgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG4uc3RhdHVzLWJhZGdlLm11dGVkLCAuc3RhdHVzLW11dGVkIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgfVxuLnN0YXR1cy1zdWNjZXNzLCAuYmFkZ2Utc3VjY2VzcyB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtMjApOyBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IH1cbi5zdGF0dXMtd2FybmluZywgLmJhZGdlLXdhcm5pbmcgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13YXJuaW5nLTIwKTsgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpOyB9XG4uc3RhdHVzLWVycm9yLCAuYmFkZ2UtZXJyb3IgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1lcnJvci0yMCk7IGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IH1cbi5iYWRnZS1vdmVyZHVlIHsgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgZm9udC1zaXplOiAwLjYyNXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuLmJhZGdlLW92ZXJkdWUtaW5saW5lIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IG1hcmdpbi1sZWZ0OiAwLjVyZW07IGZvbnQtc2l6ZTogMC42MjVyZW07IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWVycm9yLTIwKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTsgcGFkZGluZzogMC4xMjVyZW0gMC41cmVtOyB9XG4udGFnLW92ZXJmbG93IHsgZm9udC1zaXplOiAwLjYyNXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgb3BhY2l0eTogMC41OyB9XG4udGFnLXJlbW92ZSB7IGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogbm9uZTsgcGFkZGluZzogMDsgY3Vyc29yOiBwb2ludGVyOyBjb2xvcjogaW5oZXJpdDsgb3BhY2l0eTogMC43OyB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi50YWctcmVtb3ZlOmhvdmVyIHsgb3BhY2l0eTogMTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQlVUVE9OU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmljb24tYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1zcC0yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS0xMCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuLmljb24tYnV0dG9uOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7IGNvbG9yOiB3aGl0ZTsgfVxuLmljb24tYnV0dG9uLm11dGVkIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctdGVydGlhcnktNTApOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4uaWNvbi1idXR0b24ubXV0ZWQ6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy10ZXJ0aWFyeS04MCk7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cbi5pY29uLWJ1dHRvbi5naG9zdCB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4uaWNvbi1idXR0b24uZ2hvc3Q6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy10ZXJ0aWFyeSk7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cbi5pY29uLWJ1dHRvbi1kYW5nZXI6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1lcnJvci0yMCk7IGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IH1cblxuLmZvcm0tYnV0dG9uLXByaW1hcnksIC51cGxvYWQtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cbi51cGxvYWQtYnV0dG9uIHsgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDAuNzVyZW0gMXJlbTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTsgfVxuLmZvcm0tYnV0dG9uLXByaW1hcnk6aG92ZXIsIC51cGxvYWQtYnV0dG9uOmhvdmVyIHsgb3BhY2l0eTogMC45OyB9XG5cbi5mb3JtLWJ1dHRvbi1zZWNvbmRhcnkge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuLmZvcm0tYnV0dG9uLXNlY29uZGFyeTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZPUk0gQ09NUE9ORU5UU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmZvcm0tZmllbGQtZ3JvdXAgeyBwYWRkaW5nOiAwLjc1cmVtOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnktNTApOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDAuNzVyZW07IH1cblxuLmZvcm0taW5wdXQsIC5mb3JtLXNlbGVjdCwgLmZvcm0tdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWZnKTtcbn1cbi5mb3JtLWlucHV0LCAuZm9ybS10ZXh0YXJlYSB7IG1hcmdpbi10b3A6IDAuMjVyZW07IH1cbi5mb3JtLXRleHRhcmVhIHsgcmVzaXplOiBub25lOyB9XG4uZm9ybS1zZWxlY3QgeyBjdXJzb3I6IHBvaW50ZXI7IH1cbi5mb3JtLWlucHV0OmZvY3VzLCAuZm9ybS1zZWxlY3Q6Zm9jdXMsIC5mb3JtLXRleHRhcmVhOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG5cbi5mb3JtLWNoZWNrYm94LCAuZm9ybS1yYWRpbyB7IHdpZHRoOiAxcmVtOyBoZWlnaHQ6IDFyZW07IGFjY2VudC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IH1cbi5mb3JtLWNoZWNrYm94IHsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxuLmNoZWNrYm94LWxhYmVsLCAucmFkaW8tbGFiZWwgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAwLjVyZW07IGN1cnNvcjogcG9pbnRlcjsgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuLmNoZWNrYm94LWxhYmVsIHsgZGlzcGxheTogZmxleDsgcGFkZGluZzogMC43NXJlbTsgfVxuXG4vKiBSYWRpbyBidXR0b25zICovXG4ucmFkaW8ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1iYXNlLTMwMCk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnJhZGlvOmNoZWNrZWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLnJhZGlvOmNoZWNrZWQ6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLnJhZGlvOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWNvbG9yLXByaW1hcnktY29udGVudCksIDAgMCAwIDRweCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5yYWRpby1wcmltYXJ5OmNoZWNrZWQgeyBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG4ucmFkaW8tcHJpbWFyeTpjaGVja2VkOjphZnRlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG5cbi8qIENoZWNrYm94ZXMgKi9cbi5jaGVja2JveCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJhc2UtMzAwKTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNoZWNrYm94OmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5jaGVja2JveDpjaGVja2VkOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDUlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIHdpZHRoOiAwLjNyZW07XG4gIGhlaWdodDogMC41NXJlbTtcbiAgYm9yZGVyOiBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcbn1cbi5jaGVja2JveDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRlbnQpLCAwIDAgMCA0cHggdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uY2hlY2tib3gtcHJpbWFyeTpjaGVja2VkIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7IGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IH1cblxuLmZvcm0td2FybmluZyB7IHBhZGRpbmc6IDAuNzVyZW07IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdhcm5pbmctMjApOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci13YXJuaW5nLTMwKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpOyBmb250LXNpemU6IDAuODc1cmVtOyB9XG4uZm9ybS1zZWN0aW9uIHsgcGFkZGluZzogdmFyKC0tc3AtNCk7IH1cbi5maWVsZC1sYWJlbCB7IGZvbnQtc2l6ZTogMC43NXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMWVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4ucmVhZG9ubHktdmFsdWUgeyBwYWRkaW5nOiB2YXIoLS1zcC0yKSB2YXIoLS1zcC0zKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVEFCTEVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZGF0YS10YWJsZSB7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7IG92ZXJmbG93OiBoaWRkZW47IH1cbi5kYXRhLXRhYmxlLWhlYWRlciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuICBnYXA6IHZhcigtLXNwLTIpO1xuICBwYWRkaW5nOiB2YXIoLS1zcC0yKSB2YXIoLS1zcC00KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTtcbn1cbi5kYXRhLXRhYmxlLWhlYWRlci1jZWxsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcC0xKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbn1cbi5kYXRhLXRhYmxlLWhlYWRlci1jZWxsLnNvcnRhYmxlIHsgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4uZGF0YS10YWJsZS1oZWFkZXItY2VsbC5zb3J0YWJsZTpob3ZlciwgLnNvcnQtY29sdW1uLWJ0bjpob3ZlciwgLnNvcnQtY29sdW1uLWJ0bi5hY3RpdmUgeyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG4uZGF0YS10YWJsZS1oZWFkZXItY2VsbC5hbGlnbi1yaWdodCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbi5kYXRhLXRhYmxlLWhlYWRlci1jZWxsLmFsaWduLWNlbnRlciB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5kYXRhLXRhYmxlLXJvdyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuICBnYXA6IHZhcigtLXNwLTIpO1xuICBwYWRkaW5nOiB2YXIoLS1zcC0zKSB2YXIoLS1zcC00KTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci01MCk7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5kYXRhLXRhYmxlLXJvdzpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeS01MCk7IH1cbi5kYXRhLXRhYmxlLWVtcHR5IHsgcGFkZGluZzogdmFyKC0tc3AtOCkgdmFyKC0tc3AtNCk7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgfVxuLmRhdGEtdGFibGUtZm9vdGVyIHsgbWFyZ2luLXRvcDogdmFyKC0tc3AtNCk7IH1cblxuLmRhdGEtbGlzdCB7IGxpc3Qtc3R5bGU6IG5vbmU7IHBhZGRpbmc6IDA7IG1hcmdpbjogMDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpOyB9XG4uZGF0YS1saXN0IGxpIHsgcGFkZGluZzogdmFyKC0tc3AtMykgdmFyKC0tc3AtNCk7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XG4uZGF0YS1saXN0IGxpOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG4uZGF0YS1saXN0IGxpIHN0cm9uZyB7IGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyBtYXJnaW4tYm90dG9tOiAwLjEyNXJlbTsgfVxuLmRhdGEtbGlzdCBsaSBzcGFuIHsgZm9udC1zaXplOiAwLjg3NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgfVxuXG50YWJsZSB0ci5jbGlja2FibGUgeyBjdXJzb3I6IHBvaW50ZXI7IH1cbnRhYmxlIHRyLmNsaWNrYWJsZTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IH1cbnRhYmxlIC5hY3Rpb25zLWNlbGwgeyB3aWR0aDogMDsgdGV4dC1hbGlnbjogcmlnaHQ7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnNvcnQtY29sdW1uLWJ0biB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuMjVyZW07IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IG5vbmU7IHBhZGRpbmc6IDA7IGZvbnQ6IGluaGVyaXQ7IGNvbG9yOiBpbmhlcml0OyBjdXJzb3I6IHBvaW50ZXI7IHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi5jbGlja2FibGUtcm93IHsgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi5jbGlja2FibGUtcm93OmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLTMwKTsgfVxuLmNsaWNrYWJsZS1yb3cuc2VsZWN0ZWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItNDApOyB9XG4ucm93LW92ZXJkdWUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1lcnJvci01KTsgfVxuLnJvdy1mb3JtZXIgeyBvcGFjaXR5OiAwLjY7IH1cbi5yb3ctZm9ybWVyOmhvdmVyIHsgb3BhY2l0eTogMC44OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDQVJEU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnN0YXQtY2FyZCB7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTsgfVxuLnN0YXQtY2FyZC1oZWFkZXIgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTIpOyB9XG4uc3RhdC1jYXJkLWxhYmVsIHsgZm9udC1zaXplOiAwLjY4NzVyZW07IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4uc3RhdC1jYXJkLXZhbHVlIHsgZm9udC1zaXplOiAxLjVyZW07IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cbi5zdGF0LWNhcmQtdmFsdWUuc3VjY2VzcyB7IGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTsgfVxuLnN0YXQtY2FyZC12YWx1ZS5lcnJvciB7IGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IH1cbi5zdGF0LWNhcmQtdmFsdWUucHJpbWFyeSB7IGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgfVxuLnN0YXQtY2FyZC1zdWJ0aXRsZSB7IGZvbnQtc2l6ZTogMC43NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgbWFyZ2luLXRvcDogdmFyKC0tc3AtMSk7IH1cbi5zdGF0LWNhcmQtZmVhdHVyZWQge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMTAlLCB2YXIoLS1jb2xvci1iZykpLCB2YXIoLS1jb2xvci1wcmltYXJ5LTUpKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS0yMCk7XG59XG4ubWV0cmljcy1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IGdhcDogdmFyKC0tc3AtNCk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERFVEFJTCBQQUdFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmRldGFpbC1sYXlvdXQgeyBmbGV4OiAxOyBkaXNwbGF5OiBmbGV4OyBvdmVyZmxvdzogaGlkZGVuOyB9XG4uZGV0YWlsLXNpZGViYXIgeyB3aWR0aDogdmFyKC0tZGV0YWlsLXNpZGViYXIpOyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyBwYWRkaW5nOiAxLjVyZW07IG92ZXJmbG93LXk6IGF1dG87IGZsZXgtc2hyaW5rOiAwOyB9XG4uZGV0YWlsLXNpZGViYXItd2lkZSB7IHdpZHRoOiBhdXRvOyBmbGV4OiAxOyBtYXgtd2lkdGg6IHZhcigtLWRldGFpbC1zaWRlYmFyLXdpZGUpOyB9XG4uZGV0YWlsLXByZXZpZXcgeyBmbGV4OiAxOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBwYWRkaW5nOiAxLjVyZW07IG92ZXJmbG93LXk6IGF1dG87IH1cbi5kZXRhaWwtY29udGFpbmVyIHsgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXIteGwpOyBtYXJnaW46IDAgYXV0bzsgfVxuLmRldGFpbC1zZWN0aW9uIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtNik7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IH1cbi5kZXRhaWwtc2VjdGlvbi1oZWFkZXIgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTQpOyB9XG4uZGV0YWlsLXNlY3Rpb24tdGl0bGUgeyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LXdlaWdodDogNjAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMC4xZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IG1hcmdpbjogMDsgfVxuLmRldGFpbC1maWVsZCB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTMpOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IHZhcigtLXNwLTEpOyB9XG4uZGV0YWlsLWZpZWxkLWxhYmVsIHsgZm9udC1zaXplOiAwLjYyNXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDAuMWVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC0xKTsgfVxuLmRldGFpbC1maWVsZC12YWx1ZSB7IGZvbnQtc2l6ZTogMC44NzVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cbi5kZXRhaWwtZmllbGQgZHQgeyBmb250LXNpemU6IDAuNzVyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAwLjA1ZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi5kZXRhaWwtZmllbGQgZGQgeyBmb250LXNpemU6IDAuODc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyBtYXJnaW46IDA7IH1cbi5kZXRhaWwtZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpOyBnYXA6IHZhcigtLXNwLTQpOyB9XG4uZGV0YWlsLWdyaWQuY29scy00IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQU1PVU5UU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFtb3VudC1sYXJnZSB7IGZvbnQtc2l6ZTogMS41cmVtOyBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuLmFtb3VudC1zZWNvbmRhcnkgeyBmb250LXNpemU6IDFyZW07IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi5hbW91bnQtaW5jb21lIHsgZm9udC13ZWlnaHQ6IDUwMDsgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpOyB9XG4uYW1vdW50LWV4cGVuc2UgeyBmb250LXdlaWdodDogNTAwOyBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpOyB9XG4uYW1vdW50LXdhcm5pbmcgeyBmb250LXdlaWdodDogNTAwOyBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7IH1cbi50ZXh0LW92ZXJkdWUgeyBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpOyBmb250LXdlaWdodDogNTAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUUkFOU0FDVElPTlNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50cmFuc2FjdGlvbi1pdGVtIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBwYWRkaW5nOiB2YXIoLS1zcC0zKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLTUwKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBjb2xvcjogaW5oZXJpdDsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4udHJhbnNhY3Rpb24taXRlbTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IH1cbi50cmFuc2FjdGlvbi1pY29uIHsgd2lkdGg6IDIuNXJlbTsgaGVpZ2h0OiAyLjVyZW07IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS0xMCk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBmbGV4LXNocmluazogMDsgfVxuLnRyYW5zYWN0aW9uLWRldGFpbHMgeyBmbGV4OiAxOyBtaW4td2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiB2YXIoLS1zcC0zKTsgfVxuLnRyYW5zYWN0aW9uLXBheWVlIHsgZm9udC13ZWlnaHQ6IDUwMDsgZm9udC1zaXplOiAwLjg3NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbi50cmFuc2FjdGlvbi1tZXRhIHsgZm9udC1zaXplOiAwLjc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4udHJhbnNhY3Rpb24tYW1vdW50IHsgZm9udC1zaXplOiAwLjg3NXJlbTsgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFUVEFDSE1FTlRTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYXR0YWNobWVudC1saW5rLCAuYXR0YWNobWVudC1lbXB0eSwgLmF0dGFjaG1lbnQtd2FybmluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xuICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5hdHRhY2htZW50LWxpbmsgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdWNjZXNzLTIwKTsgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpOyB9XG4uYXR0YWNobWVudC1saW5rOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcy0zMCk7IH1cbi5hdHRhY2htZW50LWxpbmsuYWN0aXZlIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS0yMCk7IGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgfVxuLmF0dGFjaG1lbnQtZW1wdHkgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgY3Vyc29yOiBkZWZhdWx0OyB9XG4uYXR0YWNobWVudC13YXJuaW5nIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdhcm5pbmctMjApOyBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7IGN1cnNvcjogZGVmYXVsdDsgfVxuLmF0dGFjaG1lbnQtcm93LCAucG9zdGluZy1yb3cgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IHZhcigtLXNwLTMpOyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBwYWRkaW5nOiB2YXIoLS1zcC0zKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgfVxuLnBvc3Rpbmctcm93IHsgcGFkZGluZzogdmFyKC0tc3AtMikgdmFyKC0tc3AtMyk7IH1cblxuLyogQ3VycmVudC9TdGFnZWQgQXR0YWNobWVudHMgKi9cbi5jdXJyZW50LWF0dGFjaG1lbnQtaXRlbSwgLnN0YWdlZC1maWxlLWl0ZW0geyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IHBhZGRpbmc6IDAuNzVyZW07IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxuLmN1cnJlbnQtYXR0YWNobWVudC1pbmZvLCAuc3RhZ2VkLWZpbGUtaW5mbyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMC43NXJlbTsgbWluLXdpZHRoOiAwOyB9XG4uY3VycmVudC1hdHRhY2htZW50LWRldGFpbHMgeyBtaW4td2lkdGg6IDA7IH1cbi5jdXJyZW50LWF0dGFjaG1lbnQtbmFtZSwgLnN0YWdlZC1maWxlLW5hbWUgeyBmb250LXNpemU6IDAuODc1cmVtOyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgZGlzcGxheTogYmxvY2s7IH1cbi5jdXJyZW50LWF0dGFjaG1lbnQtdmlldyB7IGZvbnQtc2l6ZTogMC42MjVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4uY3VycmVudC1hdHRhY2htZW50LXZpZXc6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuLmN1cnJlbnQtYXR0YWNobWVudC1yZW1vdmUsIC5zdGFnZWQtZmlsZS1yZW1vdmUgeyBwYWRkaW5nOiAwLjM3NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogbm9uZTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgY3Vyc29yOiBwb2ludGVyOyBmbGV4LXNocmluazogMDsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4uc3RhZ2VkLWZpbGUtcmVtb3ZlIHsgcGFkZGluZzogMC4yNXJlbTsgfVxuLmN1cnJlbnQtYXR0YWNobWVudC1yZW1vdmU6aG92ZXIsIC5zdGFnZWQtZmlsZS1yZW1vdmU6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1lcnJvci0yMCk7IGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFVQTE9BRC9EUk9QWk9ORVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVwbG9hZC1kcm9wem9uZSwgLmZpbGVzLXVwbG9hZC1kcm9wem9uZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1zcC00KTtcbiAgYm9yZGVyOiAycHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24pLCBiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZmlsZXMtdXBsb2FkLWRyb3B6b25lIHsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgcGFkZGluZzogMXJlbTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5LTUwKTsgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuLnVwbG9hZC1kcm9wem9uZTpob3ZlciwgLmZpbGVzLXVwbG9hZC1kcm9wem9uZTpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXRlcnRpYXJ5KTsgfVxuLmZpbGVzLXVwbG9hZC1kcm9wem9uZTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IH1cbi51cGxvYWQtZHJvcHpvbmUuZHJhZy1vdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS01KTsgfVxuLnVwbG9hZC1kcm9wem9uZS1sYWJlbCwgLmZpbGVzLXVwbG9hZC1sYWJlbCB7IGN1cnNvcjogcG9pbnRlcjsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiAycmVtOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuNXJlbTsgfVxuLnVwbG9hZC1kcm9wem9uZS1pY29uLCAuZmlsZXMtdXBsb2FkLWljb24geyB3aWR0aDogNHJlbTsgaGVpZ2h0OiA0cmVtOyBtYXJnaW46IDAgYXV0byAxcmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyBvcGFjaXR5OiAwLjM7IH1cbi5maWxlcy11cGxvYWQtaWNvbiB7IHdpZHRoOiAycmVtOyBoZWlnaHQ6IDJyZW07IG1hcmdpbjogMDsgb3BhY2l0eTogMC40OyB9XG4udXBsb2FkLWRyb3B6b25lLWljb24tbGcgeyB3aWR0aDogM3JlbTsgaGVpZ2h0OiAzcmVtOyBtYXJnaW46IDAgYXV0byAwLjc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyBvcGFjaXR5OiAwLjM7IH1cbi51cGxvYWQtZHJvcHpvbmUtdGFsbCB7IG1pbi1oZWlnaHQ6IDIwMHB4OyB9XG4udXBsb2FkLWRyb3B6b25lLXRpdGxlIHsgZm9udC1zaXplOiAxLjEyNXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuLnVwbG9hZC1kcm9wem9uZS1zdWJ0aXRsZSwgLnVwbG9hZC1kcm9wem9uZS1oaW50LCAuZmlsZXMtdXBsb2FkLWhpbnQgeyBmb250LXNpemU6IDAuODc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyBvcGFjaXR5OiAwLjY7IG1hcmdpbi10b3A6IDAuMjVyZW07IH1cbi51cGxvYWQtZHJvcHpvbmUtaGludCwgLmZpbGVzLXVwbG9hZC1oaW50IHsgZm9udC1zaXplOiAwLjc1cmVtOyBtYXJnaW4tdG9wOiAxcmVtOyB9XG4uZmlsZXMtdXBsb2FkLXRleHQgeyBmb250LXNpemU6IDAuODc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4uZmlsZXMtdXBsb2FkLXRleHQgc3Ryb25nIHsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLnVwbG9hZC1lbnRyeSB7IHBhZGRpbmc6IHZhcigtLXNwLTEpIHZhcigtLXNwLTIpOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOyBmb250LXNpemU6IDAuNzVyZW07IG1hcmdpbi10b3A6IHZhcigtLXNwLTMpOyB9XG5cbi8qIFVwbG9hZCBFbnRyeSBJdGVtcyAqL1xuLnVwbG9hZC1lbnRyeS1pdGVtIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAwLjVyZW07IGZvbnQtc2l6ZTogMC43NXJlbTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07IG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuLnVwbG9hZC1lbnRyeS1uYW1lIHsgZmxleDogMTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLnVwbG9hZC1lbnRyeS1wcm9ncmVzcyB7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi51cGxvYWQtZW50cnktY2FuY2VsIHsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogbm9uZTsgcGFkZGluZzogMDsgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4udXBsb2FkLWVudHJ5LWNhbmNlbDpob3ZlciB7IGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IH1cbi51cGxvYWQtZW50cnktZXJyb3IgeyBtYXJnaW4tdG9wOiAwLjI1cmVtOyBmb250LXNpemU6IDAuNzVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBSRVZJRVdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wcmV2aWV3LWNvbnRhaW5lciB7IGhlaWdodDogMTAwJTsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuLnByZXZpZXctbGluayB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuMjVyZW07IGZvbnQtc2l6ZTogMC43NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbi5wcmV2aWV3LWxpbms6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuLnByZXZpZXctZnJhbWUgeyBmbGV4OiAxOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZyk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7IG92ZXJmbG93OiBoaWRkZW47IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IH1cbi5wcmV2aWV3LWlmcmFtZSwgLnBkZi1wcmV2aWV3IGlmcmFtZSwgLnBkZi12aWV3ZXItZnJhbWUgaWZyYW1lLCAucGRmLXByZXZpZXctaWZyYW1lLWZ1bGxzY3JlZW4geyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBib3JkZXI6IG5vbmU7IH1cbi5wcmV2aWV3LWltYWdlLWNvbnRhaW5lciB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBwYWRkaW5nOiAxcmVtOyB9XG4ucHJldmlldy1pbWFnZSB7IG1heC13aWR0aDogMTAwJTsgbWF4LWhlaWdodDogMTAwJTsgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuLnByZXZpZXctZW1wdHkgeyBoZWlnaHQ6IDEwMCU7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyBvcGFjaXR5OiAwLjU7IH1cbi5wcmV2aWV3LWVtcHR5LWljb24geyB3aWR0aDogNnJlbTsgaGVpZ2h0OiA2cmVtOyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4ucHJldmlldy1lbXB0eS10aXRsZSB7IGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbi5wcmV2aWV3LWVtcHR5LXN1YnRpdGxlIHsgZm9udC1zaXplOiAwLjg3NXJlbTsgbWFyZ2luLXRvcDogMC4yNXJlbTsgfVxuLnBkZi1wcmV2aWV3IHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuLnBkZi1wcmV2aWV3IGlmcmFtZSB7IGhlaWdodDogNjAwcHg7IH1cbi5wZGYtcHJldmlldy1mdWxsc2NyZWVuIHsgaGVpZ2h0OiAxMDAlOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuLnBkZi1wcmV2aWV3LWlmcmFtZS1mdWxsc2NyZWVuIHsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTsgfVxuLnBkZi12aWV3ZXItY2FyZCB7IHBhZGRpbmc6IHZhcigtLXNwLTQpOyB9XG4ucGRmLXZpZXdlci1mcmFtZSB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDcyMHB4OyBvdmVyZmxvdzogaGlkZGVuOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XG5cbi8qIE9DUiBSZXN1bHRzIFBhbmVsICovXG4ub2NyLWZpZWxkcyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogdmFyKC0tc3AtMyk7IH1cbi5vY3ItZmllbGQgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHBhZGRpbmc6IHZhcigtLXNwLTIpIHZhcigtLXNwLTMpOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyB9XG4ub2NyLWZpZWxkLWxhYmVsIHsgZm9udC1zaXplOiAwLjc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMC4wNWVtOyB9XG4ub2NyLWZpZWxkLXZhbHVlIHsgZm9udC1zaXplOiAwLjg3NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi5vY3ItZmllbGQtc2VsZWN0IHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiB2YXIoLS1zcC0xKTsgfVxuLm9jci1maWVsZC1zZWxlY3QgLm9jci1maWVsZC1sYWJlbCB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTEpOyB9XG4ub2NyLWZpZWxkLXNlbGVjdCBzZWxlY3QsXG4ub2NyLWZpZWxkLXNlbGVjdCBpbnB1dCB7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiB2YXIoLS1zcC0yKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgZm9udC1zaXplOiAwLjg3NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLm9jci1maWVsZC1zZWxlY3Qgc2VsZWN0OmZvY3VzLFxuLm9jci1maWVsZC1zZWxlY3QgaW5wdXQ6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tY29sb3ItcHJpbWFyeS1hbHBoYSk7IH1cbi5vY3ItZmllbGQtc2VsZWN0IHNlbGVjdCBvcHRpb24geyBwYWRkaW5nOiB2YXIoLS1zcC0yKTsgfVxuLm9jci1maWVsZC1zZWxlY3QgLnctYXV0byB7IHdpZHRoOiBhdXRvOyBtaW4td2lkdGg6IDEwMHB4OyB9XG4ub2NyLXJhdy10ZXh0IHsgbWFyZ2luLXRvcDogdmFyKC0tc3AtMik7IH1cbi5vY3ItcmF3LXN1bW1hcnkgeyBjdXJzb3I6IHBvaW50ZXI7IGZvbnQtc2l6ZTogMC43NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAwLjI1cmVtOyBwYWRkaW5nOiB2YXIoLS1zcC0xKSAwOyB9XG4ub2NyLXJhdy1zdW1tYXJ5OmhvdmVyIHsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLm9jci1yYXctY29udGVudCB7IG1hcmdpbi10b3A6IHZhcigtLXNwLTIpOyBwYWRkaW5nOiB2YXIoLS1zcC0zKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctdGVydGlhcnkpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBmb250LXNpemU6IDAuN3JlbTsgbGluZS1oZWlnaHQ6IDEuNDsgbWF4LWhlaWdodDogMjAwcHg7IG92ZXJmbG93LXk6IGF1dG87IHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgd29yZC1icmVhazogYnJlYWstd29yZDsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgfVxuLm9jci1sb2FkaW5nIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IHBhZGRpbmc6IHZhcigtLXNwLTgpOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4ub2NyLWxvYWRpbmctc3Bpbm5lciB7IHdpZHRoOiAycmVtOyBoZWlnaHQ6IDJyZW07IGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyBib3JkZXItcmFkaXVzOiA1MCU7IGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTMpOyB9XG4ub2NyLXByZXZpZXcgeyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgcGFkZGluZy10b3A6IHZhcigtLXNwLTQpOyB9XG4ub2NyLXByZXZpZXctZnJhbWUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy10ZXJ0aWFyeSk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IG92ZXJmbG93OiBoaWRkZW47IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IH1cbi5vY3ItcHJldmlldy1pZnJhbWUgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiA0MDBweDsgYm9yZGVyOiBub25lOyB9XG4ub2NyLXByZXZpZXctaW1hZ2UgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyBtYXgtaGVpZ2h0OiA0MDBweDsgb2JqZWN0LWZpdDogY29udGFpbjsgZGlzcGxheTogYmxvY2s7IH1cbi5vY3ItcHJldmlldy1wZGYtcGxhY2Vob2xkZXIgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgcGFkZGluZzogdmFyKC0tc3AtOCk7IH1cbkBrZXlmcmFtZXMgc3BpbiB7IHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBTEVSVFNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hbGVydC1lcnJvciwgLmFsZXJ0LXdhcm5pbmcgeyBtYXJnaW4tYm90dG9tOiAxcmVtOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBwYWRkaW5nOiAwLjc1cmVtIDFyZW07IH1cbi5hbGVydC1lcnJvciB7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWVycm9yLTMwKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZXJyb3ItMTApOyB9XG4uYWxlcnQtd2FybmluZyB7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXdhcm5pbmctMzApOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13YXJuaW5nLTEwKTsgfVxuLmFsZXJ0LWxpbmsgeyBtYXJnaW4tdG9wOiAwLjI1cmVtOyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAwLjI1cmVtOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7IH1cbi5lcnJvci1tZXNzYWdlIHsgcGFkZGluZzogMXJlbTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZXJyb3ItMTApOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1lcnJvci0yMCk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IH1cbi5lcnJvci1jYXJkLXdyYXBwZXIgeyBwYWRkaW5nOiAwIHZhcigtLXNwLTQpOyB9XG4uZXJyb3ItY2FyZCB7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci0zMCk7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXRlcnRpYXJ5LTEwKTsgcGFkZGluZzogdmFyKC0tc3AtOCk7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTYpOyB9XG4uZXJyb3ItY2FyZCBoMiB7IGZvbnQtc2l6ZTogMS4yNXJlbTsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgbWFyZ2luOiAwIDAgdmFyKC0tc3AtMik7IH1cbi5lcnJvci1jYXJkIC5lcnJvci1saW5rIHsgZGlzcGxheTogYmxvY2s7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB0ZXh0LWRlY29yYXRpb24tc3R5bGU6IGRvdHRlZDsgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMXB4OyB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtNCk7IHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsgfVxuLmVycm9yLWNhcmQgLmVycm9yLWxpbms6aG92ZXIgeyBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IH1cbi5lcnJvci1jYXJkIC5lcnJvci1saW5rIHNtYWxsIHsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMC43NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgbWFyZ2luLXRvcDogMC4yNXJlbTsgfVxuLmVycm9yLWNhcmQgLmVycm9yLW1lc3NhZ2UgeyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC00KTsgfVxuLmVycm9yLWNhcmQgLmVycm9yLWxvY2F0aW9uIHsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMC43NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtNCk7IH1cbi5lcnJvci1jYXJkIC5zZXR0aW5ncy1saW5rIHsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbi5mbGFzaC1ncm91cCB7IHBvc2l0aW9uOiBmaXhlZDsgcmlnaHQ6IHZhcigtLXNwLTQpOyB0b3A6IHZhcigtLXNwLTQpOyB6LWluZGV4OiA1MDsgZGlzcGxheTogZmxleDsgd2lkdGg6IDIycmVtOyBtYXgtd2lkdGg6IDkwdnc7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogdmFyKC0tc3AtMyk7IH1cbi5lbXB0eS1zdGF0ZSB7IHBhZGRpbmc6IHZhcigtLXNwLTYpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi5lbXB0eS1zdGF0ZS1pY29uIHsgb3BhY2l0eTogMC4zOyBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCQUxBTkNFL1RSRUVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5iYWxhbmNlLWNvbnRlbnQsIC5maWxlcy1jb250ZW50IHsgcGFkZGluZzogMCB2YXIoLS1zcC00KTsgfVxuLmJhbGFuY2UtdHJlZSB7IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOyB9XG4uYmFsYW5jZS1vcHRpb25zIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAwLjc1cmVtOyBtYXJnaW4tYm90dG9tOiAxLjVyZW07IG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuLmJhbGFuY2Utc2VjdGlvbi1oZWFkZXIgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgcGFkZGluZzogdmFyKC0tc3AtMik7IGN1cnNvcjogcG9pbnRlcjsgfVxuLmJhbGFuY2Utc2VjdGlvbi1ncmlkLCAuYmFsYW5jZS10cmVlLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuNzVyZW07IHdpZHRoOiAxMDAlOyB9XG4uYmFsYW5jZS1zZWN0aW9uLXJvdyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB3aWR0aDogMTAwJTsgfVxuLmJhbGFuY2Utc2VjdGlvbi10aXRsZSB7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cbi5iYWxhbmNlLWNoZXZyb24geyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsgfVxuLmJhbGFuY2UtY2hldnJvbi5jb2xsYXBzZWQgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyB9XG4uYmFsYW5jZS10cmVlLWxpbmUgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmctbGVmdDogMXJlbTsgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbi5iYWxhbmNlLXRyZWUtbGluZTo6YmVmb3JlIHsgY29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IDA7IGJvdHRvbTogMDsgd2lkdGg6IDFweDsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxuLmJhbGFuY2UtdHJlZS1icmFuY2ggeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbi5iYWxhbmNlLXRyZWUtYnJhbmNoOjpiZWZvcmUgeyBjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC0xcmVtOyB0b3A6IDUwJTsgd2lkdGg6IDAuNzVyZW07IGhlaWdodDogMXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XG4uYmFsYW5jZS1hbW91bnQgeyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB0ZXh0LWFsaWduOiByaWdodDsgbWluLXdpZHRoOiA1cmVtOyB9XG4uYmFsYW5jZS10cmVlLW5vZGUgeyBwYWRkaW5nOiAwLjM3NXJlbSAwLjVyZW07IGN1cnNvcjogcG9pbnRlcjsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgfVxuLmJhbGFuY2UtdHJlZS1ub2RlLmhpZ2hsaWdodGVkIHsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLmJhbGFuY2UtdHJlZS1ub2RlOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLTIwKTsgfVxuLmJhbGFuY2UtdHJlZS1yb3cgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIGF1dG87IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMC43NXJlbTsgd2lkdGg6IDEwMCU7IH1cbi5iYWxhbmNlLXRyZWUtcm93OmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsgfVxuLmJhbGFuY2UtdHJlZS1sYWJlbCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMC41cmVtOyBtaW4td2lkdGg6IDA7IH1cbi5iYWxhbmNlLXRyZWUtbGluayB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMC41cmVtOyBmbGV4OiAxOyBtaW4td2lkdGg6IDA7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGluaGVyaXQ7IH1cbi5iYWxhbmNlLXRyZWUtbGluazpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4uYmFsYW5jZS10cmVlLW5hbWUgeyBmb250LXNpemU6IDAuNzVyZW07IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4uYmFsYW5jZS10cmVlLXZhbHVlIHsgZm9udC1zaXplOiAwLjc1cmVtOyBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOyB0ZXh0LWFsaWduOiByaWdodDsgbWluLXdpZHRoOiA1cmVtOyBjb2xvcjogaW5oZXJpdDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4uYmFsYW5jZS10cmVlLXZhbHVlOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbi5iYWxhbmNlLXRyZWUtbWF4aW1pemVkIHsgcG9zaXRpb246IGZpeGVkOyBpbnNldDogdmFyKC0tc3AtNCk7IHotaW5kZXg6IDUwOyBvdmVyZmxvdzogYXV0bzsgfVxuLmxlYWRlci1kb3RzIHsgZmxleC1ncm93OiAxOyBib3JkZXItYm90dG9tOiAxcHggZG90dGVkIHZhcigtLWNvbG9yLWJvcmRlcik7IG1hcmdpbjogMCA2cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAtNHB4OyB9XG4udHJlZS10b2dnbGUgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgd2lkdGg6IDFyZW07IGhlaWdodDogMXJlbTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogbm9uZTsgY3Vyc29yOiBwb2ludGVyOyBwYWRkaW5nOiAwOyBmbGV4LXNocmluazogMDsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4udHJlZS10b2dnbGU6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItNDApOyB9XG4udHJlZS10b2dnbGUgLnJvdGF0ZWQgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyB9XG4udHJlZS10b2dnbGUtc3BhY2VyIHsgd2lkdGg6IDFyZW07IGhlaWdodDogMXJlbTsgZmxleC1zaHJpbms6IDA7IH1cbi5iYWxhbmNlLXJlcG9ydC1zZWN0aW9uIHsgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuLmJhbGFuY2UtcmVwb3J0LWhlYWRlciB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07IH1cbi5iYWxhbmNlLXJlcG9ydC1oZWFkZXItcm93IHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgZ2FwOiAwLjVyZW07IH1cbi5iYWxhbmNlLXJlcG9ydC10aXRsZSB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMC4xMjVyZW07IH1cbi5iYWxhbmNlLXJlcG9ydC10aXRsZSBoMyB7IGZvbnQtc2l6ZTogMC43NXJlbTsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgbGV0dGVyLXNwYWNpbmc6IDAuMWVtOyB9XG4uYmFsYW5jZS1yZXBvcnQtZGF0ZS1yYW5nZSB7IGZvbnQtc2l6ZTogMC42MjVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi5iYWxhbmNlLXJlcG9ydC1jb250ZW50IHsgZm9udC1zaXplOiAwLjg3NXJlbTsgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMC4xMjVyZW07IHVzZXItc2VsZWN0OiBub25lOyB9XG4uYmFsYW5jZS10b3RhbC1yb3csIC5iYWxhbmNlLXRvdGFsLXJvdy1ncmlkIHsgbWFyZ2luLXRvcDogMS41cmVtOyBwYWRkaW5nLXRvcDogMXJlbTsgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCB2YXIoLS1jb2xvci1ib3JkZXIpOyBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgcGFkZGluZy1yaWdodDogMC41cmVtOyB9XG4uYmFsYW5jZS10b3RhbC1yb3cgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbi5iYWxhbmNlLXRvdGFsLXJvdy1ncmlkIHsgZGlzcGxheTogZ3JpZDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAwLjc1cmVtOyB3aWR0aDogMTAwJTsgfVxuLmJhbGFuY2UtdG90YWwtbGFiZWwgeyBmb250LXdlaWdodDogNzAwOyBmb250LXNpemU6IDAuODc1cmVtOyBsZXR0ZXItc3BhY2luZzogMC4wNWVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG4uYmFsYW5jZS10b3RhbC12YWx1ZSB7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMS4xMjVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cbi5iYWxhbmNlLXRvdGFsLXZhbHVlLnBvc2l0aXZlIHsgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpOyB9XG4uYmFsYW5jZS10b3RhbC12YWx1ZS5uZWdhdGl2ZSB7IGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IH1cbi5iYWxhbmNlLWN1cnJlbmN5LXRvdGFscyB7IG1hcmdpbi10b3A6IDEuNXJlbTsgcGFkZGluZy10b3A6IDFyZW07IGJvcmRlci10b3A6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgcGFkZGluZy1sZWZ0OiAwLjVyZW07IHBhZGRpbmctcmlnaHQ6IDAuNXJlbTsgfVxuLmJhbGFuY2UtY3VycmVuY3ktcm93IHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyOyBwYWRkaW5nOiAwLjI1cmVtIDA7IH1cbi5iYWxhbmNlLWN1cnJlbmN5LWxhYmVsIHsgZm9udC1zaXplOiAwLjc1cmVtOyBmb250LXdlaWdodDogNTAwOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyBsZXR0ZXItc3BhY2luZzogMC4wNWVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4uYmFsYW5jZS1jdXJyZW5jeS12YWx1ZSB7IGZvbnQtc2l6ZTogMC44NzVyZW07IGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cbi5iYWxhbmNlLWN1cnJlbmN5LXZhbHVlLm5lZ2F0aXZlIHsgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUCZMXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJvZml0LWxvc3Mtc3VtbWFyeSB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IH1cbi5wbC10cmVlLWhlYWRlciB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyBwYWRkaW5nOiB2YXIoLS1zcC0yKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4ucGwtdHJlZS1oZWFkZXIucGwtaW5jb21lIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcy0xMCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXN1Y2Nlc3MtMjApOyBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IH1cbi5wbC10cmVlLWhlYWRlci5wbC1leHBlbnNlIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZXJyb3ItMTApOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1lcnJvci0yMCk7IGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IH1cbi5wbC1pbmNvbWUtcm93LCAucGwtZXhwZW5zZS1yb3cgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHBhZGRpbmc6IHZhcigtLXNwLTIpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBjdXJzb3I6IHBvaW50ZXI7IHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsgZ2FwOiB2YXIoLS1zcC0zKTsgfVxuLnBsLWluY29tZS1yb3cgeyBjb2xvcjogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1zdWNjZXNzKSA4MCUsIHZhcigtLWNvbG9yLWZnKSk7IH1cbi5wbC1leHBlbnNlLXJvdyB7IGNvbG9yOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLWVycm9yKSA4MCUsIHZhcigtLWNvbG9yLWZnKSk7IH1cbi5wbC1pbmNvbWUtcm93OmhvdmVyLCAucGwtZXhwZW5zZS1yb3c6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItMzApOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDSEFSVFNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jaGFydC1jb250YWluZXIgeyBvdmVyZmxvdy14OiBhdXRvOyB9XG4uY2hhcnQtYmFycyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgZ2FwOiB2YXIoLS1zcC0yKTsgaGVpZ2h0OiAxMnJlbTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgcGFkZGluZzogdmFyKC0tc3AtNCk7IG1pbi13aWR0aDogNjAwcHg7IH1cbi5jaGFydC1iYXItZ3JvdXAgeyBmbGV4OiAxOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IHZhcigtLXNwLTEpOyB9XG4uY2hhcnQtYmFyLXBhaXIgeyB3aWR0aDogMTAwJTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAycHg7IGhlaWdodDogMTByZW07IH1cbi5jaGFydC1iYXIgeyB3aWR0aDogNDUlOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pIHZhcigtLXJhZGl1cy1zbSkgMCAwOyB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi5jaGFydC1iYXI6aG92ZXIgeyBvcGFjaXR5OiAwLjg7IH1cbi5jaGFydC1iYXIuaW5jb21lLCAuY2hhcnQtbGVnZW5kLWRvdC5pbmNvbWUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdWNjZXNzKTsgfVxuLmNoYXJ0LWJhci5leHBlbnNlLCAuY2hhcnQtbGVnZW5kLWRvdC5leHBlbnNlIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZXJyb3IpOyB9XG4uY2hhcnQtYmFyLWxhYmVsIHsgZm9udC1zaXplOiAwLjYyNXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4uY2hhcnQtbGVnZW5kIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGdhcDogdmFyKC0tc3AtNCk7IG1hcmdpbi10b3A6IHZhcigtLXNwLTMpOyB9XG4uY2hhcnQtbGVnZW5kLWl0ZW0geyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IHZhcigtLXNwLTIpOyB9XG4uY2hhcnQtbGVnZW5kLWRvdCB7IHdpZHRoOiAwLjc1cmVtOyBoZWlnaHQ6IDAuNzVyZW07IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdJVC9ESUZGU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmNvbnNvbGUtdmlldyB7IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOyBiYWNrZ3JvdW5kOiAjMWExYTFhOyBjb2xvcjogI2UwZTBlMDsgfVxuLmNvbW1pdC1lbnRyeSB7IHdpZHRoOiAxMDAlOyB0ZXh0LWFsaWduOiBsZWZ0OyBwYWRkaW5nOiB2YXIoLS1zcC0yKSB2YXIoLS1zcC0zKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyBjdXJzb3I6IHBvaW50ZXI7IHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi5jb21taXQtZW50cnk6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyB9XG4uY29tbWl0LWVudHJ5LnNlbGVjdGVkIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS0xMCk7IGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS0yMCk7IH1cbi5kaWZmLWZpbGUgeyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBvdmVyZmxvdzogaGlkZGVuOyB9XG4uZGlmZi1jb250ZW50IHsgcGFkZGluZzogdmFyKC0tc3AtMyk7IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOyBmb250LXNpemU6IDAuNzVyZW07IG92ZXJmbG93LXg6IGF1dG87IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnKTsgfVxuLmRpZmYtY29udGVudCBwcmUgeyBtYXJnaW46IDA7IH1cbi5kaWZmLWNvbnRlbnQgY29kZSB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBwYWRkaW5nOiAwOyB9XG4uZGlmZi1saW5lLWFkZGVkIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcy0xMCk7IGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTsgfVxuLmRpZmYtbGluZS1yZW1vdmVkIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZXJyb3ItMTApOyBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpOyB9XG4uZGlmZi1saW5lLWh1bmsgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pbmZvLTEwKTsgY29sb3I6IHZhcigtLWNvbG9yLWluZm8pOyBmb250LXdlaWdodDogNjAwOyB9XG4uZGlmZi1saW5lLWhlYWRlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5kaWZmLWxpbmUtdW5jaGFuZ2VkIHsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgfVxuLmRpZmYtYWRkZWQgeyBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IH1cbi5kaWZmLXJlbW92ZWQgeyBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGSUxFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmZpbGVzLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgZ2FwOiB2YXIoLS1zcC00KTsgfVxuLmZpbGVzLXBhbmVsIHsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLTMwKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgcGFkZGluZzogdmFyKC0tc3AtNCk7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXRlcnRpYXJ5LTEwKTsgfVxuLmZpbGVzLXBhbmVsLWhlYWRlciB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuLmZpbGVzLXBhbmVsLXRpdGxlIHsgZm9udC1zaXplOiAwLjg3NXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLmZpbGVzLXBhbmVsLWFjdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuMjVyZW07IH1cbi5maWxlcy1icmVhZGNydW1icyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMC41cmVtOyBmb250LXNpemU6IDAuODc1cmVtOyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4uZmlsZXMtYnJlYWRjcnVtYi1saW5rIHsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogbm9uZTsgcGFkZGluZzogMDsgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4uZmlsZXMtYnJlYWRjcnVtYi1saW5rOmhvdmVyIHsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLmZpbGVzLWJyZWFkY3J1bWItY3VycmVudCB7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5maWxlcy1icmVhZGNydW1iLXNlcGFyYXRvciB7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi5maWxlcy1lbXB0eS1zdGF0ZSB7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbi5uZXctaXRlbS1mb3JtIHsgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgcGFkZGluZzogMC41cmVtOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyB9XG4ubmV3LWl0ZW0tZm9ybS1pbm5lciB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMC41cmVtOyB9XG4ubmV3LWl0ZW0taW5wdXQgeyBmbGV4OiAxOyBoZWlnaHQ6IDJyZW07IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnKTsgcGFkZGluZzogMCAwLjVyZW07IGZvbnQtc2l6ZTogMC43NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTsgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsgfVxuLm5ldy1pdGVtLWlucHV0OmZvY3VzIHsgb3V0bGluZTogbm9uZTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWNvbG9yLXByaW1hcnktMzApOyB9XG4uZmlsZS1saXN0LWl0ZW0geyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuNXJlbTsgcGFkZGluZzogMC4zNzVyZW0gMC41cmVtOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi5maWxlLWxpc3QtaXRlbTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci0zMCk7IH1cbi5maWxlLWxpc3QtbGluayB7IGZsZXg6IDE7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMC41cmVtOyBjdXJzb3I6IHBvaW50ZXI7IGZvbnQtc2l6ZTogMC44NzVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuLmZpbGUtbGlzdC1saW5rOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbi5maWxlLWxpc3QtYWN0aW9ucyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMC4yNXJlbTsgb3BhY2l0eTogMDsgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4uZmlsZS1saXN0LWl0ZW06aG92ZXIgLmZpbGUtbGlzdC1hY3Rpb25zIHsgb3BhY2l0eTogMTsgfVxuLmZ1bGxzY3JlZW4tZWRpdG9yIHsgcG9zaXRpb246IGZpeGVkOyBpbnNldDogMDsgei1pbmRleDogNTA7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnKTsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuLmZ1bGxzY3JlZW4tZWRpdG9yLWhlYWRlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeS05NSk7IGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci0yMCk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgcGFkZGluZzogMC43NXJlbSAxcmVtOyB9XG4uZnVsbHNjcmVlbi1lZGl0b3ItdGl0bGUgeyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuNXJlbTsgfVxuLmZ1bGxzY3JlZW4tZWRpdG9yLWFjdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuNXJlbTsgfVxuLmZ1bGxzY3JlZW4tZWRpdG9yLWNvbnRlbnQgeyBmbGV4OiAxOyBvdmVyZmxvdzogYXV0bzsgcGFkZGluZzogdmFyKC0tc3AtNik7IH1cbi5mdWxsc2NyZWVuLWVkaXRvci1mb3JtIHsgbWF4LXdpZHRoOiA4MHJlbTsgbWFyZ2luOiAwIGF1dG87IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNDUklQVFNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zY3JpcHRzLWxheW91dCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTZyZW0gMWZyOyBnYXA6IHZhcigtLXNwLTQpOyBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gOHJlbSk7IH1cbi5zY3JpcHRzLXNpZGViYXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBvdmVyZmxvdzogaGlkZGVuOyB9XG4uc2NyaXB0cy1zaWRlYmFyLXNlY3Rpb24geyBwYWRkaW5nOiB2YXIoLS1zcC00KTsgfVxuLnNjcmlwdHMtbGlzdC1pdGVtIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBnYXA6IHZhcigtLXNwLTIpOyBwYWRkaW5nOiB2YXIoLS1zcC0yKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4uc2NyaXB0cy1saXN0LWl0ZW06aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy10ZXJ0aWFyeSk7IH1cbi5zY3JpcHRzLWxpc3QtaXRlbSBhIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG4uc2NyaXB0cy1kZWxldGUtYnRuIHsgb3BhY2l0eTogMDsgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTsgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4uc2NyaXB0cy1saXN0LWl0ZW06aG92ZXIgLnNjcmlwdHMtZGVsZXRlLWJ0biB7IG9wYWNpdHk6IDE7IH1cbi5zY3JpcHRzLW1haW4tY29udGVudCB7IGZsZXg6IDE7IG92ZXJmbG93LXk6IGF1dG87IH1cbi5zY3JpcHRzLWZvcm0tY29udGFpbmVyIHsgcGFkZGluZzogdmFyKC0tc3AtNik7IG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLXhsKTsgbWFyZ2luOiAwIGF1dG87IHdpZHRoOiAxMDAlOyB9XG4uc2NyaXB0cy1lbXB0eS1zdGF0ZSB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBoZWlnaHQ6IDEwMCU7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogdmFyKC0tc3AtOCk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJPT0tJTkdTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udHJhbnNhY3Rpb25zLXNlY3Rpb24taGVhZGVyIHsgbWFyZ2luLWJvdHRvbTogMXJlbTsgcGFkZGluZy1ib3R0b206IDAuNXJlbTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IH1cbi5ib29raW5ncy1ncm91cC1oZWFkZXIgeyB3aWR0aDogMTAwJTsgcGFkZGluZzogdmFyKC0tc3AtMikgdmFyKC0tc3AtNCk7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXRlcnRpYXJ5LTIwKTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IHBvc2l0aW9uOiBzdGlja3k7IHRvcDogMDsgei1pbmRleDogMTA7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgdGV4dC1hbGlnbjogbGVmdDsgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IGJvcmRlcjogbm9uZTsgfVxuLmJvb2tpbmdzLWdyb3VwLWhlYWRlcjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXRlcnRpYXJ5LTMwKTsgfVxuLmdyb3VwLXRpdGxlLCAudG90YWxzLWxhYmVsIHsgZm9udC1zaXplOiAwLjc1cmVtOyBmb250LXdlaWdodDogNjAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMC4wNzVlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLmdyb3VwLWNvdW50IHsgZm9udC1zaXplOiAwLjc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyBtYXJnaW4tbGVmdDogMC4yNXJlbTsgfVxuLmdyb3VwLXRvdGFsIHsgZm9udC1zaXplOiAwLjc1cmVtOyBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLmJvb2tpbmdzLXRvdGFscy1mb290ZXIgeyBwYWRkaW5nOiB2YXIoLS1zcC0zKSB2YXIoLS1zcC00KTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctdGVydGlhcnktNDApOyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxuLnRvdGFscy1hbW91bnQgeyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLmJvb2tpbmdzLXBhZ2UsIC5zYWxhcnktc3RhdGVtZW50LXBhZ2UgeyBtaW4taGVpZ2h0OiAxMDB2aDsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFTVBMT1lFRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5lbXBsb3llZS1jYXJkIHsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTsgb3ZlcmZsb3c6IGhpZGRlbjsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uKTsgfVxuLmVtcGxveWVlLWNhcmQ6aG92ZXIgeyBib3gtc2hhZG93OiAwIDRweCAxMnB4IHZhcigtLWNvbG9yLWZnLTEwKTsgfVxuLmVtcGxveWVlLWNhcmQuZm9ybWVyIHsgb3BhY2l0eTogMC43NTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItNTApOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyB9XG4uZW1wbG95ZWUtY2FyZC1oZWFkZXIgeyBwYWRkaW5nOiB2YXIoLS1zcC00KSB2YXIoLS1zcC02KTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci01MCk7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tY29sb3ItcHJpbWFyeS0xMCksIHZhcigtLWNvbG9yLXByaW1hcnktNSkpOyB9XG4uZW1wbG95ZWUtY2FyZC1oZWFkZXIuZm9ybWVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctdGVydGlhcnktNTApOyB9XG4uc2FsYXJ5LWluZm8tY2FyZCwgLnBlcmlvZC1jYXJkIHsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgcGFkZGluZzogdmFyKC0tc3AtMyk7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeS01MCk7IH1cbi5zYWxhcnktaW5mby1jYXJkLmZvcm1lciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXRlcnRpYXJ5LTUwKTsgfVxuLnNhbGFyeS1wcmV2aWV3LXNlY3Rpb24geyBtYXJnaW4tdG9wOiB2YXIoLS1zcC04KTsgcGFkZGluZy10b3A6IHZhcigtLXNwLTYpOyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxuLnNhbGFyeS1oZWFkZXIgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3AtNCk7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTQpOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxuLnNhbGFyeS10YWJsZSB7IHdpZHRoOiAxMDAlOyBmb250LXNpemU6IDAuODc1cmVtOyB9XG4uc2FsYXJ5LXRhYmxlIHRoIHsgcGFkZGluZzogdmFyKC0tc3AtMikgMDsgZm9udC13ZWlnaHQ6IDYwMDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IH1cbi5zYWxhcnktdGFibGUgdGQgeyBwYWRkaW5nOiB2YXIoLS1zcC0yKSAwOyB9XG4uc2FsYXJ5LXRhYmxlIC5udW1lcmljIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi5zYWxhcnktdGFibGUgLnN1YnRvdGFsIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctdGVydGlhcnktNTApOyB9XG4uc2FsYXJ5LXRhYmxlIC5zdWJ0b3RhbCB0ZCwgLnNhbGFyeS10YWJsZSAudG90YWwgdGQgeyBwYWRkaW5nOiB2YXIoLS1zcC0yKSB2YXIoLS1zcC0xKTsgfVxuLnNhbGFyeS10YWJsZSAudG90YWwgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LTEwKTsgfVxuLnNhbGFyeS1zdW1tYXJ5IHsgbWFyZ2luLXRvcDogdmFyKC0tc3AtNik7IHBhZGRpbmctdG9wOiB2YXIoLS1zcC00KTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IH1cbi5zZWN0aW9uLWhlYWRlci1yb3cgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC0zKTsgfVxuLnNlY3Rpb24tZGl2aWRlciB7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyBwYWRkaW5nLXRvcDogMXJlbTsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUkFXIExFREdFUlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnJhdy1sZWRnZXItc2VjdGlvbiB7IHBhZGRpbmctdG9wOiAxcmVtOyBtYXJnaW4tdG9wOiAxcmVtOyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxuLnJhdy1sZWRnZXItdG9nZ2xlIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMC41cmVtOyBmb250LXNpemU6IDAuNzVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IG5vbmU7IGN1cnNvcjogcG9pbnRlcjsgcGFkZGluZzogMDsgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsgfVxuLnJhdy1sZWRnZXItdG9nZ2xlOmhvdmVyIHsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLnJhdy1sZWRnZXItY29udGVudCB7IG1hcmdpbi10b3A6IDAuNzVyZW07IHBhZGRpbmc6IDAuNzVyZW07IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IGZvbnQtc2l6ZTogMC43NXJlbTsgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgV0lTRSBSVUxFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnJ1bGUtcm93IHsgZGlzcGxheTogZmxleDsgcGFkZGluZzogdmFyKC0tc3AtMik7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IGZsZXgtd3JhcDogd3JhcDsgfVxuLnJ1bGUtcm93IHNlbGVjdCwgLnJ1bGUtcm93IGlucHV0IHsgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQURNSU5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1sYXlvdXQgeyBtaW4taGVpZ2h0OiAxMDB2aDsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpOyB9XG4uYWRtaW4tc2lkZWJhciB7IHdpZHRoOiAxNnJlbTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgbWluLWhlaWdodDogMTAwdmg7IH1cbi5hZG1pbi1uYXYtaXRlbSB7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiB2YXIoLS1zcC0yKSB2YXIoLS1zcC00KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi5hZG1pbi1uYXYtaXRlbTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXRlcnRpYXJ5KTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLmFkbWluLW5hdi1pdGVtLmFjdGl2ZSB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktMTUpOyBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExPR0lOXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubG9naW4tY29udGFpbmVyIHsgbWluLWhlaWdodDogMTAwdmg7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBwYWRkaW5nOiB2YXIoLS1zcC00KTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpOyB9XG4ubG9naW4tY2FyZC13cmFwcGVyIHsgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogMjhyZW07IH1cbi5sb2dpbi1jYXJkIHsgcGFkZGluZzogdmFyKC0tc3AtOCk7IH1cbi5sb2dpbi1oZWFkZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTgpOyB9XG4ubG9naW4tbG9nbyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB3aWR0aDogNHJlbTsgaGVpZ2h0OiA0cmVtOyBtYXJnaW46IDAgYXV0byB2YXIoLS1zcC00KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpOyBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XG4ubG9naW4tZm9vdGVyIHsgbWFyZ2luLXRvcDogdmFyKC0tc3AtNik7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVEhFTUUgVE9HR0xFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udGhlbWUtdG9nZ2xlIHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZnVsbCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IHBhZGRpbmc6IDAuMjVyZW07IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7IH1cbi50aGVtZS10b2dnbGUtaW5kaWNhdG9yIHsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMC4yNXJlbSAwOyB3aWR0aDogY2FsYygxMDAlIC8gMyAtIDAuMTI1cmVtKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZyk7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7IGxlZnQ6IDA7IHRyYW5zaXRpb246IGxlZnQgdmFyKC0tdHJhbnNpdGlvbik7IH1cbltkYXRhLXRoZW1lPVwibGlnaHRcIl0gLnRoZW1lLXRvZ2dsZS1pbmRpY2F0b3IgeyBsZWZ0OiBjYWxjKDEwMCUgLyAzKTsgfVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC50aGVtZS10b2dnbGUtaW5kaWNhdG9yIHsgbGVmdDogY2FsYygxMDAlICogMiAvIDMpOyB9XG4udGhlbWUtdG9nZ2xlLWJ0biB7IGRpc3BsYXk6IGZsZXg7IHdpZHRoOiBjYWxjKDEwMCUgLyAzKTsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IHBhZGRpbmc6IHZhcigtLXNwLTIpOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgYm9yZGVyOiBub25lOyBjdXJzb3I6IHBvaW50ZXI7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgfVxuLnRoZW1lLXRvZ2dsZS1idG46aG92ZXIgeyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNSVNDXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWNjb3VudC1iYWRnZSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuLmxhbmRpbmctbGluay1jYXJkIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiB2YXIoLS1zcC0zKTsgcGFkZGluZzogdmFyKC0tc3AtNik7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC1zaXplOiAwLjg3NXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsgfVxuLmxhbmRpbmctbGluay1jYXJkOmhvdmVyIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTsgfVxuLmxhbmRpbmctdGV4dC1saW5rIHsgcGFkZGluZzogdmFyKC0tc3AtMSkgdmFyKC0tc3AtMik7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsgfVxuLmxhbmRpbmctdGV4dC1saW5rOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUkVTUE9OU0lWRSAtIFRBQkxFVCtcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYXBwLWxheW91dCB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmFwcC1jb250ZW50IHsgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfVxuICAuY29udGVudC1hcmVhIHsgcGFkZGluZzogdmFyKC0tc3AtOCk7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnNpZGViYXItbmF2IHsgZGlzcGxheTogZmxleDsgfVxuICAubW9iaWxlLW5hdiB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBhZ2UtaGVhZGVyIHsgcGFkZGluZzogdmFyKC0tc3AtMikgdmFyKC0tc3AtNik7IGdhcDogdmFyKC0tc3AtMyk7IH1cbiAgLnBhZ2UtaGVhZGVyLXNlbGVjdG9ycyB7IGRpc3BsYXk6IGZsZXg7IH1cbiAgLmZpbHRlci1iYXIgeyBwYWRkaW5nOiB2YXIoLS1zcC0zKSB2YXIoLS1zcC02KTsgZ2FwOiB2YXIoLS1zcC00KTsgfVxuICAuZmlsdGVyLWJhci1zZWFyY2ggeyB3aWR0aDogYXV0bzsgZmxleDogMTsgbWluLXdpZHRoOiAxMnJlbTsgbWF4LXdpZHRoOiAyMHJlbTsgfVxuICAuZmlsdGVyLW1lbnUtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH1cbiAgLmFkdmFuY2VkLWZpbHRlcnMgeyBwYWRkaW5nOiAwLjVyZW0gMS41cmVtOyB9XG4gIC5tZXRyaWNzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4gIC5kZXRhaWwtZ3JpZC5jb2xzLTQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOyB9XG4gIC5wZGYtdmlld2VyLWZyYW1lIHsgaGVpZ2h0OiA4MjBweDsgfVxuICAucG9zdGluZy1yb3cgeyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuY29sLTEsIC5jb2wtMiwgLmNvbC0zLCAuY29sLTQsIC5jb2wtNSwgLmNvbC02LCAuY29sLTcsIC5jb2wtOCwgLmNvbC05LCAuY29sLTEwLCAuY29sLTExLCAuY29sLTEyIHsgZ3JpZC1jb2x1bW46IHNwYW4gMTI7IH1cbiAgLnBvc3Rpbmctcm93IHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAucG9zdGluZy1yb3cgPiBkaXYgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC5zY3JpcHRzLWxheW91dCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSRVNQT05TSVZFIC0gREVTS1RPUFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZmlsdGVyLW1lbnUtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7IH1cbiAgLmZpbGVzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4gIC5waG9lbml4LWxhbmRpbmctYmcgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyBsZWZ0OiA0MHJlbTsgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gIC5tZXRyaWNzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOyB9XG4gIC5waG9lbml4LWxhbmRpbmctYmcgeyBsZWZ0OiA1MHJlbTsgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU0VUVVAgU1RFUFBFUlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNldHVwLXN0ZXBwZXIgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC02KTsgfVxuLnNldHVwLXN0ZXBwZXItbGlzdCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAwOyBsaXN0LXN0eWxlOiBub25lOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH1cbi5zZXR1cC1zdGVwcGVyLWl0ZW0geyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBwb3NpdGlvbjogcmVsYXRpdmU7IGZsZXg6IDE7IG1heC13aWR0aDogMTByZW07IH1cbi5zZXR1cC1zdGVwcGVyLWluZGljYXRvciB7IHdpZHRoOiAycmVtOyBoZWlnaHQ6IDJyZW07IGJvcmRlci1yYWRpdXM6IDUwJTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZvbnQtc2l6ZTogMC43NXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24pOyB6LWluZGV4OiAxOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZyk7IGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi5zZXR1cC1zdGVwcGVyLWl0ZW0uY29tcGxldGUgLnNldHVwLXN0ZXBwZXItaW5kaWNhdG9yIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzLWNvbnRlbnQpOyB9XG4uc2V0dXAtc3RlcHBlci1pdGVtLmN1cnJlbnQgLnNldHVwLXN0ZXBwZXItaW5kaWNhdG9yIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7IGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRlbnQpOyB9XG4uc2V0dXAtc3RlcHBlci1pdGVtLnBlbmRpbmcgLnNldHVwLXN0ZXBwZXItaW5kaWNhdG9yIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4uc2V0dXAtc3RlcHBlci1udW1iZXIgeyBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOyB9XG4uc2V0dXAtc3RlcHBlci1sYWJlbCB7IG1hcmdpbi10b3A6IHZhcigtLXNwLTIpOyBmb250LXNpemU6IDAuNzVyZW07IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgbGluZS1oZWlnaHQ6IDEuMzsgfVxuLnNldHVwLXN0ZXBwZXItaXRlbS5jdXJyZW50IC5zZXR1cC1zdGVwcGVyLWxhYmVsIHsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuLnNldHVwLXN0ZXBwZXItaXRlbS5jb21wbGV0ZSAuc2V0dXAtc3RlcHBlci1sYWJlbCB7IGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTsgfVxuLnNldHVwLXN0ZXBwZXItY29ubmVjdG9yIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDFyZW07IGxlZnQ6IGNhbGMoNTAlICsgMXJlbSk7IHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTsgaGVpZ2h0OiAycHg7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlcik7IH1cbi5zZXR1cC1zdGVwcGVyLWl0ZW0uY29tcGxldGUgLnNldHVwLXN0ZXBwZXItY29ubmVjdG9yIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IH1cblxuLyogQ29tcGxldGVkIFN0ZXAgUm93ICovXG4uY29tcGxldGVkLXN0ZXAtcm93IHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiB2YXIoLS1zcC0zKTsgcGFkZGluZzogdmFyKC0tc3AtMyk7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtMTApOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1zdWNjZXNzLTIwKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtMyk7IH1cbi5jb21wbGV0ZWQtc3RlcC1sYWJlbCB7IGZvbnQtc2l6ZTogMC44NzVyZW07IGZvbnQtd2VpZ2h0OiA1MDA7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cbi5jb21wbGV0ZWQtc3RlcC12YWx1ZSB7IGZvbnQtc2l6ZTogMC43NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgbWFyZ2luLWxlZnQ6IGF1dG87IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBtYXgtd2lkdGg6IDUwJTsgfVxuXG4vKiBMb2NrZWQgU3RlcCBSb3cgKi9cbi5sb2NrZWQtc3RlcC1yb3cgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IHZhcigtLXNwLTMpOyBwYWRkaW5nOiB2YXIoLS1zcC0zKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtMyk7IG9wYWNpdHk6IDAuNjsgfVxuLmxvY2tlZC1zdGVwLXJvdyBzcGFuIHsgZm9udC1zaXplOiAwLjg3NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgfVxuLmxvY2tlZC1zdGVwLWhpbnQgeyBtYXJnaW4tbGVmdDogYXV0bzsgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi8qIFNldHVwIFN0ZXAgQ2FyZCAqL1xuLnNldHVwLXN0ZXAtY2FyZCB7IHBhZGRpbmc6IHZhcigtLXNwLTQpOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZyk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktMzApOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpOyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC00KTsgfVxuLnNldHVwLXN0ZXAtdGl0bGUgeyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC0zKTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiB2YXIoLS1zcC0yKTsgfVxuLnNldHVwLXN0ZXAtY29udGVudCB7IGZvbnQtc2l6ZTogMC44NzVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cbi5zZXR1cC1zdGVwLWNvbnRlbnQgcCB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTMpOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4uc2V0dXAtc3RlcC1jb250ZW50IG9sIHsgbWFyZ2luOiB2YXIoLS1zcC0zKSAwOyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwLTQpOyB9XG4uc2V0dXAtc3RlcC1jb250ZW50IG9sIGxpIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtMik7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cblxuLyogVGltZSBXYXJuaW5nICovXG4udGltZS13YXJuaW5nIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGdhcDogdmFyKC0tc3AtMyk7IHBhZGRpbmc6IHZhcigtLXNwLTQpOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13YXJuaW5nLTEwKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3Itd2FybmluZy0zMCk7IGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tY29sb3Itd2FybmluZyk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTQpOyB9XG4udGltZS13YXJuaW5nLWljb24geyBmbGV4LXNocmluazogMDsgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpOyB9XG4udGltZS13YXJuaW5nLWNvbnRlbnQgeyBmbGV4OiAxOyB9XG4udGltZS13YXJuaW5nLXRpdGxlIHsgZm9udC1zaXplOiAwLjg3NXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtMSk7IH1cbi50aW1lLXdhcm5pbmctdGV4dCB7IGZvbnQtc2l6ZTogMC43NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgfVxuXG4vKiBDb25uZWN0ZWQgU3RhdHVzIENhcmQgKi9cbi5jb25uZWN0ZWQtc3RhdHVzLWNhcmQgeyBwYWRkaW5nOiB2YXIoLS1zcC00KTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcy01KTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3Itc3VjY2Vzcy0yMCk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7IH1cbi5jb25uZWN0ZWQtc3RhdHVzLWhlYWRlciB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogdmFyKC0tc3AtMyk7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTQpOyB9XG4uY29ubmVjdGVkLXN0YXR1cy10aXRsZSB7IGZvbnQtc2l6ZTogMXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLmNvbm5lY3RlZC1zdGF0dXMtYmFkZ2UgeyBmb250LXNpemU6IDAuNjI1cmVtOyBmb250LXdlaWdodDogNjAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMC4wNWVtOyBwYWRkaW5nOiB2YXIoLS1zcC0xKSB2YXIoLS1zcC0yKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbi5jb25uZWN0ZWQtc3RhdHVzLWJhZGdlLnByb2R1Y3Rpb24geyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdWNjZXNzLTIwKTsgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpOyB9XG4uY29ubmVjdGVkLXN0YXR1cy1iYWRnZS5zYW5kYm94IHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2FybmluZy0yMCk7IGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTsgfVxuLmNvbm5lY3RlZC1zdGF0dXMtZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IGdhcDogdmFyKC0tc3AtNCk7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTQpOyB9XG4uY29ubmVjdGVkLXN0YXR1cy1hY3Rpb25zIHsgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IHZhcigtLXNwLTIpOyBwYWRkaW5nLXRvcDogdmFyKC0tc3AtMyk7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItNTApOyB9XG5cbi8qIEFkdmFuY2VkIE9wdGlvbnMgU2VjdGlvbiAqL1xuLmFkdmFuY2VkLW9wdGlvbnMtc2VjdGlvbiB7IG1hcmdpbi10b3A6IHZhcigtLXNwLTYpOyBwYWRkaW5nLXRvcDogdmFyKC0tc3AtNCk7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XG4uYWR2YW5jZWQtb3B0aW9ucy1zdW1tYXJ5IHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiB2YXIoLS1zcC0yKTsgZm9udC1zaXplOiAwLjc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyBjdXJzb3I6IHBvaW50ZXI7IHBhZGRpbmc6IHZhcigtLXNwLTIpIDA7IH1cbi5hZHZhbmNlZC1vcHRpb25zLXN1bW1hcnk6aG92ZXIgeyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG4uYWR2YW5jZWQtb3B0aW9ucy1jb250ZW50IHsgbWFyZ2luLXRvcDogdmFyKC0tc3AtNCk7IH1cbi5hZHZhbmNlZC1vcHRpb25zLWNvbnRlbnQgZGV0YWlscyB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTMpOyBwYWRkaW5nOiB2YXIoLS1zcC0zKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgfVxuLmFkdmFuY2VkLW9wdGlvbnMtY29udGVudCBzdW1tYXJ5IHsgZm9udC1zaXplOiAwLjg3NXJlbTsgZm9udC13ZWlnaHQ6IDUwMDsgY3Vyc29yOiBwb2ludGVyOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4uYWR2YW5jZWQtb3B0aW9ucy1jb250ZW50IHN1bW1hcnk6aG92ZXIgeyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG5cbi8qIFJlc3BvbnNpdmUgc3RlcHBlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5zZXR1cC1zdGVwcGVyLWxpc3QgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogc3RyZXRjaDsgZ2FwOiB2YXIoLS1zcC0yKTsgfVxuICAuc2V0dXAtc3RlcHBlci1pdGVtIHsgZmxleC1kaXJlY3Rpb246IHJvdzsgbWF4LXdpZHRoOiBub25lOyBnYXA6IHZhcigtLXNwLTMpOyB9XG4gIC5zZXR1cC1zdGVwcGVyLWxhYmVsIHsgbWFyZ2luLXRvcDogMDsgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuc2V0dXAtc3RlcHBlci1jb25uZWN0b3IgeyBkaXNwbGF5OiBub25lOyB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQUE7QUFBa0Q7QUFBWTtBQUFBLEVBQUUsQ0FBQztBQUFBLEVBQVEsQ0FBQztBQUFPLGdCQUFXO0FBQVcsaUNBQTRCO0FBQVc7QUFBQztBQUFFLFlBQU87QUFBQztBQUFDO0FBQUssY0FBUztBQUFDO0FBQUM7QUFBQSxFQUFLO0FBQUEsRUFBTyxDQUFDO0FBQVMsaUJBQVksSUFBSTtBQUFhLGVBQVUsSUFBSTtBQUFnQixpQkFBWSxJQUFJO0FBQWtCLFdBQU0sSUFBSTtBQUFhO0FBQUM7QUFBSyxzQkFBaUIsSUFBSTtBQUFjLFdBQU0sSUFBSTtBQUFjLDRCQUF1QjtBQUFXO0FBQUM7QUFBQSxFQUFJO0FBQUEsRUFBUTtBQUFBLEVBQU07QUFBQSxFQUFPO0FBQUksZUFBVTtBQUFJO0FBQUM7QUFBQSxFQUFFO0FBQUEsRUFBRztBQUFBLEVBQUc7QUFBQSxFQUFHO0FBQUEsRUFBRztBQUFBLEVBQUc7QUFBRyxtQkFBYztBQUFVO0FBQUM7QUFBQSxFQUFHO0FBQUEsRUFBRztBQUFBLEVBQUc7QUFBQSxFQUFHO0FBQUEsRUFBRztBQUFHLGlCQUFZLElBQUk7QUFBaUIsaUJBQVk7QUFBSyxLQUFDO0FBQWEsMEJBQW1CO0FBQUM7QUFBQztBQUFD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 */
