/* node_modules/monaco-editor/esm/vs/editor/standalone/browser/standalone-tokens.css */
.monaco-editor {
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe WPC",
    "Segoe UI",
    "HelveticaNeue-Light",
    system-ui,
    "Ubuntu",
    "Droid Sans",
    sans-serif;
  --monaco-monospace-font:
    "SF Mono",
    Monaco,
    Menlo,
    Consolas,
    "Ubuntu Mono",
    "Liberation Mono",
    "DejaVu Sans Mono",
    "Courier New",
    monospace;
}
.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label {
  stroke-width: 1.2px;
}
.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,
.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,
.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label {
  stroke-width: 1.2px;
}
.monaco-hover p {
  margin: 0;
}
.monaco-aria-container {
  position: absolute !important;
  top: 0;
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
}
.monaco-editor,
.monaco-diff-editor .synthetic-focus,
.monaco-editor,
.monaco-diff-editor [tabindex="0"]:focus,
.monaco-editor,
.monaco-diff-editor [tabindex="-1"]:focus,
.monaco-editor,
.monaco-diff-editor button:focus,
.monaco-editor,
.monaco-diff-editor input[type=button]:focus,
.monaco-editor,
.monaco-diff-editor input[type=checkbox]:focus,
.monaco-editor,
.monaco-diff-editor input[type=search]:focus,
.monaco-editor,
.monaco-diff-editor input[type=text]:focus,
.monaco-editor,
.monaco-diff-editor select:focus,
.monaco-editor,
.monaco-diff-editor textarea:focus {
  outline-width: 1px;
  outline-style: solid;
  outline-offset: -1px;
  outline-color: var(--vscode-focusBorder);
  opacity: 1;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.css */
.monaco-aria-container {
  position: absolute;
  left: -999em;
}

/* node_modules/monaco-editor/esm/vs/editor/browser/widget/codeEditor/editor.css */
::-ms-clear {
  display: none;
}
.monaco-editor .editor-widget input {
  color: inherit;
}
.monaco-editor {
  position: relative;
  overflow: visible;
  -webkit-text-size-adjust: 100%;
  color: var(--vscode-editor-foreground);
  background-color: var(--vscode-editor-background);
}
.monaco-editor-background {
  background-color: var(--vscode-editor-background);
}
.monaco-editor .rangeHighlight {
  background-color: var(--vscode-editor-rangeHighlightBackground);
  box-sizing: border-box;
  border: 1px solid var(--vscode-editor-rangeHighlightBorder);
}
.monaco-editor.hc-black .rangeHighlight,
.monaco-editor.hc-light .rangeHighlight {
  border-style: dotted;
}
.monaco-editor .symbolHighlight {
  background-color: var(--vscode-editor-symbolHighlightBackground);
  box-sizing: border-box;
  border: 1px solid var(--vscode-editor-symbolHighlightBorder);
}
.monaco-editor.hc-black .symbolHighlight,
.monaco-editor.hc-light .symbolHighlight {
  border-style: dotted;
}
.monaco-editor .overflow-guard {
  position: relative;
  overflow: hidden;
}
.monaco-editor .view-overlays {
  position: absolute;
  top: 0;
}
.monaco-editor .view-overlays > div,
.monaco-editor .margin-view-overlays > div {
  position: absolute;
  width: 100%;
}
.monaco-editor .squiggly-error {
  border-bottom: 4px double var(--vscode-editorError-border);
}
.monaco-editor .squiggly-error::before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: var(--vscode-editorError-background);
}
.monaco-editor .squiggly-warning {
  border-bottom: 4px double var(--vscode-editorWarning-border);
}
.monaco-editor .squiggly-warning::before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: var(--vscode-editorWarning-background);
}
.monaco-editor .squiggly-info {
  border-bottom: 4px double var(--vscode-editorInfo-border);
}
.monaco-editor .squiggly-info::before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: var(--vscode-editorInfo-background);
}
.monaco-editor .squiggly-hint {
  border-bottom: 2px dotted var(--vscode-editorHint-border);
}
.monaco-editor.showUnused .squiggly-unnecessary {
  border-bottom: 2px dashed var(--vscode-editorUnnecessaryCode-border);
}
.monaco-editor.showDeprecated .squiggly-inline-deprecated {
  text-decoration: line-through;
  text-decoration-color: var(--vscode-editor-foreground, inherit);
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/media/scrollbars.css */
.monaco-scrollable-element > .scrollbar > .scra {
  cursor: pointer;
  font-size: 11px !important;
}
.monaco-scrollable-element > .visible {
  opacity: 1;
  background: rgba(0, 0, 0, 0);
  transition: opacity 100ms linear;
  z-index: 11;
}
.monaco-scrollable-element > .invisible {
  opacity: 0;
  pointer-events: none;
}
.monaco-scrollable-element > .invisible.fade {
  transition: opacity 800ms linear;
}
.monaco-scrollable-element > .shadow {
  position: absolute;
  display: none;
}
.monaco-scrollable-element > .shadow.top {
  display: block;
  top: 0;
  left: 3px;
  height: 3px;
  width: 100%;
  box-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;
}
.monaco-scrollable-element > .shadow.left {
  display: block;
  top: 3px;
  left: 0;
  height: 100%;
  width: 3px;
  box-shadow: var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset;
}
.monaco-scrollable-element > .shadow.top-left-corner {
  display: block;
  top: 0;
  left: 0;
  height: 3px;
  width: 3px;
}
.monaco-scrollable-element > .shadow.top.left {
  box-shadow: var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset;
}
.monaco-scrollable-element > .scrollbar > .slider {
  background: var(--vscode-scrollbarSlider-background);
}
.monaco-scrollable-element > .scrollbar > .slider:hover {
  background: var(--vscode-scrollbarSlider-hoverBackground);
}
.monaco-scrollable-element > .scrollbar > .slider.active {
  background: var(--vscode-scrollbarSlider-activeBackground);
}

/* node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaHandler.css */
.monaco-editor .inputarea {
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  position: absolute;
  outline: none !important;
  resize: none;
  border: none;
  overflow: hidden;
  color: transparent;
  background-color: transparent;
  z-index: -10;
}
.monaco-editor .inputarea.ime-input {
  z-index: 10;
  caret-color: var(--vscode-editorCursor-foreground);
  color: var(--vscode-editor-foreground);
}

/* node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lineNumbers/lineNumbers.css */
.monaco-editor .margin-view-overlays .line-numbers {
  bottom: 0;
  font-variant-numeric: tabular-nums;
  position: absolute;
  text-align: right;
  display: inline-block;
  vertical-align: middle;
  box-sizing: border-box;
  cursor: default;
}
.monaco-editor .relative-current-line-number {
  text-align: left;
  display: inline-block;
  width: 100%;
}
.monaco-editor .margin-view-overlays .line-numbers.lh-odd {
  margin-top: 1px;
}
.monaco-editor .line-numbers {
  color: var(--vscode-editorLineNumber-foreground);
}
.monaco-editor .line-numbers.active-line-number {
  color: var(--vscode-editorLineNumber-activeForeground);
}

/* node_modules/monaco-editor/esm/vs/editor/browser/viewParts/margin/margin.css */
.monaco-editor .margin {
  background-color: var(--vscode-editorGutter-background);
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.css */
.monaco-mouse-cursor-text {
  cursor: text;
}

/* node_modules/monaco-editor/esm/vs/editor/browser/viewParts/blockDecorations/blockDecorations.css */
.monaco-editor .blockDecorations-container {
  position: absolute;
  top: 0;
  pointer-events: none;
}
.monaco-editor .blockDecorations-block {
  position: absolute;
  box-sizing: border-box;
}

/* node_modules/monaco-editor/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.css */
.monaco-editor .view-overlays .current-line {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  box-sizing: border-box;
  height: 100%;
}
.monaco-editor .margin-view-overlays .current-line {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  box-sizing: border-box;
  height: 100%;
}
.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both {
  border-right: 0;
}

/* node_modules/monaco-editor/esm/vs/editor/browser/viewParts/decorations/decorations.css */
.monaco-editor .lines-content .cdr {
  position: absolute;
  height: 100%;
}

/* node_modules/monaco-editor/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.css */
.monaco-editor .glyph-margin {
  position: absolute;
  top: 0;
}
.monaco-editor .glyph-margin-widgets .cgmr {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
}
.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* node_modules/monaco-editor/esm/vs/editor/browser/viewParts/indentGuides/indentGuides.css */
.monaco-editor .lines-content .core-guide {
  position: absolute;
  box-sizing: border-box;
  height: 100%;
}

/* node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/viewLines.css */
.mtkcontrol {
  color: rgb(255, 255, 255) !important;
  background: rgb(150, 0, 0) !important;
}
.mtkoverflow {
  background-color: var(--vscode-button-background, var(--vscode-editor-background));
  color: var(--vscode-button-foreground, var(--vscode-editor-foreground));
  border-width: 1px;
  border-style: solid;
  border-color: var(--vscode-contrastBorder);
  border-radius: 2px;
  padding: 4px;
  cursor: pointer;
}
.mtkoverflow:hover {
  background-color: var(--vscode-button-hoverBackground);
}
.monaco-editor.no-user-select .lines-content,
.monaco-editor.no-user-select .view-line,
.monaco-editor.no-user-select .view-lines {
  user-select: none;
  -webkit-user-select: none;
}
.monaco-editor.mac .lines-content:hover,
.monaco-editor.mac .view-line:hover,
.monaco-editor.mac .view-lines:hover {
  user-select: text;
  -webkit-user-select: text;
  -ms-user-select: text;
}
.monaco-editor.enable-user-select {
  user-select: initial;
  -webkit-user-select: initial;
}
.monaco-editor .view-lines {
  white-space: nowrap;
}
.monaco-editor .view-line {
  position: absolute;
  width: 100%;
}
.monaco-editor .lines-content > .view-lines > .view-line > span {
  top: 0;
  bottom: 0;
  position: absolute;
}
.monaco-editor .mtkw {
  color: var(--vscode-editorWhitespace-foreground) !important;
}
.monaco-editor .mtkz {
  display: inline-block;
  color: var(--vscode-editorWhitespace-foreground) !important;
}

/* node_modules/monaco-editor/esm/vs/editor/browser/viewParts/linesDecorations/linesDecorations.css */
.monaco-editor .lines-decorations {
  position: absolute;
  top: 0;
  background: white;
}
.monaco-editor .margin-view-overlays .cldr {
  position: absolute;
  height: 100%;
}

/* node_modules/monaco-editor/esm/vs/editor/browser/viewParts/marginDecorations/marginDecorations.css */
.monaco-editor .margin-view-overlays .cmdr {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
}

/* node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimap.css */
.monaco-editor .minimap.slider-mouseover .minimap-slider {
  opacity: 0;
  transition: opacity 100ms linear;
}
.monaco-editor .minimap.slider-mouseover:hover .minimap-slider {
  opacity: 1;
}
.monaco-editor .minimap.slider-mouseover .minimap-slider.active {
  opacity: 1;
}
.monaco-editor .minimap-slider .minimap-slider-horizontal {
  background: var(--vscode-minimapSlider-background);
}
.monaco-editor .minimap-slider:hover .minimap-slider-horizontal {
  background: var(--vscode-minimapSlider-hoverBackground);
}
.monaco-editor .minimap-slider.active .minimap-slider-horizontal {
  background: var(--vscode-minimapSlider-activeBackground);
}
.monaco-editor .minimap-shadow-visible {
  box-shadow: var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset;
}
.monaco-editor .minimap-shadow-hidden {
  position: absolute;
  width: 0;
}
.monaco-editor .minimap-shadow-visible {
  position: absolute;
  left: -6px;
  width: 6px;
}
.monaco-editor.no-minimap-shadow .minimap-shadow-visible {
  position: absolute;
  left: -1px;
  width: 1px;
}
.minimap.autohide {
  opacity: 0;
  transition: opacity 0.5s;
}
.minimap.autohide:hover {
  opacity: 1;
}
.monaco-editor .minimap {
  z-index: 5;
}

/* node_modules/monaco-editor/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.css */
.monaco-editor .overlayWidgets {
  position: absolute;
  top: 0;
  left: 0;
}

/* node_modules/monaco-editor/esm/vs/editor/browser/viewParts/rulers/rulers.css */
.monaco-editor .view-ruler {
  position: absolute;
  top: 0;
  box-shadow: 1px 0 0 0 var(--vscode-editorRuler-foreground) inset;
}

/* node_modules/monaco-editor/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.css */
.monaco-editor .scroll-decoration {
  position: absolute;
  top: 0;
  left: 0;
  height: 6px;
  box-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;
}

/* node_modules/monaco-editor/esm/vs/editor/browser/viewParts/selections/selections.css */
.monaco-editor .lines-content .cslr {
  position: absolute;
}
.monaco-editor .focused .selected-text {
  background-color: var(--vscode-editor-selectionBackground);
}
.monaco-editor .selected-text {
  background-color: var(--vscode-editor-inactiveSelectionBackground);
}
.monaco-editor .top-left-radius {
  border-top-left-radius: 3px;
}
.monaco-editor .bottom-left-radius {
  border-bottom-left-radius: 3px;
}
.monaco-editor .top-right-radius {
  border-top-right-radius: 3px;
}
.monaco-editor .bottom-right-radius {
  border-bottom-right-radius: 3px;
}
.monaco-editor.hc-black .top-left-radius {
  border-top-left-radius: 0;
}
.monaco-editor.hc-black .bottom-left-radius {
  border-bottom-left-radius: 0;
}
.monaco-editor.hc-black .top-right-radius {
  border-top-right-radius: 0;
}
.monaco-editor.hc-black .bottom-right-radius {
  border-bottom-right-radius: 0;
}
.monaco-editor.hc-light .top-left-radius {
  border-top-left-radius: 0;
}
.monaco-editor.hc-light .bottom-left-radius {
  border-bottom-left-radius: 0;
}
.monaco-editor.hc-light .top-right-radius {
  border-top-right-radius: 0;
}
.monaco-editor.hc-light .bottom-right-radius {
  border-bottom-right-radius: 0;
}

/* node_modules/monaco-editor/esm/vs/editor/browser/viewParts/viewCursors/viewCursors.css */
.monaco-editor .cursors-layer {
  position: absolute;
  top: 0;
}
.monaco-editor .cursors-layer > .cursor {
  position: absolute;
  overflow: hidden;
  box-sizing: border-box;
}
.monaco-editor .cursors-layer.cursor-smooth-caret-animation > .cursor {
  transition: all 80ms;
}
.monaco-editor .cursors-layer.cursor-block-outline-style > .cursor {
  background: transparent !important;
  border-style: solid;
  border-width: 1px;
}
.monaco-editor .cursors-layer.cursor-underline-style > .cursor {
  border-bottom-width: 2px;
  border-bottom-style: solid;
  background: transparent !important;
}
.monaco-editor .cursors-layer.cursor-underline-thin-style > .cursor {
  border-bottom-width: 1px;
  border-bottom-style: solid;
  background: transparent !important;
}
@keyframes monaco-cursor-smooth {
  0%, 20% {
    opacity: 1;
  }
  60%, 100% {
    opacity: 0;
  }
}
@keyframes monaco-cursor-phase {
  0%, 20% {
    opacity: 1;
  }
  90%, 100% {
    opacity: 0;
  }
}
@keyframes monaco-cursor-expand {
  0%, 20% {
    transform: scaleY(1);
  }
  80%, 100% {
    transform: scaleY(0);
  }
}
.cursor-smooth {
  animation: monaco-cursor-smooth 0.5s ease-in-out 0s 20 alternate;
}
.cursor-phase {
  animation: monaco-cursor-phase 0.5s ease-in-out 0s 20 alternate;
}
.cursor-expand > .cursor {
  animation: monaco-cursor-expand 0.5s ease-in-out 0s 20 alternate;
}

/* node_modules/monaco-editor/esm/vs/editor/browser/viewParts/whitespace/whitespace.css */
.monaco-editor .mwh {
  position: absolute;
  color: var(--vscode-editorWhitespace-foreground) !important;
}

/* node_modules/monaco-editor/esm/vs/editor/browser/services/hoverService/hover.css */
.monaco-workbench .workbench-hover {
  position: relative;
  font-size: 13px;
  line-height: 19px;
  z-index: 40;
  overflow: hidden;
  max-width: 700px;
  background: var(--vscode-editorHoverWidget-background);
  border: 1px solid var(--vscode-editorHoverWidget-border);
  border-radius: 3px;
  color: var(--vscode-editorHoverWidget-foreground);
  box-shadow: 0 2px 8px var(--vscode-widget-shadow);
}
.monaco-workbench .workbench-hover hr {
  border-bottom: none;
}
.monaco-workbench .workbench-hover:not(.skip-fade-in) {
  animation: fadein 100ms linear;
}
.monaco-workbench .workbench-hover.compact {
  font-size: 12px;
}
.monaco-workbench .workbench-hover.compact .hover-contents {
  padding: 2px 8px;
}
.monaco-workbench .workbench-hover-container.locked .workbench-hover {
  outline: 1px solid var(--vscode-editorHoverWidget-border);
}
.monaco-workbench .workbench-hover-container.locked .workbench-hover:focus,
.monaco-workbench .workbench-hover-lock:focus {
  outline: 1px solid var(--vscode-focusBorder);
}
.monaco-workbench .workbench-hover-container.locked .workbench-hover-lock:hover {
  background: var(--vscode-toolbar-hoverBackground);
}
.monaco-workbench .workbench-hover-pointer {
  position: absolute;
  z-index: 41;
  pointer-events: none;
}
.monaco-workbench .workbench-hover-pointer:after {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  background-color: var(--vscode-editorHoverWidget-background);
  border-right: 1px solid var(--vscode-editorHoverWidget-border);
  border-bottom: 1px solid var(--vscode-editorHoverWidget-border);
}
.monaco-workbench .locked .workbench-hover-pointer:after {
  width: 4px;
  height: 4px;
  border-right-width: 2px;
  border-bottom-width: 2px;
}
.monaco-workbench .workbench-hover-pointer.left {
  left: -3px;
}
.monaco-workbench .workbench-hover-pointer.right {
  right: 3px;
}
.monaco-workbench .workbench-hover-pointer.top {
  top: -3px;
}
.monaco-workbench .workbench-hover-pointer.bottom {
  bottom: 3px;
}
.monaco-workbench .workbench-hover-pointer.left:after {
  transform: rotate(135deg);
}
.monaco-workbench .workbench-hover-pointer.right:after {
  transform: rotate(315deg);
}
.monaco-workbench .workbench-hover-pointer.top:after {
  transform: rotate(225deg);
}
.monaco-workbench .workbench-hover-pointer.bottom:after {
  transform: rotate(45deg);
}
.monaco-workbench .workbench-hover a {
  color: var(--vscode-textLink-foreground);
}
.monaco-workbench .workbench-hover a:focus {
  outline: 1px solid;
  outline-offset: -1px;
  text-decoration: underline;
  outline-color: var(--vscode-focusBorder);
}
.monaco-workbench .workbench-hover a:hover,
.monaco-workbench .workbench-hover a:active {
  color: var(--vscode-textLink-activeForeground);
}
.monaco-workbench .workbench-hover code {
  background: var(--vscode-textCodeBlock-background);
}
.monaco-workbench .workbench-hover .hover-row .actions {
  background: var(--vscode-editorHoverWidget-statusBarBackground);
}
.monaco-workbench .workbench-hover.right-aligned {
  left: 1px;
}
.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions {
  flex-direction: row-reverse;
}
.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions .action-container {
  margin-right: 0;
  margin-left: 16px;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hoverWidget.css */
.monaco-hover {
  cursor: default;
  position: absolute;
  overflow: hidden;
  user-select: text;
  -webkit-user-select: text;
  box-sizing: border-box;
  animation: fadein 100ms linear;
  line-height: 1.5em;
  white-space: var(--vscode-hover-whiteSpace, normal);
}
.monaco-hover.hidden {
  display: none;
}
.monaco-hover a:hover:not(.disabled) {
  cursor: pointer;
}
.monaco-hover .hover-contents:not(.html-hover-contents) {
  padding: 4px 8px;
}
.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) {
  max-width: var(--vscode-hover-maxWidth, 500px);
  word-wrap: break-word;
}
.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) hr {
  min-width: 100%;
}
.monaco-hover p,
.monaco-hover .code,
.monaco-hover ul,
.monaco-hover h1,
.monaco-hover h2,
.monaco-hover h3,
.monaco-hover h4,
.monaco-hover h5,
.monaco-hover h6 {
  margin: 8px 0;
}
.monaco-hover h1,
.monaco-hover h2,
.monaco-hover h3,
.monaco-hover h4,
.monaco-hover h5,
.monaco-hover h6 {
  line-height: 1.1;
}
.monaco-hover code {
  font-family: var(--monaco-monospace-font);
}
.monaco-hover hr {
  box-sizing: border-box;
  border-left: 0px;
  border-right: 0px;
  margin-top: 4px;
  margin-bottom: -4px;
  margin-left: -8px;
  margin-right: -8px;
  height: 1px;
}
.monaco-hover p:first-child,
.monaco-hover .code:first-child,
.monaco-hover ul:first-child {
  margin-top: 0;
}
.monaco-hover p:last-child,
.monaco-hover .code:last-child,
.monaco-hover ul:last-child {
  margin-bottom: 0;
}
.monaco-hover ul {
  padding-left: 20px;
}
.monaco-hover ol {
  padding-left: 20px;
}
.monaco-hover li > p {
  margin-bottom: 0;
}
.monaco-hover li > ul {
  margin-top: 0;
}
.monaco-hover code {
  border-radius: 3px;
  padding: 0 0.4em;
}
.monaco-hover .monaco-tokenized-source {
  white-space: var(--vscode-hover-sourceWhiteSpace, pre-wrap);
}
.monaco-hover .hover-row.status-bar {
  font-size: 12px;
  line-height: 22px;
}
.monaco-hover .hover-row.status-bar .info {
  font-style: italic;
  padding: 0px 8px;
}
.monaco-hover .hover-row.status-bar .actions {
  display: flex;
  padding: 0px 8px;
  width: 100%;
}
.monaco-hover .hover-row.status-bar .actions .action-container {
  margin-right: 16px;
  cursor: pointer;
}
.monaco-hover .hover-row.status-bar .actions .action-container .action .icon {
  padding-right: 4px;
}
.monaco-hover .markdown-hover .hover-contents .codicon {
  color: inherit;
  font-size: inherit;
  vertical-align: middle;
}
.monaco-hover .hover-contents a.code-link:hover,
.monaco-hover .hover-contents a.code-link {
  color: inherit;
}
.monaco-hover .hover-contents a.code-link:before {
  content: "(";
}
.monaco-hover .hover-contents a.code-link:after {
  content: ")";
}
.monaco-hover .hover-contents a.code-link > span {
  text-decoration: underline;
  border-bottom: 1px solid transparent;
  text-underline-position: under;
  color: var(--vscode-textLink-foreground);
}
.monaco-hover .hover-contents a.code-link > span:hover {
  color: var(--vscode-textLink-activeForeground);
}
.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span {
  margin-bottom: 4px;
  display: inline-block;
}
.monaco-hover-content .action-container a {
  -webkit-user-select: none;
  user-select: none;
}
.monaco-hover-content .action-container.disabled {
  pointer-events: none;
  opacity: 0.4;
  cursor: default;
}

/* node_modules/monaco-editor/esm/vs/editor/browser/widget/markdownRenderer/browser/renderedMarkdown.css */
.monaco-editor .rendered-markdown kbd {
  background-color: var(--vscode-keybindingLabel-background);
  color: var(--vscode-keybindingLabel-foreground);
  border-style: solid;
  border-width: 1px;
  border-radius: 3px;
  border-color: var(--vscode-keybindingLabel-border);
  border-bottom-color: var(--vscode-keybindingLabel-bottomBorder);
  box-shadow: inset 0 -1px 0 var(--vscode-widget-shadow);
  vertical-align: middle;
  padding: 1px 3px;
}
.rendered-markdown li:has(input[type=checkbox]) {
  list-style-type: none;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.css */
.context-view {
  position: absolute;
}
.context-view.fixed {
  all: initial;
  font-family: inherit;
  font-size: 13px;
  position: fixed;
  color: inherit;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.css */
.monaco-list {
  position: relative;
  height: 100%;
  width: 100%;
  white-space: nowrap;
}
.monaco-list.mouse-support {
  user-select: none;
  -webkit-user-select: none;
}
.monaco-list > .monaco-scrollable-element {
  height: 100%;
}
.monaco-list-rows {
  position: relative;
  width: 100%;
  height: 100%;
}
.monaco-list.horizontal-scrolling .monaco-list-rows {
  width: auto;
  min-width: 100%;
}
.monaco-list-row {
  position: absolute;
  box-sizing: border-box;
  overflow: hidden;
  width: 100%;
}
.monaco-list.mouse-support .monaco-list-row {
  cursor: pointer;
  touch-action: none;
}
.monaco-list .monaco-scrollable-element > .scrollbar.vertical,
.monaco-pane-view > .monaco-split-view2.vertical > .monaco-scrollable-element > .scrollbar.vertical {
  z-index: 14;
}
.monaco-list-row.scrolling {
  display: none !important;
}
.monaco-list.element-focused,
.monaco-list.selection-single,
.monaco-list.selection-multiple {
  outline: 0 !important;
}
.monaco-drag-image {
  display: inline-block;
  padding: 1px 7px;
  border-radius: 10px;
  font-size: 12px;
  position: absolute;
  z-index: 1000;
}
.monaco-list-type-filter-message {
  position: absolute;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 40px 1em 1em 1em;
  text-align: center;
  white-space: normal;
  opacity: 0.7;
  pointer-events: none;
}
.monaco-list-type-filter-message:empty {
  display: none;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxCustom.css */
.monaco-select-box-dropdown-padding {
  --dropdown-padding-top: 1px;
  --dropdown-padding-bottom: 1px;
}
.hc-black .monaco-select-box-dropdown-padding,
.hc-light .monaco-select-box-dropdown-padding {
  --dropdown-padding-top: 3px;
  --dropdown-padding-bottom: 4px;
}
.monaco-select-box-dropdown-container {
  display: none;
  box-sizing: border-box;
}
.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown * {
  margin: 0;
}
.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown a:focus {
  outline: 1px solid -webkit-focus-ring-color;
  outline-offset: -1px;
}
.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown code {
  line-height: 15px;
  font-family: var(--monaco-monospace-font);
}
.monaco-select-box-dropdown-container.visible {
  display: flex;
  flex-direction: column;
  text-align: left;
  width: 1px;
  overflow: hidden;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}
.monaco-select-box-dropdown-container > .select-box-dropdown-list-container {
  flex: 0 0 auto;
  align-self: flex-start;
  padding-top: var(--dropdown-padding-top);
  padding-bottom: var(--dropdown-padding-bottom);
  padding-left: 1px;
  padding-right: 1px;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}
.monaco-select-box-dropdown-container > .select-box-details-pane {
  padding: 5px;
}
.hc-black .monaco-select-box-dropdown-container > .select-box-dropdown-list-container {
  padding-top: var(--dropdown-padding-top);
  padding-bottom: var(--dropdown-padding-bottom);
}
.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row {
  cursor: pointer;
}
.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-text {
  text-overflow: ellipsis;
  overflow: hidden;
  padding-left: 3.5px;
  white-space: nowrap;
  float: left;
}
.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-detail {
  text-overflow: ellipsis;
  overflow: hidden;
  padding-left: 3.5px;
  white-space: nowrap;
  float: left;
  opacity: 0.7;
}
.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-decorator-right {
  text-overflow: ellipsis;
  overflow: hidden;
  padding-right: 10px;
  white-space: nowrap;
  float: right;
}
.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .visually-hidden {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control {
  flex: 1 1 auto;
  align-self: flex-start;
  opacity: 0;
}
.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control > .width-control-div {
  overflow: hidden;
  max-height: 0px;
}
.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control > .width-control-div > .option-text-width-control {
  padding-left: 4px;
  padding-right: 8px;
  white-space: nowrap;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBox.css */
.monaco-select-box {
  width: 100%;
  cursor: pointer;
  border-radius: 2px;
}
.monaco-select-box-dropdown-container {
  font-size: 13px;
  font-weight: normal;
  text-transform: none;
}
.monaco-action-bar .action-item.select-container {
  cursor: default;
}
.monaco-action-bar .action-item .monaco-select-box {
  cursor: pointer;
  min-width: 100px;
  min-height: 18px;
  padding: 2px 23px 2px 8px;
}
.mac .monaco-action-bar .action-item .monaco-select-box {
  font-size: 11px;
  border-radius: 5px;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.css */
.monaco-action-bar {
  white-space: nowrap;
  height: 100%;
}
.monaco-action-bar .actions-container {
  display: flex;
  margin: 0 auto;
  padding: 0;
  height: 100%;
  width: 100%;
  align-items: center;
}
.monaco-action-bar.vertical .actions-container {
  display: inline-block;
}
.monaco-action-bar .action-item {
  display: block;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
}
.monaco-action-bar .action-item.disabled {
  cursor: default;
}
.monaco-action-bar .action-item .icon,
.monaco-action-bar .action-item .codicon {
  display: block;
}
.monaco-action-bar .action-item .codicon {
  display: flex;
  align-items: center;
  width: 16px;
  height: 16px;
}
.monaco-action-bar .action-label {
  display: flex;
  font-size: 11px;
  padding: 3px;
  border-radius: 5px;
}
.monaco-action-bar .action-item.disabled .action-label,
.monaco-action-bar .action-item.disabled .action-label::before,
.monaco-action-bar .action-item.disabled .action-label:hover {
  color: var(--vscode-disabledForeground);
}
.monaco-action-bar.vertical {
  text-align: left;
}
.monaco-action-bar.vertical .action-item {
  display: block;
}
.monaco-action-bar.vertical .action-label.separator {
  display: block;
  border-bottom: 1px solid #bbb;
  padding-top: 1px;
  margin-left: .8em;
  margin-right: .8em;
}
.monaco-action-bar .action-item .action-label.separator {
  width: 1px;
  height: 16px;
  margin: 5px 4px !important;
  cursor: default;
  min-width: 1px;
  padding: 0;
  background-color: #bbb;
}
.secondary-actions .monaco-action-bar .action-label {
  margin-left: 6px;
}
.monaco-action-bar .action-item.select-container {
  overflow: hidden;
  flex: 1;
  max-width: 170px;
  min-width: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
}
.monaco-action-bar .action-item.action-dropdown-item {
  display: flex;
}
.monaco-action-bar .action-item.action-dropdown-item > .action-dropdown-item-separator {
  display: flex;
  align-items: center;
  cursor: default;
}
.monaco-action-bar .action-item.action-dropdown-item > .action-dropdown-item-separator > div {
  width: 1px;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.css */
.monaco-dropdown {
  height: 100%;
  padding: 0;
}
.monaco-dropdown > .dropdown-label {
  cursor: pointer;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.monaco-dropdown > .dropdown-label > .action-label.disabled {
  cursor: default;
}
.monaco-dropdown-with-primary {
  display: flex !important;
  flex-direction: row;
  border-radius: 5px;
}
.monaco-dropdown-with-primary > .action-container > .action-label {
  margin-right: 0;
}
.monaco-dropdown-with-primary > .dropdown-action-container > .monaco-dropdown > .dropdown-label .codicon[class*=codicon-] {
  font-size: 12px;
  padding-left: 0px;
  padding-right: 0px;
  line-height: 16px;
  margin-left: -3px;
}
.monaco-dropdown-with-primary > .dropdown-action-container > .monaco-dropdown > .dropdown-label > .action-label {
  display: block;
  background-size: 16px;
  background-position: center center;
  background-repeat: no-repeat;
}

/* node_modules/monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.css */
.monaco-action-bar .action-item.menu-entry .action-label.icon {
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 16px;
}
.monaco-dropdown-with-default {
  display: flex !important;
  flex-direction: row;
  border-radius: 5px;
}
.monaco-dropdown-with-default > .action-container > .action-label {
  margin-right: 0;
}
.monaco-dropdown-with-default > .action-container.menu-entry > .action-label.icon {
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 16px;
}
.monaco-dropdown-with-default:hover {
  background-color: var(--vscode-toolbar-hoverBackground);
}
.monaco-dropdown-with-default > .dropdown-action-container > .monaco-dropdown > .dropdown-label .codicon[class*=codicon-] {
  font-size: 12px;
  padding-left: 0px;
  padding-right: 0px;
  line-height: 16px;
  margin-left: -3px;
}
.monaco-dropdown-with-default > .dropdown-action-container > .monaco-dropdown > .dropdown-label > .action-label {
  display: block;
  background-size: 16px;
  background-position: center center;
  background-repeat: no-repeat;
}

/* node_modules/monaco-editor/esm/vs/editor/standalone/browser/quickInput/standaloneQuickInput.css */
.quick-input-widget {
  font-size: 13px;
}
.quick-input-widget .monaco-highlighted-label .highlight,
.quick-input-widget .monaco-highlighted-label .highlight {
  color: #0066BF;
}
.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight,
.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight {
  color: #9DDDFF;
}
.vs-dark .quick-input-widget .monaco-highlighted-label .highlight,
.vs-dark .quick-input-widget .monaco-highlighted-label .highlight {
  color: #0097fb;
}
.hc-black .quick-input-widget .monaco-highlighted-label .highlight,
.hc-black .quick-input-widget .monaco-highlighted-label .highlight {
  color: #F38518;
}
.hc-light .quick-input-widget .monaco-highlighted-label .highlight,
.hc-light .quick-input-widget .monaco-highlighted-label .highlight {
  color: #0F4A85;
}
.monaco-keybinding > .monaco-keybinding-key {
  background-color: rgba(221, 221, 221, 0.4);
  border: solid 1px rgba(204, 204, 204, 0.4);
  border-bottom-color: rgba(187, 187, 187, 0.4);
  box-shadow: inset 0 -1px 0 rgba(187, 187, 187, 0.4);
  color: #555;
}
.hc-black .monaco-keybinding > .monaco-keybinding-key {
  background-color: transparent;
  border: solid 1px rgb(111, 195, 223);
  box-shadow: none;
  color: #fff;
}
.hc-light .monaco-keybinding > .monaco-keybinding-key {
  background-color: transparent;
  border: solid 1px #0F4A85;
  box-shadow: none;
  color: #292929;
}
.vs-dark .monaco-keybinding > .monaco-keybinding-key {
  background-color: rgba(128, 128, 128, 0.17);
  border: solid 1px rgba(51, 51, 51, 0.6);
  border-bottom-color: rgba(68, 68, 68, 0.6);
  box-shadow: inset 0 -1px 0 rgba(68, 68, 68, 0.6);
  color: #ccc;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.css */
.monaco-custom-toggle {
  margin-left: 2px;
  float: left;
  cursor: pointer;
  overflow: hidden;
  width: 20px;
  height: 20px;
  border-radius: 3px;
  border: 1px solid transparent;
  padding: 1px;
  box-sizing: border-box;
  user-select: none;
  -webkit-user-select: none;
}
.monaco-custom-toggle:hover {
  background-color: var(--vscode-inputOption-hoverBackground);
}
.hc-black .monaco-custom-toggle:hover,
.hc-light .monaco-custom-toggle:hover {
  border: 1px dashed var(--vscode-focusBorder);
}
.hc-black .monaco-custom-toggle,
.hc-light .monaco-custom-toggle {
  background: none;
}
.hc-black .monaco-custom-toggle:hover,
.hc-light .monaco-custom-toggle:hover {
  background: none;
}
.monaco-custom-toggle.monaco-checkbox {
  height: 18px;
  width: 18px;
  border: 1px solid transparent;
  border-radius: 3px;
  margin-right: 9px;
  margin-left: 0px;
  padding: 0px;
  opacity: 1;
  background-size: 16px !important;
}
.monaco-action-bar .checkbox-action-item {
  display: flex;
  align-items: center;
}
.monaco-action-bar .checkbox-action-item > .monaco-custom-toggle.monaco-checkbox {
  margin-right: 4px;
}
.monaco-action-bar .checkbox-action-item > .checkbox-label {
  font-size: 12px;
}
.monaco-custom-toggle.monaco-checkbox:not(.checked)::before {
  visibility: hidden;
}

/* node_modules/monaco-editor/esm/vs/platform/quickinput/browser/media/quickInput.css */
.quick-input-widget {
  position: absolute;
  width: 600px;
  z-index: 2550;
  left: 50%;
  margin-left: -300px;
  -webkit-app-region: no-drag;
  border-radius: 6px;
}
.quick-input-titlebar {
  display: flex;
  align-items: center;
  border-radius: inherit;
}
.quick-input-left-action-bar {
  display: flex;
  margin-left: 4px;
  flex: 1;
}
.quick-input-title {
  padding: 3px 0px;
  text-align: center;
  text-overflow: ellipsis;
  overflow: hidden;
}
.quick-input-right-action-bar {
  display: flex;
  margin-right: 4px;
  flex: 1;
}
.quick-input-right-action-bar > .actions-container {
  justify-content: flex-end;
}
.quick-input-titlebar .monaco-action-bar .action-label.codicon {
  background-position: center;
  background-repeat: no-repeat;
  padding: 2px;
}
.quick-input-description {
  margin: 6px 6px 6px 11px;
}
.quick-input-header .quick-input-description {
  margin: 4px 2px;
  flex: 1;
}
.quick-input-header {
  display: flex;
  padding: 8px 6px 2px 6px;
}
.quick-input-widget.hidden-input .quick-input-header {
  padding: 0;
  margin-bottom: 0;
}
.quick-input-and-message {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  min-width: 0;
  position: relative;
}
.quick-input-check-all {
  align-self: center;
  margin: 0;
}
.quick-input-filter {
  flex-grow: 1;
  display: flex;
  position: relative;
}
.quick-input-box {
  flex-grow: 1;
}
.quick-input-widget.show-checkboxes .quick-input-box,
.quick-input-widget.show-checkboxes .quick-input-message {
  margin-left: 5px;
}
.quick-input-visible-count {
  position: absolute;
  left: -10000px;
}
.quick-input-count {
  align-self: center;
  position: absolute;
  right: 4px;
  display: flex;
  align-items: center;
}
.quick-input-count .monaco-count-badge {
  vertical-align: middle;
  padding: 2px 4px;
  border-radius: 2px;
  min-height: auto;
  line-height: normal;
}
.quick-input-action {
  margin-left: 6px;
}
.quick-input-action .monaco-text-button {
  font-size: 11px;
  padding: 0 6px;
  display: flex;
  height: 25px;
  align-items: center;
}
.quick-input-message {
  margin-top: -1px;
  padding: 5px;
  overflow-wrap: break-word;
}
.quick-input-message > .codicon {
  margin: 0 0.2em;
  vertical-align: text-bottom;
}
.quick-input-message a {
  color: inherit;
}
.quick-input-progress.monaco-progress-container {
  position: relative;
}
.quick-input-list {
  line-height: 22px;
}
.quick-input-widget.hidden-input .quick-input-list {
  margin-top: 4px;
  padding-bottom: 4px;
}
.quick-input-list .monaco-list {
  overflow: hidden;
  max-height: calc(20 * 22px);
  padding-bottom: 5px;
}
.quick-input-list .monaco-scrollable-element {
  padding: 0px 5px;
}
.quick-input-list .quick-input-list-entry {
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  height: 100%;
  padding: 0 6px;
}
.quick-input-list .quick-input-list-entry.quick-input-list-separator-border {
  border-top-width: 1px;
  border-top-style: solid;
}
.quick-input-list .monaco-list-row {
  border-radius: 3px;
}
.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border {
  border-top-style: none;
}
.quick-input-list .quick-input-list-label {
  overflow: hidden;
  display: flex;
  height: 100%;
  flex: 1;
}
.quick-input-list .quick-input-list-checkbox {
  align-self: center;
  margin: 0;
}
.quick-input-list .quick-input-list-icon {
  background-size: 16px;
  background-position: left center;
  background-repeat: no-repeat;
  padding-right: 6px;
  width: 16px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.quick-input-list .quick-input-list-rows {
  overflow: hidden;
  text-overflow: ellipsis;
  display: flex;
  flex-direction: column;
  height: 100%;
  flex: 1;
  margin-left: 5px;
}
.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows {
  margin-left: 10px;
}
.quick-input-widget .quick-input-list .quick-input-list-checkbox {
  display: none;
}
.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox {
  display: inline;
}
.quick-input-list .quick-input-list-rows > .quick-input-list-row {
  display: flex;
  align-items: center;
}
.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label,
.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label .monaco-icon-label-container > .monaco-icon-name-container {
  flex: 1;
}
.quick-input-list .quick-input-list-rows > .quick-input-list-row .codicon[class*=codicon-] {
  vertical-align: text-bottom;
}
.quick-input-list .quick-input-list-rows .monaco-highlighted-label > span {
  opacity: 1;
}
.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding {
  margin-right: 8px;
}
.quick-input-list .quick-input-list-label-meta {
  opacity: 0.7;
  line-height: normal;
  text-overflow: ellipsis;
  overflow: hidden;
}
.quick-input-list .monaco-list .monaco-list-row .monaco-highlighted-label .highlight {
  font-weight: bold;
  background-color: unset;
  color: var(--vscode-list-highlightForeground) !important;
}
.quick-input-list .monaco-list .monaco-list-row.focused .monaco-highlighted-label .highlight {
  color: var(--vscode-list-focusHighlightForeground) !important;
}
.quick-input-list .quick-input-list-entry .quick-input-list-separator {
  margin-right: 4px;
}
.quick-input-list .quick-input-list-entry-action-bar {
  display: flex;
  flex: 0;
  overflow: visible;
}
.quick-input-list .quick-input-list-entry-action-bar .action-label {
  display: none;
}
.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon {
  margin-right: 4px;
  padding: 0px 2px 2px 2px;
}
.quick-input-list .quick-input-list-entry-action-bar {
  margin-top: 1px;
}
.quick-input-list .quick-input-list-entry-action-bar {
  margin-right: 4px;
}
.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,
.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,
.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .action-label,
.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,
.quick-input-list .monaco-list-row.passive-focused .quick-input-list-entry-action-bar .action-label {
  display: flex;
}
.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,
.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator {
  color: inherit;
}
.quick-input-list .monaco-list-row.focused .monaco-keybinding-key {
  background: none;
}
.quick-input-list .quick-input-list-separator-as-item {
  padding: 4px 6px;
  font-size: 12px;
}
.quick-input-list .quick-input-list-separator-as-item .label-name {
  font-weight: 600;
}
.quick-input-list .quick-input-list-separator-as-item .label-description {
  opacity: 1 !important;
}
.quick-input-list .monaco-tree-sticky-row .quick-input-list-entry.quick-input-list-separator-as-item.quick-input-list-separator-border {
  border-top-style: none;
}
.quick-input-list .monaco-tree-sticky-row {
  padding: 0 5px;
}
.quick-input-list .monaco-tl-twistie {
  display: none !important;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.css */
.monaco-text-button {
  box-sizing: border-box;
  display: flex;
  width: 100%;
  padding: 4px;
  border-radius: 2px;
  text-align: center;
  cursor: pointer;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--vscode-button-border, transparent);
  line-height: 18px;
}
.monaco-text-button:focus {
  outline-offset: 2px !important;
}
.monaco-text-button:hover {
  text-decoration: none !important;
}
.monaco-button.disabled:focus,
.monaco-button.disabled {
  opacity: 0.4 !important;
  cursor: default;
}
.monaco-text-button .codicon {
  margin: 0 0.2em;
  color: inherit !important;
}
.monaco-text-button.monaco-text-button-with-short-label {
  flex-direction: row;
  flex-wrap: wrap;
  padding: 0 4px;
  overflow: hidden;
  height: 28px;
}
.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label {
  flex-basis: 100%;
}
.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label-short {
  flex-grow: 1;
  width: 0;
  overflow: hidden;
}
.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label,
.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label-short {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: normal;
  font-style: inherit;
  padding: 4px 0;
}
.monaco-button-dropdown {
  display: flex;
  cursor: pointer;
}
.monaco-button-dropdown.disabled {
  cursor: default;
}
.monaco-button-dropdown > .monaco-button:focus {
  outline-offset: -1px !important;
}
.monaco-button-dropdown.disabled > .monaco-button.disabled,
.monaco-button-dropdown.disabled > .monaco-button.disabled:focus,
.monaco-button-dropdown.disabled > .monaco-button-dropdown-separator {
  opacity: 0.4 !important;
}
.monaco-button-dropdown > .monaco-button.monaco-text-button {
  border-right-width: 0 !important;
}
.monaco-button-dropdown .monaco-button-dropdown-separator {
  padding: 4px 0;
  cursor: default;
}
.monaco-button-dropdown .monaco-button-dropdown-separator > div {
  height: 100%;
  width: 1px;
}
.monaco-button-dropdown > .monaco-button.monaco-dropdown-button {
  border: 1px solid var(--vscode-button-border, transparent);
  border-left-width: 0 !important;
  border-radius: 0 2px 2px 0;
  display: flex;
  align-items: center;
}
.monaco-button-dropdown > .monaco-button.monaco-text-button {
  border-radius: 2px 0 0 2px;
}
.monaco-description-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 4px 5px;
}
.monaco-description-button .monaco-button-description {
  font-style: italic;
  font-size: 11px;
  padding: 4px 20px;
}
.monaco-description-button .monaco-button-label,
.monaco-description-button .monaco-button-description {
  display: flex;
  justify-content: center;
  align-items: center;
}
.monaco-description-button .monaco-button-label > .codicon,
.monaco-description-button .monaco-button-description > .codicon {
  margin: 0 0.2em;
  color: inherit !important;
}
.monaco-button.default-colors,
.monaco-button-dropdown.default-colors > .monaco-button {
  color: var(--vscode-button-foreground);
  background-color: var(--vscode-button-background);
}
.monaco-button.default-colors:hover,
.monaco-button-dropdown.default-colors > .monaco-button:hover {
  background-color: var(--vscode-button-hoverBackground);
}
.monaco-button.default-colors.secondary,
.monaco-button-dropdown.default-colors > .monaco-button.secondary {
  color: var(--vscode-button-secondaryForeground);
  background-color: var(--vscode-button-secondaryBackground);
}
.monaco-button.default-colors.secondary:hover,
.monaco-button-dropdown.default-colors > .monaco-button.secondary:hover {
  background-color: var(--vscode-button-secondaryHoverBackground);
}
.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator {
  background-color: var(--vscode-button-background);
  border-top: 1px solid var(--vscode-button-border);
  border-bottom: 1px solid var(--vscode-button-border);
}
.monaco-button-dropdown.default-colors .monaco-button.secondary + .monaco-button-dropdown-separator {
  background-color: var(--vscode-button-secondaryBackground);
}
.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator > div {
  background-color: var(--vscode-button-separator);
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.css */
.monaco-count-badge {
  padding: 3px 6px;
  border-radius: 11px;
  font-size: 11px;
  min-width: 18px;
  min-height: 18px;
  line-height: 11px;
  font-weight: normal;
  text-align: center;
  display: inline-block;
  box-sizing: border-box;
}
.monaco-count-badge.long {
  padding: 2px 3px;
  border-radius: 2px;
  min-height: auto;
  line-height: normal;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.css */
.monaco-progress-container {
  width: 100%;
  height: 2px;
  overflow: hidden;
}
.monaco-progress-container .progress-bit {
  width: 2%;
  height: 2px;
  position: absolute;
  left: 0;
  display: none;
}
.monaco-progress-container.active .progress-bit {
  display: inherit;
}
.monaco-progress-container.discrete .progress-bit {
  left: 0;
  transition: width 100ms linear;
}
.monaco-progress-container.discrete.done .progress-bit {
  width: 100%;
}
.monaco-progress-container.infinite .progress-bit {
  animation-name: progress;
  animation-duration: 4s;
  animation-iteration-count: infinite;
  transform: translate3d(0px, 0px, 0px);
  animation-timing-function: linear;
}
.monaco-progress-container.infinite.infinite-long-running .progress-bit {
  animation-timing-function: steps(100);
}
@keyframes progress {
  from {
    transform: translateX(0%) scaleX(1);
  }
  50% {
    transform: translateX(2500%) scaleX(3);
  }
  to {
    transform: translateX(4900%) scaleX(1);
  }
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.css */
.monaco-inputbox {
  position: relative;
  display: block;
  padding: 0;
  box-sizing: border-box;
  border-radius: 2px;
  font-size: inherit;
}
.monaco-inputbox > .ibwrapper > .input,
.monaco-inputbox > .ibwrapper > .mirror {
  padding: 4px 6px;
}
.monaco-inputbox > .ibwrapper {
  position: relative;
  width: 100%;
  height: 100%;
}
.monaco-inputbox > .ibwrapper > .input {
  display: inline-block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  line-height: inherit;
  border: none;
  font-family: inherit;
  font-size: inherit;
  resize: none;
  color: inherit;
}
.monaco-inputbox > .ibwrapper > input {
  text-overflow: ellipsis;
}
.monaco-inputbox > .ibwrapper > textarea.input {
  display: block;
  scrollbar-width: none;
  outline: none;
}
.monaco-inputbox > .ibwrapper > textarea.input::-webkit-scrollbar {
  display: none;
}
.monaco-inputbox > .ibwrapper > textarea.input.empty {
  white-space: nowrap;
}
.monaco-inputbox > .ibwrapper > .mirror {
  position: absolute;
  display: inline-block;
  width: 100%;
  top: 0;
  left: 0;
  box-sizing: border-box;
  white-space: pre-wrap;
  visibility: hidden;
  word-wrap: break-word;
}
.monaco-inputbox-container {
  text-align: right;
}
.monaco-inputbox-container .monaco-inputbox-message {
  display: inline-block;
  overflow: hidden;
  text-align: left;
  width: 100%;
  box-sizing: border-box;
  padding: 0.4em;
  font-size: 12px;
  line-height: 17px;
  margin-top: -1px;
  word-wrap: break-word;
}
.monaco-inputbox .monaco-action-bar {
  position: absolute;
  right: 2px;
  top: 4px;
}
.monaco-inputbox .monaco-action-bar .action-item {
  margin-left: 2px;
}
.monaco-inputbox .monaco-action-bar .action-item .codicon {
  background-repeat: no-repeat;
  width: 16px;
  height: 16px;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.css */
.monaco-findInput {
  position: relative;
}
.monaco-findInput .monaco-inputbox {
  font-size: 13px;
  width: 100%;
}
.monaco-findInput > .controls {
  position: absolute;
  top: 3px;
  right: 2px;
}
.vs .monaco-findInput.disabled {
  background-color: #E1E1E1;
}
.vs-dark .monaco-findInput.disabled {
  background-color: #333;
}
.monaco-findInput.highlight-0 .controls,
.hc-light .monaco-findInput.highlight-0 .controls {
  animation: monaco-findInput-highlight-0 100ms linear 0s;
}
.monaco-findInput.highlight-1 .controls,
.hc-light .monaco-findInput.highlight-1 .controls {
  animation: monaco-findInput-highlight-1 100ms linear 0s;
}
.hc-black .monaco-findInput.highlight-0 .controls,
.vs-dark .monaco-findInput.highlight-0 .controls {
  animation: monaco-findInput-highlight-dark-0 100ms linear 0s;
}
.hc-black .monaco-findInput.highlight-1 .controls,
.vs-dark .monaco-findInput.highlight-1 .controls {
  animation: monaco-findInput-highlight-dark-1 100ms linear 0s;
}
@keyframes monaco-findInput-highlight-0 {
  0% {
    background: rgba(253, 255, 0, 0.8);
  }
  100% {
    background: transparent;
  }
}
@keyframes monaco-findInput-highlight-1 {
  0% {
    background: rgba(253, 255, 0, 0.8);
  }
  99% {
    background: transparent;
  }
}
@keyframes monaco-findInput-highlight-dark-0 {
  0% {
    background: rgba(255, 255, 255, 0.44);
  }
  100% {
    background: transparent;
  }
}
@keyframes monaco-findInput-highlight-dark-1 {
  0% {
    background: rgba(255, 255, 255, 0.44);
  }
  99% {
    background: transparent;
  }
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.css */
:root {
  --vscode-sash-size: 4px;
  --vscode-sash-hover-size: 4px;
}
.monaco-sash {
  position: absolute;
  z-index: 35;
  touch-action: none;
}
.monaco-sash.disabled {
  pointer-events: none;
}
.monaco-sash.mac.vertical {
  cursor: col-resize;
}
.monaco-sash.vertical.minimum {
  cursor: e-resize;
}
.monaco-sash.vertical.maximum {
  cursor: w-resize;
}
.monaco-sash.mac.horizontal {
  cursor: row-resize;
}
.monaco-sash.horizontal.minimum {
  cursor: s-resize;
}
.monaco-sash.horizontal.maximum {
  cursor: n-resize;
}
.monaco-sash.disabled {
  cursor: default !important;
  pointer-events: none !important;
}
.monaco-sash.vertical {
  cursor: ew-resize;
  top: 0;
  width: var(--vscode-sash-size);
  height: 100%;
}
.monaco-sash.horizontal {
  cursor: ns-resize;
  left: 0;
  width: 100%;
  height: var(--vscode-sash-size);
}
.monaco-sash:not(.disabled) > .orthogonal-drag-handle {
  content: " ";
  height: calc(var(--vscode-sash-size) * 2);
  width: calc(var(--vscode-sash-size) * 2);
  z-index: 100;
  display: block;
  cursor: all-scroll;
  position: absolute;
}
.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled) > .orthogonal-drag-handle.start,
.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled) > .orthogonal-drag-handle.end {
  cursor: nwse-resize;
}
.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled) > .orthogonal-drag-handle.end,
.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled) > .orthogonal-drag-handle.start {
  cursor: nesw-resize;
}
.monaco-sash.vertical > .orthogonal-drag-handle.start {
  left: calc(var(--vscode-sash-size) * -0.5);
  top: calc(var(--vscode-sash-size) * -1);
}
.monaco-sash.vertical > .orthogonal-drag-handle.end {
  left: calc(var(--vscode-sash-size) * -0.5);
  bottom: calc(var(--vscode-sash-size) * -1);
}
.monaco-sash.horizontal > .orthogonal-drag-handle.start {
  top: calc(var(--vscode-sash-size) * -0.5);
  left: calc(var(--vscode-sash-size) * -1);
}
.monaco-sash.horizontal > .orthogonal-drag-handle.end {
  top: calc(var(--vscode-sash-size) * -0.5);
  right: calc(var(--vscode-sash-size) * -1);
}
.monaco-sash:before {
  content: "";
  pointer-events: none;
  position: absolute;
  width: 100%;
  height: 100%;
  background: transparent;
}
.monaco-workbench:not(.reduce-motion) .monaco-sash:before {
  transition: background-color 0.1s ease-out;
}
.monaco-sash.hover:before,
.monaco-sash.active:before {
  background: var(--vscode-sash-hoverBorder);
}
.monaco-sash.vertical:before {
  width: var(--vscode-sash-hover-size);
  left: calc(50% - (var(--vscode-sash-hover-size) / 2));
}
.monaco-sash.horizontal:before {
  height: var(--vscode-sash-hover-size);
  top: calc(50% - (var(--vscode-sash-hover-size) / 2));
}
.pointer-events-disabled {
  pointer-events: none !important;
}
.monaco-sash.debug {
  background: cyan;
}
.monaco-sash.debug.disabled {
  background: rgba(0, 255, 255, 0.2);
}
.monaco-sash.debug:not(.disabled) > .orthogonal-drag-handle {
  background: red;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.css */
.monaco-split-view2 {
  position: relative;
  width: 100%;
  height: 100%;
}
.monaco-split-view2 > .sash-container {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.monaco-split-view2 > .sash-container > .monaco-sash {
  pointer-events: initial;
}
.monaco-split-view2 > .monaco-scrollable-element {
  width: 100%;
  height: 100%;
}
.monaco-split-view2 > .monaco-scrollable-element > .split-view-container {
  width: 100%;
  height: 100%;
  white-space: nowrap;
  position: relative;
}
.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view {
  white-space: initial;
  position: absolute;
}
.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view:not(.visible) {
  display: none;
}
.monaco-split-view2.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view {
  width: 100%;
}
.monaco-split-view2.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view {
  height: 100%;
}
.monaco-split-view2.separator-border > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  pointer-events: none;
  background-color: var(--separator-border);
}
.monaco-split-view2.separator-border.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {
  height: 100%;
  width: 1px;
}
.monaco-split-view2.separator-border.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {
  height: 1px;
  width: 100%;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/table/table.css */
.monaco-table {
  display: flex;
  flex-direction: column;
  position: relative;
  height: 100%;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.monaco-table > .monaco-split-view2 {
  border-bottom: 1px solid transparent;
}
.monaco-table > .monaco-list {
  flex: 1;
}
.monaco-table-tr {
  display: flex;
  height: 100%;
}
.monaco-table-th {
  width: 100%;
  height: 100%;
  font-weight: bold;
  overflow: hidden;
  text-overflow: ellipsis;
}
.monaco-table-th,
.monaco-table-td {
  box-sizing: border-box;
  flex-shrink: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {
  content: "";
  position: absolute;
  left: calc(var(--vscode-sash-size) / 2);
  width: 0;
  border-left: 1px solid transparent;
}
.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,
.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {
  transition: border-color 0.2s ease-out;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/tree/media/tree.css */
.monaco-tl-row {
  display: flex;
  height: 100%;
  align-items: center;
  position: relative;
}
.monaco-tl-row.disabled {
  cursor: default;
}
.monaco-tl-indent {
  height: 100%;
  position: absolute;
  top: 0;
  left: 16px;
  pointer-events: none;
}
.hide-arrows .monaco-tl-indent {
  left: 12px;
}
.monaco-tl-indent > .indent-guide {
  display: inline-block;
  box-sizing: border-box;
  height: 100%;
  border-left: 1px solid transparent;
}
.monaco-workbench:not(.reduce-motion) .monaco-tl-indent > .indent-guide {
  transition: border-color 0.1s linear;
}
.monaco-tl-twistie,
.monaco-tl-contents {
  height: 100%;
}
.monaco-tl-twistie {
  font-size: 10px;
  text-align: right;
  padding-right: 6px;
  flex-shrink: 0;
  width: 16px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  transform: translateX(3px);
}
.monaco-tl-contents {
  flex: 1;
  overflow: hidden;
}
.monaco-tl-twistie::before {
  border-radius: 20px;
}
.monaco-tl-twistie.collapsed::before {
  transform: rotate(-90deg);
}
.monaco-tl-twistie.codicon-tree-item-loading::before {
  animation: codicon-spin 1.25s steps(30) infinite;
}
.monaco-tree-type-filter {
  position: absolute;
  top: 0;
  display: flex;
  padding: 3px;
  max-width: 200px;
  z-index: 100;
  margin: 0 6px;
  border: 1px solid var(--vscode-widget-border);
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}
.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter {
  transition: top 0.3s;
}
.monaco-tree-type-filter.disabled {
  top: -40px !important;
}
.monaco-tree-type-filter-grab {
  display: flex !important;
  align-items: center;
  justify-content: center;
  cursor: grab;
  margin-right: 2px;
}
.monaco-tree-type-filter-grab.grabbing {
  cursor: grabbing;
}
.monaco-tree-type-filter-input {
  flex: 1;
}
.monaco-tree-type-filter-input .monaco-inputbox {
  height: 23px;
}
.monaco-tree-type-filter-input .monaco-inputbox > .ibwrapper > .input,
.monaco-tree-type-filter-input .monaco-inputbox > .ibwrapper > .mirror {
  padding: 2px 4px;
}
.monaco-tree-type-filter-input .monaco-findInput > .controls {
  top: 2px;
}
.monaco-tree-type-filter-actionbar {
  margin-left: 4px;
}
.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label {
  padding: 2px;
}
.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  z-index: 13;
  background-color: var(--vscode-sideBar-background);
}
.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row {
  position: absolute;
  width: 100%;
  opacity: 1 !important;
  overflow: hidden;
  background-color: var(--vscode-sideBar-background);
}
.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover {
  background-color: var(--vscode-list-hoverBackground) !important;
  cursor: pointer;
}
.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,
.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow {
  display: none;
}
.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow {
  position: absolute;
  bottom: -3px;
  left: 0px;
  height: 0px;
  width: 100%;
}
.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex="0"]:focus {
  outline: none;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconlabel.css */
.monaco-icon-label {
  display: flex;
  overflow: hidden;
  text-overflow: ellipsis;
}
.monaco-icon-label::before {
  background-size: 16px;
  background-position: left center;
  background-repeat: no-repeat;
  padding-right: 6px;
  width: 16px;
  height: 22px;
  line-height: inherit !important;
  display: inline-block;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: top;
  flex-shrink: 0;
}
.monaco-icon-label-iconpath {
  width: 16px;
  height: 16px;
  padding-left: 2px;
  margin-top: 2px;
  display: flex;
}
.monaco-icon-label-container.disabled {
  color: var(--vscode-disabledForeground);
}
.monaco-icon-label > .monaco-icon-label-container {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
}
.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name {
  color: inherit;
  white-space: pre;
}
.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name > .label-separator {
  margin: 0 2px;
  opacity: 0.5;
}
.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-suffix-container > .label-suffix {
  opacity: .7;
  white-space: pre;
}
.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
  opacity: .7;
  margin-left: 0.5em;
  font-size: 0.9em;
  white-space: pre;
}
.monaco-icon-label.nowrap > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
  white-space: nowrap;
}
.vs .monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
  opacity: .95;
}
.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,
.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
  font-style: italic;
}
.monaco-icon-label.deprecated {
  text-decoration: line-through;
  opacity: 0.66;
}
.monaco-icon-label.italic::after {
  font-style: italic;
}
.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,
.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
  text-decoration: line-through;
}
.monaco-icon-label::after {
  opacity: 0.75;
  font-size: 90%;
  font-weight: 600;
  margin: auto 16px 0 5px;
  text-align: center;
}
.monaco-list:focus .selected .monaco-icon-label,
.monaco-list:focus .selected .monaco-icon-label::after {
  color: inherit !important;
}
.monaco-list-row.focused.selected .label-description,
.monaco-list-row.selected .label-description {
  opacity: .8;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.css */
.monaco-keybinding {
  display: flex;
  align-items: center;
  line-height: 10px;
}
.monaco-keybinding > .monaco-keybinding-key {
  display: inline-block;
  border-style: solid;
  border-width: 1px;
  border-radius: 3px;
  vertical-align: middle;
  font-size: 11px;
  padding: 3px 5px;
  margin: 0 2px;
}
.monaco-keybinding > .monaco-keybinding-key:first-child {
  margin-left: 0;
}
.monaco-keybinding > .monaco-keybinding-key:last-child {
  margin-right: 0;
}
.monaco-keybinding > .monaco-keybinding-key-separator {
  display: inline-block;
}
.monaco-keybinding > .monaco-keybinding-key-chord-separator {
  width: 6px;
}

/* node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/style.css */
.monaco-editor .diff-hidden-lines-widget {
  width: 100%;
}
.monaco-editor .diff-hidden-lines {
  height: 0px;
  transform: translate(0px, -10px);
  font-size: 13px;
  line-height: 14px;
}
.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,
.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,
.monaco-editor .diff-hidden-lines .top.dragging,
.monaco-editor .diff-hidden-lines .bottom.dragging {
  background-color: var(--vscode-focusBorder);
}
.monaco-editor .diff-hidden-lines .top,
.monaco-editor .diff-hidden-lines .bottom {
  transition: background-color 0.1s ease-out;
  height: 4px;
  background-color: transparent;
  background-clip: padding-box;
  border-bottom: 2px solid transparent;
  border-top: 4px solid transparent;
}
.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *,
.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),
.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom) {
  cursor: n-resize !important;
}
.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *,
.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,
.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom {
  cursor: s-resize !important;
}
.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *,
.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,
.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom {
  cursor: ns-resize !important;
}
.monaco-editor .diff-hidden-lines .top {
  transform: translate(0px, 4px);
}
.monaco-editor .diff-hidden-lines .bottom {
  transform: translate(0px, -6px);
}
.monaco-editor .diff-unchanged-lines {
  background: var(--vscode-diffEditor-unchangedCodeBackground);
}
.monaco-editor .noModificationsOverlay {
  z-index: 1;
  background: var(--vscode-editor-background);
  display: flex;
  justify-content: center;
  align-items: center;
}
.monaco-editor .diff-hidden-lines .center {
  background: var(--vscode-diffEditor-unchangedRegionBackground);
  color: var(--vscode-diffEditor-unchangedRegionForeground);
  overflow: hidden;
  display: block;
  text-overflow: ellipsis;
  white-space: nowrap;
  height: 24px;
  box-shadow: inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow), inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow);
}
.monaco-editor .diff-hidden-lines .center span.codicon {
  vertical-align: middle;
}
.monaco-editor .diff-hidden-lines .center a:hover .codicon {
  cursor: pointer;
  color: var(--vscode-editorLink-activeForeground) !important;
}
.monaco-editor .diff-hidden-lines div.breadcrumb-item {
  cursor: pointer;
}
.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover {
  color: var(--vscode-editorLink-activeForeground);
}
.monaco-editor .movedOriginal {
  border: 2px solid var(--vscode-diffEditor-move-border);
}
.monaco-editor .movedModified {
  border: 2px solid var(--vscode-diffEditor-move-border);
}
.monaco-editor .movedOriginal.currentMove,
.monaco-editor .movedModified.currentMove {
  border: 2px solid var(--vscode-diffEditor-moveActive-border);
}
.monaco-diff-editor .moved-blocks-lines path.currentMove {
  stroke: var(--vscode-diffEditor-moveActive-border);
}
.monaco-diff-editor .moved-blocks-lines path {
  pointer-events: visiblestroke;
}
.monaco-diff-editor .moved-blocks-lines .arrow {
  fill: var(--vscode-diffEditor-move-border);
}
.monaco-diff-editor .moved-blocks-lines .arrow.currentMove {
  fill: var(--vscode-diffEditor-moveActive-border);
}
.monaco-diff-editor .moved-blocks-lines .arrow-rectangle {
  fill: var(--vscode-editor-background);
}
.monaco-diff-editor .moved-blocks-lines {
  position: absolute;
  pointer-events: none;
}
.monaco-diff-editor .moved-blocks-lines path {
  fill: none;
  stroke: var(--vscode-diffEditor-move-border);
  stroke-width: 2;
}
.monaco-editor .char-delete.diff-range-empty {
  margin-left: -1px;
  border-left: solid var(--vscode-diffEditor-removedTextBackground) 3px;
}
.monaco-editor .char-insert.diff-range-empty {
  border-left: solid var(--vscode-diffEditor-insertedTextBackground) 3px;
}
.monaco-editor .fold-unchanged {
  cursor: pointer;
}
.monaco-diff-editor .diff-moved-code-block {
  display: flex;
  justify-content: flex-end;
  margin-top: -4px;
}
.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon {
  width: 12px;
  height: 12px;
  font-size: 12px;
}
.monaco-diff-editor .diffOverview {
  z-index: 9;
}
.monaco-diff-editor .diffOverview .diffViewport {
  z-index: 10;
}
.monaco-diff-editor.vs .diffOverview {
  background: rgba(0, 0, 0, 0.03);
}
.monaco-diff-editor.vs-dark .diffOverview {
  background: rgba(255, 255, 255, 0.01);
}
.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar {
  background: rgba(0, 0, 0, 0);
}
.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar {
  background: rgba(0, 0, 0, 0);
}
.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar {
  background: none;
}
.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar {
  background: none;
}
.monaco-scrollable-element.modified-in-monaco-diff-editor .slider {
  z-index: 10;
}
.modified-in-monaco-diff-editor .slider.active {
  background: rgba(171, 171, 171, .4);
}
.modified-in-monaco-diff-editor.hc-black .slider.active {
  background: none;
}
.modified-in-monaco-diff-editor.hc-light .slider.active {
  background: none;
}
.monaco-editor .insert-sign,
.monaco-diff-editor .insert-sign,
.monaco-editor .delete-sign,
.monaco-diff-editor .delete-sign {
  font-size: 11px !important;
  opacity: 0.7 !important;
  display: flex !important;
  align-items: center;
}
.monaco-editor.hc-black .insert-sign,
.monaco-diff-editor.hc-black .insert-sign,
.monaco-editor.hc-black .delete-sign,
.monaco-diff-editor.hc-black .delete-sign,
.monaco-editor.hc-light .insert-sign,
.monaco-diff-editor.hc-light .insert-sign,
.monaco-editor.hc-light .delete-sign,
.monaco-diff-editor.hc-light .delete-sign {
  opacity: 1;
}
.monaco-editor .inline-deleted-margin-view-zone {
  text-align: right;
}
.monaco-editor .inline-added-margin-view-zone {
  text-align: right;
}
.monaco-editor .arrow-revert-change {
  z-index: 10;
  position: absolute;
}
.monaco-editor .arrow-revert-change:hover {
  cursor: pointer;
}
.monaco-editor .view-zones .view-lines .view-line span {
  display: inline-block;
}
.monaco-editor .margin-view-zones .lightbulb-glyph:hover {
  cursor: pointer;
}
.monaco-editor .char-insert,
.monaco-diff-editor .char-insert {
  background-color: var(--vscode-diffEditor-insertedTextBackground);
}
.monaco-editor .line-insert,
.monaco-diff-editor .line-insert {
  background-color: var(--vscode-diffEditor-insertedLineBackground, var(--vscode-diffEditor-insertedTextBackground));
}
.monaco-editor .line-insert,
.monaco-editor .char-insert {
  box-sizing: border-box;
  border: 1px solid var(--vscode-diffEditor-insertedTextBorder);
}
.monaco-editor.hc-black .line-insert,
.monaco-editor.hc-light .line-insert,
.monaco-editor.hc-black .char-insert,
.monaco-editor.hc-light .char-insert {
  border-style: dashed;
}
.monaco-editor .line-delete,
.monaco-editor .char-delete {
  box-sizing: border-box;
  border: 1px solid var(--vscode-diffEditor-removedTextBorder);
}
.monaco-editor.hc-black .line-delete,
.monaco-editor.hc-light .line-delete,
.monaco-editor.hc-black .char-delete,
.monaco-editor.hc-light .char-delete {
  border-style: dashed;
}
.monaco-editor .inline-added-margin-view-zone,
.monaco-editor .gutter-insert,
.monaco-diff-editor .gutter-insert {
  background-color: var(--vscode-diffEditorGutter-insertedLineBackground, var(--vscode-diffEditor-insertedLineBackground), var(--vscode-diffEditor-insertedTextBackground));
}
.monaco-editor .char-delete,
.monaco-diff-editor .char-delete {
  background-color: var(--vscode-diffEditor-removedTextBackground);
}
.monaco-editor .line-delete,
.monaco-diff-editor .line-delete {
  background-color: var(--vscode-diffEditor-removedLineBackground, var(--vscode-diffEditor-removedTextBackground));
}
.monaco-editor .inline-deleted-margin-view-zone,
.monaco-editor .gutter-delete,
.monaco-diff-editor .gutter-delete {
  background-color: var(--vscode-diffEditorGutter-removedLineBackground, var(--vscode-diffEditor-removedLineBackground), var(--vscode-diffEditor-removedTextBackground));
}
.monaco-diff-editor.side-by-side .editor.modified {
  box-shadow: -6px 0 5px -5px var(--vscode-scrollbar-shadow);
  border-left: 1px solid var(--vscode-diffEditor-border);
}
.monaco-diff-editor.side-by-side .editor.original {
  box-shadow: 6px 0 5px -5px var(--vscode-scrollbar-shadow);
  border-right: 1px solid var(--vscode-diffEditor-border);
}
.monaco-diff-editor .diffViewport {
  background: var(--vscode-scrollbarSlider-background);
}
.monaco-diff-editor .diffViewport:hover {
  background: var(--vscode-scrollbarSlider-hoverBackground);
}
.monaco-diff-editor .diffViewport:active {
  background: var(--vscode-scrollbarSlider-activeBackground);
}
.monaco-editor .diagonal-fill {
  background-image:
    linear-gradient(
      -45deg,
      var(--vscode-diffEditor-diagonalFill) 12.5%,
      #0000 12.5%,
      #0000 50%,
      var(--vscode-diffEditor-diagonalFill) 50%,
      var(--vscode-diffEditor-diagonalFill) 62.5%,
      #0000 62.5%,
      #0000 100%);
  background-size: 8px 8px;
}
.monaco-diff-editor .gutter {
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
  flex-grow: 0;
  & > div {
    position: absolute;
  }
  .gutterItem {
    opacity: 0;
    transition: opacity 0.7s;
    &.showAlways {
      opacity: 1;
      transition: none;
    }
    &.noTransition {
      transition: none;
    }
  }
  &:hover .gutterItem {
    opacity: 1;
    transition: opacity 0.1s ease-in-out;
  }
  .gutterItem {
    .background {
      position: absolute;
      height: 100%;
      left: 50%;
      width: 1px;
      border-left: 2px var(--vscode-menu-border) solid;
    }
    .buttons {
      position: absolute;
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      .monaco-toolbar {
        height: fit-content;
        .monaco-action-bar {
          line-height: 1;
          .actions-container {
            width: fit-content;
            border-radius: 4px;
            background: var(--vscode-editorGutter-commentRangeForeground);
            .action-item {
              &:hover {
                background: var(--vscode-toolbar-hoverBackground);
              }
              .action-label {
                padding: 1px 2px;
              }
            }
          }
        }
      }
    }
  }
}

/* node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.css */
.monaco-component.diff-review {
  user-select: none;
  -webkit-user-select: none;
  z-index: 99;
}
.monaco-diff-editor .diff-review {
  position: absolute;
}
.monaco-component.diff-review .diff-review-line-number {
  text-align: right;
  display: inline-block;
  color: var(--vscode-editorLineNumber-foreground);
}
.monaco-component.diff-review .diff-review-summary {
  padding-left: 10px;
}
.monaco-component.diff-review .diff-review-shadow {
  position: absolute;
  box-shadow: var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset;
}
.monaco-component.diff-review .diff-review-row {
  white-space: pre;
}
.monaco-component.diff-review .diff-review-table {
  display: table;
  min-width: 100%;
}
.monaco-component.diff-review .diff-review-row {
  display: table-row;
  width: 100%;
}
.monaco-component.diff-review .diff-review-spacer {
  display: inline-block;
  width: 10px;
  vertical-align: middle;
}
.monaco-component.diff-review .diff-review-spacer > .codicon {
  font-size: 9px !important;
}
.monaco-component.diff-review .diff-review-actions {
  display: inline-block;
  position: absolute;
  right: 10px;
  top: 2px;
  z-index: 100;
}
.monaco-component.diff-review .diff-review-actions .action-label {
  width: 16px;
  height: 16px;
  margin: 2px 0;
}
.monaco-component.diff-review .revertButton {
  cursor: pointer;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/toolbar/toolbar.css */
.monaco-toolbar {
  height: 100%;
}
.monaco-toolbar .toolbar-toggle-more {
  display: inline-block;
  padding: 0;
}

/* node_modules/monaco-editor/esm/vs/editor/browser/widget/multiDiffEditor/style.css */
.monaco-component.multiDiffEditor {
  background: var(--vscode-multiDiffEditor-background);
  position: relative;
  height: 100%;
  width: 100%;
  overflow-y: hidden;
  > div {
    position: absolute;
    top: 0px;
    left: 0px;
    height: 100%;
    width: 100%;
    &.placeholder {
      visibility: hidden;
      &.visible {
        visibility: visible;
      }
      display: grid;
      place-items: center;
      place-content: center;
    }
  }
  .active {
    --vscode-multiDiffEditor-border: var(--vscode-focusBorder);
  }
  .multiDiffEntry {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;
    .collapse-button {
      margin: 0 5px;
      cursor: pointer;
      a {
        display: block;
      }
    }
    .header {
      z-index: 1000;
      background: var(--vscode-editor-background);
      &:not(.collapsed) .header-content {
        border-bottom: 1px solid var(--vscode-sideBarSectionHeader-border);
      }
      .header-content {
        margin: 8px 0px 0px 0px;
        padding: 4px 5px;
        border-top: 1px solid var(--vscode-multiDiffEditor-border);
        display: flex;
        align-items: center;
        color: var(--vscode-foreground);
        background: var(--vscode-multiDiffEditor-headerBackground);
        &.shadow {
          box-shadow: var(--vscode-scrollbar-shadow) 0px 6px 6px -6px;
        }
        .file-path {
          display: flex;
          flex: 1;
          min-width: 0;
          .title {
            font-size: 14px;
            line-height: 22px;
            &.original {
              flex: 1;
              min-width: 0;
              text-overflow: ellipsis;
            }
          }
          .status {
            font-weight: 600;
            opacity: 0.75;
            margin: 0px 10px;
            line-height: 22px;
          }
        }
        .actions {
          padding: 0 8px;
        }
      }
    }
    .editorParent {
      flex: 1;
      display: flex;
      flex-direction: column;
      border-bottom: 1px solid var(--vscode-multiDiffEditor-border);
      overflow: hidden;
    }
    .editorContainer {
      flex: 1;
    }
  }
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.css */
.monaco-editor .selection-anchor {
  background-color: #007ACC;
  width: 2px !important;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.css */
.monaco-editor .bracket-match {
  box-sizing: border-box;
  background-color: var(--vscode-editorBracketMatch-background);
  border: 1px solid var(--vscode-editorBracketMatch-border);
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/inlineProgress/browser/inlineProgressWidget.css */
.inline-editor-progress-decoration {
  display: inline-block;
  width: 1em;
  height: 1em;
}
.inline-progress-widget {
  display: flex !important;
  justify-content: center;
  align-items: center;
}
.inline-progress-widget .icon {
  font-size: 80% !important;
}
.inline-progress-widget:hover .icon {
  font-size: 90% !important;
  animation: none;
}
.inline-progress-widget:hover .icon::before {
  content: var(--vscode-icon-x-content);
  font-family: var(--vscode-icon-x-font-family);
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/message/browser/messageController.css */
.monaco-editor .monaco-editor-overlaymessage {
  padding-bottom: 8px;
  z-index: 10000;
}
.monaco-editor .monaco-editor-overlaymessage.below {
  padding-bottom: 0;
  padding-top: 8px;
  z-index: 10000;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.monaco-editor .monaco-editor-overlaymessage.fadeIn {
  animation: fadeIn 150ms ease-out;
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.monaco-editor .monaco-editor-overlaymessage.fadeOut {
  animation: fadeOut 100ms ease-out;
}
.monaco-editor .monaco-editor-overlaymessage .message {
  padding: 2px 4px;
  color: var(--vscode-editorHoverWidget-foreground);
  background-color: var(--vscode-editorHoverWidget-background);
  border: 1px solid var(--vscode-inputValidation-infoBorder);
  border-radius: 3px;
}
.monaco-editor .monaco-editor-overlaymessage .message p {
  margin-block: 0px;
}
.monaco-editor .monaco-editor-overlaymessage .message a {
  color: var(--vscode-textLink-foreground);
}
.monaco-editor .monaco-editor-overlaymessage .message a:hover {
  color: var(--vscode-textLink-activeForeground);
}
.monaco-editor.hc-black .monaco-editor-overlaymessage .message,
.monaco-editor.hc-light .monaco-editor-overlaymessage .message {
  border-width: 2px;
}
.monaco-editor .monaco-editor-overlaymessage .anchor {
  width: 0 !important;
  height: 0 !important;
  border-color: transparent;
  border-style: solid;
  z-index: 1000;
  border-width: 8px;
  position: absolute;
  left: 2px;
}
.monaco-editor .monaco-editor-overlaymessage .anchor.top {
  border-bottom-color: var(--vscode-inputValidation-infoBorder);
}
.monaco-editor .monaco-editor-overlaymessage .anchor.below {
  border-top-color: var(--vscode-inputValidation-infoBorder);
}
.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,
.monaco-editor .monaco-editor-overlaymessage.below .anchor.below {
  display: none;
}
.monaco-editor .monaco-editor-overlaymessage.below .anchor.top {
  display: inherit;
  top: -8px;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.css */
.post-edit-widget {
  box-shadow: 0 0 8px 2px var(--vscode-widget-shadow);
  border: 1px solid var(--vscode-widget-border, transparent);
  border-radius: 4px;
  background-color: var(--vscode-editorWidget-background);
  overflow: hidden;
}
.post-edit-widget .monaco-button {
  padding: 2px;
  border: none;
  border-radius: 0;
}
.post-edit-widget .monaco-button:hover {
  background-color: var(--vscode-button-secondaryHoverBackground) !important;
}
.post-edit-widget .monaco-button .codicon {
  margin: 0;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon.css */
@font-face {
  font-family: "codicon";
  font-display: block;
  src: url("../codicon-37A3DWZT.ttf") format("truetype");
}
.codicon[class*=codicon-] {
  font: normal normal normal 16px/1 codicon;
  display: inline-block;
  text-decoration: none;
  text-rendering: auto;
  text-align: center;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  user-select: none;
  -webkit-user-select: none;
}

/* node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon-modifiers.css */
.codicon-wrench-subaction {
  opacity: 0.5;
}
@keyframes codicon-spin {
  100% {
    transform: rotate(360deg);
  }
}
.codicon-sync.codicon-modifier-spin,
.codicon-loading.codicon-modifier-spin,
.codicon-gear.codicon-modifier-spin,
.codicon-notebook-state-executing.codicon-modifier-spin {
  animation: codicon-spin 1.5s steps(30) infinite;
}
.codicon-modifier-disabled {
  opacity: 0.4;
}
.codicon-loading,
.codicon-tree-item-loading::before {
  animation-duration: 1s !important;
  animation-timing-function: cubic-bezier(0.53, 0.21, 0.29, 0.67) !important;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.css */
.monaco-editor .codicon.codicon-symbol-array,
.monaco-workbench .codicon.codicon-symbol-array {
  color: var(--vscode-symbolIcon-arrayForeground);
}
.monaco-editor .codicon.codicon-symbol-boolean,
.monaco-workbench .codicon.codicon-symbol-boolean {
  color: var(--vscode-symbolIcon-booleanForeground);
}
.monaco-editor .codicon.codicon-symbol-class,
.monaco-workbench .codicon.codicon-symbol-class {
  color: var(--vscode-symbolIcon-classForeground);
}
.monaco-editor .codicon.codicon-symbol-method,
.monaco-workbench .codicon.codicon-symbol-method {
  color: var(--vscode-symbolIcon-methodForeground);
}
.monaco-editor .codicon.codicon-symbol-color,
.monaco-workbench .codicon.codicon-symbol-color {
  color: var(--vscode-symbolIcon-colorForeground);
}
.monaco-editor .codicon.codicon-symbol-constant,
.monaco-workbench .codicon.codicon-symbol-constant {
  color: var(--vscode-symbolIcon-constantForeground);
}
.monaco-editor .codicon.codicon-symbol-constructor,
.monaco-workbench .codicon.codicon-symbol-constructor {
  color: var(--vscode-symbolIcon-constructorForeground);
}
.monaco-editor .codicon.codicon-symbol-value,
.monaco-workbench .codicon.codicon-symbol-value,
.monaco-editor .codicon.codicon-symbol-enum,
.monaco-workbench .codicon.codicon-symbol-enum {
  color: var(--vscode-symbolIcon-enumeratorForeground);
}
.monaco-editor .codicon.codicon-symbol-enum-member,
.monaco-workbench .codicon.codicon-symbol-enum-member {
  color: var(--vscode-symbolIcon-enumeratorMemberForeground);
}
.monaco-editor .codicon.codicon-symbol-event,
.monaco-workbench .codicon.codicon-symbol-event {
  color: var(--vscode-symbolIcon-eventForeground);
}
.monaco-editor .codicon.codicon-symbol-field,
.monaco-workbench .codicon.codicon-symbol-field {
  color: var(--vscode-symbolIcon-fieldForeground);
}
.monaco-editor .codicon.codicon-symbol-file,
.monaco-workbench .codicon.codicon-symbol-file {
  color: var(--vscode-symbolIcon-fileForeground);
}
.monaco-editor .codicon.codicon-symbol-folder,
.monaco-workbench .codicon.codicon-symbol-folder {
  color: var(--vscode-symbolIcon-folderForeground);
}
.monaco-editor .codicon.codicon-symbol-function,
.monaco-workbench .codicon.codicon-symbol-function {
  color: var(--vscode-symbolIcon-functionForeground);
}
.monaco-editor .codicon.codicon-symbol-interface,
.monaco-workbench .codicon.codicon-symbol-interface {
  color: var(--vscode-symbolIcon-interfaceForeground);
}
.monaco-editor .codicon.codicon-symbol-key,
.monaco-workbench .codicon.codicon-symbol-key {
  color: var(--vscode-symbolIcon-keyForeground);
}
.monaco-editor .codicon.codicon-symbol-keyword,
.monaco-workbench .codicon.codicon-symbol-keyword {
  color: var(--vscode-symbolIcon-keywordForeground);
}
.monaco-editor .codicon.codicon-symbol-module,
.monaco-workbench .codicon.codicon-symbol-module {
  color: var(--vscode-symbolIcon-moduleForeground);
}
.monaco-editor .codicon.codicon-symbol-namespace,
.monaco-workbench .codicon.codicon-symbol-namespace {
  color: var(--vscode-symbolIcon-namespaceForeground);
}
.monaco-editor .codicon.codicon-symbol-null,
.monaco-workbench .codicon.codicon-symbol-null {
  color: var(--vscode-symbolIcon-nullForeground);
}
.monaco-editor .codicon.codicon-symbol-number,
.monaco-workbench .codicon.codicon-symbol-number {
  color: var(--vscode-symbolIcon-numberForeground);
}
.monaco-editor .codicon.codicon-symbol-object,
.monaco-workbench .codicon.codicon-symbol-object {
  color: var(--vscode-symbolIcon-objectForeground);
}
.monaco-editor .codicon.codicon-symbol-operator,
.monaco-workbench .codicon.codicon-symbol-operator {
  color: var(--vscode-symbolIcon-operatorForeground);
}
.monaco-editor .codicon.codicon-symbol-package,
.monaco-workbench .codicon.codicon-symbol-package {
  color: var(--vscode-symbolIcon-packageForeground);
}
.monaco-editor .codicon.codicon-symbol-property,
.monaco-workbench .codicon.codicon-symbol-property {
  color: var(--vscode-symbolIcon-propertyForeground);
}
.monaco-editor .codicon.codicon-symbol-reference,
.monaco-workbench .codicon.codicon-symbol-reference {
  color: var(--vscode-symbolIcon-referenceForeground);
}
.monaco-editor .codicon.codicon-symbol-snippet,
.monaco-workbench .codicon.codicon-symbol-snippet {
  color: var(--vscode-symbolIcon-snippetForeground);
}
.monaco-editor .codicon.codicon-symbol-string,
.monaco-workbench .codicon.codicon-symbol-string {
  color: var(--vscode-symbolIcon-stringForeground);
}
.monaco-editor .codicon.codicon-symbol-struct,
.monaco-workbench .codicon.codicon-symbol-struct {
  color: var(--vscode-symbolIcon-structForeground);
}
.monaco-editor .codicon.codicon-symbol-text,
.monaco-workbench .codicon.codicon-symbol-text {
  color: var(--vscode-symbolIcon-textForeground);
}
.monaco-editor .codicon.codicon-symbol-type-parameter,
.monaco-workbench .codicon.codicon-symbol-type-parameter {
  color: var(--vscode-symbolIcon-typeParameterForeground);
}
.monaco-editor .codicon.codicon-symbol-unit,
.monaco-workbench .codicon.codicon-symbol-unit {
  color: var(--vscode-symbolIcon-unitForeground);
}
.monaco-editor .codicon.codicon-symbol-variable,
.monaco-workbench .codicon.codicon-symbol-variable {
  color: var(--vscode-symbolIcon-variableForeground);
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.css */
.monaco-editor .lightBulbWidget {
  display: flex;
  align-items: center;
  justify-content: center;
}
.monaco-editor .lightBulbWidget:hover {
  cursor: pointer;
}
.monaco-editor .lightBulbWidget.codicon-light-bulb,
.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle {
  color: var(--vscode-editorLightBulb-foreground);
}
.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,
.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix {
  color: var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground));
}
.monaco-editor .lightBulbWidget.codicon-sparkle-filled {
  color: var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-foreground));
}
.monaco-editor .lightBulbWidget:before {
  position: relative;
  z-index: 2;
}
.monaco-editor .lightBulbWidget:after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.3;
  background-color: var(--vscode-editor-background);
  z-index: 1;
}

/* node_modules/monaco-editor/esm/vs/platform/actionWidget/browser/actionWidget.css */
.action-widget {
  font-size: 13px;
  border-radius: 0;
  min-width: 160px;
  max-width: 80vw;
  z-index: 40;
  display: block;
  width: 100%;
  border: 1px solid var(--vscode-editorWidget-border) !important;
  border-radius: 2px;
  background-color: var(--vscode-editorWidget-background);
  color: var(--vscode-editorWidget-foreground);
}
.context-view-block {
  position: fixed;
  cursor: initial;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.context-view-pointerBlock {
  position: fixed;
  cursor: initial;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.action-widget .monaco-list {
  user-select: none;
  -webkit-user-select: none;
  border: none !important;
  border-width: 0 !important;
}
.action-widget .monaco-list:focus:before {
  outline: 0 !important;
}
.action-widget .monaco-list .monaco-scrollable-element {
  overflow: visible;
}
.action-widget .monaco-list .monaco-list-row {
  padding: 0 10px;
  white-space: nowrap;
  cursor: pointer;
  touch-action: none;
  width: 100%;
}
.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled) {
  background-color: var(--vscode-quickInputList-focusBackground) !important;
  color: var(--vscode-quickInputList-focusForeground);
  outline: 1px solid var(--vscode-menu-selectionBorder, transparent);
  outline-offset: -1px;
}
.action-widget .monaco-list-row.group-header {
  color: var(--vscode-descriptionForeground) !important;
  font-weight: 600;
}
.action-widget .monaco-list .group-header,
.action-widget .monaco-list .option-disabled,
.action-widget .monaco-list .option-disabled:before,
.action-widget .monaco-list .option-disabled .focused,
.action-widget .monaco-list .option-disabled .focused:before {
  cursor: default !important;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  background-color: transparent !important;
  outline: 0 solid !important;
}
.action-widget .monaco-list-row.action {
  display: flex;
  gap: 6px;
  align-items: center;
}
.action-widget .monaco-list-row.action.option-disabled,
.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,
.action-widget .monaco-list-row.action.option-disabled .codicon,
.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled {
  color: var(--vscode-disabledForeground);
}
.action-widget .monaco-list-row.action:not(.option-disabled) .codicon {
  color: inherit;
}
.action-widget .monaco-list-row.action .title {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
}
.action-widget .monaco-list-row.action .monaco-keybinding > .monaco-keybinding-key {
  background-color: var(--vscode-keybindingLabel-background);
  color: var(--vscode-keybindingLabel-foreground);
  border-style: solid;
  border-width: 1px;
  border-radius: 3px;
  border-color: var(--vscode-keybindingLabel-border);
  border-bottom-color: var(--vscode-keybindingLabel-bottomBorder);
  box-shadow: inset 0 -1px 0 var(--vscode-widget-shadow);
}
.action-widget .action-widget-action-bar {
  background-color: var(--vscode-editorHoverWidget-statusBarBackground);
  border-top: 1px solid var(--vscode-editorHoverWidget-border);
}
.action-widget .action-widget-action-bar::before {
  display: block;
  content: "";
  width: 100%;
}
.action-widget .action-widget-action-bar .actions-container {
  padding: 0 8px;
}
.action-widget-action-bar .action-label {
  color: var(--vscode-textLink-activeForeground);
  font-size: 12px;
  line-height: 22px;
  padding: 0;
  pointer-events: all;
}
.action-widget-action-bar .action-item {
  margin-right: 16px;
  pointer-events: none;
}
.action-widget-action-bar .action-label:hover {
  background-color: transparent !important;
}
.monaco-action-bar .actions-container.highlight-toggled .action-label.checked {
  background: var(--vscode-actionBar-toggledBackground) !important;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/codelens/browser/codelensWidget.css */
.monaco-editor .codelens-decoration {
  overflow: hidden;
  display: inline-block;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--vscode-editorCodeLens-foreground);
  line-height: var(--vscode-editorCodeLens-lineHeight);
  font-size: var(--vscode-editorCodeLens-fontSize);
  padding-right: calc(var(--vscode-editorCodeLens-fontSize)*0.5);
  font-feature-settings: var(--vscode-editorCodeLens-fontFeatureSettings);
  font-family: var(--vscode-editorCodeLens-fontFamily), var(--vscode-editorCodeLens-fontFamilyDefault);
}
.monaco-editor .codelens-decoration > span,
.monaco-editor .codelens-decoration > a {
  user-select: none;
  -webkit-user-select: none;
  white-space: nowrap;
  vertical-align: sub;
}
.monaco-editor .codelens-decoration > a {
  text-decoration: none;
}
.monaco-editor .codelens-decoration > a:hover {
  cursor: pointer;
  color: var(--vscode-editorLink-activeForeground) !important;
}
.monaco-editor .codelens-decoration > a:hover .codicon {
  color: var(--vscode-editorLink-activeForeground) !important;
}
.monaco-editor .codelens-decoration .codicon {
  vertical-align: middle;
  color: currentColor !important;
  color: var(--vscode-editorCodeLens-foreground);
  line-height: var(--vscode-editorCodeLens-lineHeight);
  font-size: var(--vscode-editorCodeLens-fontSize);
}
.monaco-editor .codelens-decoration > a:hover .codicon::before {
  cursor: pointer;
}
@keyframes fadein {
  0% {
    opacity: 0;
    visibility: visible;
  }
  100% {
    opacity: 1;
  }
}
.monaco-editor .codelens-decoration.fadein {
  animation: fadein 0.1s linear;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorPicker.css */
.colorpicker-widget {
  height: 190px;
  user-select: none;
  -webkit-user-select: none;
}
.colorpicker-color-decoration,
.hc-light .colorpicker-color-decoration {
  border: solid 0.1em #000;
  box-sizing: border-box;
  margin: 0.1em 0.2em 0 0.2em;
  width: 0.8em;
  height: 0.8em;
  line-height: 0.8em;
  display: inline-block;
  cursor: pointer;
}
.hc-black .colorpicker-color-decoration,
.vs-dark .colorpicker-color-decoration {
  border: solid 0.1em #eee;
}
.colorpicker-header {
  display: flex;
  height: 24px;
  position: relative;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);
  background-size: 9px 9px;
  image-rendering: pixelated;
}
.colorpicker-header .picked-color {
  width: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 24px;
  cursor: pointer;
  color: white;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
}
.colorpicker-header .picked-color .picked-color-presentation {
  white-space: nowrap;
  margin-left: 5px;
  margin-right: 5px;
}
.colorpicker-header .picked-color .codicon {
  color: inherit;
  font-size: 14px;
}
.colorpicker-header .picked-color.light {
  color: black;
}
.colorpicker-header .original-color {
  width: 74px;
  z-index: inherit;
  cursor: pointer;
}
.standalone-colorpicker {
  color: var(--vscode-editorHoverWidget-foreground);
  background-color: var(--vscode-editorHoverWidget-background);
  border: 1px solid var(--vscode-editorHoverWidget-border);
}
.colorpicker-header.standalone-colorpicker {
  border-bottom: none;
}
.colorpicker-header .close-button {
  cursor: pointer;
  background-color: var(--vscode-editorHoverWidget-background);
  border-left: 1px solid var(--vscode-editorHoverWidget-border);
}
.colorpicker-header .close-button-inner-div {
  width: 100%;
  height: 100%;
  text-align: center;
}
.colorpicker-header .close-button-inner-div:hover {
  background-color: var(--vscode-toolbar-hoverBackground);
}
.colorpicker-header .close-icon {
  padding: 3px;
}
.colorpicker-body {
  display: flex;
  padding: 8px;
  position: relative;
}
.colorpicker-body .saturation-wrap {
  overflow: hidden;
  height: 150px;
  position: relative;
  min-width: 220px;
  flex: 1;
}
.colorpicker-body .saturation-box {
  height: 150px;
  position: absolute;
}
.colorpicker-body .saturation-selection {
  width: 9px;
  height: 9px;
  margin: -5px 0 0 -5px;
  border: 1px solid rgb(255, 255, 255);
  border-radius: 100%;
  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.8);
  position: absolute;
}
.colorpicker-body .strip {
  width: 25px;
  height: 150px;
}
.colorpicker-body .standalone-strip {
  width: 25px;
  height: 122px;
}
.colorpicker-body .hue-strip {
  position: relative;
  margin-left: 8px;
  cursor: grab;
  background:
    linear-gradient(
      to bottom,
      #ff0000 0%,
      #ffff00 17%,
      #00ff00 33%,
      #00ffff 50%,
      #0000ff 67%,
      #ff00ff 83%,
      #ff0000 100%);
}
.colorpicker-body .opacity-strip {
  position: relative;
  margin-left: 8px;
  cursor: grab;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);
  background-size: 9px 9px;
  image-rendering: pixelated;
}
.colorpicker-body .strip.grabbing {
  cursor: grabbing;
}
.colorpicker-body .slider {
  position: absolute;
  top: 0;
  left: -2px;
  width: calc(100% + 4px);
  height: 4px;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.71);
  box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.85);
}
.colorpicker-body .strip .overlay {
  height: 150px;
  pointer-events: none;
}
.colorpicker-body .standalone-strip .standalone-overlay {
  height: 122px;
  pointer-events: none;
}
.standalone-colorpicker-body {
  display: block;
  border: 1px solid transparent;
  border-bottom: 1px solid var(--vscode-editorHoverWidget-border);
  overflow: hidden;
}
.colorpicker-body .insert-button {
  position: absolute;
  height: 20px;
  width: 58px;
  padding: 0px;
  right: 8px;
  bottom: 8px;
  background: var(--vscode-button-background);
  color: var(--vscode-button-foreground);
  border-radius: 2px;
  border: none;
  cursor: pointer;
}
.colorpicker-body .insert-button:hover {
  background: var(--vscode-button-hoverBackground);
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.css */
.monaco-editor .inlineSuggestionsHints.withBorder {
  z-index: 39;
  color: var(--vscode-editorHoverWidget-foreground);
  background-color: var(--vscode-editorHoverWidget-background);
  border: 1px solid var(--vscode-editorHoverWidget-border);
}
.monaco-editor .inlineSuggestionsHints a {
  color: var(--vscode-foreground);
}
.monaco-editor .inlineSuggestionsHints a:hover {
  color: var(--vscode-foreground);
}
.monaco-editor .inlineSuggestionsHints .keybinding {
  display: flex;
  margin-left: 4px;
  opacity: 0.6;
}
.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key {
  font-size: 8px;
  padding: 2px 3px;
}
.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a {
  display: flex;
  min-width: 19px;
  justify-content: center;
}
.monaco-editor .inlineSuggestionStatusBarItemLabel {
  margin-right: 2px;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/peekView/browser/media/peekViewWidget.css */
.monaco-editor .peekview-widget .head {
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
}
.monaco-editor .peekview-widget .head .peekview-title {
  display: flex;
  align-items: baseline;
  font-size: 13px;
  margin-left: 20px;
  min-width: 0;
  text-overflow: ellipsis;
  overflow: hidden;
}
.monaco-editor .peekview-widget .head .peekview-title.clickable {
  cursor: pointer;
}
.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty) {
  font-size: 0.9em;
  margin-left: 0.5em;
}
.monaco-editor .peekview-widget .head .peekview-title .meta {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.monaco-editor .peekview-widget .head .peekview-title .dirname {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.monaco-editor .peekview-widget .head .peekview-title .filename {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty)::before {
  content: "-";
  padding: 0 0.3em;
}
.monaco-editor .peekview-widget .head .peekview-actions {
  flex: 1;
  text-align: right;
  padding-right: 2px;
}
.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar {
  display: inline-block;
}
.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar,
.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar > .actions-container {
  height: 100%;
}
.monaco-editor .peekview-widget > .body {
  border-top: 1px solid;
  position: relative;
}
.monaco-editor .peekview-widget .head .peekview-title .codicon {
  margin-right: 4px;
  align-self: center;
}
.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon {
  color: inherit !important;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/zoneWidget/browser/zoneWidget.css */
.monaco-editor .zone-widget {
  position: absolute;
  z-index: 10;
}
.monaco-editor .zone-widget .zone-widget-container {
  border-top-style: solid;
  border-bottom-style: solid;
  border-top-width: 0;
  border-bottom-width: 0;
  position: relative;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.css */
.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget {
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.monaco-editor .reference-zone-widget .inline {
  display: inline-block;
  vertical-align: top;
}
.monaco-editor .reference-zone-widget .messages {
  height: 100%;
  width: 100%;
  text-align: center;
  padding: 3em 0;
}
.monaco-editor .reference-zone-widget .ref-tree {
  line-height: 23px;
  background-color: var(--vscode-peekViewResult-background);
  color: var(--vscode-peekViewResult-lineForeground);
}
.monaco-editor .reference-zone-widget .ref-tree .reference {
  text-overflow: ellipsis;
  overflow: hidden;
}
.monaco-editor .reference-zone-widget .ref-tree .reference-file {
  display: inline-flex;
  width: 100%;
  height: 100%;
  color: var(--vscode-peekViewResult-fileForeground);
}
.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file {
  color: inherit !important;
}
.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) {
  background-color: var(--vscode-peekViewResult-selectionBackground);
  color: var(--vscode-peekViewResult-selectionForeground) !important;
}
.monaco-editor .reference-zone-widget .ref-tree .reference-file .count {
  margin-right: 12px;
  margin-left: auto;
}
.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight {
  background-color: var(--vscode-peekViewResult-matchHighlightBackground);
}
.monaco-editor .reference-zone-widget .preview .reference-decoration {
  background-color: var(--vscode-peekViewEditor-matchHighlightBackground);
  border: 2px solid var(--vscode-peekViewEditor-matchHighlightBorder);
  box-sizing: border-box;
}
.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,
.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input {
  background-color: var(--vscode-peekViewEditor-background);
}
.monaco-editor .reference-zone-widget .preview .monaco-editor .margin {
  background-color: var(--vscode-peekViewEditorGutter-background);
}
.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,
.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file {
  font-weight: bold;
}
.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,
.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight {
  border: 1px dotted var(--vscode-contrastActiveBorder, transparent);
  box-sizing: border-box;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hover.css */
.monaco-editor .hoverHighlight {
  background-color: var(--vscode-editor-hoverHighlightBackground);
}
.monaco-editor .monaco-hover-content {
  padding-right: 2px;
  padding-bottom: 2px;
  box-sizing: border-box;
}
.monaco-editor .monaco-hover {
  color: var(--vscode-editorHoverWidget-foreground);
  background-color: var(--vscode-editorHoverWidget-background);
  border: 1px solid var(--vscode-editorHoverWidget-border);
  border-radius: 3px;
}
.monaco-editor .monaco-hover a {
  color: var(--vscode-textLink-foreground);
}
.monaco-editor .monaco-hover a:hover {
  color: var(--vscode-textLink-activeForeground);
}
.monaco-editor .monaco-hover .hover-row {
  display: flex;
}
.monaco-editor .monaco-hover .hover-row .hover-row-contents {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.monaco-editor .monaco-hover .hover-row .verbosity-actions {
  display: flex;
  flex-direction: column;
  padding-left: 5px;
  padding-right: 5px;
  justify-content: end;
  border-right: 1px solid var(--vscode-editorHoverWidget-border);
}
.monaco-editor .monaco-hover .hover-row .verbosity-actions .codicon {
  cursor: pointer;
  font-size: 11px;
}
.monaco-editor .monaco-hover .hover-row .verbosity-actions .codicon.enabled {
  color: var(--vscode-textLink-foreground);
}
.monaco-editor .monaco-hover .hover-row .verbosity-actions .codicon.disabled {
  opacity: 0.6;
}
.monaco-editor .monaco-hover .hover-row .actions {
  background-color: var(--vscode-editorHoverWidget-statusBarBackground);
}
.monaco-editor .monaco-hover code {
  background-color: var(--vscode-textCodeBlock-background);
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/dnd/browser/dnd.css */
.monaco-editor.vs .dnd-target,
.monaco-editor.hc-light .dnd-target {
  border-right: 2px dotted black;
  color: white;
}
.monaco-editor.vs-dark .dnd-target {
  border-right: 2px dotted #AEAFAD;
  color: #51504f;
}
.monaco-editor.hc-black .dnd-target {
  border-right: 2px dotted #fff;
  color: #000;
}
.monaco-editor.mouse-default .view-lines,
.monaco-editor.vs-dark.mac.mouse-default .view-lines,
.monaco-editor.hc-black.mac.mouse-default .view-lines,
.monaco-editor.hc-light.mac.mouse-default .view-lines {
  cursor: default;
}
.monaco-editor.mouse-copy .view-lines,
.monaco-editor.vs-dark.mac.mouse-copy .view-lines,
.monaco-editor.hc-black.mac.mouse-copy .view-lines,
.monaco-editor.hc-light.mac.mouse-copy .view-lines {
  cursor: copy;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findOptionsWidget.css */
.monaco-editor .findOptionsWidget {
  background-color: var(--vscode-editorWidget-background);
  color: var(--vscode-editorWidget-foreground);
  box-shadow: 0 0 8px 2px var(--vscode-widget-shadow);
  border: 2px solid var(--vscode-contrastBorder);
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findWidget.css */
.monaco-editor .find-widget {
  position: absolute;
  z-index: 35;
  height: 33px;
  overflow: hidden;
  line-height: 19px;
  transition: transform 200ms linear;
  padding: 0 4px;
  box-sizing: border-box;
  transform: translateY(calc(-100% - 10px));
  box-shadow: 0 0 8px 2px var(--vscode-widget-shadow);
  color: var(--vscode-editorWidget-foreground);
  border-left: 1px solid var(--vscode-widget-border);
  border-right: 1px solid var(--vscode-widget-border);
  border-bottom: 1px solid var(--vscode-widget-border);
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  background-color: var(--vscode-editorWidget-background);
}
.monaco-workbench.reduce-motion .monaco-editor .find-widget {
  transition: transform 0ms linear;
}
.monaco-editor .find-widget textarea {
  margin: 0px;
}
.monaco-editor .find-widget.hiddenEditor {
  display: none;
}
.monaco-editor .find-widget.replaceToggled > .replace-part {
  display: flex;
}
.monaco-editor .find-widget.visible {
  transform: translateY(0);
}
.monaco-editor .find-widget .monaco-inputbox.synthetic-focus {
  outline: 1px solid -webkit-focus-ring-color;
  outline-offset: -1px;
  outline-color: var(--vscode-focusBorder);
}
.monaco-editor .find-widget .monaco-inputbox .input {
  background-color: transparent;
  min-height: 0;
}
.monaco-editor .find-widget .monaco-findInput .input {
  font-size: 13px;
}
.monaco-editor .find-widget > .find-part,
.monaco-editor .find-widget > .replace-part {
  margin: 3px 25px 0 17px;
  font-size: 12px;
  display: flex;
}
.monaco-editor .find-widget > .find-part .monaco-inputbox,
.monaco-editor .find-widget > .replace-part .monaco-inputbox {
  min-height: 25px;
}
.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {
  padding-right: 22px;
}
.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .input,
.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .mirror,
.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .input,
.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {
  padding-top: 2px;
  padding-bottom: 2px;
}
.monaco-editor .find-widget > .find-part .find-actions {
  height: 25px;
  display: flex;
  align-items: center;
}
.monaco-editor .find-widget > .replace-part .replace-actions {
  height: 25px;
  display: flex;
  align-items: center;
}
.monaco-editor .find-widget .monaco-findInput {
  vertical-align: middle;
  display: flex;
  flex: 1;
}
.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element {
  width: 100%;
}
.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical {
  opacity: 0;
}
.monaco-editor .find-widget .matchesCount {
  display: flex;
  flex: initial;
  margin: 0 0 0 3px;
  padding: 2px 0 0 2px;
  height: 25px;
  vertical-align: middle;
  box-sizing: border-box;
  text-align: center;
  line-height: 23px;
}
.monaco-editor .find-widget .button {
  width: 16px;
  height: 16px;
  padding: 3px;
  border-radius: 5px;
  display: flex;
  flex: initial;
  margin-left: 3px;
  background-position: center center;
  background-repeat: no-repeat;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.monaco-editor .find-widget .codicon-find-selection {
  width: 22px;
  height: 22px;
  padding: 3px;
  border-radius: 5px;
}
.monaco-editor .find-widget .button.left {
  margin-left: 0;
  margin-right: 3px;
}
.monaco-editor .find-widget .button.wide {
  width: auto;
  padding: 1px 6px;
  top: -1px;
}
.monaco-editor .find-widget .button.toggle {
  position: absolute;
  top: 0;
  left: 3px;
  width: 18px;
  height: 100%;
  border-radius: 0;
  box-sizing: border-box;
}
.monaco-editor .find-widget .button.toggle.disabled {
  display: none;
}
.monaco-editor .find-widget .disabled {
  color: var(--vscode-disabledForeground);
  cursor: default;
}
.monaco-editor .find-widget > .replace-part {
  display: none;
}
.monaco-editor .find-widget > .replace-part > .monaco-findInput {
  position: relative;
  display: flex;
  vertical-align: middle;
  flex: auto;
  flex-grow: 0;
  flex-shrink: 0;
}
.monaco-editor .find-widget > .replace-part > .monaco-findInput > .controls {
  position: absolute;
  top: 3px;
  right: 2px;
}
.monaco-editor .find-widget.reduced-find-widget .matchesCount {
  display: none;
}
.monaco-editor .find-widget.narrow-find-widget {
  max-width: 257px !important;
}
.monaco-editor .find-widget.collapsed-find-widget {
  max-width: 170px !important;
}
.monaco-editor .find-widget.collapsed-find-widget .button.previous,
.monaco-editor .find-widget.collapsed-find-widget .button.next,
.monaco-editor .find-widget.collapsed-find-widget .button.replace,
.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,
.monaco-editor .find-widget.collapsed-find-widget > .find-part .monaco-findInput .controls {
  display: none;
}
.monaco-editor .find-widget.no-results .matchesCount {
  color: var(--vscode-errorForeground);
}
.monaco-editor .findMatch {
  animation-duration: 0;
  animation-name: inherit !important;
  background-color: var(--vscode-editor-findMatchHighlightBackground);
}
.monaco-editor .currentFindMatch {
  background-color: var(--vscode-editor-findMatchBackground);
  border: 2px solid var(--vscode-editor-findMatchBorder);
  padding: 1px;
  box-sizing: border-box;
}
.monaco-editor .findScope {
  background-color: var(--vscode-editor-findRangeHighlightBackground);
}
.monaco-editor .find-widget .monaco-sash {
  left: 0 !important;
  background-color: var(--vscode-editorWidget-resizeBorder, var(--vscode-editorWidget-border));
}
.monaco-editor.hc-black .find-widget .button:before {
  position: relative;
  top: 1px;
  left: 2px;
}
.monaco-editor .find-widget .button:not(.disabled):hover,
.monaco-editor .find-widget .codicon-find-selection:hover {
  background-color: var(--vscode-toolbar-hoverBackground) !important;
}
.monaco-editor.findMatch {
  background-color: var(--vscode-editor-findMatchHighlightBackground);
}
.monaco-editor.currentFindMatch {
  background-color: var(--vscode-editor-findMatchBackground);
}
.monaco-editor.findScope {
  background-color: var(--vscode-editor-findRangeHighlightBackground);
}
.monaco-editor.findMatch {
  background-color: var(--vscode-editorWidget-background);
}
.monaco-editor .find-widget > .button.codicon-widget-close {
  position: absolute;
  top: 5px;
  right: 4px;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/folding.css */
.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,
.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,
.monaco-editor .margin-view-overlays .codicon-folding-expanded,
.monaco-editor .margin-view-overlays .codicon-folding-collapsed {
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.5s;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 140%;
  margin-left: 2px;
}
.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,
.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,
.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,
.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed {
  transition: initial;
}
.monaco-editor .margin-view-overlays:hover .codicon,
.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,
.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,
.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons {
  opacity: 1;
}
.monaco-editor .inline-folded:after {
  color: grey;
  margin: 0.1em 0.2em 0 0.2em;
  content: "\22ef";
  display: inline;
  line-height: 1em;
  cursor: pointer;
}
.monaco-editor .folded-background {
  background-color: var(--vscode-editor-foldBackground);
}
.monaco-editor .cldr.codicon.codicon-folding-expanded,
.monaco-editor .cldr.codicon.codicon-folding-collapsed,
.monaco-editor .cldr.codicon.codicon-folding-manual-expanded,
.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed {
  color: var(--vscode-editorGutter-foldingControlForeground) !important;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/ghostText.css */
.monaco-editor .suggest-preview-additional-widget {
  white-space: nowrap;
}
.monaco-editor .suggest-preview-additional-widget .content-spacer {
  color: transparent;
  white-space: pre;
}
.monaco-editor .suggest-preview-additional-widget .button {
  display: inline-block;
  cursor: pointer;
  text-decoration: underline;
  text-underline-position: under;
}
.monaco-editor .ghost-text-hidden {
  opacity: 0;
  font-size: 0;
}
.monaco-editor .ghost-text-decoration,
.monaco-editor .suggest-preview-text .ghost-text {
  font-style: italic;
}
.monaco-editor .inline-completion-text-to-replace {
  text-decoration: underline;
  text-underline-position: under;
}
.monaco-editor .ghost-text-decoration,
.monaco-editor .ghost-text-decoration-preview,
.monaco-editor .suggest-preview-text .ghost-text {
  color: var(--vscode-editorGhostText-foreground) !important;
  background-color: var(--vscode-editorGhostText-background);
  border: 1px solid var(--vscode-editorGhostText-border);
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetSession.css */
.monaco-editor .snippet-placeholder {
  min-width: 2px;
  outline-style: solid;
  outline-width: 1px;
  background-color: var(--vscode-editor-snippetTabstopHighlightBackground, transparent);
  outline-color: var(--vscode-editor-snippetTabstopHighlightBorder, transparent);
}
.monaco-editor .finish-snippet-placeholder {
  outline-style: solid;
  outline-width: 1px;
  background-color: var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);
  outline-color: var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent);
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/media/suggest.css */
.monaco-editor .suggest-widget {
  width: 430px;
  z-index: 40;
  display: flex;
  flex-direction: column;
  border-radius: 3px;
}
.monaco-editor .suggest-widget.message {
  flex-direction: row;
  align-items: center;
}
.monaco-editor .suggest-widget,
.monaco-editor .suggest-details {
  flex: 0 1 auto;
  width: 100%;
  border-style: solid;
  border-width: 1px;
  border-color: var(--vscode-editorSuggestWidget-border);
  background-color: var(--vscode-editorSuggestWidget-background);
}
.monaco-editor.hc-black .suggest-widget,
.monaco-editor.hc-black .suggest-details,
.monaco-editor.hc-light .suggest-widget,
.monaco-editor.hc-light .suggest-details {
  border-width: 2px;
}
.monaco-editor .suggest-widget .suggest-status-bar {
  box-sizing: border-box;
  display: none;
  flex-flow: row nowrap;
  justify-content: space-between;
  width: 100%;
  font-size: 80%;
  padding: 0 4px 0 4px;
  border-top: 1px solid var(--vscode-editorSuggestWidget-border);
  overflow: hidden;
}
.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar {
  display: flex;
}
.monaco-editor .suggest-widget .suggest-status-bar .left {
  padding-right: 8px;
}
.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label {
  color: var(--vscode-editorSuggestWidgetStatus-foreground);
}
.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label {
  margin-right: 0;
}
.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label::after {
  content: ", ";
  margin-right: 0.3em;
}
.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row > .contents > .main > .right > .readMore,
.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label > .contents > .main > .right > .readMore {
  display: none;
}
.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover > .contents > .main > .right.can-expand-details > .details-label {
  width: 100%;
}
.monaco-editor .suggest-widget > .message {
  padding-left: 22px;
}
.monaco-editor .suggest-widget > .tree {
  height: 100%;
  width: 100%;
}
.monaco-editor .suggest-widget .monaco-list {
  user-select: none;
  -webkit-user-select: none;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row {
  display: flex;
  -mox-box-sizing: border-box;
  box-sizing: border-box;
  padding-right: 10px;
  background-repeat: no-repeat;
  background-position: 2px 2px;
  white-space: nowrap;
  cursor: pointer;
  touch-action: none;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused {
  color: var(--vscode-editorSuggestWidget-selectedForeground);
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon {
  color: var(--vscode-editorSuggestWidget-selectedIconForeground);
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents {
  flex: 1;
  height: 100%;
  overflow: hidden;
  padding-left: 2px;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main {
  display: flex;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: pre;
  justify-content: space-between;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left,
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right {
  display: flex;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused) > .contents > .main .monaco-icon-label {
  color: var(--vscode-editorSuggestWidget-foreground);
}
.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight {
  font-weight: bold;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main .monaco-highlighted-label .highlight {
  color: var(--vscode-editorSuggestWidget-highlightForeground);
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused > .contents > .main .monaco-highlighted-label .highlight {
  color: var(--vscode-editorSuggestWidget-focusHighlightForeground);
}
.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close,
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore::before {
  color: inherit;
  opacity: 1;
  font-size: 14px;
  cursor: pointer;
}
.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close {
  position: absolute;
  top: 6px;
  right: 2px;
}
.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close:hover,
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore:hover {
  opacity: 1;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {
  opacity: 0.7;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .signature-label {
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0.6;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .qualifier-label {
  margin-left: 12px;
  opacity: 0.4;
  font-size: 85%;
  line-height: initial;
  text-overflow: ellipsis;
  overflow: hidden;
  align-self: center;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {
  font-size: 85%;
  margin-left: 1.1em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label > .monaco-tokenized-source {
  display: inline;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {
  display: none;
}
.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused > .contents > .main > .right > .details-label {
  display: inline;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label) > .contents > .main > .right > .details-label,
.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label) > .contents > .main > .right > .details-label {
  display: inline;
}
.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover > .contents > .main > .right.can-expand-details > .details-label {
  width: calc(100% - 26px);
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left {
  flex-shrink: 1;
  flex-grow: 1;
  overflow: hidden;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .monaco-icon-label {
  flex-shrink: 0;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label) > .contents > .main > .left > .monaco-icon-label {
  max-width: 100%;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label > .contents > .main > .left > .monaco-icon-label {
  flex-shrink: 1;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right {
  overflow: hidden;
  flex-shrink: 4;
  max-width: 70%;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore {
  display: inline-block;
  position: absolute;
  right: 10px;
  width: 18px;
  height: 18px;
  visibility: hidden;
}
.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row > .contents > .main > .right > .readMore {
  display: none !important;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label > .contents > .main > .right > .readMore {
  display: none;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label > .contents > .main > .right > .readMore {
  display: inline-block;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover > .contents > .main > .right > .readMore {
  visibility: visible;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated {
  opacity: 0.66;
  text-decoration: unset;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated > .monaco-icon-label-container > .monaco-icon-name-container {
  text-decoration: line-through;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label::before {
  height: 100%;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon {
  display: block;
  height: 16px;
  width: 16px;
  margin-left: 2px;
  background-repeat: no-repeat;
  background-size: 80%;
  background-position: center;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide {
  display: none;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon {
  display: flex;
  align-items: center;
  margin-right: 4px;
}
.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,
.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon::before {
  display: none;
}
.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan {
  margin: 0 0 0 0.3em;
  border: 0.1em solid #000;
  width: 0.7em;
  height: 0.7em;
  display: inline-block;
}
.monaco-editor .suggest-details-container {
  z-index: 41;
}
.monaco-editor .suggest-details {
  display: flex;
  flex-direction: column;
  cursor: default;
  color: var(--vscode-editorSuggestWidget-foreground);
}
.monaco-editor .suggest-details.focused {
  border-color: var(--vscode-focusBorder);
}
.monaco-editor .suggest-details a {
  color: var(--vscode-textLink-foreground);
}
.monaco-editor .suggest-details a:hover {
  color: var(--vscode-textLink-activeForeground);
}
.monaco-editor .suggest-details code {
  background-color: var(--vscode-textCodeBlock-background);
}
.monaco-editor .suggest-details.no-docs {
  display: none;
}
.monaco-editor .suggest-details > .monaco-scrollable-element {
  flex: 1;
}
.monaco-editor .suggest-details > .monaco-scrollable-element > .body {
  box-sizing: border-box;
  height: 100%;
  width: 100%;
}
.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .type {
  flex: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0.7;
  white-space: pre;
  margin: 0 24px 0 0;
  padding: 4px 0 12px 5px;
}
.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .type.auto-wrap {
  white-space: normal;
  word-break: break-all;
}
.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs {
  margin: 0;
  padding: 4px 5px;
  white-space: pre-wrap;
}
.monaco-editor .suggest-details.no-type > .monaco-scrollable-element > .body > .docs {
  margin-right: 24px;
  overflow: hidden;
}
.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs {
  padding: 0;
  white-space: initial;
  min-height: calc(1rem + 8px);
}
.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div,
.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > span:not(:empty) {
  padding: 4px 5px;
}
.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div > p:first-child {
  margin-top: 0;
}
.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div > p:last-child {
  margin-bottom: 0;
}
.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs .monaco-tokenized-source {
  white-space: pre;
}
.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs .code {
  white-space: pre-wrap;
  word-wrap: break-word;
}
.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs .codicon {
  vertical-align: sub;
}
.monaco-editor .suggest-details > .monaco-scrollable-element > .body > p:empty {
  display: none;
}
.monaco-editor .suggest-details code {
  border-radius: 3px;
  padding: 0 0.4em;
}
.monaco-editor .suggest-details ul {
  padding-left: 20px;
}
.monaco-editor .suggest-details ol {
  padding-left: 20px;
}
.monaco-editor .suggest-details p code {
  font-family: var(--monaco-monospace-font);
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.css */
.monaco-editor .goto-definition-link {
  text-decoration: underline;
  cursor: pointer;
  color: var(--vscode-editorLink-activeForeground) !important;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/browser/media/gotoErrorWidget.css */
.monaco-editor .peekview-widget .head .peekview-title .severity-icon {
  display: inline-block;
  vertical-align: text-top;
  margin-right: 4px;
}
.monaco-editor .marker-widget {
  text-overflow: ellipsis;
  white-space: nowrap;
}
.monaco-editor .marker-widget > .stale {
  opacity: 0.6;
  font-style: italic;
}
.monaco-editor .marker-widget .title {
  display: inline-block;
  padding-right: 5px;
}
.monaco-editor .marker-widget .descriptioncontainer {
  position: absolute;
  white-space: pre;
  user-select: text;
  -webkit-user-select: text;
  padding: 8px 12px 0 20px;
}
.monaco-editor .marker-widget .descriptioncontainer .message {
  display: flex;
  flex-direction: column;
}
.monaco-editor .marker-widget .descriptioncontainer .message .details {
  padding-left: 6px;
}
.monaco-editor .marker-widget .descriptioncontainer .message .source,
.monaco-editor .marker-widget .descriptioncontainer .message span.code {
  opacity: 0.6;
}
.monaco-editor .marker-widget .descriptioncontainer .message a.code-link {
  opacity: 0.6;
  color: inherit;
}
.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before {
  content: "(";
}
.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after {
  content: ")";
}
.monaco-editor .marker-widget .descriptioncontainer .message a.code-link > span {
  text-decoration: underline;
  border-bottom: 1px solid transparent;
  text-underline-position: under;
  color: var(--vscode-textLink-activeForeground);
}
.monaco-editor .marker-widget .descriptioncontainer .filename {
  cursor: pointer;
  color: var(--vscode-textLink-activeForeground);
}

/* node_modules/monaco-editor/esm/vs/platform/severityIcon/browser/media/severityIcon.css */
.monaco-editor .zone-widget .codicon.codicon-error,
.markers-panel .marker-icon.error,
.markers-panel .marker-icon .codicon.codicon-error,
.text-search-provider-messages .providerMessage .codicon.codicon-error,
.extensions-viewlet > .extensions .codicon.codicon-error,
.extension-editor .codicon.codicon-error,
.preferences-editor .codicon.codicon-error {
  color: var(--vscode-problemsErrorIcon-foreground);
}
.monaco-editor .zone-widget .codicon.codicon-warning,
.markers-panel .marker-icon.warning,
.markers-panel .marker-icon .codicon.codicon-warning,
.text-search-provider-messages .providerMessage .codicon.codicon-warning,
.extensions-viewlet > .extensions .codicon.codicon-warning,
.extension-editor .codicon.codicon-warning,
.preferences-editor .codicon.codicon-warning {
  color: var(--vscode-problemsWarningIcon-foreground);
}
.monaco-editor .zone-widget .codicon.codicon-info,
.markers-panel .marker-icon.info,
.markers-panel .marker-icon .codicon.codicon-info,
.text-search-provider-messages .providerMessage .codicon.codicon-info,
.extensions-viewlet > .extensions .codicon.codicon-info,
.extension-editor .codicon.codicon-info,
.preferences-editor .codicon.codicon-info {
  color: var(--vscode-problemsInfoIcon-foreground);
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.css */
.monaco-editor.vs .valueSetReplacement {
  outline: solid 2px var(--vscode-editorBracketMatch-border);
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.css */
.monaco-editor .linked-editing-decoration {
  background-color: var(--vscode-editor-linkedEditingBackground);
  min-width: 1px;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/links/browser/links.css */
.monaco-editor .detected-link,
.monaco-editor .detected-link-active {
  text-decoration: underline;
  text-underline-position: under;
}
.monaco-editor .detected-link-active {
  cursor: pointer;
  color: var(--vscode-editorLink-activeForeground) !important;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.css */
.monaco-editor .focused .selectionHighlight {
  background-color: var(--vscode-editor-selectionHighlightBackground);
  box-sizing: border-box;
  border: 1px solid var(--vscode-editor-selectionHighlightBorder);
}
.monaco-editor.hc-black .focused .selectionHighlight,
.monaco-editor.hc-light .focused .selectionHighlight {
  border-style: dotted;
}
.monaco-editor .wordHighlight {
  background-color: var(--vscode-editor-wordHighlightBackground);
  box-sizing: border-box;
  border: 1px solid var(--vscode-editor-wordHighlightBorder);
}
.monaco-editor.hc-black .wordHighlight,
.monaco-editor.hc-light .wordHighlight {
  border-style: dotted;
}
.monaco-editor .wordHighlightStrong {
  background-color: var(--vscode-editor-wordHighlightStrongBackground);
  box-sizing: border-box;
  border: 1px solid var(--vscode-editor-wordHighlightStrongBorder);
}
.monaco-editor.hc-black .wordHighlightStrong,
.monaco-editor.hc-light .wordHighlightStrong {
  border-style: dotted;
}
.monaco-editor .wordHighlightText {
  background-color: var(--vscode-editor-wordHighlightTextBackground);
  box-sizing: border-box;
  border: 1px solid var(--vscode-editor-wordHighlightTextBorder);
}
.monaco-editor.hc-black .wordHighlightText,
.monaco-editor.hc-light .wordHighlightText {
  border-style: dotted;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEdit.css */
.monaco-editor .inline-edit-remove {
  background-color: var(--vscode-editorGhostText-background);
  font-style: italic;
  text-decoration: line-through;
}
.monaco-editor .inline-edit-remove.backgroundColoring {
  background-color: var(--vscode-diffEditor-removedLineBackground);
}
.monaco-editor .inline-edit-hidden {
  opacity: 0;
  font-size: 0;
}
.monaco-editor .inline-edit-decoration,
.monaco-editor .suggest-preview-text .inline-edit {
  font-style: italic;
}
.monaco-editor .inline-completion-text-to-replace {
  text-decoration: underline;
  text-underline-position: under;
}
.monaco-editor .inline-edit-decoration,
.monaco-editor .inline-edit-decoration-preview,
.monaco-editor .suggest-preview-text .inline-edit {
  color: var(--vscode-editorGhostText-foreground) !important;
  background-color: var(--vscode-editorGhostText-background);
  border: 1px solid var(--vscode-editorGhostText-border);
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.css */
.monaco-editor .inlineEditHints.withBorder {
  z-index: 39;
  color: var(--vscode-editorHoverWidget-foreground);
  background-color: var(--vscode-editorHoverWidget-background);
  border: 1px solid var(--vscode-editorHoverWidget-border);
}
.monaco-editor .inlineEditHints a {
  color: var(--vscode-foreground);
}
.monaco-editor .inlineEditHints a:hover {
  color: var(--vscode-foreground);
}
.monaco-editor .inlineEditHints .keybinding {
  display: flex;
  margin-left: 4px;
  opacity: 0.6;
}
.monaco-editor .inlineEditHints .keybinding .monaco-keybinding-key {
  font-size: 8px;
  padding: 2px 3px;
}
.monaco-editor .inlineEditStatusBarItemLabel {
  margin-right: 2px;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/browser/parameterHints.css */
.monaco-editor .parameter-hints-widget {
  z-index: 39;
  display: flex;
  flex-direction: column;
  line-height: 1.5em;
  cursor: default;
  color: var(--vscode-editorHoverWidget-foreground);
  background-color: var(--vscode-editorHoverWidget-background);
  border: 1px solid var(--vscode-editorHoverWidget-border);
}
.hc-black .monaco-editor .parameter-hints-widget,
.hc-light .monaco-editor .parameter-hints-widget {
  border-width: 2px;
}
.monaco-editor .parameter-hints-widget > .phwrapper {
  max-width: 440px;
  display: flex;
  flex-direction: row;
}
.monaco-editor .parameter-hints-widget.multiple {
  min-height: 3.3em;
  padding: 0;
}
.monaco-editor .parameter-hints-widget.multiple .body::before {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  opacity: 0.5;
  border-left: 1px solid var(--vscode-editorHoverWidget-border);
}
.monaco-editor .parameter-hints-widget p,
.monaco-editor .parameter-hints-widget ul {
  margin: 8px 0;
}
.monaco-editor .parameter-hints-widget .monaco-scrollable-element,
.monaco-editor .parameter-hints-widget .body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 100%;
}
.monaco-editor .parameter-hints-widget .signature {
  padding: 4px 5px;
  position: relative;
}
.monaco-editor .parameter-hints-widget .signature.has-docs::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  padding-top: 4px;
  opacity: 0.5;
  border-bottom: 1px solid var(--vscode-editorHoverWidget-border);
}
.monaco-editor .parameter-hints-widget .docs {
  padding: 0 10px 0 5px;
  white-space: pre-wrap;
}
.monaco-editor .parameter-hints-widget .docs.empty {
  display: none;
}
.monaco-editor .parameter-hints-widget .docs a {
  color: var(--vscode-textLink-foreground);
}
.monaco-editor .parameter-hints-widget .docs a:hover {
  color: var(--vscode-textLink-activeForeground);
  cursor: pointer;
}
.monaco-editor .parameter-hints-widget .docs .markdown-docs {
  white-space: initial;
}
.monaco-editor .parameter-hints-widget .docs code {
  font-family: var(--monaco-monospace-font);
  border-radius: 3px;
  padding: 0 0.4em;
  background-color: var(--vscode-textCodeBlock-background);
}
.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source,
.monaco-editor .parameter-hints-widget .docs .code {
  white-space: pre-wrap;
}
.monaco-editor .parameter-hints-widget .controls {
  display: none;
  flex-direction: column;
  align-items: center;
  min-width: 22px;
  justify-content: flex-end;
}
.monaco-editor .parameter-hints-widget.multiple .controls {
  display: flex;
  padding: 0 2px;
}
.monaco-editor .parameter-hints-widget.multiple .button {
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  cursor: pointer;
}
.monaco-editor .parameter-hints-widget .button.previous {
  bottom: 24px;
}
.monaco-editor .parameter-hints-widget .overloads {
  text-align: center;
  height: 12px;
  line-height: 12px;
  font-family: var(--monaco-monospace-font);
}
.monaco-editor .parameter-hints-widget .signature .parameter.active {
  color: var(--vscode-editorHoverWidget-highlightForeground);
  font-weight: bold;
}
.monaco-editor .parameter-hints-widget .documentation-parameter > .parameter {
  font-weight: bold;
  margin-right: 0.5em;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/rename/browser/renameWidget.css */
.monaco-editor .rename-box {
  z-index: 100;
  color: inherit;
  border-radius: 4px;
}
.monaco-editor .rename-box.preview {
  padding: 4px 4px 0 4px;
}
.monaco-editor .rename-box .rename-input-with-button {
  padding: 3px;
  border-radius: 2px;
  width: calc(100% - 8px);
}
.monaco-editor .rename-box .rename-input {
  width: calc(100% - 8px);
  padding: 0;
}
.monaco-editor .rename-box .rename-input:focus {
  outline: none;
}
.monaco-editor .rename-box .rename-suggestions-button {
  display: flex;
  align-items: center;
  padding: 3px;
  background-color: transparent;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}
.monaco-editor .rename-box .rename-suggestions-button:hover {
  background-color: var(--vscode-toolbar-hoverBackground);
}
.monaco-editor .rename-box .rename-candidate-list-container .monaco-list-row {
  border-radius: 2px;
}
.monaco-editor .rename-box .rename-label {
  display: none;
  opacity: .8;
}
.monaco-editor .rename-box.preview .rename-label {
  display: inherit;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScroll.css */
.monaco-editor .sticky-widget {
  overflow: hidden;
}
.monaco-editor .sticky-widget-line-numbers {
  float: left;
  background-color: inherit;
}
.monaco-editor .sticky-widget-lines-scrollable {
  display: inline-block;
  position: absolute;
  overflow: hidden;
  width: var(--vscode-editorStickyScroll-scrollableWidth);
  background-color: inherit;
}
.monaco-editor .sticky-widget-lines {
  position: absolute;
  background-color: inherit;
}
.monaco-editor .sticky-line-number,
.monaco-editor .sticky-line-content {
  color: var(--vscode-editorLineNumber-foreground);
  white-space: nowrap;
  display: inline-block;
  position: absolute;
  background-color: inherit;
}
.monaco-editor .sticky-line-number .codicon-folding-expanded,
.monaco-editor .sticky-line-number .codicon-folding-collapsed {
  float: right;
  transition: var(--vscode-editorStickyScroll-foldingOpacityTransition);
}
.monaco-editor .sticky-line-content {
  width: var(--vscode-editorStickyScroll-scrollableWidth);
  background-color: inherit;
  white-space: nowrap;
}
.monaco-editor .sticky-line-number-inner {
  display: inline-block;
  text-align: right;
}
.monaco-editor .sticky-widget {
  border-bottom: 1px solid var(--vscode-editorStickyScroll-border);
}
.monaco-editor .sticky-line-content:hover {
  background-color: var(--vscode-editorStickyScrollHover-background);
  cursor: pointer;
}
.monaco-editor .sticky-widget {
  width: 100%;
  box-shadow: var(--vscode-editorStickyScroll-shadow) 0 3px 2px -2px;
  z-index: 4;
  background-color: var(--vscode-editorStickyScroll-background);
  right: initial !important;
}
.monaco-editor .sticky-widget.peek {
  background-color: var(--vscode-peekViewEditorStickyScroll-background);
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.css */
.monaco-editor .unicode-highlight {
  border: 1px solid var(--vscode-editorUnicodeHighlight-border);
  background-color: var(--vscode-editorUnicodeHighlight-background);
  box-sizing: border-box;
}

/* node_modules/monaco-editor/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.css */
.editor-banner {
  box-sizing: border-box;
  cursor: default;
  width: 100%;
  font-size: 12px;
  display: flex;
  overflow: visible;
  height: 26px;
  background: var(--vscode-banner-background);
}
.editor-banner .icon-container {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: 0 6px 0 10px;
}
.editor-banner .icon-container.custom-icon {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 16px;
  width: 16px;
  padding: 0;
  margin: 0 6px 0 10px;
}
.editor-banner .message-container {
  display: flex;
  align-items: center;
  line-height: 26px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.editor-banner .message-container p {
  margin-block-start: 0;
  margin-block-end: 0;
}
.editor-banner .message-actions-container {
  flex-grow: 1;
  flex-shrink: 0;
  line-height: 26px;
  margin: 0 4px;
}
.editor-banner .message-actions-container a.monaco-button {
  width: inherit;
  margin: 2px 8px;
  padding: 0px 12px;
}
.editor-banner .message-actions-container a {
  padding: 3px;
  margin-left: 12px;
  text-decoration: underline;
}
.editor-banner .action-container {
  padding: 0 10px 0 6px;
}
.editor-banner {
  background-color: var(--vscode-banner-background);
}
.editor-banner,
.editor-banner .action-container .codicon,
.editor-banner .message-actions-container .monaco-link {
  color: var(--vscode-banner-foreground);
}
.editor-banner .icon-container .codicon {
  color: var(--vscode-banner-iconForeground);
}

/* node_modules/monaco-editor/esm/vs/platform/opener/browser/link.css */
.monaco-link {
  color: var(--vscode-textLink-foreground);
}
.monaco-link:hover {
  color: var(--vscode-textLink-activeForeground);
}

/* node_modules/monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.css */
.monaco-editor .iPadShowKeyboard {
  width: 58px;
  min-width: 0;
  height: 36px;
  min-height: 0;
  margin: 0;
  padding: 0;
  position: absolute;
  resize: none;
  overflow: hidden;
  background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjNDI0MjQyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==) center center no-repeat;
  border: 4px solid #F6F6F6;
  border-radius: 4px;
}
.monaco-editor.vs-dark .iPadShowKeyboard {
  background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjQzVDNUM1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==) center center no-repeat;
  border: 4px solid #252526;
}

/* node_modules/monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.css */
.monaco-editor .tokens-inspect-widget {
  z-index: 50;
  user-select: text;
  -webkit-user-select: text;
  padding: 10px;
  color: var(--vscode-editorHoverWidget-foreground);
  background-color: var(--vscode-editorHoverWidget-background);
  border: 1px solid var(--vscode-editorHoverWidget-border);
}
.monaco-editor.hc-black .tokens-inspect-widget,
.monaco-editor.hc-light .tokens-inspect-widget {
  border-width: 2px;
}
.monaco-editor .tokens-inspect-widget .tokens-inspect-separator {
  height: 1px;
  border: 0;
  background-color: var(--vscode-editorHoverWidget-border);
}
.monaco-editor .tokens-inspect-widget .tm-token {
  font-family: var(--monaco-monospace-font);
}
.monaco-editor .tokens-inspect-widget .tm-token-length {
  font-weight: normal;
  font-size: 60%;
  float: right;
}
.monaco-editor .tokens-inspect-widget .tm-metadata-table {
  width: 100%;
}
.monaco-editor .tokens-inspect-widget .tm-metadata-value {
  font-family: var(--monaco-monospace-font);
  text-align: right;
}
.monaco-editor .tokens-inspect-widget .tm-token-type {
  font-family: var(--monaco-monospace-font);
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9zdGFuZGFsb25lL2Jyb3dzZXIvc3RhbmRhbG9uZS10b2tlbnMuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9iYXNlL2Jyb3dzZXIvdWkvYXJpYS9hcmlhLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvZWRpdG9yL2Jyb3dzZXIvd2lkZ2V0L2NvZGVFZGl0b3IvZWRpdG9yLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvYmFzZS9icm93c2VyL3VpL3Njcm9sbGJhci9tZWRpYS9zY3JvbGxiYXJzLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvZWRpdG9yL2Jyb3dzZXIvY29udHJvbGxlci90ZXh0QXJlYUhhbmRsZXIuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvYnJvd3Nlci92aWV3UGFydHMvbGluZU51bWJlcnMvbGluZU51bWJlcnMuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvYnJvd3Nlci92aWV3UGFydHMvbWFyZ2luL21hcmdpbi5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2Jhc2UvYnJvd3Nlci91aS9tb3VzZUN1cnNvci9tb3VzZUN1cnNvci5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9icm93c2VyL3ZpZXdQYXJ0cy9ibG9ja0RlY29yYXRpb25zL2Jsb2NrRGVjb3JhdGlvbnMuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvYnJvd3Nlci92aWV3UGFydHMvY3VycmVudExpbmVIaWdobGlnaHQvY3VycmVudExpbmVIaWdobGlnaHQuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvYnJvd3Nlci92aWV3UGFydHMvZGVjb3JhdGlvbnMvZGVjb3JhdGlvbnMuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvYnJvd3Nlci92aWV3UGFydHMvZ2x5cGhNYXJnaW4vZ2x5cGhNYXJnaW4uY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvYnJvd3Nlci92aWV3UGFydHMvaW5kZW50R3VpZGVzL2luZGVudEd1aWRlcy5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9icm93c2VyL3ZpZXdQYXJ0cy9saW5lcy92aWV3TGluZXMuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvYnJvd3Nlci92aWV3UGFydHMvbGluZXNEZWNvcmF0aW9ucy9saW5lc0RlY29yYXRpb25zLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvZWRpdG9yL2Jyb3dzZXIvdmlld1BhcnRzL21hcmdpbkRlY29yYXRpb25zL21hcmdpbkRlY29yYXRpb25zLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvZWRpdG9yL2Jyb3dzZXIvdmlld1BhcnRzL21pbmltYXAvbWluaW1hcC5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9icm93c2VyL3ZpZXdQYXJ0cy9vdmVybGF5V2lkZ2V0cy9vdmVybGF5V2lkZ2V0cy5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9icm93c2VyL3ZpZXdQYXJ0cy9ydWxlcnMvcnVsZXJzLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvZWRpdG9yL2Jyb3dzZXIvdmlld1BhcnRzL3Njcm9sbERlY29yYXRpb24vc2Nyb2xsRGVjb3JhdGlvbi5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9icm93c2VyL3ZpZXdQYXJ0cy9zZWxlY3Rpb25zL3NlbGVjdGlvbnMuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvYnJvd3Nlci92aWV3UGFydHMvdmlld0N1cnNvcnMvdmlld0N1cnNvcnMuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvYnJvd3Nlci92aWV3UGFydHMvd2hpdGVzcGFjZS93aGl0ZXNwYWNlLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvZWRpdG9yL2Jyb3dzZXIvc2VydmljZXMvaG92ZXJTZXJ2aWNlL2hvdmVyLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvYmFzZS9icm93c2VyL3VpL2hvdmVyL2hvdmVyV2lkZ2V0LmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvZWRpdG9yL2Jyb3dzZXIvd2lkZ2V0L21hcmtkb3duUmVuZGVyZXIvYnJvd3Nlci9yZW5kZXJlZE1hcmtkb3duLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvYmFzZS9icm93c2VyL3VpL2NvbnRleHR2aWV3L2NvbnRleHR2aWV3LmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvYmFzZS9icm93c2VyL3VpL2xpc3QvbGlzdC5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2Jhc2UvYnJvd3Nlci91aS9zZWxlY3RCb3gvc2VsZWN0Qm94Q3VzdG9tLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvYmFzZS9icm93c2VyL3VpL3NlbGVjdEJveC9zZWxlY3RCb3guY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9iYXNlL2Jyb3dzZXIvdWkvYWN0aW9uYmFyL2FjdGlvbmJhci5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2Jhc2UvYnJvd3Nlci91aS9kcm9wZG93bi9kcm9wZG93bi5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL3BsYXRmb3JtL2FjdGlvbnMvYnJvd3Nlci9tZW51RW50cnlBY3Rpb25WaWV3SXRlbS5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9zdGFuZGFsb25lL2Jyb3dzZXIvcXVpY2tJbnB1dC9zdGFuZGFsb25lUXVpY2tJbnB1dC5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2Jhc2UvYnJvd3Nlci91aS90b2dnbGUvdG9nZ2xlLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvcGxhdGZvcm0vcXVpY2tpbnB1dC9icm93c2VyL21lZGlhL3F1aWNrSW5wdXQuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9iYXNlL2Jyb3dzZXIvdWkvYnV0dG9uL2J1dHRvbi5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2Jhc2UvYnJvd3Nlci91aS9jb3VudEJhZGdlL2NvdW50QmFkZ2UuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9iYXNlL2Jyb3dzZXIvdWkvcHJvZ3Jlc3NiYXIvcHJvZ3Jlc3NiYXIuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9iYXNlL2Jyb3dzZXIvdWkvaW5wdXRib3gvaW5wdXRCb3guY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9iYXNlL2Jyb3dzZXIvdWkvZmluZGlucHV0L2ZpbmRJbnB1dC5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2Jhc2UvYnJvd3Nlci91aS9zYXNoL3Nhc2guY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9iYXNlL2Jyb3dzZXIvdWkvc3BsaXR2aWV3L3NwbGl0dmlldy5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2Jhc2UvYnJvd3Nlci91aS90YWJsZS90YWJsZS5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2Jhc2UvYnJvd3Nlci91aS90cmVlL21lZGlhL3RyZWUuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9iYXNlL2Jyb3dzZXIvdWkvaWNvbkxhYmVsL2ljb25sYWJlbC5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2Jhc2UvYnJvd3Nlci91aS9rZXliaW5kaW5nTGFiZWwva2V5YmluZGluZ0xhYmVsLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvZWRpdG9yL2Jyb3dzZXIvd2lkZ2V0L2RpZmZFZGl0b3Ivc3R5bGUuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvYnJvd3Nlci93aWRnZXQvZGlmZkVkaXRvci9jb21wb25lbnRzL2FjY2Vzc2libGVEaWZmVmlld2VyLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvYmFzZS9icm93c2VyL3VpL3Rvb2xiYXIvdG9vbGJhci5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9icm93c2VyL3dpZGdldC9tdWx0aURpZmZFZGl0b3Ivc3R5bGUuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvY29udHJpYi9hbmNob3JTZWxlY3QvYnJvd3Nlci9hbmNob3JTZWxlY3QuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvY29udHJpYi9icmFja2V0TWF0Y2hpbmcvYnJvd3Nlci9icmFja2V0TWF0Y2hpbmcuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvY29udHJpYi9pbmxpbmVQcm9ncmVzcy9icm93c2VyL2lubGluZVByb2dyZXNzV2lkZ2V0LmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvZWRpdG9yL2NvbnRyaWIvbWVzc2FnZS9icm93c2VyL21lc3NhZ2VDb250cm9sbGVyLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvZWRpdG9yL2NvbnRyaWIvZHJvcE9yUGFzdGVJbnRvL2Jyb3dzZXIvcG9zdEVkaXRXaWRnZXQuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9iYXNlL2Jyb3dzZXIvdWkvY29kaWNvbnMvY29kaWNvbi9jb2RpY29uLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvYmFzZS9icm93c2VyL3VpL2NvZGljb25zL2NvZGljb24vY29kaWNvbi1tb2RpZmllcnMuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvY29udHJpYi9zeW1ib2xJY29ucy9icm93c2VyL3N5bWJvbEljb25zLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvZWRpdG9yL2NvbnRyaWIvY29kZUFjdGlvbi9icm93c2VyL2xpZ2h0QnVsYldpZGdldC5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL3BsYXRmb3JtL2FjdGlvbldpZGdldC9icm93c2VyL2FjdGlvbldpZGdldC5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9jb250cmliL2NvZGVsZW5zL2Jyb3dzZXIvY29kZWxlbnNXaWRnZXQuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvY29udHJpYi9jb2xvclBpY2tlci9icm93c2VyL2NvbG9yUGlja2VyLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvZWRpdG9yL2NvbnRyaWIvaW5saW5lQ29tcGxldGlvbnMvYnJvd3Nlci9pbmxpbmVDb21wbGV0aW9uc0hpbnRzV2lkZ2V0LmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvZWRpdG9yL2NvbnRyaWIvcGVla1ZpZXcvYnJvd3Nlci9tZWRpYS9wZWVrVmlld1dpZGdldC5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9jb250cmliL3pvbmVXaWRnZXQvYnJvd3Nlci96b25lV2lkZ2V0LmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvZWRpdG9yL2NvbnRyaWIvZ290b1N5bWJvbC9icm93c2VyL3BlZWsvcmVmZXJlbmNlc1dpZGdldC5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9jb250cmliL2hvdmVyL2Jyb3dzZXIvaG92ZXIuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvY29udHJpYi9kbmQvYnJvd3Nlci9kbmQuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvY29udHJpYi9maW5kL2Jyb3dzZXIvZmluZE9wdGlvbnNXaWRnZXQuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvY29udHJpYi9maW5kL2Jyb3dzZXIvZmluZFdpZGdldC5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9jb250cmliL2ZvbGRpbmcvYnJvd3Nlci9mb2xkaW5nLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvZWRpdG9yL2NvbnRyaWIvaW5saW5lQ29tcGxldGlvbnMvYnJvd3Nlci9naG9zdFRleHQuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvY29udHJpYi9zbmlwcGV0L2Jyb3dzZXIvc25pcHBldFNlc3Npb24uY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvY29udHJpYi9zdWdnZXN0L2Jyb3dzZXIvbWVkaWEvc3VnZ2VzdC5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9jb250cmliL2dvdG9TeW1ib2wvYnJvd3Nlci9saW5rL2dvVG9EZWZpbml0aW9uQXRQb3NpdGlvbi5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9jb250cmliL2dvdG9FcnJvci9icm93c2VyL21lZGlhL2dvdG9FcnJvcldpZGdldC5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL3BsYXRmb3JtL3NldmVyaXR5SWNvbi9icm93c2VyL21lZGlhL3NldmVyaXR5SWNvbi5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9jb250cmliL2luUGxhY2VSZXBsYWNlL2Jyb3dzZXIvaW5QbGFjZVJlcGxhY2UuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvY29udHJpYi9saW5rZWRFZGl0aW5nL2Jyb3dzZXIvbGlua2VkRWRpdGluZy5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9jb250cmliL2xpbmtzL2Jyb3dzZXIvbGlua3MuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvY29udHJpYi93b3JkSGlnaGxpZ2h0ZXIvYnJvd3Nlci9oaWdobGlnaHREZWNvcmF0aW9ucy5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9jb250cmliL2lubGluZUVkaXQvYnJvd3Nlci9pbmxpbmVFZGl0LmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvZWRpdG9yL2NvbnRyaWIvaW5saW5lRWRpdC9icm93c2VyL2lubGluZUVkaXRIaW50c1dpZGdldC5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9jb250cmliL3BhcmFtZXRlckhpbnRzL2Jyb3dzZXIvcGFyYW1ldGVySGludHMuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvY29udHJpYi9yZW5hbWUvYnJvd3Nlci9yZW5hbWVXaWRnZXQuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvY29udHJpYi9zdGlja3lTY3JvbGwvYnJvd3Nlci9zdGlja3lTY3JvbGwuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvY29udHJpYi91bmljb2RlSGlnaGxpZ2h0ZXIvYnJvd3Nlci91bmljb2RlSGlnaGxpZ2h0ZXIuY3NzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvY29udHJpYi91bmljb2RlSGlnaGxpZ2h0ZXIvYnJvd3Nlci9iYW5uZXJDb250cm9sbGVyLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvcGxhdGZvcm0vb3BlbmVyL2Jyb3dzZXIvbGluay5jc3MiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9zdGFuZGFsb25lL2Jyb3dzZXIvaVBhZFNob3dLZXlib2FyZC9pUGFkU2hvd0tleWJvYXJkLmNzcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9lc20vdnMvZWRpdG9yL3N0YW5kYWxvbmUvYnJvd3Nlci9pbnNwZWN0VG9rZW5zL2luc3BlY3RUb2tlbnMuY3NzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4vKiBEZWZhdWx0IHN0YW5kYWxvbmUgZWRpdG9yIGZvbnRzICovXG4ubW9uYWNvLWVkaXRvciB7XG5cdGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgV1BDXCIsIFwiU2Vnb2UgVUlcIiwgXCJIZWx2ZXRpY2FOZXVlLUxpZ2h0XCIsIHN5c3RlbS11aSwgXCJVYnVudHVcIiwgXCJEcm9pZCBTYW5zXCIsIHNhbnMtc2VyaWY7XG5cdC0tbW9uYWNvLW1vbm9zcGFjZS1mb250OiBcIlNGIE1vbm9cIiwgTW9uYWNvLCBNZW5sbywgQ29uc29sYXMsIFwiVWJ1bnR1IE1vbm9cIiwgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJEZWphVnUgU2FucyBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xufVxuXG4ubW9uYWNvLW1lbnUgLm1vbmFjby1hY3Rpb24tYmFyLnZlcnRpY2FsIC5hY3Rpb24taXRlbSAuYWN0aW9uLW1lbnUtaXRlbTpmb2N1cyAuYWN0aW9uLWxhYmVsIHtcblx0c3Ryb2tlLXdpZHRoOiAxLjJweDtcbn1cblxuLm1vbmFjby1lZGl0b3IudnMtZGFyayAubW9uYWNvLW1lbnUgLm1vbmFjby1hY3Rpb24tYmFyLnZlcnRpY2FsIC5hY3Rpb24tbWVudS1pdGVtOmZvY3VzIC5hY3Rpb24tbGFiZWwsXG4ubW9uYWNvLWVkaXRvci5oYy1ibGFjayAubW9uYWNvLW1lbnUgLm1vbmFjby1hY3Rpb24tYmFyLnZlcnRpY2FsIC5hY3Rpb24tbWVudS1pdGVtOmZvY3VzIC5hY3Rpb24tbGFiZWwsXG4ubW9uYWNvLWVkaXRvci5oYy1saWdodCAubW9uYWNvLW1lbnUgLm1vbmFjby1hY3Rpb24tYmFyLnZlcnRpY2FsIC5hY3Rpb24tbWVudS1pdGVtOmZvY3VzIC5hY3Rpb24tbGFiZWwge1xuXHRzdHJva2Utd2lkdGg6IDEuMnB4O1xufVxuXG4ubW9uYWNvLWhvdmVyIHAge1xuXHRtYXJnaW46IDA7XG59XG5cbi8qIFNlZSBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L21vbmFjby1lZGl0b3IvaXNzdWVzLzIxNjgjaXNzdWVjb21tZW50LTc4MDA3ODYwMCAqL1xuLm1vbmFjby1hcmlhLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHR0b3A6IDA7IC8qIGF2b2lkIGJlaW5nIHBsYWNlZCB1bmRlcm5lYXRoIGEgc2libGluZyBlbGVtZW50ICovXG5cdGhlaWdodDogMXB4O1xuXHR3aWR0aDogMXB4O1xuXHRtYXJnaW46IC0xcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDA7XG5cdGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcblx0Y2xpcC1wYXRoOiBpbnNldCg1MCUpO1xufVxuXG4ubW9uYWNvLWVkaXRvciwgLm1vbmFjby1kaWZmLWVkaXRvciAuc3ludGhldGljLWZvY3VzLFxuLm1vbmFjby1lZGl0b3IsIC5tb25hY28tZGlmZi1lZGl0b3IgW3RhYmluZGV4PVwiMFwiXTpmb2N1cyxcbi5tb25hY28tZWRpdG9yLCAubW9uYWNvLWRpZmYtZWRpdG9yIFt0YWJpbmRleD1cIi0xXCJdOmZvY3VzLFxuLm1vbmFjby1lZGl0b3IsIC5tb25hY28tZGlmZi1lZGl0b3IgYnV0dG9uOmZvY3VzLFxuLm1vbmFjby1lZGl0b3IsIC5tb25hY28tZGlmZi1lZGl0b3IgaW5wdXRbdHlwZT1idXR0b25dOmZvY3VzLFxuLm1vbmFjby1lZGl0b3IsIC5tb25hY28tZGlmZi1lZGl0b3IgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXMsXG4ubW9uYWNvLWVkaXRvciwgLm1vbmFjby1kaWZmLWVkaXRvciBpbnB1dFt0eXBlPXNlYXJjaF06Zm9jdXMsXG4ubW9uYWNvLWVkaXRvciwgLm1vbmFjby1kaWZmLWVkaXRvciBpbnB1dFt0eXBlPXRleHRdOmZvY3VzLFxuLm1vbmFjby1lZGl0b3IsIC5tb25hY28tZGlmZi1lZGl0b3Igc2VsZWN0OmZvY3VzLFxuLm1vbmFjby1lZGl0b3IsIC5tb25hY28tZGlmZi1lZGl0b3IgdGV4dGFyZWE6Zm9jdXMge1xuXHRvdXRsaW5lLXdpZHRoOiAxcHg7XG5cdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRvdXRsaW5lLW9mZnNldDogLTFweDtcblx0b3V0bGluZS1jb2xvcjogdmFyKC0tdnNjb2RlLWZvY3VzQm9yZGVyKTtcblx0b3BhY2l0eTogMVxufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ubW9uYWNvLWFyaWEtY29udGFpbmVyIHtcblx0cG9zaXRpb246IGFic29sdXRlOyAvKiB0cnkgdG8gaGlkZSBmcm9tIHdpbmRvdyBidXQgbm90IGZyb20gc2NyZWVuIHJlYWRlcnMgKi9cblx0bGVmdDotOTk5ZW07XG59IiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBJRTEwIHJlbW92ZSBhdXRvIGNsZWFyIGJ1dHRvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG46Oi1tcy1jbGVhciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEFsbCB3aWRnZXRzICovXG4vKiBJIGFtIG5vdCBhIGJpZyBmYW4gb2YgdGhpcyBydWxlICovXG4ubW9uYWNvLWVkaXRvciAuZWRpdG9yLXdpZGdldCBpbnB1dCB7XG5cdGNvbG9yOiBpbmhlcml0O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBFZGl0b3IgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLm1vbmFjby1lZGl0b3Ige1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xuXHQtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yLWZvcmVncm91bmQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yLWJhY2tncm91bmQpO1xufVxuLm1vbmFjby1lZGl0b3ItYmFja2dyb3VuZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3ItYmFja2dyb3VuZCk7XG59XG4ubW9uYWNvLWVkaXRvciAucmFuZ2VIaWdobGlnaHQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yLXJhbmdlSGlnaGxpZ2h0QmFja2dyb3VuZCk7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXZzY29kZS1lZGl0b3ItcmFuZ2VIaWdobGlnaHRCb3JkZXIpO1xufVxuLm1vbmFjby1lZGl0b3IuaGMtYmxhY2sgLnJhbmdlSGlnaGxpZ2h0LCAubW9uYWNvLWVkaXRvci5oYy1saWdodCAucmFuZ2VIaWdobGlnaHQge1xuXHRib3JkZXItc3R5bGU6IGRvdHRlZDtcbn1cbi5tb25hY28tZWRpdG9yIC5zeW1ib2xIaWdobGlnaHQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yLXN5bWJvbEhpZ2hsaWdodEJhY2tncm91bmQpO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS12c2NvZGUtZWRpdG9yLXN5bWJvbEhpZ2hsaWdodEJvcmRlcik7XG59XG4ubW9uYWNvLWVkaXRvci5oYy1ibGFjayAuc3ltYm9sSGlnaGxpZ2h0LCAubW9uYWNvLWVkaXRvci5oYy1saWdodCAuc3ltYm9sSGlnaGxpZ2h0IHtcblx0Ym9yZGVyLXN0eWxlOiBkb3R0ZWQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tIE1pc2MgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLm1vbmFjby1lZGl0b3IgLm92ZXJmbG93LWd1YXJkIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubW9uYWNvLWVkaXRvciAudmlldy1vdmVybGF5cyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xufVxuXG4ubW9uYWNvLWVkaXRvciAudmlldy1vdmVybGF5cyA+IGRpdiwgLm1vbmFjby1lZGl0b3IgLm1hcmdpbi12aWV3LW92ZXJsYXlzID4gZGl2IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLypcbi5tb25hY28tZWRpdG9yIC5hdXRvLWNsb3NlZC1jaGFyYWN0ZXIge1xuXHRvcGFjaXR5OiAwLjM7XG59XG4qL1xuXG5cbi5tb25hY28tZWRpdG9yIC5zcXVpZ2dseS1lcnJvciB7XG5cdGJvcmRlci1ib3R0b206IDRweCBkb3VibGUgdmFyKC0tdnNjb2RlLWVkaXRvckVycm9yLWJvcmRlcik7XG59XG4ubW9uYWNvLWVkaXRvciAuc3F1aWdnbHktZXJyb3I6OmJlZm9yZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjb250ZW50OiAnJztcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZDogdmFyKC0tdnNjb2RlLWVkaXRvckVycm9yLWJhY2tncm91bmQpO1xufVxuLm1vbmFjby1lZGl0b3IgLnNxdWlnZ2x5LXdhcm5pbmcge1xuXHRib3JkZXItYm90dG9tOiA0cHggZG91YmxlIHZhcigtLXZzY29kZS1lZGl0b3JXYXJuaW5nLWJvcmRlcik7XG59XG4ubW9uYWNvLWVkaXRvciAuc3F1aWdnbHktd2FybmluZzo6YmVmb3JlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGNvbnRlbnQ6ICcnO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS12c2NvZGUtZWRpdG9yV2FybmluZy1iYWNrZ3JvdW5kKTtcbn1cbi5tb25hY28tZWRpdG9yIC5zcXVpZ2dseS1pbmZvIHtcblx0Ym9yZGVyLWJvdHRvbTogNHB4IGRvdWJsZSB2YXIoLS12c2NvZGUtZWRpdG9ySW5mby1ib3JkZXIpO1xufVxuLm1vbmFjby1lZGl0b3IgLnNxdWlnZ2x5LWluZm86OmJlZm9yZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjb250ZW50OiAnJztcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZDogdmFyKC0tdnNjb2RlLWVkaXRvckluZm8tYmFja2dyb3VuZCk7XG59XG4ubW9uYWNvLWVkaXRvciAuc3F1aWdnbHktaGludCB7XG5cdGJvcmRlci1ib3R0b206IDJweCBkb3R0ZWQgdmFyKC0tdnNjb2RlLWVkaXRvckhpbnQtYm9yZGVyKTtcbn1cbi5tb25hY28tZWRpdG9yLnNob3dVbnVzZWQgLnNxdWlnZ2x5LXVubmVjZXNzYXJ5IHtcblx0Ym9yZGVyLWJvdHRvbTogMnB4IGRhc2hlZCB2YXIoLS12c2NvZGUtZWRpdG9yVW5uZWNlc3NhcnlDb2RlLWJvcmRlcik7XG59XG4ubW9uYWNvLWVkaXRvci5zaG93RGVwcmVjYXRlZCAuc3F1aWdnbHktaW5saW5lLWRlcHJlY2F0ZWQge1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblx0dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yLWZvcmVncm91bmQsIGluaGVyaXQpO1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBBcnJvd3MgKi9cbi5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50ID4gLnNjcm9sbGJhciA+IC5zY3JhIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDExcHggIWltcG9ydGFudDtcbn1cblxuLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAudmlzaWJsZSB7XG5cdG9wYWNpdHk6IDE7XG5cblx0LyogQmFja2dyb3VuZCBydWxlIGFkZGVkIGZvciBJRTkgLSB0byBhbGxvdyBjbGlja3Mgb24gZG9tIG5vZGUgKi9cblx0YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDApO1xuXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMTAwbXMgbGluZWFyO1xuXHQvKiBJbiBmcm9udCBvZiBwZWVrIHZpZXcgKi9cblx0ei1pbmRleDogMTE7XG59XG4ubW9uYWNvLXNjcm9sbGFibGUtZWxlbWVudCA+IC5pbnZpc2libGUge1xuXHRvcGFjaXR5OiAwO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50ID4gLmludmlzaWJsZS5mYWRlIHtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSA4MDBtcyBsaW5lYXI7XG59XG5cbi8qIFNjcm9sbGFibGUgQ29udGVudCBJbnNldCBTaGFkb3cgKi9cbi5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50ID4gLnNoYWRvdyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50ID4gLnNoYWRvdy50b3Age1xuXHRkaXNwbGF5OiBibG9jaztcblx0dG9wOiAwO1xuXHRsZWZ0OiAzcHg7XG5cdGhlaWdodDogM3B4O1xuXHR3aWR0aDogMTAwJTtcblx0Ym94LXNoYWRvdzogdmFyKC0tdnNjb2RlLXNjcm9sbGJhci1zaGFkb3cpIDAgNnB4IDZweCAtNnB4IGluc2V0O1xufVxuLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuc2hhZG93LmxlZnQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0dG9wOiAzcHg7XG5cdGxlZnQ6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDNweDtcblx0Ym94LXNoYWRvdzogdmFyKC0tdnNjb2RlLXNjcm9sbGJhci1zaGFkb3cpIDZweCAwIDZweCAtNnB4IGluc2V0O1xufVxuLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuc2hhZG93LnRvcC1sZWZ0LWNvcm5lciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGhlaWdodDogM3B4O1xuXHR3aWR0aDogM3B4O1xufVxuLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuc2hhZG93LnRvcC5sZWZ0IHtcblx0Ym94LXNoYWRvdzogdmFyKC0tdnNjb2RlLXNjcm9sbGJhci1zaGFkb3cpIDZweCAwIDZweCAtNnB4IGluc2V0O1xufVxuXG4ubW9uYWNvLXNjcm9sbGFibGUtZWxlbWVudCA+IC5zY3JvbGxiYXIgPiAuc2xpZGVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tdnNjb2RlLXNjcm9sbGJhclNsaWRlci1iYWNrZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuc2Nyb2xsYmFyID4gLnNsaWRlcjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXZzY29kZS1zY3JvbGxiYXJTbGlkZXItaG92ZXJCYWNrZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuc2Nyb2xsYmFyID4gLnNsaWRlci5hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS12c2NvZGUtc2Nyb2xsYmFyU2xpZGVyLWFjdGl2ZUJhY2tncm91bmQpO1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ubW9uYWNvLWVkaXRvciAuaW5wdXRhcmVhIHtcblx0bWluLXdpZHRoOiAwO1xuXHRtaW4taGVpZ2h0OiAwO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHRyZXNpemU6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Y29sb3I6IHRyYW5zcGFyZW50O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0ei1pbmRleDogLTEwO1xufVxuLyoubW9uYWNvLWVkaXRvciAuaW5wdXRhcmVhIHtcblx0cG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiA4MDBweCAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7XG5cdHRvcDogaW5pdGlhbCAhaW1wb3J0YW50O1xuXHRsZWZ0OiBpbml0aWFsICFpbXBvcnRhbnQ7XG5cdGJvdHRvbTogMCAhaW1wb3J0YW50O1xuXHRyaWdodDogMCAhaW1wb3J0YW50O1xuXHRjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogd2hpdGUgIWltcG9ydGFudDtcblx0bGluZS1oZWlnaHQ6IDE1cHggIWltcG9ydGFudDtcblx0Zm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG5cdHotaW5kZXg6IDEwICFpbXBvcnRhbnQ7XG59Ki9cbi5tb25hY28tZWRpdG9yIC5pbnB1dGFyZWEuaW1lLWlucHV0IHtcblx0ei1pbmRleDogMTA7XG5cdGNhcmV0LWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yQ3Vyc29yLWZvcmVncm91bmQpO1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvci1mb3JlZ3JvdW5kKTtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1lZGl0b3IgLm1hcmdpbi12aWV3LW92ZXJsYXlzIC5saW5lLW51bWJlcnMge1xuXHRib3R0b206IDA7XG5cdGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ubW9uYWNvLWVkaXRvciAucmVsYXRpdmUtY3VycmVudC1saW5lLW51bWJlciB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5tb25hY28tZWRpdG9yIC5tYXJnaW4tdmlldy1vdmVybGF5cyAubGluZS1udW1iZXJzLmxoLW9kZCB7XG5cdG1hcmdpbi10b3A6IDFweDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmxpbmUtbnVtYmVycyB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yTGluZU51bWJlci1mb3JlZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmxpbmUtbnVtYmVycy5hY3RpdmUtbGluZS1udW1iZXIge1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvckxpbmVOdW1iZXItYWN0aXZlRm9yZWdyb3VuZCk7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5tb25hY28tZWRpdG9yIC5tYXJnaW4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yR3V0dGVyLWJhY2tncm91bmQpO1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ubW9uYWNvLW1vdXNlLWN1cnNvci10ZXh0IHtcblx0Y3Vyc29yOiB0ZXh0O1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ubW9uYWNvLWVkaXRvciAuYmxvY2tEZWNvcmF0aW9ucy1jb250YWluZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tb25hY28tZWRpdG9yIC5ibG9ja0RlY29yYXRpb25zLWJsb2NrIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ubW9uYWNvLWVkaXRvciAudmlldy1vdmVybGF5cyAuY3VycmVudC1saW5lIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5tb25hY28tZWRpdG9yIC5tYXJnaW4tdmlldy1vdmVybGF5cyAuY3VycmVudC1saW5lIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5tb25hY28tZWRpdG9yXG5cdC5tYXJnaW4tdmlldy1vdmVybGF5c1xuXHQuY3VycmVudC1saW5lLmN1cnJlbnQtbGluZS1tYXJnaW4uY3VycmVudC1saW5lLW1hcmdpbi1ib3RoIHtcblx0Ym9yZGVyLXJpZ2h0OiAwO1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKlxuXHRLZWVwaW5nIG5hbWUgc2hvcnQgZm9yIGZhc3RlciBwYXJzaW5nLlxuXHRjZHIgPSBjb3JlIGRlY29yYXRpb25zIHJlbmRlcmluZyAoZGl2KVxuKi9cbi5tb25hY28tZWRpdG9yIC5saW5lcy1jb250ZW50IC5jZHIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGhlaWdodDogMTAwJTtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1lZGl0b3IgLmdseXBoLW1hcmdpbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xufVxuXG4vKlxuXHRLZWVwaW5nIG5hbWUgc2hvcnQgZm9yIGZhc3RlciBwYXJzaW5nLlxuXHRjZ21yID0gY29yZSBnbHlwaCBtYXJnaW4gcmVuZGVyaW5nIChkaXYpXG4qL1xuLm1vbmFjby1lZGl0b3IgLmdseXBoLW1hcmdpbi13aWRnZXRzIC5jZ21yIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLypcblx0RW5zdXJlIHNwaW5uaW5nIGljb25zIGFyZSBwaXhlbC1wZXJmZWN0bHkgY2VudGVyZWQgYW5kIGF2b2lkIHdvYmJsZS5cblx0VGhpcyBpcyBvbmx5IGFwcGxpZWQgdG8gaWNvbnMgdGhhdCBzcGluIHRvIGF2b2lkIHVubmVjZXNzYXJ5XG5cdEdQVSBsYXllcnMgYW5kIGJsdXJyeSBzdWJwaXhlbCBBQS5cbiovXG4ubW9uYWNvLWVkaXRvciAuZ2x5cGgtbWFyZ2luLXdpZGdldHMgLmNnbXIuY29kaWNvbi1tb2RpZmllci1zcGluOjpiZWZvcmUgIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1lZGl0b3IgLmxpbmVzLWNvbnRlbnQgLmNvcmUtZ3VpZGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGhlaWdodDogMTAwJTtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogVW5jb21tZW50IHRvIHNlZSBsaW5lcyBmbGFzaGluZyB3aGVuIHRoZXkncmUgcGFpbnRlZCAqL1xuLyoubW9uYWNvLWVkaXRvciAudmlldy1saW5lcyA+IC52aWV3LWxpbmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuXHRhbmltYXRpb24tbmFtZTogZmxhc2gtYmFja2dyb3VuZDtcblx0YW5pbWF0aW9uLWR1cmF0aW9uOiA4MDBtcztcbn1cbkBrZXlmcmFtZXMgZmxhc2gtYmFja2dyb3VuZCB7XG5cdDAlICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGdyZWVuOyB9XG5cdDEwMCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiBub25lIH1cbn0qL1xuXG4ubXRrY29udHJvbCB7XG5cdGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSkgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogcmdiKDE1MCwgMCwgMCkgIWltcG9ydGFudDtcbn1cblxuLm10a292ZXJmbG93IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLWJ1dHRvbi1iYWNrZ3JvdW5kLCB2YXIoLS12c2NvZGUtZWRpdG9yLWJhY2tncm91bmQpKTtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1idXR0b24tZm9yZWdyb3VuZCwgdmFyKC0tdnNjb2RlLWVkaXRvci1mb3JlZ3JvdW5kKSk7XG5cdGJvcmRlci13aWR0aDogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItY29sb3I6IHZhcigtLXZzY29kZS1jb250cmFzdEJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0cGFkZGluZzogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG4ubXRrb3ZlcmZsb3c6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtYnV0dG9uLWhvdmVyQmFja2dyb3VuZCk7XG59XG5cbi5tb25hY28tZWRpdG9yLm5vLXVzZXItc2VsZWN0IC5saW5lcy1jb250ZW50LFxuLm1vbmFjby1lZGl0b3Iubm8tdXNlci1zZWxlY3QgLnZpZXctbGluZSxcbi5tb25hY28tZWRpdG9yLm5vLXVzZXItc2VsZWN0IC52aWV3LWxpbmVzIHtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4vKiBVc2UgdXNlci1zZWxlY3Q6IHRleHQgZm9yIGxvb2t1cCBmZWF0dXJlIG9uIG1hY09TICovXG4vKiBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L3ZzY29kZS9pc3N1ZXMvODU2MzIgKi9cbi5tb25hY28tZWRpdG9yLm1hYyAubGluZXMtY29udGVudDpob3Zlcixcbi5tb25hY28tZWRpdG9yLm1hYyAudmlldy1saW5lOmhvdmVyLFxuLm1vbmFjby1lZGl0b3IubWFjIC52aWV3LWxpbmVzOmhvdmVyIHtcblx0dXNlci1zZWxlY3Q6IHRleHQ7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IHRleHQ7XG5cdC1tcy11c2VyLXNlbGVjdDogdGV4dDtcbn1cblxuLm1vbmFjby1lZGl0b3IuZW5hYmxlLXVzZXItc2VsZWN0IHtcblx0dXNlci1zZWxlY3Q6IGluaXRpYWw7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IGluaXRpYWw7XG59XG5cbi5tb25hY28tZWRpdG9yIC52aWV3LWxpbmVzIHtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnZpZXctbGluZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIFRoZXJlIGFyZSB2aWV3LWxpbmVzIGluIHZpZXctem9uZXMuIFdlIGhhdmUgdG8gbWFrZSBzdXJlIHRoaXMgcnVsZSBkb2VzIG5vdCBhcHBseSB0byB0aGVtLCBhcyB0aGV5IGRvbid0IHNldCBhIGxpbmUgaGVpZ2h0ICovXG4ubW9uYWNvLWVkaXRvciAubGluZXMtY29udGVudCA+IC52aWV3LWxpbmVzID4gLnZpZXctbGluZSA+IHNwYW4ge1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xufVxuXG4ubW9uYWNvLWVkaXRvciAubXRrdyB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yV2hpdGVzcGFjZS1mb3JlZ3JvdW5kKSAhaW1wb3J0YW50O1xufVxuXG4ubW9uYWNvLWVkaXRvciAubXRreiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Y29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JXaGl0ZXNwYWNlLWZvcmVncm91bmQpICFpbXBvcnRhbnQ7XG59XG5cbi8qIFRPRE9AdG9rZW5pemF0aW9uIGJvb3RzdHJhcCBmaXggKi9cbi8qLm1vbmFjby1lZGl0b3IgLnZpZXctbGluZSA+IHNwYW4gPiBzcGFuIHtcblx0ZmxvYXQ6IG5vbmU7XG5cdG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG5cdG1hcmdpbi1sZWZ0OiBpbmhlcml0O1xufSovXG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ubW9uYWNvLWVkaXRvciAubGluZXMtZGVjb3JhdGlvbnMge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0YmFja2dyb3VuZDogd2hpdGU7XG59XG5cbi8qXG5cdEtlZXBpbmcgbmFtZSBzaG9ydCBmb3IgZmFzdGVyIHBhcnNpbmcuXG5cdGNsZHIgPSBjb3JlIGxpbmVzIGRlY29yYXRpb25zIHJlbmRlcmluZyAoZGl2KVxuKi9cbi5tb25hY28tZWRpdG9yIC5tYXJnaW4tdmlldy1vdmVybGF5cyAuY2xkciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0aGVpZ2h0OiAxMDAlO1xufSIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLypcblx0S2VlcGluZyBuYW1lIHNob3J0IGZvciBmYXN0ZXIgcGFyc2luZy5cblx0Y21kciA9IGNvcmUgbWFyZ2luIGRlY29yYXRpb25zIHJlbmRlcmluZyAoZGl2KVxuKi9cbi5tb25hY28tZWRpdG9yIC5tYXJnaW4tdmlldy1vdmVybGF5cyAuY21kciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn0iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFNUQVJUIGNvdmVyIHRoZSBjYXNlIHRoYXQgc2xpZGVyIGlzIHZpc2libGUgb24gbW91c2VvdmVyICovXG4ubW9uYWNvLWVkaXRvciAubWluaW1hcC5zbGlkZXItbW91c2VvdmVyIC5taW5pbWFwLXNsaWRlciB7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMTAwbXMgbGluZWFyO1xufVxuLm1vbmFjby1lZGl0b3IgLm1pbmltYXAuc2xpZGVyLW1vdXNlb3Zlcjpob3ZlciAubWluaW1hcC1zbGlkZXIge1xuXHRvcGFjaXR5OiAxO1xufVxuLm1vbmFjby1lZGl0b3IgLm1pbmltYXAuc2xpZGVyLW1vdXNlb3ZlciAubWluaW1hcC1zbGlkZXIuYWN0aXZlIHtcblx0b3BhY2l0eTogMTtcbn1cbi8qIEVORCBjb3ZlciB0aGUgY2FzZSB0aGF0IHNsaWRlciBpcyB2aXNpYmxlIG9uIG1vdXNlb3ZlciAqL1xuLm1vbmFjby1lZGl0b3IgLm1pbmltYXAtc2xpZGVyIC5taW5pbWFwLXNsaWRlci1ob3Jpem9udGFsIHtcblx0YmFja2dyb3VuZDogdmFyKC0tdnNjb2RlLW1pbmltYXBTbGlkZXItYmFja2dyb3VuZCk7XG59XG4ubW9uYWNvLWVkaXRvciAubWluaW1hcC1zbGlkZXI6aG92ZXIgLm1pbmltYXAtc2xpZGVyLWhvcml6b250YWwge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS12c2NvZGUtbWluaW1hcFNsaWRlci1ob3ZlckJhY2tncm91bmQpO1xufVxuLm1vbmFjby1lZGl0b3IgLm1pbmltYXAtc2xpZGVyLmFjdGl2ZSAubWluaW1hcC1zbGlkZXItaG9yaXpvbnRhbCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXZzY29kZS1taW5pbWFwU2xpZGVyLWFjdGl2ZUJhY2tncm91bmQpO1xufVxuLm1vbmFjby1lZGl0b3IgLm1pbmltYXAtc2hhZG93LXZpc2libGUge1xuXHRib3gtc2hhZG93OiB2YXIoLS12c2NvZGUtc2Nyb2xsYmFyLXNoYWRvdykgLTZweCAwIDZweCAtNnB4IGluc2V0O1xufVxuLm1vbmFjby1lZGl0b3IgLm1pbmltYXAtc2hhZG93LWhpZGRlbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDA7XG59XG4ubW9uYWNvLWVkaXRvciAubWluaW1hcC1zaGFkb3ctdmlzaWJsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogLTZweDtcblx0d2lkdGg6IDZweDtcbn1cbi5tb25hY28tZWRpdG9yLm5vLW1pbmltYXAtc2hhZG93IC5taW5pbWFwLXNoYWRvdy12aXNpYmxlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAtMXB4O1xuXHR3aWR0aDogMXB4O1xufVxuXG4vKiAwLjVzIGZhZGUgaW4vb3V0IGZvciB0aGUgbWluaW1hcCAqL1xuLm1pbmltYXAuYXV0b2hpZGUge1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG59XG4ubWluaW1hcC5hdXRvaGlkZTpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi5tb25hY28tZWRpdG9yIC5taW5pbWFwIHtcblx0ei1pbmRleDogNTtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5tb25hY28tZWRpdG9yIC5vdmVybGF5V2lkZ2V0cyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OjA7XG59IiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ubW9uYWNvLWVkaXRvciAudmlldy1ydWxlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRib3gtc2hhZG93OiAxcHggMCAwIDAgdmFyKC0tdnNjb2RlLWVkaXRvclJ1bGVyLWZvcmVncm91bmQpIGluc2V0O1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ubW9uYWNvLWVkaXRvciAuc2Nyb2xsLWRlY29yYXRpb24ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0aGVpZ2h0OiA2cHg7XG5cdGJveC1zaGFkb3c6IHZhcigtLXZzY29kZS1zY3JvbGxiYXItc2hhZG93KSAwIDZweCA2cHggLTZweCBpbnNldDtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLypcblx0S2VlcGluZyBuYW1lIHNob3J0IGZvciBmYXN0ZXIgcGFyc2luZy5cblx0Y3NsciA9IGNvcmUgc2VsZWN0aW9ucyBsYXllciByZW5kZXJpbmcgKGRpdilcbiovXG4ubW9uYWNvLWVkaXRvciAubGluZXMtY29udGVudCAuY3NsciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmZvY3VzZWQgLnNlbGVjdGVkLXRleHQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yLXNlbGVjdGlvbkJhY2tncm91bmQpO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc2VsZWN0ZWQtdGV4dCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3ItaW5hY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3JcdFx0XHQudG9wLWxlZnQtcmFkaXVzXHRcdHsgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4OyB9XG4ubW9uYWNvLWVkaXRvclx0XHRcdC5ib3R0b20tbGVmdC1yYWRpdXNcdFx0eyBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7IH1cbi5tb25hY28tZWRpdG9yXHRcdFx0LnRvcC1yaWdodC1yYWRpdXNcdFx0eyBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4OyB9XG4ubW9uYWNvLWVkaXRvclx0XHRcdC5ib3R0b20tcmlnaHQtcmFkaXVzXHR7IGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7IH1cblxuLm1vbmFjby1lZGl0b3IuaGMtYmxhY2sgLnRvcC1sZWZ0LXJhZGl1c1x0XHR7IGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cbi5tb25hY28tZWRpdG9yLmhjLWJsYWNrIC5ib3R0b20tbGVmdC1yYWRpdXNcdFx0eyBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG4ubW9uYWNvLWVkaXRvci5oYy1ibGFjayAudG9wLXJpZ2h0LXJhZGl1c1x0XHR7IGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG4ubW9uYWNvLWVkaXRvci5oYy1ibGFjayAuYm90dG9tLXJpZ2h0LXJhZGl1c1x0eyBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4ubW9uYWNvLWVkaXRvci5oYy1saWdodCAudG9wLWxlZnQtcmFkaXVzXHRcdHsgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsgfVxuLm1vbmFjby1lZGl0b3IuaGMtbGlnaHQgLmJvdHRvbS1sZWZ0LXJhZGl1c1x0XHR7IGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cbi5tb25hY28tZWRpdG9yLmhjLWxpZ2h0IC50b3AtcmlnaHQtcmFkaXVzXHRcdHsgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cbi5tb25hY28tZWRpdG9yLmhjLWxpZ2h0IC5ib3R0b20tcmlnaHQtcmFkaXVzXHR7IGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ubW9uYWNvLWVkaXRvciAuY3Vyc29ycy1sYXllciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuY3Vyc29ycy1sYXllciA+IC5jdXJzb3Ige1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIC0tIHNtb290aC1jYXJldC1hbmltYXRpb24gLS0gKi9cbi5tb25hY28tZWRpdG9yIC5jdXJzb3JzLWxheWVyLmN1cnNvci1zbW9vdGgtY2FyZXQtYW5pbWF0aW9uID4gLmN1cnNvciB7XG5cdHRyYW5zaXRpb246IGFsbCA4MG1zO1xufVxuXG4vKiAtLSBibG9jay1vdXRsaW5lLXN0eWxlIC0tICovXG4ubW9uYWNvLWVkaXRvciAuY3Vyc29ycy1sYXllci5jdXJzb3ItYmxvY2stb3V0bGluZS1zdHlsZSA+IC5jdXJzb3Ige1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItd2lkdGg6IDFweDtcbn1cblxuLyogLS0gdW5kZXJsaW5lLXN0eWxlIC0tICovXG4ubW9uYWNvLWVkaXRvciAuY3Vyc29ycy1sYXllci5jdXJzb3ItdW5kZXJsaW5lLXN0eWxlID4gLmN1cnNvciB7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcblx0Ym9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tIHVuZGVybGluZS10aGluLXN0eWxlIC0tICovXG4ubW9uYWNvLWVkaXRvciAuY3Vyc29ycy1sYXllci5jdXJzb3ItdW5kZXJsaW5lLXRoaW4tc3R5bGUgPiAuY3Vyc29yIHtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuXHRib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuQGtleWZyYW1lcyBtb25hY28tY3Vyc29yLXNtb290aCB7XG5cdDAlLFxuXHQyMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0NjAlLFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgbW9uYWNvLWN1cnNvci1waGFzZSB7XG5cdDAlLFxuXHQyMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0OTAlLFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgbW9uYWNvLWN1cnNvci1leHBhbmQge1xuXHQwJSxcblx0MjAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlWSgxKTtcblx0fVxuXHQ4MCUsXG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGVZKDApO1xuXHR9XG59XG5cbi5jdXJzb3Itc21vb3RoIHtcblx0YW5pbWF0aW9uOiBtb25hY28tY3Vyc29yLXNtb290aCAwLjVzIGVhc2UtaW4tb3V0IDBzIDIwIGFsdGVybmF0ZTtcbn1cblxuLmN1cnNvci1waGFzZSB7XG5cdGFuaW1hdGlvbjogbW9uYWNvLWN1cnNvci1waGFzZSAwLjVzIGVhc2UtaW4tb3V0IDBzIDIwIGFsdGVybmF0ZTtcbn1cblxuLmN1cnNvci1leHBhbmQgPiAuY3Vyc29yIHtcblx0YW5pbWF0aW9uOiBtb25hY28tY3Vyc29yLWV4cGFuZCAwLjVzIGVhc2UtaW4tb3V0IDBzIDIwIGFsdGVybmF0ZTtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1lZGl0b3IgLm13aCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JXaGl0ZXNwYWNlLWZvcmVncm91bmQpICFpbXBvcnRhbnQ7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5tb25hY28td29ya2JlbmNoIC53b3JrYmVuY2gtaG92ZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0bGluZS1oZWlnaHQ6IDE5cHg7XG5cdC8qIE11c3QgYmUgaGlnaGVyIHRoYW4gc2FzaCdzIHotaW5kZXggYW5kIHRlcm1pbmFsIGNhbnZhc2VzICovXG5cdHotaW5kZXg6IDQwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRtYXgtd2lkdGg6IDcwMHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS12c2NvZGUtZWRpdG9ySG92ZXJXaWRnZXQtYmFja2dyb3VuZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXZzY29kZS1lZGl0b3JIb3ZlcldpZGdldC1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9ySG92ZXJXaWRnZXQtZm9yZWdyb3VuZCk7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDhweCB2YXIoLS12c2NvZGUtd2lkZ2V0LXNoYWRvdyk7XG59XG5cbi5tb25hY28td29ya2JlbmNoIC53b3JrYmVuY2gtaG92ZXIgaHIge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ubW9uYWNvLXdvcmtiZW5jaCAud29ya2JlbmNoLWhvdmVyOm5vdCguc2tpcC1mYWRlLWluKSB7XG5cdGFuaW1hdGlvbjogZmFkZWluIDEwMG1zIGxpbmVhcjtcbn1cblxuLm1vbmFjby13b3JrYmVuY2ggLndvcmtiZW5jaC1ob3Zlci5jb21wYWN0IHtcblx0Zm9udC1zaXplOiAxMnB4O1xufVxuXG4ubW9uYWNvLXdvcmtiZW5jaCAud29ya2JlbmNoLWhvdmVyLmNvbXBhY3QgLmhvdmVyLWNvbnRlbnRzIHtcblx0cGFkZGluZzogMnB4IDhweDtcbn1cblxuLm1vbmFjby13b3JrYmVuY2ggLndvcmtiZW5jaC1ob3Zlci1jb250YWluZXIubG9ja2VkIC53b3JrYmVuY2gtaG92ZXIge1xuXHRvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tdnNjb2RlLWVkaXRvckhvdmVyV2lkZ2V0LWJvcmRlcik7XG59XG4ubW9uYWNvLXdvcmtiZW5jaCAud29ya2JlbmNoLWhvdmVyLWNvbnRhaW5lci5sb2NrZWQgLndvcmtiZW5jaC1ob3Zlcjpmb2N1cyxcbi5tb25hY28td29ya2JlbmNoIC53b3JrYmVuY2gtaG92ZXItbG9jazpmb2N1cyB7XG5cdG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS12c2NvZGUtZm9jdXNCb3JkZXIpO1xufVxuLm1vbmFjby13b3JrYmVuY2ggLndvcmtiZW5jaC1ob3Zlci1jb250YWluZXIubG9ja2VkIC53b3JrYmVuY2gtaG92ZXItbG9jazpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXZzY29kZS10b29sYmFyLWhvdmVyQmFja2dyb3VuZCk7XG59XG5cbi5tb25hY28td29ya2JlbmNoIC53b3JrYmVuY2gtaG92ZXItcG9pbnRlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0LyogTXVzdCBiZSBoaWdoZXIgdGhhbiB3b3JrYmVuY2ggaG92ZXIgei1pbmRleCAqL1xuXHR6LWluZGV4OiA0MTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tb25hY28td29ya2JlbmNoIC53b3JrYmVuY2gtaG92ZXItcG9pbnRlcjphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiA1cHg7XG5cdGhlaWdodDogNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9ySG92ZXJXaWRnZXQtYmFja2dyb3VuZCk7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXZzY29kZS1lZGl0b3JIb3ZlcldpZGdldC1ib3JkZXIpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdnNjb2RlLWVkaXRvckhvdmVyV2lkZ2V0LWJvcmRlcik7XG59XG4ubW9uYWNvLXdvcmtiZW5jaCAubG9ja2VkIC53b3JrYmVuY2gtaG92ZXItcG9pbnRlcjphZnRlciB7XG5cdHdpZHRoOiA0cHg7XG5cdGhlaWdodDogNHB4O1xuXHRib3JkZXItcmlnaHQtd2lkdGg6IDJweDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xufVxuXG4ubW9uYWNvLXdvcmtiZW5jaCAud29ya2JlbmNoLWhvdmVyLXBvaW50ZXIubGVmdCAgIHsgbGVmdDogLTNweDsgfVxuLm1vbmFjby13b3JrYmVuY2ggLndvcmtiZW5jaC1ob3Zlci1wb2ludGVyLnJpZ2h0ICB7IHJpZ2h0OiAzcHg7IH1cbi5tb25hY28td29ya2JlbmNoIC53b3JrYmVuY2gtaG92ZXItcG9pbnRlci50b3AgICAgeyB0b3A6IC0zcHg7IH1cbi5tb25hY28td29ya2JlbmNoIC53b3JrYmVuY2gtaG92ZXItcG9pbnRlci5ib3R0b20geyBib3R0b206IDNweDsgfVxuXG4ubW9uYWNvLXdvcmtiZW5jaCAud29ya2JlbmNoLWhvdmVyLXBvaW50ZXIubGVmdDphZnRlciB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG59XG5cbi5tb25hY28td29ya2JlbmNoIC53b3JrYmVuY2gtaG92ZXItcG9pbnRlci5yaWdodDphZnRlciB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDMxNWRlZyk7XG59XG5cbi5tb25hY28td29ya2JlbmNoIC53b3JrYmVuY2gtaG92ZXItcG9pbnRlci50b3A6YWZ0ZXIge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xufVxuXG4ubW9uYWNvLXdvcmtiZW5jaCAud29ya2JlbmNoLWhvdmVyLXBvaW50ZXIuYm90dG9tOmFmdGVyIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4ubW9uYWNvLXdvcmtiZW5jaCAud29ya2JlbmNoLWhvdmVyIGEge1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLXRleHRMaW5rLWZvcmVncm91bmQpO1xufVxuXG4ubW9uYWNvLXdvcmtiZW5jaCAud29ya2JlbmNoLWhvdmVyIGE6Zm9jdXMge1xuXHRvdXRsaW5lOiAxcHggc29saWQ7XG5cdG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0b3V0bGluZS1jb2xvcjogdmFyKC0tdnNjb2RlLWZvY3VzQm9yZGVyKTtcbn1cblxuLm1vbmFjby13b3JrYmVuY2ggLndvcmtiZW5jaC1ob3ZlciBhOmhvdmVyLFxuLm1vbmFjby13b3JrYmVuY2ggLndvcmtiZW5jaC1ob3ZlciBhOmFjdGl2ZSB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtdGV4dExpbmstYWN0aXZlRm9yZWdyb3VuZCk7XG59XG5cbi5tb25hY28td29ya2JlbmNoIC53b3JrYmVuY2gtaG92ZXIgY29kZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXZzY29kZS10ZXh0Q29kZUJsb2NrLWJhY2tncm91bmQpO1xufVxuXG4ubW9uYWNvLXdvcmtiZW5jaCAud29ya2JlbmNoLWhvdmVyIC5ob3Zlci1yb3cgLmFjdGlvbnMge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS12c2NvZGUtZWRpdG9ySG92ZXJXaWRnZXQtc3RhdHVzQmFyQmFja2dyb3VuZCk7XG59XG5cbi5tb25hY28td29ya2JlbmNoIC53b3JrYmVuY2gtaG92ZXIucmlnaHQtYWxpZ25lZCB7XG5cdC8qIFRoZSBjb250ZXh0IHZpZXcgc2VydmljZSB3cmFwcyBzdHJhbmdlbHkgd2hlbiBpdCdzIHJpZ2h0IHVwIGFnYWluc3QgdGhlIGVkZ2Ugd2l0aG91dCB0aGlzICovXG5cdGxlZnQ6IDFweDtcbn1cblxuLm1vbmFjby13b3JrYmVuY2ggLndvcmtiZW5jaC1ob3Zlci5yaWdodC1hbGlnbmVkIC5ob3Zlci1yb3cuc3RhdHVzLWJhciAuYWN0aW9ucyB7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLm1vbmFjby13b3JrYmVuY2ggLndvcmtiZW5jaC1ob3Zlci5yaWdodC1hbGlnbmVkIC5ob3Zlci1yb3cuc3RhdHVzLWJhciAuYWN0aW9ucyAuYWN0aW9uLWNvbnRhaW5lciB7XG5cdG1hcmdpbi1yaWdodDogMDtcblx0bWFyZ2luLWxlZnQ6IDE2cHg7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5tb25hY28taG92ZXIge1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dXNlci1zZWxlY3Q6IHRleHQ7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IHRleHQ7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGFuaW1hdGlvbjogZmFkZWluIDEwMG1zIGxpbmVhcjtcblx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHR3aGl0ZS1zcGFjZTogdmFyKC0tdnNjb2RlLWhvdmVyLXdoaXRlU3BhY2UsIG5vcm1hbCk7XG59XG5cbi5tb25hY28taG92ZXIuaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLm1vbmFjby1ob3ZlciBhOmhvdmVyOm5vdCguZGlzYWJsZWQpIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubW9uYWNvLWhvdmVyIC5ob3Zlci1jb250ZW50czpub3QoLmh0bWwtaG92ZXItY29udGVudHMpIHtcblx0cGFkZGluZzogNHB4IDhweDtcbn1cblxuLm1vbmFjby1ob3ZlciAubWFya2Rvd24taG92ZXIgPiAuaG92ZXItY29udGVudHM6bm90KC5jb2RlLWhvdmVyLWNvbnRlbnRzKSB7XG5cdG1heC13aWR0aDogdmFyKC0tdnNjb2RlLWhvdmVyLW1heFdpZHRoLCA1MDBweCk7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLm1vbmFjby1ob3ZlciAubWFya2Rvd24taG92ZXIgPiAuaG92ZXItY29udGVudHM6bm90KC5jb2RlLWhvdmVyLWNvbnRlbnRzKSBociB7XG5cdG1pbi13aWR0aDogMTAwJTtcbn1cblxuLm1vbmFjby1ob3ZlciBwLFxuLm1vbmFjby1ob3ZlciAuY29kZSxcbi5tb25hY28taG92ZXIgdWwsXG4ubW9uYWNvLWhvdmVyIGgxLFxuLm1vbmFjby1ob3ZlciBoMixcbi5tb25hY28taG92ZXIgaDMsXG4ubW9uYWNvLWhvdmVyIGg0LFxuLm1vbmFjby1ob3ZlciBoNSxcbi5tb25hY28taG92ZXIgaDYge1xuXHRtYXJnaW46IDhweCAwO1xufVxuXG4ubW9uYWNvLWhvdmVyIGgxLFxuLm1vbmFjby1ob3ZlciBoMixcbi5tb25hY28taG92ZXIgaDMsXG4ubW9uYWNvLWhvdmVyIGg0LFxuLm1vbmFjby1ob3ZlciBoNSxcbi5tb25hY28taG92ZXIgaDYge1xuXHRsaW5lLWhlaWdodDogMS4xO1xufVxuXG4ubW9uYWNvLWhvdmVyIGNvZGUge1xuXHRmb250LWZhbWlseTogdmFyKC0tbW9uYWNvLW1vbm9zcGFjZS1mb250KTtcbn1cblxuLm1vbmFjby1ob3ZlciBociB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJvcmRlci1sZWZ0OiAwcHg7XG5cdGJvcmRlci1yaWdodDogMHB4O1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdG1hcmdpbi1ib3R0b206IC00cHg7XG5cdG1hcmdpbi1sZWZ0OiAtOHB4O1xuXHRtYXJnaW4tcmlnaHQ6IC04cHg7XG5cdGhlaWdodDogMXB4O1xufVxuXG4ubW9uYWNvLWhvdmVyIHA6Zmlyc3QtY2hpbGQsXG4ubW9uYWNvLWhvdmVyIC5jb2RlOmZpcnN0LWNoaWxkLFxuLm1vbmFjby1ob3ZlciB1bDpmaXJzdC1jaGlsZCB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbi5tb25hY28taG92ZXIgcDpsYXN0LWNoaWxkLFxuLm1vbmFjby1ob3ZlciAuY29kZTpsYXN0LWNoaWxkLFxuLm1vbmFjby1ob3ZlciB1bDpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogTWFya3VwQ29udGVudCBMYXlvdXQgKi9cbi5tb25hY28taG92ZXIgdWwge1xuXHRwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG4ubW9uYWNvLWhvdmVyIG9sIHtcblx0cGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuXG4ubW9uYWNvLWhvdmVyIGxpID4gcCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tb25hY28taG92ZXIgbGkgPiB1bCB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbi5tb25hY28taG92ZXIgY29kZSB7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0cGFkZGluZzogMCAwLjRlbTtcbn1cblxuLm1vbmFjby1ob3ZlciAubW9uYWNvLXRva2VuaXplZC1zb3VyY2Uge1xuXHR3aGl0ZS1zcGFjZTogdmFyKC0tdnNjb2RlLWhvdmVyLXNvdXJjZVdoaXRlU3BhY2UsIHByZS13cmFwKTtcbn1cblxuLm1vbmFjby1ob3ZlciAuaG92ZXItcm93LnN0YXR1cy1iYXIge1xuXHRmb250LXNpemU6IDEycHg7XG5cdGxpbmUtaGVpZ2h0OiAyMnB4O1xufVxuXG4ubW9uYWNvLWhvdmVyIC5ob3Zlci1yb3cuc3RhdHVzLWJhciAuaW5mbyB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0cGFkZGluZzogMHB4IDhweDtcbn1cblxuLm1vbmFjby1ob3ZlciAuaG92ZXItcm93LnN0YXR1cy1iYXIgLmFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwYWRkaW5nOiAwcHggOHB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLm1vbmFjby1ob3ZlciAuaG92ZXItcm93LnN0YXR1cy1iYXIgLmFjdGlvbnMgLmFjdGlvbi1jb250YWluZXIge1xuXHRtYXJnaW4tcmlnaHQ6IDE2cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1vbmFjby1ob3ZlciAuaG92ZXItcm93LnN0YXR1cy1iYXIgLmFjdGlvbnMgLmFjdGlvbi1jb250YWluZXIgLmFjdGlvbiAuaWNvbiB7XG5cdHBhZGRpbmctcmlnaHQ6IDRweDtcbn1cblxuLm1vbmFjby1ob3ZlciAubWFya2Rvd24taG92ZXIgLmhvdmVyLWNvbnRlbnRzIC5jb2RpY29uIHtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm1vbmFjby1ob3ZlciAuaG92ZXItY29udGVudHMgYS5jb2RlLWxpbms6aG92ZXIsXG4ubW9uYWNvLWhvdmVyIC5ob3Zlci1jb250ZW50cyBhLmNvZGUtbGluayB7XG5cdGNvbG9yOiBpbmhlcml0O1xufVxuXG4ubW9uYWNvLWhvdmVyIC5ob3Zlci1jb250ZW50cyBhLmNvZGUtbGluazpiZWZvcmUge1xuXHRjb250ZW50OiAnKCc7XG59XG5cbi5tb25hY28taG92ZXIgLmhvdmVyLWNvbnRlbnRzIGEuY29kZS1saW5rOmFmdGVyIHtcblx0Y29udGVudDogJyknO1xufVxuXG4ubW9uYWNvLWhvdmVyIC5ob3Zlci1jb250ZW50cyBhLmNvZGUtbGluayA+IHNwYW4ge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0LyoqIEhhY2sgdG8gZm9yY2UgdW5kZXJsaW5lIHRvIHNob3cgKiovXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0dGV4dC11bmRlcmxpbmUtcG9zaXRpb246IHVuZGVyO1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLXRleHRMaW5rLWZvcmVncm91bmQpO1xufVxuXG4ubW9uYWNvLWhvdmVyIC5ob3Zlci1jb250ZW50cyBhLmNvZGUtbGluayA+IHNwYW46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLXRleHRMaW5rLWFjdGl2ZUZvcmVncm91bmQpO1xufVxuXG4vKiogU3BhbnMgaW4gbWFya2Rvd24gaG92ZXJzIG5lZWQgYSBtYXJnaW4tYm90dG9tIHRvIGF2b2lkIGxvb2tpbmcgY3JhbXBlZDogaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC92c2NvZGUvaXNzdWVzLzEwMTQ5NiAqKi9cbi5tb25hY28taG92ZXIgLm1hcmtkb3duLWhvdmVyIC5ob3Zlci1jb250ZW50czpub3QoLmNvZGUtaG92ZXItY29udGVudHMpOm5vdCguaHRtbC1ob3Zlci1jb250ZW50cykgc3BhbiB7XG5cdG1hcmdpbi1ib3R0b206IDRweDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubW9uYWNvLWhvdmVyLWNvbnRlbnQgLmFjdGlvbi1jb250YWluZXIgYSB7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ubW9uYWNvLWhvdmVyLWNvbnRlbnQgLmFjdGlvbi1jb250YWluZXIuZGlzYWJsZWQge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0b3BhY2l0eTogMC40O1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5tb25hY28tZWRpdG9yIC5yZW5kZXJlZC1tYXJrZG93biBrYmQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUta2V5YmluZGluZ0xhYmVsLWJhY2tncm91bmQpO1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLWtleWJpbmRpbmdMYWJlbC1mb3JlZ3JvdW5kKTtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS12c2NvZGUta2V5YmluZGluZ0xhYmVsLWJvcmRlcik7XG5cdGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXZzY29kZS1rZXliaW5kaW5nTGFiZWwtYm90dG9tQm9yZGVyKTtcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgdmFyKC0tdnNjb2RlLXdpZGdldC1zaGFkb3cpO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRwYWRkaW5nOiAxcHggM3B4O1xufVxuXG4ucmVuZGVyZWQtbWFya2Rvd24gbGk6aGFzKGlucHV0W3R5cGU9Y2hlY2tib3hdKSB7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmNvbnRleHQtdmlldyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmNvbnRleHQtdmlldy5maXhlZCB7XG5cdGFsbDogaW5pdGlhbDtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRjb2xvcjogaW5oZXJpdDtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1saXN0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubW9uYWNvLWxpc3QubW91c2Utc3VwcG9ydCB7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ubW9uYWNvLWxpc3QgPiAubW9uYWNvLXNjcm9sbGFibGUtZWxlbWVudCB7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLm1vbmFjby1saXN0LXJvd3Mge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5tb25hY28tbGlzdC5ob3Jpem9udGFsLXNjcm9sbGluZyAubW9uYWNvLWxpc3Qtcm93cyB7XG5cdHdpZHRoOiBhdXRvO1xuXHRtaW4td2lkdGg6IDEwMCU7XG59XG5cbi5tb25hY28tbGlzdC1yb3cge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4ubW9uYWNvLWxpc3QubW91c2Utc3VwcG9ydCAubW9uYWNvLWxpc3Qtcm93IHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8qIE1ha2Ugc3VyZSB0aGUgc2Nyb2xsYmFyIHJlbmRlcnMgYWJvdmUgb3ZlcmxheXMgKHN0aWNreSBzY3JvbGwpICovXG4ubW9uYWNvLWxpc3QgLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuc2Nyb2xsYmFyLnZlcnRpY2FsLFxuLm1vbmFjby1wYW5lLXZpZXcgPiAubW9uYWNvLXNwbGl0LXZpZXcyLnZlcnRpY2FsID4gLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuc2Nyb2xsYmFyLnZlcnRpY2FsIHtcblx0ei1pbmRleDogMTQ7XG59XG5cbi8qIGZvciBPUyBYIGJhbGxpc3RpYyBzY3JvbGxpbmcgKi9cbi5tb25hY28tbGlzdC1yb3cuc2Nyb2xsaW5nIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBGb2N1cyAqL1xuLm1vbmFjby1saXN0LmVsZW1lbnQtZm9jdXNlZCxcbi5tb25hY28tbGlzdC5zZWxlY3Rpb24tc2luZ2xlLFxuLm1vbmFjby1saXN0LnNlbGVjdGlvbi1tdWx0aXBsZSB7XG5cdG91dGxpbmU6IDAgIWltcG9ydGFudDtcbn1cblxuLyogRG5kICovXG4ubW9uYWNvLWRyYWctaW1hZ2Uge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDFweCA3cHg7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxMDAwO1xufVxuXG4vKiBGaWx0ZXIgKi9cblxuLm1vbmFjby1saXN0LXR5cGUtZmlsdGVyLW1lc3NhZ2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cGFkZGluZzogNDBweCAxZW0gMWVtIDFlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHRvcGFjaXR5OiAwLjc7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubW9uYWNvLWxpc3QtdHlwZS1maWx0ZXItbWVzc2FnZTplbXB0eSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFVzZSBjdXN0b20gQ1NTIHZhcnMgdG8gZXhwb3NlIHBhZGRpbmcgaW50byBwYXJlbnQgc2VsZWN0IGZvciBwYWRkaW5nIGNhbGN1bGF0aW9uICovXG4ubW9uYWNvLXNlbGVjdC1ib3gtZHJvcGRvd24tcGFkZGluZyB7XG5cdC0tZHJvcGRvd24tcGFkZGluZy10b3A6IDFweDtcblx0LS1kcm9wZG93bi1wYWRkaW5nLWJvdHRvbTogMXB4O1xufVxuXG4uaGMtYmxhY2sgLm1vbmFjby1zZWxlY3QtYm94LWRyb3Bkb3duLXBhZGRpbmcsXG4uaGMtbGlnaHQgLm1vbmFjby1zZWxlY3QtYm94LWRyb3Bkb3duLXBhZGRpbmcge1xuXHQtLWRyb3Bkb3duLXBhZGRpbmctdG9wOiAzcHg7XG5cdC0tZHJvcGRvd24tcGFkZGluZy1ib3R0b206IDRweDtcbn1cblxuLm1vbmFjby1zZWxlY3QtYm94LWRyb3Bkb3duLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdGJveC1zaXppbmc6XHRib3JkZXItYm94O1xufVxuXG4ubW9uYWNvLXNlbGVjdC1ib3gtZHJvcGRvd24tY29udGFpbmVyID4gLnNlbGVjdC1ib3gtZGV0YWlscy1wYW5lID4gLnNlbGVjdC1ib3gtZGVzY3JpcHRpb24tbWFya2Rvd24gKiB7XG5cdG1hcmdpbjogMDtcbn1cblxuLm1vbmFjby1zZWxlY3QtYm94LWRyb3Bkb3duLWNvbnRhaW5lciA+IC5zZWxlY3QtYm94LWRldGFpbHMtcGFuZSA+IC5zZWxlY3QtYm94LWRlc2NyaXB0aW9uLW1hcmtkb3duIGE6Zm9jdXMge1xuXHRvdXRsaW5lOiAxcHggc29saWQgLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuXHRvdXRsaW5lLW9mZnNldDogLTFweDtcbn1cblxuLm1vbmFjby1zZWxlY3QtYm94LWRyb3Bkb3duLWNvbnRhaW5lciA+IC5zZWxlY3QtYm94LWRldGFpbHMtcGFuZSA+IC5zZWxlY3QtYm94LWRlc2NyaXB0aW9uLW1hcmtkb3duIGNvZGUge1xuXHRsaW5lLWhlaWdodDogMTVweDsgLyoqIEZvciBzb21lIHJlYXNvbiwgdGhpcyBpcyBuZWVkZWQsIG90aGVyd2lzZSA8Y29kZT4gd2lsbCB0YWtlIHVwIDIwcHggaGVpZ2h0ICovXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1tb25hY28tbW9ub3NwYWNlLWZvbnQpO1xufVxuXG5cbi5tb25hY28tc2VsZWN0LWJveC1kcm9wZG93bi1jb250YWluZXIudmlzaWJsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHdpZHRoOiAxcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcblx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbn1cblxuLm1vbmFjby1zZWxlY3QtYm94LWRyb3Bkb3duLWNvbnRhaW5lciA+IC5zZWxlY3QtYm94LWRyb3Bkb3duLWxpc3QtY29udGFpbmVyIHtcblx0ZmxleDogMCAwIGF1dG87XG5cdGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1kcm9wZG93bi1wYWRkaW5nLXRvcCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1kcm9wZG93bi1wYWRkaW5nLWJvdHRvbSk7XG5cdHBhZGRpbmctbGVmdDogMXB4O1xuXHRwYWRkaW5nLXJpZ2h0OiAxcHg7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRib3gtc2l6aW5nOlx0Ym9yZGVyLWJveDtcbn1cblxuLm1vbmFjby1zZWxlY3QtYm94LWRyb3Bkb3duLWNvbnRhaW5lciA+IC5zZWxlY3QtYm94LWRldGFpbHMtcGFuZSB7XG5cdHBhZGRpbmc6IDVweDtcbn1cblxuLmhjLWJsYWNrIC5tb25hY28tc2VsZWN0LWJveC1kcm9wZG93bi1jb250YWluZXIgPiAuc2VsZWN0LWJveC1kcm9wZG93bi1saXN0LWNvbnRhaW5lciB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1kcm9wZG93bi1wYWRkaW5nLXRvcCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1kcm9wZG93bi1wYWRkaW5nLWJvdHRvbSk7XG59XG5cbi5tb25hY28tc2VsZWN0LWJveC1kcm9wZG93bi1jb250YWluZXIgPiAuc2VsZWN0LWJveC1kcm9wZG93bi1saXN0LWNvbnRhaW5lciAubW9uYWNvLWxpc3QgLm1vbmFjby1saXN0LXJvdyB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1vbmFjby1zZWxlY3QtYm94LWRyb3Bkb3duLWNvbnRhaW5lciA+IC5zZWxlY3QtYm94LWRyb3Bkb3duLWxpc3QtY29udGFpbmVyIC5tb25hY28tbGlzdCAubW9uYWNvLWxpc3Qtcm93ID4gLm9wdGlvbi10ZXh0IHtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmctbGVmdDogMy41cHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGZsb2F0OiBsZWZ0O1xufVxuXG4ubW9uYWNvLXNlbGVjdC1ib3gtZHJvcGRvd24tY29udGFpbmVyID4gLnNlbGVjdC1ib3gtZHJvcGRvd24tbGlzdC1jb250YWluZXIgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cgPiAub3B0aW9uLWRldGFpbCB7XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nLWxlZnQ6IDMuNXB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRmbG9hdDogbGVmdDtcblx0b3BhY2l0eTogMC43O1xufVxuXG4ubW9uYWNvLXNlbGVjdC1ib3gtZHJvcGRvd24tY29udGFpbmVyID4gLnNlbGVjdC1ib3gtZHJvcGRvd24tbGlzdC1jb250YWluZXIgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cgPiAub3B0aW9uLWRlY29yYXRvci1yaWdodCB7XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRmbG9hdDogcmlnaHQ7XG59XG5cblxuLyogQWNjZXB0ZWQgQ1NTIGhpZGluZyB0ZWNobmlxdWUgZm9yIGFjY2Vzc2liaWxpdHkgcmVhZGVyIHRleHQgICovXG4vKiBodHRwczovL3dlYmFpbS5vcmcvdGVjaG5pcXVlcy9jc3MvaW52aXNpYmxlY29udGVudC8gKi9cblxuLm1vbmFjby1zZWxlY3QtYm94LWRyb3Bkb3duLWNvbnRhaW5lciA+IC5zZWxlY3QtYm94LWRyb3Bkb3duLWxpc3QtY29udGFpbmVyIC5tb25hY28tbGlzdCAubW9uYWNvLWxpc3Qtcm93ID4gLnZpc3VhbGx5LWhpZGRlbiB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IC0xMDAwMHB4O1xuXHRcdHRvcDogYXV0bztcblx0XHR3aWR0aDogMXB4O1xuXHRcdGhlaWdodDogMXB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tb25hY28tc2VsZWN0LWJveC1kcm9wZG93bi1jb250YWluZXIgPiAuc2VsZWN0LWJveC1kcm9wZG93bi1jb250YWluZXItd2lkdGgtY29udHJvbCB7XG5cdGZsZXg6IDEgMSBhdXRvO1xuXHRhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuXHRvcGFjaXR5OiAwO1xufVxuXG4ubW9uYWNvLXNlbGVjdC1ib3gtZHJvcGRvd24tY29udGFpbmVyID4gLnNlbGVjdC1ib3gtZHJvcGRvd24tY29udGFpbmVyLXdpZHRoLWNvbnRyb2wgPiAud2lkdGgtY29udHJvbC1kaXYge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRtYXgtaGVpZ2h0OiAwcHg7XG59XG5cbi5tb25hY28tc2VsZWN0LWJveC1kcm9wZG93bi1jb250YWluZXIgPiAuc2VsZWN0LWJveC1kcm9wZG93bi1jb250YWluZXItd2lkdGgtY29udHJvbCA+IC53aWR0aC1jb250cm9sLWRpdiA+IC5vcHRpb24tdGV4dC13aWR0aC1jb250cm9sIHtcblx0cGFkZGluZy1sZWZ0OiA0cHg7XG5cdHBhZGRpbmctcmlnaHQ6IDhweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1zZWxlY3QtYm94IHtcblx0d2lkdGg6IDEwMCU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4ubW9uYWNvLXNlbGVjdC1ib3gtZHJvcGRvd24tY29udGFpbmVyIHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqIEFjdGlvbnMgKi9cblxuLm1vbmFjby1hY3Rpb24tYmFyIC5hY3Rpb24taXRlbS5zZWxlY3QtY29udGFpbmVyIHtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ubW9uYWNvLWFjdGlvbi1iYXIgLmFjdGlvbi1pdGVtIC5tb25hY28tc2VsZWN0LWJveCB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0bWluLXdpZHRoOiAxMDBweDtcblx0bWluLWhlaWdodDogMThweDtcblx0cGFkZGluZzogMnB4IDIzcHggMnB4IDhweDtcbn1cblxuLm1hYyAubW9uYWNvLWFjdGlvbi1iYXIgLmFjdGlvbi1pdGVtIC5tb25hY28tc2VsZWN0LWJveCB7XG5cdGZvbnQtc2l6ZTogMTFweDtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ubW9uYWNvLWFjdGlvbi1iYXIge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5tb25hY28tYWN0aW9uLWJhciAuYWN0aW9ucy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRtYXJnaW46IDAgYXV0bztcblx0cGFkZGluZzogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm1vbmFjby1hY3Rpb24tYmFyLnZlcnRpY2FsIC5hY3Rpb25zLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1vbmFjby1hY3Rpb24tYmFyIC5hY3Rpb24taXRlbSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7ICAvKiBETyBOT1QgUkVNT1ZFIC0gdGhpcyBpcyB0aGUga2V5IHRvIHByZXZlbnRpbmcgdGhlIGdob3N0aW5nIGljb24gYnVnIGluIENocm9tZSA0MiAqL1xufVxuXG4ubW9uYWNvLWFjdGlvbi1iYXIgLmFjdGlvbi1pdGVtLmRpc2FibGVkIHtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ubW9uYWNvLWFjdGlvbi1iYXIgLmFjdGlvbi1pdGVtIC5pY29uLFxuLm1vbmFjby1hY3Rpb24tYmFyIC5hY3Rpb24taXRlbSAuY29kaWNvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubW9uYWNvLWFjdGlvbi1iYXIgLmFjdGlvbi1pdGVtIC5jb2RpY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLm1vbmFjby1hY3Rpb24tYmFyIC5hY3Rpb24tbGFiZWwge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmb250LXNpemU6IDExcHg7XG5cdHBhZGRpbmc6IDNweDtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4ubW9uYWNvLWFjdGlvbi1iYXIgLmFjdGlvbi1pdGVtLmRpc2FibGVkIC5hY3Rpb24tbGFiZWwsXG4ubW9uYWNvLWFjdGlvbi1iYXIgLmFjdGlvbi1pdGVtLmRpc2FibGVkIC5hY3Rpb24tbGFiZWw6OmJlZm9yZSxcbi5tb25hY28tYWN0aW9uLWJhciAuYWN0aW9uLWl0ZW0uZGlzYWJsZWQgLmFjdGlvbi1sYWJlbDpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZGlzYWJsZWRGb3JlZ3JvdW5kKTtcbn1cblxuLyogVmVydGljYWwgYWN0aW9ucyAqL1xuXG4ubW9uYWNvLWFjdGlvbi1iYXIudmVydGljYWwge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubW9uYWNvLWFjdGlvbi1iYXIudmVydGljYWwgLmFjdGlvbi1pdGVtIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5tb25hY28tYWN0aW9uLWJhci52ZXJ0aWNhbCAuYWN0aW9uLWxhYmVsLnNlcGFyYXRvciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYjtcblx0cGFkZGluZy10b3A6IDFweDtcblx0bWFyZ2luLWxlZnQ6IC44ZW07XG5cdG1hcmdpbi1yaWdodDogLjhlbTtcbn1cblxuLm1vbmFjby1hY3Rpb24tYmFyIC5hY3Rpb24taXRlbSAuYWN0aW9uLWxhYmVsLnNlcGFyYXRvciB7XG5cdHdpZHRoOiAxcHg7XG5cdGhlaWdodDogMTZweDtcblx0bWFyZ2luOiA1cHggNHB4ICFpbXBvcnRhbnQ7XG5cdGN1cnNvcjogZGVmYXVsdDtcblx0bWluLXdpZHRoOiAxcHg7XG5cdHBhZGRpbmc6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6ICNiYmI7XG59XG5cbi5zZWNvbmRhcnktYWN0aW9ucyAubW9uYWNvLWFjdGlvbi1iYXIgLmFjdGlvbi1sYWJlbCB7XG5cdG1hcmdpbi1sZWZ0OiA2cHg7XG59XG5cbi8qIEFjdGlvbiBJdGVtcyAqL1xuLm1vbmFjby1hY3Rpb24tYmFyIC5hY3Rpb24taXRlbS5zZWxlY3QtY29udGFpbmVyIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogc29tZWhvdyB0aGUgZHJvcGRvd24gb3ZlcmZsb3dzIGl0cyBjb250YWluZXIsIHdlIHByZXZlbnQgaXQgaGVyZSB0byBub3QgcHVzaCAqL1xuXHRmbGV4OiAxO1xuXHRtYXgtd2lkdGg6IDE3MHB4O1xuXHRtaW4td2lkdGg6IDYwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5tb25hY28tYWN0aW9uLWJhciAuYWN0aW9uLWl0ZW0uYWN0aW9uLWRyb3Bkb3duLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4ubW9uYWNvLWFjdGlvbi1iYXIgLmFjdGlvbi1pdGVtLmFjdGlvbi1kcm9wZG93bi1pdGVtID4gLmFjdGlvbi1kcm9wZG93bi1pdGVtLXNlcGFyYXRvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLm1vbmFjby1hY3Rpb24tYmFyIC5hY3Rpb24taXRlbS5hY3Rpb24tZHJvcGRvd24taXRlbSA+IC5hY3Rpb24tZHJvcGRvd24taXRlbS1zZXBhcmF0b3IgPiBkaXYge1xuXHR3aWR0aDogMXB4O1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ubW9uYWNvLWRyb3Bkb3duIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4ubW9uYWNvLWRyb3Bkb3duID4gLmRyb3Bkb3duLWxhYmVsIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubW9uYWNvLWRyb3Bkb3duID4gLmRyb3Bkb3duLWxhYmVsID4gLmFjdGlvbi1sYWJlbC5kaXNhYmxlZCB7XG5cdGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLm1vbmFjby1kcm9wZG93bi13aXRoLXByaW1hcnkge1xuXHRkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLm1vbmFjby1kcm9wZG93bi13aXRoLXByaW1hcnkgPiAuYWN0aW9uLWNvbnRhaW5lciA+IC5hY3Rpb24tbGFiZWwge1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5tb25hY28tZHJvcGRvd24td2l0aC1wcmltYXJ5ID4gLmRyb3Bkb3duLWFjdGlvbi1jb250YWluZXIgPiAubW9uYWNvLWRyb3Bkb3duID4gLmRyb3Bkb3duLWxhYmVsIC5jb2RpY29uW2NsYXNzKj0nY29kaWNvbi0nXSB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0cGFkZGluZy1sZWZ0OiAwcHg7XG5cdHBhZGRpbmctcmlnaHQ6IDBweDtcblx0bGluZS1oZWlnaHQ6IDE2cHg7XG5cdG1hcmdpbi1sZWZ0OiAtM3B4O1xufVxuXG4ubW9uYWNvLWRyb3Bkb3duLXdpdGgtcHJpbWFyeSA+IC5kcm9wZG93bi1hY3Rpb24tY29udGFpbmVyID4gLm1vbmFjby1kcm9wZG93biA+IC5kcm9wZG93bi1sYWJlbCA+IC5hY3Rpb24tbGFiZWwge1xuXHRkaXNwbGF5OiBibG9jaztcblx0YmFja2dyb3VuZC1zaXplOiAxNnB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ubW9uYWNvLWFjdGlvbi1iYXIgLmFjdGlvbi1pdGVtLm1lbnUtZW50cnkgLmFjdGlvbi1sYWJlbC5pY29uIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDE2cHg7XG59XG5cbi5tb25hY28tZHJvcGRvd24td2l0aC1kZWZhdWx0IHtcblx0ZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5tb25hY28tZHJvcGRvd24td2l0aC1kZWZhdWx0ID4gLmFjdGlvbi1jb250YWluZXIgPiAuYWN0aW9uLWxhYmVsIHtcblx0bWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ubW9uYWNvLWRyb3Bkb3duLXdpdGgtZGVmYXVsdCA+IC5hY3Rpb24tY29udGFpbmVyLm1lbnUtZW50cnkgPiAuYWN0aW9uLWxhYmVsLmljb24ge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG5cdGJhY2tncm91bmQtc2l6ZTogMTZweDtcbn1cblxuLm1vbmFjby1kcm9wZG93bi13aXRoLWRlZmF1bHQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtdG9vbGJhci1ob3ZlckJhY2tncm91bmQpO1xufVxuXG4ubW9uYWNvLWRyb3Bkb3duLXdpdGgtZGVmYXVsdCA+IC5kcm9wZG93bi1hY3Rpb24tY29udGFpbmVyID4gLm1vbmFjby1kcm9wZG93biA+IC5kcm9wZG93bi1sYWJlbCAuY29kaWNvbltjbGFzcyo9J2NvZGljb24tJ10ge1xuXHRmb250LXNpemU6IDEycHg7XG5cdHBhZGRpbmctbGVmdDogMHB4O1xuXHRwYWRkaW5nLXJpZ2h0OiAwcHg7XG5cdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXHRtYXJnaW4tbGVmdDogLTNweDtcbn1cblxuLm1vbmFjby1kcm9wZG93bi13aXRoLWRlZmF1bHQgPiAuZHJvcGRvd24tYWN0aW9uLWNvbnRhaW5lciA+IC5tb25hY28tZHJvcGRvd24gPiAuZHJvcGRvd24tbGFiZWwgPiAuYWN0aW9uLWxhYmVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGJhY2tncm91bmQtc2l6ZTogMTZweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnF1aWNrLWlucHV0LXdpZGdldCB7XG5cdGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLnF1aWNrLWlucHV0LXdpZGdldCAubW9uYWNvLWhpZ2hsaWdodGVkLWxhYmVsIC5oaWdobGlnaHQsXG4ucXVpY2staW5wdXQtd2lkZ2V0IC5tb25hY28taGlnaGxpZ2h0ZWQtbGFiZWwgLmhpZ2hsaWdodCB7XG5cdGNvbG9yOiAjMDA2NkJGO1xufVxuXG4udnMgLnF1aWNrLWlucHV0LXdpZGdldCAubW9uYWNvLWxpc3Qtcm93LmZvY3VzZWQgLm1vbmFjby1oaWdobGlnaHRlZC1sYWJlbCAuaGlnaGxpZ2h0LFxuLnZzIC5xdWljay1pbnB1dC13aWRnZXQgLm1vbmFjby1saXN0LXJvdy5mb2N1c2VkIC5tb25hY28taGlnaGxpZ2h0ZWQtbGFiZWwgLmhpZ2hsaWdodCB7XG5cdGNvbG9yOiAjOUREREZGO1xufVxuXG4udnMtZGFyayAucXVpY2staW5wdXQtd2lkZ2V0IC5tb25hY28taGlnaGxpZ2h0ZWQtbGFiZWwgLmhpZ2hsaWdodCxcbi52cy1kYXJrIC5xdWljay1pbnB1dC13aWRnZXQgLm1vbmFjby1oaWdobGlnaHRlZC1sYWJlbCAuaGlnaGxpZ2h0IHtcblx0Y29sb3I6ICMwMDk3ZmI7XG59XG5cbi5oYy1ibGFjayAucXVpY2staW5wdXQtd2lkZ2V0IC5tb25hY28taGlnaGxpZ2h0ZWQtbGFiZWwgLmhpZ2hsaWdodCxcbi5oYy1ibGFjayAucXVpY2staW5wdXQtd2lkZ2V0IC5tb25hY28taGlnaGxpZ2h0ZWQtbGFiZWwgLmhpZ2hsaWdodCB7XG5cdGNvbG9yOiAjRjM4NTE4O1xufVxuXG4uaGMtbGlnaHQgLnF1aWNrLWlucHV0LXdpZGdldCAubW9uYWNvLWhpZ2hsaWdodGVkLWxhYmVsIC5oaWdobGlnaHQsXG4uaGMtbGlnaHQgLnF1aWNrLWlucHV0LXdpZGdldCAubW9uYWNvLWhpZ2hsaWdodGVkLWxhYmVsIC5oaWdobGlnaHQge1xuXHRjb2xvcjogIzBGNEE4NTtcbn1cblxuLm1vbmFjby1rZXliaW5kaW5nID4gLm1vbmFjby1rZXliaW5kaW5nLWtleSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIxLCAyMjEsIDIyMSwgMC40KTtcblx0Ym9yZGVyOiBzb2xpZCAxcHggcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjQpO1xuXHRib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDE4NywgMTg3LCAxODcsIDAuNCk7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoMTg3LCAxODcsIDE4NywgMC40KTtcblx0Y29sb3I6ICM1NTU7XG59XG5cbi5oYy1ibGFjayAubW9uYWNvLWtleWJpbmRpbmcgPiAubW9uYWNvLWtleWJpbmRpbmcta2V5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogc29saWQgMXB4IHJnYigxMTEsIDE5NSwgMjIzKTtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0Y29sb3I6ICNmZmY7XG59XG5cbi5oYy1saWdodCAubW9uYWNvLWtleWJpbmRpbmcgPiAubW9uYWNvLWtleWJpbmRpbmcta2V5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogc29saWQgMXB4ICMwRjRBODU7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdGNvbG9yOiAjMjkyOTI5O1xufVxuXG4udnMtZGFyayAubW9uYWNvLWtleWJpbmRpbmcgPiAubW9uYWNvLWtleWJpbmRpbmcta2V5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjgsIDEyOCwgMTI4LCAwLjE3KTtcblx0Ym9yZGVyOiBzb2xpZCAxcHggcmdiYSg1MSwgNTEsIDUxLCAwLjYpO1xuXHRib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDY4LCA2OCwgNjgsIDAuNik7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoNjgsIDY4LCA2OCwgMC42KTtcblx0Y29sb3I6ICNjY2M7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5tb25hY28tY3VzdG9tLXRvZ2dsZSB7XG5cdG1hcmdpbi1sZWZ0OiAycHg7XG5cdGZsb2F0OiBsZWZ0O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdHBhZGRpbmc6IDFweDtcblx0Ym94LXNpemluZzpcdGJvcmRlci1ib3g7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ubW9uYWNvLWN1c3RvbS10b2dnbGU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtaW5wdXRPcHRpb24taG92ZXJCYWNrZ3JvdW5kKTtcbn1cblxuLmhjLWJsYWNrIC5tb25hY28tY3VzdG9tLXRvZ2dsZTpob3Zlcixcbi5oYy1saWdodCAubW9uYWNvLWN1c3RvbS10b2dnbGU6aG92ZXIge1xuXHRib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tdnNjb2RlLWZvY3VzQm9yZGVyKTtcbn1cblxuLmhjLWJsYWNrIC5tb25hY28tY3VzdG9tLXRvZ2dsZSxcbi5oYy1saWdodCAubW9uYWNvLWN1c3RvbS10b2dnbGUge1xuXHRiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4uaGMtYmxhY2sgLm1vbmFjby1jdXN0b20tdG9nZ2xlOmhvdmVyLFxuLmhjLWxpZ2h0IC5tb25hY28tY3VzdG9tLXRvZ2dsZTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5tb25hY28tY3VzdG9tLXRvZ2dsZS5tb25hY28tY2hlY2tib3gge1xuXHRoZWlnaHQ6IDE4cHg7XG5cdHdpZHRoOiAxOHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRtYXJnaW4tcmlnaHQ6IDlweDtcblx0bWFyZ2luLWxlZnQ6IDBweDtcblx0cGFkZGluZzogMHB4O1xuXHRvcGFjaXR5OiAxO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLm1vbmFjby1hY3Rpb24tYmFyIC5jaGVja2JveC1hY3Rpb24taXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tb25hY28tYWN0aW9uLWJhciAuY2hlY2tib3gtYWN0aW9uLWl0ZW0gPiAubW9uYWNvLWN1c3RvbS10b2dnbGUubW9uYWNvLWNoZWNrYm94IHtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi5tb25hY28tYWN0aW9uLWJhciAuY2hlY2tib3gtYWN0aW9uLWl0ZW0gPiAuY2hlY2tib3gtbGFiZWwge1xuXHRmb250LXNpemU6IDEycHg7XG59XG5cbi8qIGhpZGUgY2hlY2sgd2hlbiB1bmNoZWNrZWQgKi9cbi5tb25hY28tY3VzdG9tLXRvZ2dsZS5tb25hY28tY2hlY2tib3g6bm90KC5jaGVja2VkKTo6YmVmb3JlIHtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ucXVpY2staW5wdXQtd2lkZ2V0IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogNjAwcHg7XG5cdHotaW5kZXg6IDI1NTA7XG5cdGxlZnQ6IDUwJTtcblx0bWFyZ2luLWxlZnQ6IC0zMDBweDtcblx0LXdlYmtpdC1hcHAtcmVnaW9uOiBuby1kcmFnO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG59XG5cbi5xdWljay1pbnB1dC10aXRsZWJhciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG59XG5cbi5xdWljay1pbnB1dC1sZWZ0LWFjdGlvbi1iYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRmbGV4OiAxO1xufVxuXG4ucXVpY2staW5wdXQtdGl0bGUge1xuXHRwYWRkaW5nOiAzcHggMHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucXVpY2staW5wdXQtcmlnaHQtYWN0aW9uLWJhciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdG1hcmdpbi1yaWdodDogNHB4O1xuXHRmbGV4OiAxO1xufVxuXG4ucXVpY2staW5wdXQtcmlnaHQtYWN0aW9uLWJhciA+IC5hY3Rpb25zLWNvbnRhaW5lciB7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5xdWljay1pbnB1dC10aXRsZWJhciAubW9uYWNvLWFjdGlvbi1iYXIgLmFjdGlvbi1sYWJlbC5jb2RpY29uIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRwYWRkaW5nOiAycHg7XG59XG5cbi5xdWljay1pbnB1dC1kZXNjcmlwdGlvbiB7XG5cdG1hcmdpbjogNnB4IDZweCA2cHggMTFweDtcbn1cblxuLnF1aWNrLWlucHV0LWhlYWRlciAucXVpY2staW5wdXQtZGVzY3JpcHRpb24ge1xuXHRtYXJnaW46IDRweCAycHg7XG5cdGZsZXg6IDE7XG59XG5cbi5xdWljay1pbnB1dC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwYWRkaW5nOiA4cHggNnB4IDJweCA2cHg7XG59XG5cbi5xdWljay1pbnB1dC13aWRnZXQuaGlkZGVuLWlucHV0IC5xdWljay1pbnB1dC1oZWFkZXIge1xuXHQvKiByZWR1Y2UgbWFyZ2lucyBhbmQgcGFkZGluZ3Mgd2hlbiBpbnB1dCBib3ggaGlkZGVuICovXG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5xdWljay1pbnB1dC1hbmQtbWVzc2FnZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGZsZXgtZ3JvdzogMTtcblx0bWluLXdpZHRoOiAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5xdWljay1pbnB1dC1jaGVjay1hbGwge1xuXHRhbGlnbi1zZWxmOiBjZW50ZXI7XG5cdG1hcmdpbjogMDtcbn1cblxuLnF1aWNrLWlucHV0LWZpbHRlciB7XG5cdGZsZXgtZ3JvdzogMTtcblx0ZGlzcGxheTogZmxleDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucXVpY2staW5wdXQtYm94IHtcblx0ZmxleC1ncm93OiAxO1xufVxuXG4ucXVpY2staW5wdXQtd2lkZ2V0LnNob3ctY2hlY2tib3hlcyAucXVpY2staW5wdXQtYm94LFxuLnF1aWNrLWlucHV0LXdpZGdldC5zaG93LWNoZWNrYm94ZXMgLnF1aWNrLWlucHV0LW1lc3NhZ2Uge1xuXHRtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4ucXVpY2staW5wdXQtdmlzaWJsZS1jb3VudCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogLTEwMDAwcHg7XG59XG5cbi5xdWljay1pbnB1dC1jb3VudCB7XG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ucXVpY2staW5wdXQtY291bnQgLm1vbmFjby1jb3VudC1iYWRnZSB7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHBhZGRpbmc6IDJweCA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0bWluLWhlaWdodDogYXV0bztcblx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnF1aWNrLWlucHV0LWFjdGlvbiB7XG5cdG1hcmdpbi1sZWZ0OiA2cHg7XG59XG5cbi5xdWljay1pbnB1dC1hY3Rpb24gLm1vbmFjby10ZXh0LWJ1dHRvbiB7XG5cdGZvbnQtc2l6ZTogMTFweDtcblx0cGFkZGluZzogMCA2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGhlaWdodDogMjVweDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnF1aWNrLWlucHV0LW1lc3NhZ2Uge1xuXHRtYXJnaW4tdG9wOiAtMXB4O1xuXHRwYWRkaW5nOiA1cHg7XG5cdG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi5xdWljay1pbnB1dC1tZXNzYWdlID4gLmNvZGljb24ge1xuXHRtYXJnaW46IDAgMC4yZW07XG5cdHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbn1cblxuLyogTGlua3MgaW4gZGVzY3JpcHRpb25zICYgdmFsaWRhdGlvbnMgKi9cbi5xdWljay1pbnB1dC1tZXNzYWdlIGEge1xuXHRjb2xvcjogaW5oZXJpdDtcbn1cblxuLnF1aWNrLWlucHV0LXByb2dyZXNzLm1vbmFjby1wcm9ncmVzcy1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5xdWljay1pbnB1dC1saXN0IHtcblx0bGluZS1oZWlnaHQ6IDIycHg7XG59XG5cbi5xdWljay1pbnB1dC13aWRnZXQuaGlkZGVuLWlucHV0IC5xdWljay1pbnB1dC1saXN0IHtcblx0bWFyZ2luLXRvcDogNHB4OyAvKiByZWR1Y2UgbWFyZ2lucyB3aGVuIGlucHV0IGJveCBoaWRkZW4gKi9cblx0cGFkZGluZy1ib3R0b206IDRweDtcbn1cblxuLnF1aWNrLWlucHV0LWxpc3QgLm1vbmFjby1saXN0IHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0bWF4LWhlaWdodDogY2FsYygyMCAqIDIycHgpO1xuXHRwYWRkaW5nLWJvdHRvbTogNXB4O1xufVxuXG4ucXVpY2staW5wdXQtbGlzdCAubW9uYWNvLXNjcm9sbGFibGUtZWxlbWVudCB7XG5cdHBhZGRpbmc6IDBweCA1cHg7XG59XG5cbi5xdWljay1pbnB1dC1saXN0IC5xdWljay1pbnB1dC1saXN0LWVudHJ5IHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0ZGlzcGxheTogZmxleDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwYWRkaW5nOiAwIDZweDtcbn1cblxuLnF1aWNrLWlucHV0LWxpc3QgLnF1aWNrLWlucHV0LWxpc3QtZW50cnkucXVpY2staW5wdXQtbGlzdC1zZXBhcmF0b3ItYm9yZGVyIHtcblx0Ym9yZGVyLXRvcC13aWR0aDogMXB4O1xuXHRib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbn1cblxuLnF1aWNrLWlucHV0LWxpc3QgLm1vbmFjby1saXN0LXJvdyB7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLnF1aWNrLWlucHV0LWxpc3QgLm1vbmFjby1saXN0LXJvd1tkYXRhLWluZGV4PVwiMFwiXSAucXVpY2staW5wdXQtbGlzdC1lbnRyeS5xdWljay1pbnB1dC1saXN0LXNlcGFyYXRvci1ib3JkZXIge1xuXHRib3JkZXItdG9wLXN0eWxlOiBub25lO1xufVxuXG4ucXVpY2staW5wdXQtbGlzdCAucXVpY2staW5wdXQtbGlzdC1sYWJlbCB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGhlaWdodDogMTAwJTtcblx0ZmxleDogMTtcbn1cblxuLnF1aWNrLWlucHV0LWxpc3QgLnF1aWNrLWlucHV0LWxpc3QtY2hlY2tib3gge1xuXHRhbGlnbi1zZWxmOiBjZW50ZXI7XG5cdG1hcmdpbjogMDtcbn1cblxuLnF1aWNrLWlucHV0LWxpc3QgLnF1aWNrLWlucHV0LWxpc3QtaWNvbiB7XG5cdGJhY2tncm91bmQtc2l6ZTogMTZweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHBhZGRpbmctcmlnaHQ6IDZweDtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMjJweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5xdWljay1pbnB1dC1saXN0IC5xdWljay1pbnB1dC1saXN0LXJvd3Mge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRmbGV4OiAxO1xuXHRtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4ucXVpY2staW5wdXQtd2lkZ2V0LnNob3ctY2hlY2tib3hlcyAucXVpY2staW5wdXQtbGlzdCAucXVpY2staW5wdXQtbGlzdC1yb3dzIHtcblx0bWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi5xdWljay1pbnB1dC13aWRnZXQgLnF1aWNrLWlucHV0LWxpc3QgLnF1aWNrLWlucHV0LWxpc3QtY2hlY2tib3gge1xuXHRkaXNwbGF5OiBub25lO1xufVxuLnF1aWNrLWlucHV0LXdpZGdldC5zaG93LWNoZWNrYm94ZXMgLnF1aWNrLWlucHV0LWxpc3QgLnF1aWNrLWlucHV0LWxpc3QtY2hlY2tib3gge1xuXHRkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5xdWljay1pbnB1dC1saXN0IC5xdWljay1pbnB1dC1saXN0LXJvd3MgPiAucXVpY2staW5wdXQtbGlzdC1yb3cge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ucXVpY2staW5wdXQtbGlzdCAucXVpY2staW5wdXQtbGlzdC1yb3dzID4gLnF1aWNrLWlucHV0LWxpc3Qtcm93IC5tb25hY28taWNvbi1sYWJlbCxcbi5xdWljay1pbnB1dC1saXN0IC5xdWljay1pbnB1dC1saXN0LXJvd3MgPiAucXVpY2staW5wdXQtbGlzdC1yb3cgLm1vbmFjby1pY29uLWxhYmVsIC5tb25hY28taWNvbi1sYWJlbC1jb250YWluZXIgPiAubW9uYWNvLWljb24tbmFtZS1jb250YWluZXIge1xuXHRmbGV4OiAxOyAvKiBtYWtlIHN1cmUgdGhlIGljb24gbGFiZWwgZ3Jvd3Mgd2l0aGluIHRoZSByb3cgKi9cbn1cblxuLnF1aWNrLWlucHV0LWxpc3QgLnF1aWNrLWlucHV0LWxpc3Qtcm93cyA+IC5xdWljay1pbnB1dC1saXN0LXJvdyAuY29kaWNvbltjbGFzcyo9J2NvZGljb24tJ10ge1xuXHR2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG59XG5cbi5xdWljay1pbnB1dC1saXN0IC5xdWljay1pbnB1dC1saXN0LXJvd3MgLm1vbmFjby1oaWdobGlnaHRlZC1sYWJlbCA+IHNwYW4ge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4ucXVpY2staW5wdXQtbGlzdCAucXVpY2staW5wdXQtbGlzdC1lbnRyeSAucXVpY2staW5wdXQtbGlzdC1lbnRyeS1rZXliaW5kaW5nIHtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7IC8qIHNlcGFyYXRlIGZyb20gdGhlIHNlcGFyYXRvciBsYWJlbCBvciBzY3JvbGxiYXIgaWYgYW55ICovXG59XG5cbi5xdWljay1pbnB1dC1saXN0IC5xdWljay1pbnB1dC1saXN0LWxhYmVsLW1ldGEge1xuXHRvcGFjaXR5OiAwLjc7XG5cdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBwcmVzZXJ2ZSBsaXN0LWxpa2Ugc3R5bGluZyBpbnN0ZWFkIG9mIHRyZWUtbGlrZSBzdHlsaW5nICovXG4ucXVpY2staW5wdXQtbGlzdCAubW9uYWNvLWxpc3QgLm1vbmFjby1saXN0LXJvdyAubW9uYWNvLWhpZ2hsaWdodGVkLWxhYmVsIC5oaWdobGlnaHQge1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0YmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtbGlzdC1oaWdobGlnaHRGb3JlZ3JvdW5kKSAhaW1wb3J0YW50O1xufVxuXG4vKiBwcmVzZXJ2ZSBsaXN0LWxpa2Ugc3R5bGluZyBpbnN0ZWFkIG9mIHRyZWUtbGlrZSBzdHlsaW5nICovXG4ucXVpY2staW5wdXQtbGlzdCAubW9uYWNvLWxpc3QgLm1vbmFjby1saXN0LXJvdy5mb2N1c2VkIC5tb25hY28taGlnaGxpZ2h0ZWQtbGFiZWwgLmhpZ2hsaWdodCB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtbGlzdC1mb2N1c0hpZ2hsaWdodEZvcmVncm91bmQpICFpbXBvcnRhbnQ7XG59XG5cbi5xdWljay1pbnB1dC1saXN0IC5xdWljay1pbnB1dC1saXN0LWVudHJ5IC5xdWljay1pbnB1dC1saXN0LXNlcGFyYXRvciB7XG5cdG1hcmdpbi1yaWdodDogNHB4OyAvKiBzZXBhcmF0ZSBmcm9tIGtleWJpbmRpbmdzIG9yIGFjdGlvbnMgKi9cbn1cblxuLnF1aWNrLWlucHV0LWxpc3QgLnF1aWNrLWlucHV0LWxpc3QtZW50cnktYWN0aW9uLWJhciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXg6IDA7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ucXVpY2staW5wdXQtbGlzdCAucXVpY2staW5wdXQtbGlzdC1lbnRyeS1hY3Rpb24tYmFyIC5hY3Rpb24tbGFiZWwge1xuXHQvKlxuXHQgKiBCeSBkZWZhdWx0LCBhY3Rpb25zIGluIHRoZSBxdWljayBpbnB1dCBhY3Rpb24gYmFyIGFyZSBoaWRkZW5cblx0ICogdW50aWwgaG92ZXJlZCBvdmVyIHRoZW0gb3Igc2VsZWN0ZWQuXG5cdCAqL1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ucXVpY2staW5wdXQtbGlzdCAucXVpY2staW5wdXQtbGlzdC1lbnRyeS1hY3Rpb24tYmFyIC5hY3Rpb24tbGFiZWwuY29kaWNvbiB7XG5cdG1hcmdpbi1yaWdodDogNHB4O1xuXHRwYWRkaW5nOiAwcHggMnB4IDJweCAycHg7XG59XG5cbi5xdWljay1pbnB1dC1saXN0IC5xdWljay1pbnB1dC1saXN0LWVudHJ5LWFjdGlvbi1iYXIge1xuXHRtYXJnaW4tdG9wOiAxcHg7XG59XG5cbi5xdWljay1pbnB1dC1saXN0IC5xdWljay1pbnB1dC1saXN0LWVudHJ5LWFjdGlvbi1iYXIge1xuXHRtYXJnaW4tcmlnaHQ6IDRweDsgLyogc2VwYXJhdGUgZnJvbSBzY3JvbGxiYXIgKi9cbn1cblxuLnF1aWNrLWlucHV0LWxpc3QgLnF1aWNrLWlucHV0LWxpc3QtZW50cnkgLnF1aWNrLWlucHV0LWxpc3QtZW50cnktYWN0aW9uLWJhciAuYWN0aW9uLWxhYmVsLmFsd2F5cy12aXNpYmxlLFxuLnF1aWNrLWlucHV0LWxpc3QgLnF1aWNrLWlucHV0LWxpc3QtZW50cnk6aG92ZXIgLnF1aWNrLWlucHV0LWxpc3QtZW50cnktYWN0aW9uLWJhciAuYWN0aW9uLWxhYmVsLFxuLnF1aWNrLWlucHV0LWxpc3QgLnF1aWNrLWlucHV0LWxpc3QtZW50cnkuZm9jdXMtaW5zaWRlIC5xdWljay1pbnB1dC1saXN0LWVudHJ5LWFjdGlvbi1iYXIgLmFjdGlvbi1sYWJlbCxcbi5xdWljay1pbnB1dC1saXN0IC5tb25hY28tbGlzdC1yb3cuZm9jdXNlZCAucXVpY2staW5wdXQtbGlzdC1lbnRyeS1hY3Rpb24tYmFyIC5hY3Rpb24tbGFiZWwsXG4ucXVpY2staW5wdXQtbGlzdCAubW9uYWNvLWxpc3Qtcm93LnBhc3NpdmUtZm9jdXNlZCAucXVpY2staW5wdXQtbGlzdC1lbnRyeS1hY3Rpb24tYmFyIC5hY3Rpb24tbGFiZWwge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4vKiBmb2N1c2VkIGl0ZW1zIGluIHF1aWNrIHBpY2sgKi9cbi5xdWljay1pbnB1dC1saXN0IC5tb25hY28tbGlzdC1yb3cuZm9jdXNlZCAubW9uYWNvLWtleWJpbmRpbmcta2V5LFxuLnF1aWNrLWlucHV0LWxpc3QgLm1vbmFjby1saXN0LXJvdy5mb2N1c2VkIC5xdWljay1pbnB1dC1saXN0LWVudHJ5IC5xdWljay1pbnB1dC1saXN0LXNlcGFyYXRvciB7XG5cdGNvbG9yOiBpbmhlcml0XG59XG4ucXVpY2staW5wdXQtbGlzdCAubW9uYWNvLWxpc3Qtcm93LmZvY3VzZWQgLm1vbmFjby1rZXliaW5kaW5nLWtleSB7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5xdWljay1pbnB1dC1saXN0IC5xdWljay1pbnB1dC1saXN0LXNlcGFyYXRvci1hcy1pdGVtIHtcblx0cGFkZGluZzogNHB4IDZweDtcblx0Zm9udC1zaXplOiAxMnB4O1xufVxuXG4vKiBRdWljayBpbnB1dCBzZXBhcmF0b3JzIGFzIGZ1bGwtcm93IGl0ZW0gKi9cbi5xdWljay1pbnB1dC1saXN0IC5xdWljay1pbnB1dC1saXN0LXNlcGFyYXRvci1hcy1pdGVtIC5sYWJlbC1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnF1aWNrLWlucHV0LWxpc3QgLnF1aWNrLWlucHV0LWxpc3Qtc2VwYXJhdG9yLWFzLWl0ZW0gLmxhYmVsLWRlc2NyaXB0aW9uIHtcblx0LyogT3ZlcnJpZGUgZGVmYXVsdCBkZXNjcmlwdGlvbiBvcGFjaXR5IHNvIHdlIGRvbid0IGhhdmUgYSBjb250cmFzdCByYXRpbyBpc3N1ZS4gKi9cblx0b3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuXG4vKiBIaWRlIGJvcmRlciB3aGVuIHRoZSBpdGVtIGJlY29tZXMgdGhlIHN0aWNreSBvbmUgKi9cbi5xdWljay1pbnB1dC1saXN0IC5tb25hY28tdHJlZS1zdGlja3ktcm93IC5xdWljay1pbnB1dC1saXN0LWVudHJ5LnF1aWNrLWlucHV0LWxpc3Qtc2VwYXJhdG9yLWFzLWl0ZW0ucXVpY2staW5wdXQtbGlzdC1zZXBhcmF0b3ItYm9yZGVyIHtcblx0Ym9yZGVyLXRvcC1zdHlsZTogbm9uZTtcbn1cblxuLyogR2l2ZSBzdGlja3kgcm93IHRoZSBzYW1lIHBhZGRpbmcgYXMgdGhlIHNjcm9sbGFibGUgbGlzdCAqL1xuLnF1aWNrLWlucHV0LWxpc3QgLm1vbmFjby10cmVlLXN0aWNreS1yb3cge1xuXHRwYWRkaW5nOiAwIDVweDtcbn1cblxuLyogSGlkZSB0aGUgdHdpc3RpZSBjb250YWluZXJzIHNvIHRoYXQgdGhlcmUgaXNuJ3QgYmxhbmsgaW5kZW50ICovXG4ucXVpY2staW5wdXQtbGlzdCAubW9uYWNvLXRsLXR3aXN0aWUge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5tb25hY28tdGV4dC1idXR0b24ge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogNHB4O1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tdnNjb2RlLWJ1dHRvbi1ib3JkZXIsIHRyYW5zcGFyZW50KTtcblx0bGluZS1oZWlnaHQ6IDE4cHg7XG59XG5cbi5tb25hY28tdGV4dC1idXR0b246Zm9jdXMge1xuXHRvdXRsaW5lLW9mZnNldDogMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tb25hY28tdGV4dC1idXR0b246aG92ZXIge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm1vbmFjby1idXR0b24uZGlzYWJsZWQ6Zm9jdXMsXG4ubW9uYWNvLWJ1dHRvbi5kaXNhYmxlZCB7XG5cdG9wYWNpdHk6IDAuNCAhaW1wb3J0YW50O1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5tb25hY28tdGV4dC1idXR0b24gLmNvZGljb24ge1xuXHRtYXJnaW46IDAgMC4yZW07XG5cdGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG5cbi5tb25hY28tdGV4dC1idXR0b24ubW9uYWNvLXRleHQtYnV0dG9uLXdpdGgtc2hvcnQtbGFiZWwge1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdHBhZGRpbmc6IDAgNHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRoZWlnaHQ6IDI4cHg7XG59XG5cbi5tb25hY28tdGV4dC1idXR0b24ubW9uYWNvLXRleHQtYnV0dG9uLXdpdGgtc2hvcnQtbGFiZWwgPiAubW9uYWNvLWJ1dHRvbi1sYWJlbCB7XG5cdGZsZXgtYmFzaXM6IDEwMCU7XG59XG5cbi5tb25hY28tdGV4dC1idXR0b24ubW9uYWNvLXRleHQtYnV0dG9uLXdpdGgtc2hvcnQtbGFiZWwgPiAubW9uYWNvLWJ1dHRvbi1sYWJlbC1zaG9ydCB7XG5cdGZsZXgtZ3JvdzogMTtcblx0d2lkdGg6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tb25hY28tdGV4dC1idXR0b24ubW9uYWNvLXRleHQtYnV0dG9uLXdpdGgtc2hvcnQtbGFiZWwgPiAubW9uYWNvLWJ1dHRvbi1sYWJlbCxcbi5tb25hY28tdGV4dC1idXR0b24ubW9uYWNvLXRleHQtYnV0dG9uLXdpdGgtc2hvcnQtbGFiZWwgPiAubW9uYWNvLWJ1dHRvbi1sYWJlbC1zaG9ydCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRmb250LXN0eWxlOiBpbmhlcml0O1xuXHRwYWRkaW5nOiA0cHggMDtcbn1cblxuLm1vbmFjby1idXR0b24tZHJvcGRvd24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5tb25hY28tYnV0dG9uLWRyb3Bkb3duLmRpc2FibGVkIHtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ubW9uYWNvLWJ1dHRvbi1kcm9wZG93biA+IC5tb25hY28tYnV0dG9uOmZvY3VzIHtcblx0b3V0bGluZS1vZmZzZXQ6IC0xcHggIWltcG9ydGFudDtcbn1cblxuLm1vbmFjby1idXR0b24tZHJvcGRvd24uZGlzYWJsZWQgPiAubW9uYWNvLWJ1dHRvbi5kaXNhYmxlZCxcbi5tb25hY28tYnV0dG9uLWRyb3Bkb3duLmRpc2FibGVkID4gLm1vbmFjby1idXR0b24uZGlzYWJsZWQ6Zm9jdXMsXG4ubW9uYWNvLWJ1dHRvbi1kcm9wZG93bi5kaXNhYmxlZCA+IC5tb25hY28tYnV0dG9uLWRyb3Bkb3duLXNlcGFyYXRvciB7XG5cdG9wYWNpdHk6IDAuNCAhaW1wb3J0YW50O1xufVxuXG4ubW9uYWNvLWJ1dHRvbi1kcm9wZG93biA+IC5tb25hY28tYnV0dG9uLm1vbmFjby10ZXh0LWJ1dHRvbiB7XG5cdGJvcmRlci1yaWdodC13aWR0aDogMCAhaW1wb3J0YW50O1xufVxuXG4ubW9uYWNvLWJ1dHRvbi1kcm9wZG93biAubW9uYWNvLWJ1dHRvbi1kcm9wZG93bi1zZXBhcmF0b3Ige1xuXHRwYWRkaW5nOiA0cHggMDtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ubW9uYWNvLWJ1dHRvbi1kcm9wZG93biAubW9uYWNvLWJ1dHRvbi1kcm9wZG93bi1zZXBhcmF0b3IgPiBkaXYge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxcHg7XG59XG5cbi5tb25hY28tYnV0dG9uLWRyb3Bkb3duID4gLm1vbmFjby1idXR0b24ubW9uYWNvLWRyb3Bkb3duLWJ1dHRvbiB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXZzY29kZS1idXR0b24tYm9yZGVyLCB0cmFuc3BhcmVudCk7XG5cdGJvcmRlci1sZWZ0LXdpZHRoOiAwICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDAgMnB4IDJweCAwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubW9uYWNvLWJ1dHRvbi1kcm9wZG93biA+IC5tb25hY28tYnV0dG9uLm1vbmFjby10ZXh0LWJ1dHRvbiB7XG5cdGJvcmRlci1yYWRpdXM6IDJweCAwIDAgMnB4O1xufVxuXG4ubW9uYWNvLWRlc2NyaXB0aW9uLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbjogNHB4IDVweDsgLyogYWxsb3dzIGJ1dHRvbiBmb2N1cyBvdXRsaW5lIHRvIGJlIHZpc2libGUgKi9cbn1cblxuLm1vbmFjby1kZXNjcmlwdGlvbi1idXR0b24gLm1vbmFjby1idXR0b24tZGVzY3JpcHRpb24ge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGZvbnQtc2l6ZTogMTFweDtcblx0cGFkZGluZzogNHB4IDIwcHg7XG59XG5cbi5tb25hY28tZGVzY3JpcHRpb24tYnV0dG9uIC5tb25hY28tYnV0dG9uLWxhYmVsLFxuLm1vbmFjby1kZXNjcmlwdGlvbi1idXR0b24gLm1vbmFjby1idXR0b24tZGVzY3JpcHRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm1vbmFjby1kZXNjcmlwdGlvbi1idXR0b24gLm1vbmFjby1idXR0b24tbGFiZWwgPiAuY29kaWNvbixcbi5tb25hY28tZGVzY3JpcHRpb24tYnV0dG9uIC5tb25hY28tYnV0dG9uLWRlc2NyaXB0aW9uID4gLmNvZGljb24ge1xuXHRtYXJnaW46IDAgMC4yZW07XG5cdGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG5cbi8qIGRlZmF1bHQgY29sb3Igc3R5bGVzIC0gYmFzZWQgb24gQ1NTIHZhcmlhYmxlcyAqL1xuXG4ubW9uYWNvLWJ1dHRvbi5kZWZhdWx0LWNvbG9ycyxcbi5tb25hY28tYnV0dG9uLWRyb3Bkb3duLmRlZmF1bHQtY29sb3JzID4gLm1vbmFjby1idXR0b257XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtYnV0dG9uLWZvcmVncm91bmQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtYnV0dG9uLWJhY2tncm91bmQpO1xufVxuXG4ubW9uYWNvLWJ1dHRvbi5kZWZhdWx0LWNvbG9yczpob3Zlcixcbi5tb25hY28tYnV0dG9uLWRyb3Bkb3duLmRlZmF1bHQtY29sb3JzID4gLm1vbmFjby1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtYnV0dG9uLWhvdmVyQmFja2dyb3VuZCk7XG59XG5cbi5tb25hY28tYnV0dG9uLmRlZmF1bHQtY29sb3JzLnNlY29uZGFyeSxcbi5tb25hY28tYnV0dG9uLWRyb3Bkb3duLmRlZmF1bHQtY29sb3JzID4gLm1vbmFjby1idXR0b24uc2Vjb25kYXJ5IHtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1idXR0b24tc2Vjb25kYXJ5Rm9yZWdyb3VuZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1idXR0b24tc2Vjb25kYXJ5QmFja2dyb3VuZCk7XG59XG5cbi5tb25hY28tYnV0dG9uLmRlZmF1bHQtY29sb3JzLnNlY29uZGFyeTpob3Zlcixcbi5tb25hY28tYnV0dG9uLWRyb3Bkb3duLmRlZmF1bHQtY29sb3JzID4gLm1vbmFjby1idXR0b24uc2Vjb25kYXJ5OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLWJ1dHRvbi1zZWNvbmRhcnlIb3ZlckJhY2tncm91bmQpO1xufVxuXG4ubW9uYWNvLWJ1dHRvbi1kcm9wZG93bi5kZWZhdWx0LWNvbG9ycyAubW9uYWNvLWJ1dHRvbi1kcm9wZG93bi1zZXBhcmF0b3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtYnV0dG9uLWJhY2tncm91bmQpO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdnNjb2RlLWJ1dHRvbi1ib3JkZXIpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdnNjb2RlLWJ1dHRvbi1ib3JkZXIpO1xufVxuXG4ubW9uYWNvLWJ1dHRvbi1kcm9wZG93bi5kZWZhdWx0LWNvbG9ycyAubW9uYWNvLWJ1dHRvbi5zZWNvbmRhcnkgKyAubW9uYWNvLWJ1dHRvbi1kcm9wZG93bi1zZXBhcmF0b3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtYnV0dG9uLXNlY29uZGFyeUJhY2tncm91bmQpO1xufVxuXG4ubW9uYWNvLWJ1dHRvbi1kcm9wZG93bi5kZWZhdWx0LWNvbG9ycyAubW9uYWNvLWJ1dHRvbi1kcm9wZG93bi1zZXBhcmF0b3IgPiBkaXYge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtYnV0dG9uLXNlcGFyYXRvcik7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5tb25hY28tY291bnQtYmFkZ2Uge1xuXHRwYWRkaW5nOiAzcHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiAxMXB4O1xuXHRmb250LXNpemU6IDExcHg7XG5cdG1pbi13aWR0aDogMThweDtcblx0bWluLWhlaWdodDogMThweDtcblx0bGluZS1oZWlnaHQ6IDExcHg7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubW9uYWNvLWNvdW50LWJhZGdlLmxvbmcge1xuXHRwYWRkaW5nOiAycHggM3B4O1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdG1pbi1oZWlnaHQ6IGF1dG87XG5cdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5tb25hY28tcHJvZ3Jlc3MtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMnB4O1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBrZWVwIHByb2dyZXNzIGJpdCBpbiBib3VuZHMgKi9cbn1cblxuLm1vbmFjby1wcm9ncmVzcy1jb250YWluZXIgLnByb2dyZXNzLWJpdCB7XG5cdHdpZHRoOiAyJTtcblx0aGVpZ2h0OiAycHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLm1vbmFjby1wcm9ncmVzcy1jb250YWluZXIuYWN0aXZlIC5wcm9ncmVzcy1iaXQge1xuXHRkaXNwbGF5OiBpbmhlcml0O1xufVxuXG4ubW9uYWNvLXByb2dyZXNzLWNvbnRhaW5lci5kaXNjcmV0ZSAucHJvZ3Jlc3MtYml0IHtcblx0bGVmdDogMDtcblx0dHJhbnNpdGlvbjogd2lkdGggMTAwbXMgbGluZWFyO1xufVxuXG4ubW9uYWNvLXByb2dyZXNzLWNvbnRhaW5lci5kaXNjcmV0ZS5kb25lIC5wcm9ncmVzcy1iaXQge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLm1vbmFjby1wcm9ncmVzcy1jb250YWluZXIuaW5maW5pdGUgLnByb2dyZXNzLWJpdCB7XG5cdGFuaW1hdGlvbi1uYW1lOiBwcm9ncmVzcztcblx0YW5pbWF0aW9uLWR1cmF0aW9uOiA0cztcblx0YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG5cdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cblxuLm1vbmFjby1wcm9ncmVzcy1jb250YWluZXIuaW5maW5pdGUuaW5maW5pdGUtbG9uZy1ydW5uaW5nIC5wcm9ncmVzcy1iaXQge1xuXHQvKlxuXHRcdFRoZSBtb3JlIHNtb290aCBgbGluZWFyYCB0aW1pbmcgZnVuY3Rpb24gY2FuIGNhdXNlXG5cdFx0aGlnaGVyIEdQVSBjb25zdW1wdGlvbiBhcyBpbmRpY2F0ZWQgaW5cblx0XHRodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L3ZzY29kZS9pc3N1ZXMvOTc5MDAgJlxuXHRcdGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvdnNjb2RlL2lzc3Vlcy8xMzgzOTZcblx0Ki9cblx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogc3RlcHMoMTAwKTtcbn1cblxuLyoqXG4gKiBUaGUgcHJvZ3Jlc3MgYml0IGhhcyBhIHdpZHRoOiAyJSAoMS81MCkgb2YgdGhlIHBhcmVudCBjb250YWluZXIuIFRoZSBhbmltYXRpb24gbW92ZXMgaXQgZnJvbSAwJSB0byAxMDAlIG9mXG4gKiB0aGF0IGNvbnRhaW5lci4gU2luY2UgdHJhbnNsYXRlWCBpcyByZWxhdGl2ZSB0byB0aGUgcHJvZ3Jlc3MgYml0IHNpemUsIHdlIGhhdmUgdG8gbXVsdGlwbGUgaXQgd2l0aFxuICogaXRzIHJlbGF0aXZlIHNpemUgdG8gdGhlIHBhcmVudCBjb250YWluZXI6XG4gKiBwYXJlbnQgd2lkdGg6IDUwMDAlXG4gKiAgICBiaXQgd2lkdGg6IDEwMCVcbiAqIHRyYW5zbGF0ZVggc2hvdWxkIGJlIGFzIGZvbGxvdzpcbiAqICA1MCU6IDUwMDAlICogNTAlIC0gNTAlIChzZXQgdG8gY2VudGVyKSA9IDI0NTAlXG4gKiAxMDAlOiA1MDAwJSAqIDEwMCUgLSAxMDAlIChkbyBub3Qgb3ZlcmZsb3cpID0gNDkwMCVcbiAqL1xuQGtleWZyYW1lcyBwcm9ncmVzcyB7IGZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNjYWxlWCgxKSB9IDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTAwJSkgc2NhbGVYKDMpIH0gdG8geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDkwMCUpIHNjYWxlWCgxKSB9IH1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1pbnB1dGJveCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IDA7XG5cdGJveC1zaXppbmc6XHRib3JkZXItYm94O1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cblx0LyogQ3VzdG9taXphYmxlICovXG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuLm1vbmFjby1pbnB1dGJveCA+IC5pYndyYXBwZXIgPiAuaW5wdXQsXG4ubW9uYWNvLWlucHV0Ym94ID4gLmlid3JhcHBlciA+IC5taXJyb3Ige1xuXG5cdC8qIEN1c3RvbWl6YWJsZSAqL1xuXHRwYWRkaW5nOiA0cHggNnB4O1xufVxuXG4ubW9uYWNvLWlucHV0Ym94ID4gLmlid3JhcHBlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLm1vbmFjby1pbnB1dGJveCA+IC5pYndyYXBwZXIgPiAuaW5wdXQge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGJveC1zaXppbmc6XHRib3JkZXItYm94O1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRsaW5lLWhlaWdodDogaW5oZXJpdDtcblx0Ym9yZGVyOiBub25lO1xuXHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHRyZXNpemU6IG5vbmU7XG5cdGNvbG9yOiBpbmhlcml0O1xufVxuXG4ubW9uYWNvLWlucHV0Ym94ID4gLmlid3JhcHBlciA+IGlucHV0IHtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5tb25hY28taW5wdXRib3ggPiAuaWJ3cmFwcGVyID4gdGV4dGFyZWEuaW5wdXQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0c2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGaXJlZm94OiBoaWRlIHNjcm9sbGJhcnMgKi9cblx0b3V0bGluZTogbm9uZTtcbn1cblxuLm1vbmFjby1pbnB1dGJveCA+IC5pYndyYXBwZXIgPiB0ZXh0YXJlYS5pbnB1dDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHRkaXNwbGF5OiBub25lOyAvKiBDaHJvbWUgKyBTYWZhcmk6IGhpZGUgc2Nyb2xsYmFyICovXG59XG5cbi5tb25hY28taW5wdXRib3ggPiAuaWJ3cmFwcGVyID4gdGV4dGFyZWEuaW5wdXQuZW1wdHkge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubW9uYWNvLWlucHV0Ym94ID4gLmlid3JhcHBlciA+IC5taXJyb3Ige1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDEwMCU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0d2hpdGUtc3BhY2U6IHByZS13cmFwO1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLyogQ29udGV4dCB2aWV3ICovXG5cbi5tb25hY28taW5wdXRib3gtY29udGFpbmVyIHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tb25hY28taW5wdXRib3gtY29udGFpbmVyIC5tb25hY28taW5wdXRib3gtbWVzc2FnZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0d2lkdGg6IDEwMCU7XG5cdGJveC1zaXppbmc6XHRib3JkZXItYm94O1xuXHRwYWRkaW5nOiAwLjRlbTtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRsaW5lLWhlaWdodDogMTdweDtcblx0bWFyZ2luLXRvcDogLTFweDtcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4vKiBBY3Rpb24gYmFyIHN1cHBvcnQgKi9cbi5tb25hY28taW5wdXRib3ggLm1vbmFjby1hY3Rpb24tYmFyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMnB4O1xuXHR0b3A6IDRweDtcbn1cblxuLm1vbmFjby1pbnB1dGJveCAubW9uYWNvLWFjdGlvbi1iYXIgLmFjdGlvbi1pdGVtIHtcblx0bWFyZ2luLWxlZnQ6IDJweDtcbn1cblxuLm1vbmFjby1pbnB1dGJveCAubW9uYWNvLWFjdGlvbi1iYXIgLmFjdGlvbi1pdGVtIC5jb2RpY29uIHtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0gRmluZCBpbnB1dCAtLS0tLS0tLS0tICovXG5cbi5tb25hY28tZmluZElucHV0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubW9uYWNvLWZpbmRJbnB1dCAubW9uYWNvLWlucHV0Ym94IHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLm1vbmFjby1maW5kSW5wdXQgPiAuY29udHJvbHMge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogM3B4O1xuXHRyaWdodDogMnB4O1xufVxuXG4udnMgLm1vbmFjby1maW5kSW5wdXQuZGlzYWJsZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRTFFMUUxO1xufVxuXG4vKiBUaGVtaW5nICovXG4udnMtZGFyayAubW9uYWNvLWZpbmRJbnB1dC5kaXNhYmxlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG59XG5cbi8qIEhpZ2hsaWdodGluZyAqL1xuLm1vbmFjby1maW5kSW5wdXQuaGlnaGxpZ2h0LTAgLmNvbnRyb2xzLFxuLmhjLWxpZ2h0IC5tb25hY28tZmluZElucHV0LmhpZ2hsaWdodC0wIC5jb250cm9scyB7XG5cdGFuaW1hdGlvbjogbW9uYWNvLWZpbmRJbnB1dC1oaWdobGlnaHQtMCAxMDBtcyBsaW5lYXIgMHM7XG59XG5cbi5tb25hY28tZmluZElucHV0LmhpZ2hsaWdodC0xIC5jb250cm9scyxcbi5oYy1saWdodCAubW9uYWNvLWZpbmRJbnB1dC5oaWdobGlnaHQtMSAuY29udHJvbHMge1xuXHRhbmltYXRpb246IG1vbmFjby1maW5kSW5wdXQtaGlnaGxpZ2h0LTEgMTAwbXMgbGluZWFyIDBzO1xufVxuXG4uaGMtYmxhY2sgLm1vbmFjby1maW5kSW5wdXQuaGlnaGxpZ2h0LTAgLmNvbnRyb2xzLFxuLnZzLWRhcmsgIC5tb25hY28tZmluZElucHV0LmhpZ2hsaWdodC0wIC5jb250cm9scyB7XG5cdGFuaW1hdGlvbjogbW9uYWNvLWZpbmRJbnB1dC1oaWdobGlnaHQtZGFyay0wIDEwMG1zIGxpbmVhciAwcztcbn1cblxuLmhjLWJsYWNrIC5tb25hY28tZmluZElucHV0LmhpZ2hsaWdodC0xIC5jb250cm9scyxcbi52cy1kYXJrICAubW9uYWNvLWZpbmRJbnB1dC5oaWdobGlnaHQtMSAuY29udHJvbHMge1xuXHRhbmltYXRpb246IG1vbmFjby1maW5kSW5wdXQtaGlnaGxpZ2h0LWRhcmstMSAxMDBtcyBsaW5lYXIgMHM7XG59XG5cbkBrZXlmcmFtZXMgbW9uYWNvLWZpbmRJbnB1dC1oaWdobGlnaHQtMCB7XG5cdDAlIHsgYmFja2dyb3VuZDogcmdiYSgyNTMsIDI1NSwgMCwgMC44KTsgfVxuXHQxMDAlIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbn1cbkBrZXlmcmFtZXMgbW9uYWNvLWZpbmRJbnB1dC1oaWdobGlnaHQtMSB7XG5cdDAlIHsgYmFja2dyb3VuZDogcmdiYSgyNTMsIDI1NSwgMCwgMC44KTsgfVxuXHQvKiBNYWRlIGludGVudGlvbmFsbHkgZGlmZmVyZW50IHN1Y2ggdGhhdCB0aGUgQ1NTIG1pbmlmaWVyIGRvZXMgbm90IGNvbGxhcHNlIHRoZSB0d28gYW5pbWF0aW9ucyBpbnRvIGEgc2luZ2xlIG9uZSovXG5cdDk5JSB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG59XG5cbkBrZXlmcmFtZXMgbW9uYWNvLWZpbmRJbnB1dC1oaWdobGlnaHQtZGFyay0wIHtcblx0MCUgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDQpOyB9XG5cdDEwMCUgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxufVxuQGtleWZyYW1lcyBtb25hY28tZmluZElucHV0LWhpZ2hsaWdodC1kYXJrLTEge1xuXHQwJSB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40NCk7IH1cblx0LyogTWFkZSBpbnRlbnRpb25hbGx5IGRpZmZlcmVudCBzdWNoIHRoYXQgdGhlIENTUyBtaW5pZmllciBkb2VzIG5vdCBjb2xsYXBzZSB0aGUgdHdvIGFuaW1hdGlvbnMgaW50byBhIHNpbmdsZSBvbmUqL1xuXHQ5OSUgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG46cm9vdCB7XG5cdC0tdnNjb2RlLXNhc2gtc2l6ZTogNHB4O1xuXHQtLXZzY29kZS1zYXNoLWhvdmVyLXNpemU6IDRweDtcbn1cblxuLm1vbmFjby1zYXNoIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAzNTtcblx0dG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4ubW9uYWNvLXNhc2guZGlzYWJsZWQge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1vbmFjby1zYXNoLm1hYy52ZXJ0aWNhbCB7XG5cdGN1cnNvcjogY29sLXJlc2l6ZTtcbn1cblxuLm1vbmFjby1zYXNoLnZlcnRpY2FsLm1pbmltdW0ge1xuXHRjdXJzb3I6IGUtcmVzaXplO1xufVxuXG4ubW9uYWNvLXNhc2gudmVydGljYWwubWF4aW11bSB7XG5cdGN1cnNvcjogdy1yZXNpemU7XG59XG5cbi5tb25hY28tc2FzaC5tYWMuaG9yaXpvbnRhbCB7XG5cdGN1cnNvcjogcm93LXJlc2l6ZTtcbn1cblxuLm1vbmFjby1zYXNoLmhvcml6b250YWwubWluaW11bSB7XG5cdGN1cnNvcjogcy1yZXNpemU7XG59XG5cbi5tb25hY28tc2FzaC5ob3Jpem9udGFsLm1heGltdW0ge1xuXHRjdXJzb3I6IG4tcmVzaXplO1xufVxuXG4ubW9uYWNvLXNhc2guZGlzYWJsZWQge1xuXHRjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm1vbmFjby1zYXNoLnZlcnRpY2FsIHtcblx0Y3Vyc29yOiBldy1yZXNpemU7XG5cdHRvcDogMDtcblx0d2lkdGg6IHZhcigtLXZzY29kZS1zYXNoLXNpemUpO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5tb25hY28tc2FzaC5ob3Jpem9udGFsIHtcblx0Y3Vyc29yOiBucy1yZXNpemU7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IHZhcigtLXZzY29kZS1zYXNoLXNpemUpO1xufVxuXG4ubW9uYWNvLXNhc2g6bm90KC5kaXNhYmxlZCkgPiAub3J0aG9nb25hbC1kcmFnLWhhbmRsZSB7XG5cdGNvbnRlbnQ6IFwiIFwiO1xuXHRoZWlnaHQ6IGNhbGModmFyKC0tdnNjb2RlLXNhc2gtc2l6ZSkgKiAyKTtcblx0d2lkdGg6IGNhbGModmFyKC0tdnNjb2RlLXNhc2gtc2l6ZSkgKiAyKTtcblx0ei1pbmRleDogMTAwO1xuXHRkaXNwbGF5OiBibG9jaztcblx0Y3Vyc29yOiBhbGwtc2Nyb2xsO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5tb25hY28tc2FzaC5ob3Jpem9udGFsLm9ydGhvZ29uYWwtZWRnZS1ub3J0aDpub3QoLmRpc2FibGVkKVxuXHQ+IC5vcnRob2dvbmFsLWRyYWctaGFuZGxlLnN0YXJ0LFxuLm1vbmFjby1zYXNoLmhvcml6b250YWwub3J0aG9nb25hbC1lZGdlLXNvdXRoOm5vdCguZGlzYWJsZWQpXG5cdD4gLm9ydGhvZ29uYWwtZHJhZy1oYW5kbGUuZW5kIHtcblx0Y3Vyc29yOiBud3NlLXJlc2l6ZTtcbn1cblxuLm1vbmFjby1zYXNoLmhvcml6b250YWwub3J0aG9nb25hbC1lZGdlLW5vcnRoOm5vdCguZGlzYWJsZWQpXG5cdD4gLm9ydGhvZ29uYWwtZHJhZy1oYW5kbGUuZW5kLFxuLm1vbmFjby1zYXNoLmhvcml6b250YWwub3J0aG9nb25hbC1lZGdlLXNvdXRoOm5vdCguZGlzYWJsZWQpXG5cdD4gLm9ydGhvZ29uYWwtZHJhZy1oYW5kbGUuc3RhcnQge1xuXHRjdXJzb3I6IG5lc3ctcmVzaXplO1xufVxuXG4ubW9uYWNvLXNhc2gudmVydGljYWwgPiAub3J0aG9nb25hbC1kcmFnLWhhbmRsZS5zdGFydCB7XG5cdGxlZnQ6IGNhbGModmFyKC0tdnNjb2RlLXNhc2gtc2l6ZSkgKiAtMC41KTtcblx0dG9wOiBjYWxjKHZhcigtLXZzY29kZS1zYXNoLXNpemUpICogLTEpO1xufVxuLm1vbmFjby1zYXNoLnZlcnRpY2FsID4gLm9ydGhvZ29uYWwtZHJhZy1oYW5kbGUuZW5kIHtcblx0bGVmdDogY2FsYyh2YXIoLS12c2NvZGUtc2FzaC1zaXplKSAqIC0wLjUpO1xuXHRib3R0b206IGNhbGModmFyKC0tdnNjb2RlLXNhc2gtc2l6ZSkgKiAtMSk7XG59XG4ubW9uYWNvLXNhc2guaG9yaXpvbnRhbCA+IC5vcnRob2dvbmFsLWRyYWctaGFuZGxlLnN0YXJ0IHtcblx0dG9wOiBjYWxjKHZhcigtLXZzY29kZS1zYXNoLXNpemUpICogLTAuNSk7XG5cdGxlZnQ6IGNhbGModmFyKC0tdnNjb2RlLXNhc2gtc2l6ZSkgKiAtMSk7XG59XG4ubW9uYWNvLXNhc2guaG9yaXpvbnRhbCA+IC5vcnRob2dvbmFsLWRyYWctaGFuZGxlLmVuZCB7XG5cdHRvcDogY2FsYyh2YXIoLS12c2NvZGUtc2FzaC1zaXplKSAqIC0wLjUpO1xuXHRyaWdodDogY2FsYyh2YXIoLS12c2NvZGUtc2FzaC1zaXplKSAqIC0xKTtcbn1cblxuLm1vbmFjby1zYXNoOmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLm1vbmFjby13b3JrYmVuY2g6bm90KC5yZWR1Y2UtbW90aW9uKSAubW9uYWNvLXNhc2g6YmVmb3JlIHtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2Utb3V0O1xufVxuXG4ubW9uYWNvLXNhc2guaG92ZXI6YmVmb3JlLFxuLm1vbmFjby1zYXNoLmFjdGl2ZTpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS12c2NvZGUtc2FzaC1ob3ZlckJvcmRlcik7XG59XG5cbi5tb25hY28tc2FzaC52ZXJ0aWNhbDpiZWZvcmUge1xuXHR3aWR0aDogdmFyKC0tdnNjb2RlLXNhc2gtaG92ZXItc2l6ZSk7XG5cdGxlZnQ6IGNhbGMoNTAlIC0gKHZhcigtLXZzY29kZS1zYXNoLWhvdmVyLXNpemUpIC8gMikpO1xufVxuXG4ubW9uYWNvLXNhc2guaG9yaXpvbnRhbDpiZWZvcmUge1xuXHRoZWlnaHQ6IHZhcigtLXZzY29kZS1zYXNoLWhvdmVyLXNpemUpO1xuXHR0b3A6IGNhbGMoNTAlIC0gKHZhcigtLXZzY29kZS1zYXNoLWhvdmVyLXNpemUpIC8gMikpO1xufVxuXG4ucG9pbnRlci1ldmVudHMtZGlzYWJsZWQge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiogRGVidWcgKiovXG5cbi5tb25hY28tc2FzaC5kZWJ1ZyB7XG5cdGJhY2tncm91bmQ6IGN5YW47XG59XG5cbi5tb25hY28tc2FzaC5kZWJ1Zy5kaXNhYmxlZCB7XG5cdGJhY2tncm91bmQ6IHJnYmEoMCwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi5tb25hY28tc2FzaC5kZWJ1Zzpub3QoLmRpc2FibGVkKSA+IC5vcnRob2dvbmFsLWRyYWctaGFuZGxlIHtcblx0YmFja2dyb3VuZDogcmVkO1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ubW9uYWNvLXNwbGl0LXZpZXcyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4ubW9uYWNvLXNwbGl0LXZpZXcyID4gLnNhc2gtY29udGFpbmVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1vbmFjby1zcGxpdC12aWV3MiA+IC5zYXNoLWNvbnRhaW5lciA+IC5tb25hY28tc2FzaCB7XG5cdHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xufVxuXG4ubW9uYWNvLXNwbGl0LXZpZXcyID4gLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4ubW9uYWNvLXNwbGl0LXZpZXcyID4gLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuc3BsaXQtdmlldy1jb250YWluZXIge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5tb25hY28tc3BsaXQtdmlldzIgPiAubW9uYWNvLXNjcm9sbGFibGUtZWxlbWVudCA+IC5zcGxpdC12aWV3LWNvbnRhaW5lciA+IC5zcGxpdC12aWV3LXZpZXcge1xuXHR3aGl0ZS1zcGFjZTogaW5pdGlhbDtcblx0cG9zaXRpb246IGFic29sdXRlO1xufVxuXG4ubW9uYWNvLXNwbGl0LXZpZXcyID4gLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuc3BsaXQtdmlldy1jb250YWluZXIgPiAuc3BsaXQtdmlldy12aWV3Om5vdCgudmlzaWJsZSkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ubW9uYWNvLXNwbGl0LXZpZXcyLnZlcnRpY2FsID4gLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuc3BsaXQtdmlldy1jb250YWluZXIgPiAuc3BsaXQtdmlldy12aWV3IHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5tb25hY28tc3BsaXQtdmlldzIuaG9yaXpvbnRhbCA+IC5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50ID4gLnNwbGl0LXZpZXctY29udGFpbmVyID4gLnNwbGl0LXZpZXctdmlldyB7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLm1vbmFjby1zcGxpdC12aWV3Mi5zZXBhcmF0b3ItYm9yZGVyID4gLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuc3BsaXQtdmlldy1jb250YWluZXIgPiAuc3BsaXQtdmlldy12aWV3Om5vdCg6Zmlyc3QtY2hpbGQpOjpiZWZvcmUge1xuXHRjb250ZW50OiAnICc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR6LWluZGV4OiA1O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VwYXJhdG9yLWJvcmRlcik7XG59XG5cbi5tb25hY28tc3BsaXQtdmlldzIuc2VwYXJhdG9yLWJvcmRlci5ob3Jpem9udGFsID4gLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuc3BsaXQtdmlldy1jb250YWluZXIgPiAuc3BsaXQtdmlldy12aWV3Om5vdCg6Zmlyc3QtY2hpbGQpOjpiZWZvcmUge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxcHg7XG59XG5cbi5tb25hY28tc3BsaXQtdmlldzIuc2VwYXJhdG9yLWJvcmRlci52ZXJ0aWNhbCA+IC5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50ID4gLnNwbGl0LXZpZXctY29udGFpbmVyID4gLnNwbGl0LXZpZXctdmlldzpub3QoOmZpcnN0LWNoaWxkKTo6YmVmb3JlIHtcblx0aGVpZ2h0OiAxcHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ubW9uYWNvLXRhYmxlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubW9uYWNvLXRhYmxlID4gLm1vbmFjby1zcGxpdC12aWV3MiB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLm1vbmFjby10YWJsZSA+IC5tb25hY28tbGlzdCB7XG5cdGZsZXg6IDE7XG59XG5cbi5tb25hY28tdGFibGUtdHIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5tb25hY28tdGFibGUtdGgge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5tb25hY28tdGFibGUtdGgsXG4ubW9uYWNvLXRhYmxlLXRkIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ubW9uYWNvLXRhYmxlID4gLm1vbmFjby1zcGxpdC12aWV3MiAubW9uYWNvLXNhc2gudmVydGljYWw6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogY2FsYyh2YXIoLS12c2NvZGUtc2FzaC1zaXplKSAvIDIpO1xuXHR3aWR0aDogMDtcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLm1vbmFjby13b3JrYmVuY2g6bm90KC5yZWR1Y2UtbW90aW9uKSAubW9uYWNvLXRhYmxlID4gLm1vbmFjby1zcGxpdC12aWV3Mixcbi5tb25hY28td29ya2JlbmNoOm5vdCgucmVkdWNlLW1vdGlvbikgLm1vbmFjby10YWJsZSA+IC5tb25hY28tc3BsaXQtdmlldzIgLm1vbmFjby1zYXNoLnZlcnRpY2FsOjpiZWZvcmUge1xuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlLW91dDtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby10bC1yb3cge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1vbmFjby10bC1yb3cuZGlzYWJsZWQge1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG59XG4ubW9uYWNvLXRsLWluZGVudCB7XG5cdGhlaWdodDogMTAwJTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDE2cHg7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uaGlkZS1hcnJvd3MgLm1vbmFjby10bC1pbmRlbnQge1xuXHRsZWZ0OiAxMnB4O1xufVxuXG4ubW9uYWNvLXRsLWluZGVudCA+IC5pbmRlbnQtZ3VpZGUge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGhlaWdodDogMTAwJTtcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLm1vbmFjby13b3JrYmVuY2g6bm90KC5yZWR1Y2UtbW90aW9uKSAubW9uYWNvLXRsLWluZGVudCA+IC5pbmRlbnQtZ3VpZGUge1xuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xcyBsaW5lYXI7XG59XG5cbi5tb25hY28tdGwtdHdpc3RpZSxcbi5tb25hY28tdGwtY29udGVudHMge1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5tb25hY28tdGwtdHdpc3RpZSB7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdHBhZGRpbmctcmlnaHQ6IDZweDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdHdpZHRoOiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbn1cblxuLm1vbmFjby10bC1jb250ZW50cyB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tb25hY28tdGwtdHdpc3RpZTo6YmVmb3JlIHtcblx0Ym9yZGVyLXJhZGl1czogMjBweDtcbn1cblxuLm1vbmFjby10bC10d2lzdGllLmNvbGxhcHNlZDo6YmVmb3JlIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cblxuLm1vbmFjby10bC10d2lzdGllLmNvZGljb24tdHJlZS1pdGVtLWxvYWRpbmc6OmJlZm9yZSB7XG5cdC8qIFVzZSBzdGVwcyB0byB0aHJvdHRsZSBGUFMgdG8gcmVkdWNlIENQVSB1c2FnZSAqL1xuXHRhbmltYXRpb246IGNvZGljb24tc3BpbiAxLjI1cyBzdGVwcygzMCkgaW5maW5pdGU7XG59XG5cbi5tb25hY28tdHJlZS10eXBlLWZpbHRlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwYWRkaW5nOiAzcHg7XG5cdG1heC13aWR0aDogMjAwcHg7XG5cdHotaW5kZXg6IDEwMDtcblx0bWFyZ2luOiAwIDZweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tdnNjb2RlLXdpZGdldC1ib3JkZXIpO1xuXHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG59XG5cbi5tb25hY28td29ya2JlbmNoOm5vdCgucmVkdWNlLW1vdGlvbikgLm1vbmFjby10cmVlLXR5cGUtZmlsdGVyIHtcblx0dHJhbnNpdGlvbjogdG9wIDAuM3M7XG59XG5cbi5tb25hY28tdHJlZS10eXBlLWZpbHRlci5kaXNhYmxlZCB7XG5cdHRvcDogLTQwcHggIWltcG9ydGFudDtcbn1cblxuLm1vbmFjby10cmVlLXR5cGUtZmlsdGVyLWdyYWIge1xuXHRkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjdXJzb3I6IGdyYWI7XG5cdG1hcmdpbi1yaWdodDogMnB4O1xufVxuXG4ubW9uYWNvLXRyZWUtdHlwZS1maWx0ZXItZ3JhYi5ncmFiYmluZyB7XG5cdGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi5tb25hY28tdHJlZS10eXBlLWZpbHRlci1pbnB1dCB7XG5cdGZsZXg6IDE7XG59XG5cbi5tb25hY28tdHJlZS10eXBlLWZpbHRlci1pbnB1dCAubW9uYWNvLWlucHV0Ym94IHtcblx0aGVpZ2h0OiAyM3B4O1xufVxuXG4ubW9uYWNvLXRyZWUtdHlwZS1maWx0ZXItaW5wdXQgLm1vbmFjby1pbnB1dGJveCA+IC5pYndyYXBwZXIgPiAuaW5wdXQsXG4ubW9uYWNvLXRyZWUtdHlwZS1maWx0ZXItaW5wdXQgLm1vbmFjby1pbnB1dGJveCA+IC5pYndyYXBwZXIgPiAubWlycm9yIHtcblx0cGFkZGluZzogMnB4IDRweDtcbn1cblxuLm1vbmFjby10cmVlLXR5cGUtZmlsdGVyLWlucHV0IC5tb25hY28tZmluZElucHV0ID4gLmNvbnRyb2xzIHtcblx0dG9wOiAycHg7XG59XG5cbi5tb25hY28tdHJlZS10eXBlLWZpbHRlci1hY3Rpb25iYXIge1xuXHRtYXJnaW4tbGVmdDogNHB4O1xufVxuXG4ubW9uYWNvLXRyZWUtdHlwZS1maWx0ZXItYWN0aW9uYmFyIC5tb25hY28tYWN0aW9uLWJhciAuYWN0aW9uLWxhYmVsIHtcblx0cGFkZGluZzogMnB4O1xufVxuXG4ubW9uYWNvLWxpc3QgLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgLm1vbmFjby10cmVlLXN0aWNreS1jb250YWluZXJ7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAwO1xuXHR6LWluZGV4OiAxMzsgLyogU2V0dGluZ3MgZWRpdG9yIHVzZXMgei1pbmRleDogMTIgKi9cblxuXHQvKiBCYWNrdXAgY29sb3IgaW4gY2FzZSB0aGUgdHJlZSBkb2VzIG5vdCBwcm92aWRlIHRoZSBiYWNrZ3JvdW5kIGNvbG9yICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1zaWRlQmFyLWJhY2tncm91bmQpO1xufVxuXG4ubW9uYWNvLWxpc3QgLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgLm1vbmFjby10cmVlLXN0aWNreS1jb250YWluZXIgLm1vbmFjby10cmVlLXN0aWNreS1yb3cubW9uYWNvLWxpc3Qtcm93e1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvcGFjaXR5OiAxICFpbXBvcnRhbnQ7IC8qIFNldHRpbmdzIGVkaXRvciB1c2VzIG9wYWNpdHkgPCAxICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0LyogQmFja3VwIGNvbG9yIGluIGNhc2UgdGhlIHRyZWUgZG9lcyBub3QgcHJvdmlkZSB0aGUgYmFja2dyb3VuZCBjb2xvciAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtc2lkZUJhci1iYWNrZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1saXN0IC5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50IC5tb25hY28tdHJlZS1zdGlja3ktY29udGFpbmVyIC5tb25hY28tdHJlZS1zdGlja3ktcm93OmhvdmVye1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtbGlzdC1ob3ZlckJhY2tncm91bmQpICFpbXBvcnRhbnQ7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1vbmFjby1saXN0IC5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50IC5tb25hY28tdHJlZS1zdGlja3ktY29udGFpbmVyLmVtcHR5LFxuLm1vbmFjby1saXN0IC5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50IC5tb25hY28tdHJlZS1zdGlja3ktY29udGFpbmVyLmVtcHR5IC5tb25hY28tdHJlZS1zdGlja3ktY29udGFpbmVyLXNoYWRvdyB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tb25hY28tbGlzdCAubW9uYWNvLXNjcm9sbGFibGUtZWxlbWVudCAubW9uYWNvLXRyZWUtc3RpY2t5LWNvbnRhaW5lciAubW9uYWNvLXRyZWUtc3RpY2t5LWNvbnRhaW5lci1zaGFkb3cge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogLTNweDtcblx0bGVmdDogMHB4O1xuXHRoZWlnaHQ6IDBweDsgLyogaGVpZ3QgaXMgM3B4IGFuZCBvbmx5IHNldCB3aGVuIHRoZXJlIGlzIGEgdHJlZVN0aWNreVNjcm9sbFNoYWRvdyBjb2xvciAqL1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLm1vbmFjby1saXN0IC5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50IC5tb25hY28tdHJlZS1zdGlja3ktY29udGFpbmVyW3RhYmluZGV4PVwiMFwiXTpmb2N1c3tcblx0b3V0bGluZTogbm9uZTtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogLS0tLS0tLS0tLSBJY29uIGxhYmVsIC0tLS0tLS0tLS0gKi9cblxuLm1vbmFjby1pY29uLWxhYmVsIHtcblx0ZGlzcGxheTogZmxleDsgLyogcmVxdWlyZWQgZm9yIGljb25zIHN1cHBvcnQgOmJlZm9yZSBydWxlICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ubW9uYWNvLWljb24tbGFiZWw6OmJlZm9yZSB7XG5cblx0Lyogc3ZnIGljb25zIHJlbmRlcmVkIGFzIGJhY2tncm91bmQgaW1hZ2UgKi9cblx0YmFja2dyb3VuZC1zaXplOiAxNnB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0cGFkZGluZy1yaWdodDogNnB4O1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAyMnB4O1xuXHRsaW5lLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0LyogZm9udHMgaWNvbnMgKi9cblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cblx0ZmxleC1zaHJpbms6IDA7IC8qIGZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC92c2NvZGUvaXNzdWVzLzEzNzg3ICovXG59XG5cbi5tb25hY28taWNvbi1sYWJlbC1pY29ucGF0aCB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdHBhZGRpbmctbGVmdDogMnB4O1xuXHRtYXJnaW4tdG9wOiAycHg7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5tb25hY28taWNvbi1sYWJlbC1jb250YWluZXIuZGlzYWJsZWQge1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLWRpc2FibGVkRm9yZWdyb3VuZCk7XG59XG4ubW9uYWNvLWljb24tbGFiZWwgPiAubW9uYWNvLWljb24tbGFiZWwtY29udGFpbmVyIHtcblx0bWluLXdpZHRoOiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0ZmxleDogMTtcbn1cblxuLm1vbmFjby1pY29uLWxhYmVsID4gLm1vbmFjby1pY29uLWxhYmVsLWNvbnRhaW5lciA+IC5tb25hY28taWNvbi1uYW1lLWNvbnRhaW5lciA+IC5sYWJlbC1uYW1lIHtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdHdoaXRlLXNwYWNlOiBwcmU7IC8qIGVuYWJsZSB0byBzaG93IGxhYmVscyB0aGF0IGluY2x1ZGUgbXVsdGlwbGUgd2hpdGVzcGFjZXMgKi9cbn1cblxuLm1vbmFjby1pY29uLWxhYmVsID4gLm1vbmFjby1pY29uLWxhYmVsLWNvbnRhaW5lciA+IC5tb25hY28taWNvbi1uYW1lLWNvbnRhaW5lciA+IC5sYWJlbC1uYW1lID4gLmxhYmVsLXNlcGFyYXRvciB7XG5cdG1hcmdpbjogMCAycHg7XG5cdG9wYWNpdHk6IDAuNTtcbn1cblxuLm1vbmFjby1pY29uLWxhYmVsID4gLm1vbmFjby1pY29uLWxhYmVsLWNvbnRhaW5lciA+IC5tb25hY28taWNvbi1zdWZmaXgtY29udGFpbmVyID4gLmxhYmVsLXN1ZmZpeCB7XG5cdG9wYWNpdHk6IC43O1xuXHR3aGl0ZS1zcGFjZTogcHJlO1xufVxuXG4ubW9uYWNvLWljb24tbGFiZWwgPiAubW9uYWNvLWljb24tbGFiZWwtY29udGFpbmVyID4gLm1vbmFjby1pY29uLWRlc2NyaXB0aW9uLWNvbnRhaW5lciA+IC5sYWJlbC1kZXNjcmlwdGlvbiB7XG5cdG9wYWNpdHk6IC43O1xuXHRtYXJnaW4tbGVmdDogMC41ZW07XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdHdoaXRlLXNwYWNlOiBwcmU7IC8qIGVuYWJsZSB0byBzaG93IGxhYmVscyB0aGF0IGluY2x1ZGUgbXVsdGlwbGUgd2hpdGVzcGFjZXMgKi9cbn1cblxuLm1vbmFjby1pY29uLWxhYmVsLm5vd3JhcCA+IC5tb25hY28taWNvbi1sYWJlbC1jb250YWluZXIgPiAubW9uYWNvLWljb24tZGVzY3JpcHRpb24tY29udGFpbmVyID4gLmxhYmVsLWRlc2NyaXB0aW9ue1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwXG59XG5cbi52cyAubW9uYWNvLWljb24tbGFiZWwgPiAubW9uYWNvLWljb24tbGFiZWwtY29udGFpbmVyID4gLm1vbmFjby1pY29uLWRlc2NyaXB0aW9uLWNvbnRhaW5lciA+IC5sYWJlbC1kZXNjcmlwdGlvbiB7XG5cdG9wYWNpdHk6IC45NTtcbn1cblxuLm1vbmFjby1pY29uLWxhYmVsLml0YWxpYyA+IC5tb25hY28taWNvbi1sYWJlbC1jb250YWluZXIgPiAubW9uYWNvLWljb24tbmFtZS1jb250YWluZXIgPiAubGFiZWwtbmFtZSxcbi5tb25hY28taWNvbi1sYWJlbC5pdGFsaWMgPiAubW9uYWNvLWljb24tbGFiZWwtY29udGFpbmVyID4gLm1vbmFjby1pY29uLWRlc2NyaXB0aW9uLWNvbnRhaW5lciA+IC5sYWJlbC1kZXNjcmlwdGlvbiB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLm1vbmFjby1pY29uLWxhYmVsLmRlcHJlY2F0ZWQge1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblx0b3BhY2l0eTogMC42Njtcbn1cblxuLyogbWFrZSBzdXJlIGFwcGx5IGl0YWxpYyBmb250IHN0eWxlIHRvIGRlY29yYXRpb25zIGFzIHdlbGwgKi9cbi5tb25hY28taWNvbi1sYWJlbC5pdGFsaWM6OmFmdGVyIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ubW9uYWNvLWljb24tbGFiZWwuc3RyaWtldGhyb3VnaCA+IC5tb25hY28taWNvbi1sYWJlbC1jb250YWluZXIgPiAubW9uYWNvLWljb24tbmFtZS1jb250YWluZXIgPiAubGFiZWwtbmFtZSxcbi5tb25hY28taWNvbi1sYWJlbC5zdHJpa2V0aHJvdWdoID4gLm1vbmFjby1pY29uLWxhYmVsLWNvbnRhaW5lciA+IC5tb25hY28taWNvbi1kZXNjcmlwdGlvbi1jb250YWluZXIgPiAubGFiZWwtZGVzY3JpcHRpb24ge1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLm1vbmFjby1pY29uLWxhYmVsOjphZnRlciB7XG5cdG9wYWNpdHk6IDAuNzU7XG5cdGZvbnQtc2l6ZTogOTAlO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW46IGF1dG8gMTZweCAwIDVweDsgLyogaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC92c2NvZGUvaXNzdWVzLzExMzIyMyAqL1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIG1ha2Ugc3VyZSBzZWxlY3Rpb24gY29sb3Igd2lucyB3aGVuIGEgbGFiZWwgaXMgYmVpbmcgc2VsZWN0ZWQgKi9cbi5tb25hY28tbGlzdDpmb2N1cyAuc2VsZWN0ZWQgLm1vbmFjby1pY29uLWxhYmVsLCAvKiBsaXN0ICovXG4ubW9uYWNvLWxpc3Q6Zm9jdXMgLnNlbGVjdGVkIC5tb25hY28taWNvbi1sYWJlbDo6YWZ0ZXJcbntcblx0Y29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuLm1vbmFjby1saXN0LXJvdy5mb2N1c2VkLnNlbGVjdGVkIC5sYWJlbC1kZXNjcmlwdGlvbixcbi5tb25hY28tbGlzdC1yb3cuc2VsZWN0ZWQgLmxhYmVsLWRlc2NyaXB0aW9uIHtcblx0b3BhY2l0eTogLjg7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5tb25hY28ta2V5YmluZGluZyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGxpbmUtaGVpZ2h0OiAxMHB4O1xufVxuXG4ubW9uYWNvLWtleWJpbmRpbmcgPiAubW9uYWNvLWtleWJpbmRpbmcta2V5IHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItd2lkdGg6IDFweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRmb250LXNpemU6IDExcHg7XG5cdHBhZGRpbmc6IDNweCA1cHg7XG5cdG1hcmdpbjogMCAycHg7XG59XG5cbi5tb25hY28ta2V5YmluZGluZyA+IC5tb25hY28ta2V5YmluZGluZy1rZXk6Zmlyc3QtY2hpbGQge1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cblxuLm1vbmFjby1rZXliaW5kaW5nID4gLm1vbmFjby1rZXliaW5kaW5nLWtleTpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ubW9uYWNvLWtleWJpbmRpbmcgPiAubW9uYWNvLWtleWJpbmRpbmcta2V5LXNlcGFyYXRvciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1vbmFjby1rZXliaW5kaW5nID4gLm1vbmFjby1rZXliaW5kaW5nLWtleS1jaG9yZC1zZXBhcmF0b3Ige1xuXHR3aWR0aDogNnB4O1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ubW9uYWNvLWVkaXRvciAuZGlmZi1oaWRkZW4tbGluZXMtd2lkZ2V0IHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5tb25hY28tZWRpdG9yIC5kaWZmLWhpZGRlbi1saW5lcyB7XG5cdGhlaWdodDogMHB4OyAvKiBUaGUgY2hpbGRyZW4gZWFjaCBoYXZlIGEgZml4ZWQgaGVpZ2h0LCB0aGUgdHJhbnNmb3JtIGNvbmZ1c2VzIHRoZSBicm93c2VyICovXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTEwcHgpO1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGxpbmUtaGVpZ2h0OiAxNHB4O1xufVxuXG4ubW9uYWNvLWVkaXRvciAuZGlmZi1oaWRkZW4tbGluZXM6bm90KC5kcmFnZ2luZykgLnRvcDpob3Zlcixcbi5tb25hY28tZWRpdG9yIC5kaWZmLWhpZGRlbi1saW5lczpub3QoLmRyYWdnaW5nKSAuYm90dG9tOmhvdmVyLFxuLm1vbmFjby1lZGl0b3IgLmRpZmYtaGlkZGVuLWxpbmVzIC50b3AuZHJhZ2dpbmcsXG4ubW9uYWNvLWVkaXRvciAuZGlmZi1oaWRkZW4tbGluZXMgLmJvdHRvbS5kcmFnZ2luZyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1mb2N1c0JvcmRlcik7XG59XG5cbi5tb25hY28tZWRpdG9yIC5kaWZmLWhpZGRlbi1saW5lcyAudG9wLFxuLm1vbmFjby1lZGl0b3IgLmRpZmYtaGlkZGVuLWxpbmVzIC5ib3R0b20ge1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZS1vdXQ7XG5cdGhlaWdodDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRib3JkZXItdG9wOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdC8qY3Vyc29yOiBuLXJlc2l6ZTsqL1xufVxuXG4ubW9uYWNvLWVkaXRvci5kcmFnZ2luZ1VuY2hhbmdlZFJlZ2lvbi5jYW5Nb3ZlVG9wOm5vdCguY2FuTW92ZUJvdHRvbSkgKixcbi5tb25hY28tZWRpdG9yIC5kaWZmLWhpZGRlbi1saW5lcyAudG9wLmNhbk1vdmVUb3A6bm90KC5jYW5Nb3ZlQm90dG9tKSxcbi5tb25hY28tZWRpdG9yIC5kaWZmLWhpZGRlbi1saW5lcyAuYm90dG9tLmNhbk1vdmVUb3A6bm90KC5jYW5Nb3ZlQm90dG9tKSB7XG5cdGN1cnNvcjogbi1yZXNpemUgIWltcG9ydGFudDtcbn1cblxuLm1vbmFjby1lZGl0b3IuZHJhZ2dpbmdVbmNoYW5nZWRSZWdpb246bm90KC5jYW5Nb3ZlVG9wKS5jYW5Nb3ZlQm90dG9tICosXG4ubW9uYWNvLWVkaXRvciAuZGlmZi1oaWRkZW4tbGluZXMgLnRvcDpub3QoLmNhbk1vdmVUb3ApLmNhbk1vdmVCb3R0b20sXG4ubW9uYWNvLWVkaXRvciAuZGlmZi1oaWRkZW4tbGluZXMgLmJvdHRvbTpub3QoLmNhbk1vdmVUb3ApLmNhbk1vdmVCb3R0b20ge1xuXHRjdXJzb3I6IHMtcmVzaXplICFpbXBvcnRhbnQ7XG59XG5cbi5tb25hY28tZWRpdG9yLmRyYWdnaW5nVW5jaGFuZ2VkUmVnaW9uLmNhbk1vdmVUb3AuY2FuTW92ZUJvdHRvbSAqLFxuLm1vbmFjby1lZGl0b3IgLmRpZmYtaGlkZGVuLWxpbmVzIC50b3AuY2FuTW92ZVRvcC5jYW5Nb3ZlQm90dG9tLFxuLm1vbmFjby1lZGl0b3IgLmRpZmYtaGlkZGVuLWxpbmVzIC5ib3R0b20uY2FuTW92ZVRvcC5jYW5Nb3ZlQm90dG9tIHtcblx0Y3Vyc29yOiBucy1yZXNpemUgIWltcG9ydGFudDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmRpZmYtaGlkZGVuLWxpbmVzIC50b3Age1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDRweCk7XG59XG5cbi5tb25hY28tZWRpdG9yIC5kaWZmLWhpZGRlbi1saW5lcyAuYm90dG9tIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAtNnB4KTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmRpZmYtdW5jaGFuZ2VkLWxpbmVzIHtcblx0YmFja2dyb3VuZDogdmFyKC0tdnNjb2RlLWRpZmZFZGl0b3ItdW5jaGFuZ2VkQ29kZUJhY2tncm91bmQpO1xufVxuXG4ubW9uYWNvLWVkaXRvciAubm9Nb2RpZmljYXRpb25zT3ZlcmxheSB7XG5cdHotaW5kZXg6IDE7XG5cdGJhY2tncm91bmQ6IHZhcigtLXZzY29kZS1lZGl0b3ItYmFja2dyb3VuZCk7XG5cblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cblxuLm1vbmFjby1lZGl0b3IgLmRpZmYtaGlkZGVuLWxpbmVzIC5jZW50ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS12c2NvZGUtZGlmZkVkaXRvci11bmNoYW5nZWRSZWdpb25CYWNrZ3JvdW5kKTtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1kaWZmRWRpdG9yLXVuY2hhbmdlZFJlZ2lvbkZvcmVncm91bmQpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRkaXNwbGF5OiBibG9jaztcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0aGVpZ2h0OiAyNHB4O1xuXHRib3gtc2hhZG93OiBpbnNldCAwIC01cHggNXB4IC03cHggdmFyKC0tdnNjb2RlLWRpZmZFZGl0b3ItdW5jaGFuZ2VkUmVnaW9uU2hhZG93KSwgaW5zZXQgMCA1cHggNXB4IC03cHggdmFyKC0tdnNjb2RlLWRpZmZFZGl0b3ItdW5jaGFuZ2VkUmVnaW9uU2hhZG93KTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmRpZmYtaGlkZGVuLWxpbmVzIC5jZW50ZXIgc3Bhbi5jb2RpY29uIHtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmRpZmYtaGlkZGVuLWxpbmVzIC5jZW50ZXIgYTpob3ZlciAuY29kaWNvbiB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JMaW5rLWFjdGl2ZUZvcmVncm91bmQpICFpbXBvcnRhbnQ7XG59XG5cbi5tb25hY28tZWRpdG9yIC5kaWZmLWhpZGRlbi1saW5lcyBkaXYuYnJlYWRjcnVtYi1pdGVtIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuZGlmZi1oaWRkZW4tbGluZXMgZGl2LmJyZWFkY3J1bWItaXRlbTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yTGluay1hY3RpdmVGb3JlZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLm1vdmVkT3JpZ2luYWwge1xuXHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS12c2NvZGUtZGlmZkVkaXRvci1tb3ZlLWJvcmRlcik7XG59XG5cbi5tb25hY28tZWRpdG9yIC5tb3ZlZE1vZGlmaWVkIHtcblx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tdnNjb2RlLWRpZmZFZGl0b3ItbW92ZS1ib3JkZXIpO1xufVxuXG4ubW9uYWNvLWVkaXRvciAubW92ZWRPcmlnaW5hbC5jdXJyZW50TW92ZSwgLm1vbmFjby1lZGl0b3IgLm1vdmVkTW9kaWZpZWQuY3VycmVudE1vdmUge1xuXHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS12c2NvZGUtZGlmZkVkaXRvci1tb3ZlQWN0aXZlLWJvcmRlcik7XG59XG5cbi5tb25hY28tZGlmZi1lZGl0b3IgLm1vdmVkLWJsb2Nrcy1saW5lcyBwYXRoLmN1cnJlbnRNb3ZlIHtcblx0c3Ryb2tlOiB2YXIoLS12c2NvZGUtZGlmZkVkaXRvci1tb3ZlQWN0aXZlLWJvcmRlcik7XG59XG5cbi5tb25hY28tZGlmZi1lZGl0b3IgLm1vdmVkLWJsb2Nrcy1saW5lcyBwYXRoIHtcblx0cG9pbnRlci1ldmVudHM6IHZpc2libGVzdHJva2U7XG59XG5cbi5tb25hY28tZGlmZi1lZGl0b3IgLm1vdmVkLWJsb2Nrcy1saW5lcyAuYXJyb3cge1xuXHRmaWxsOiB2YXIoLS12c2NvZGUtZGlmZkVkaXRvci1tb3ZlLWJvcmRlcik7XG59XG5cbi5tb25hY28tZGlmZi1lZGl0b3IgLm1vdmVkLWJsb2Nrcy1saW5lcyAuYXJyb3cuY3VycmVudE1vdmUge1xuXHRmaWxsOiB2YXIoLS12c2NvZGUtZGlmZkVkaXRvci1tb3ZlQWN0aXZlLWJvcmRlcik7XG59XG5cbi5tb25hY28tZGlmZi1lZGl0b3IgLm1vdmVkLWJsb2Nrcy1saW5lcyAuYXJyb3ctcmVjdGFuZ2xlIHtcblx0ZmlsbDogdmFyKC0tdnNjb2RlLWVkaXRvci1iYWNrZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1kaWZmLWVkaXRvciAubW92ZWQtYmxvY2tzLWxpbmVzIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1vbmFjby1kaWZmLWVkaXRvciAubW92ZWQtYmxvY2tzLWxpbmVzIHBhdGgge1xuXHRmaWxsOiBub25lO1xuXHRzdHJva2U6IHZhcigtLXZzY29kZS1kaWZmRWRpdG9yLW1vdmUtYm9yZGVyKTtcblx0c3Ryb2tlLXdpZHRoOiAyO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuY2hhci1kZWxldGUuZGlmZi1yYW5nZS1lbXB0eSB7XG5cdG1hcmdpbi1sZWZ0OiAtMXB4O1xuXHRib3JkZXItbGVmdDogc29saWQgdmFyKC0tdnNjb2RlLWRpZmZFZGl0b3ItcmVtb3ZlZFRleHRCYWNrZ3JvdW5kKSAzcHg7XG59XG5cbi5tb25hY28tZWRpdG9yIC5jaGFyLWluc2VydC5kaWZmLXJhbmdlLWVtcHR5IHtcblx0Ym9yZGVyLWxlZnQ6IHNvbGlkIHZhcigtLXZzY29kZS1kaWZmRWRpdG9yLWluc2VydGVkVGV4dEJhY2tncm91bmQpIDNweDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmZvbGQtdW5jaGFuZ2VkIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubW9uYWNvLWRpZmYtZWRpdG9yIC5kaWZmLW1vdmVkLWNvZGUtYmxvY2sge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRtYXJnaW4tdG9wOiAtNHB4O1xufVxuXG4ubW9uYWNvLWRpZmYtZWRpdG9yIC5kaWZmLW1vdmVkLWNvZGUtYmxvY2sgLmFjdGlvbi1iYXIgLmFjdGlvbi1sYWJlbC5jb2RpY29uIHtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMTJweDtcblx0Zm9udC1zaXplOiAxMnB4O1xufVxuXG4vKiAtLS0tLS0tLS0tIERpZmZFZGl0b3IgLS0tLS0tLS0tLSAqL1xuXG4ubW9uYWNvLWRpZmYtZWRpdG9yIC5kaWZmT3ZlcnZpZXcge1xuXHR6LWluZGV4OiA5O1xufVxuXG4ubW9uYWNvLWRpZmYtZWRpdG9yIC5kaWZmT3ZlcnZpZXcgLmRpZmZWaWV3cG9ydCB7XG5cdHotaW5kZXg6IDEwO1xufVxuXG4vKiBjb2xvcnMgbm90IGV4dGVybmFsaXplZDogdXNpbmcgdHJhbnNwYXJhbmN5IG9uIGJhY2tncm91bmQgKi9cbi5tb25hY28tZGlmZi1lZGl0b3IudnNcdFx0XHQuZGlmZk92ZXJ2aWV3IHsgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAzKTsgfVxuLm1vbmFjby1kaWZmLWVkaXRvci52cy1kYXJrXHRcdC5kaWZmT3ZlcnZpZXcgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDEpOyB9XG5cbi5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50Lm1vZGlmaWVkLWluLW1vbmFjby1kaWZmLWVkaXRvci52c1x0XHQuc2Nyb2xsYmFyIHsgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwKTsgfVxuLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQubW9kaWZpZWQtaW4tbW9uYWNvLWRpZmYtZWRpdG9yLnZzLWRhcmtcdC5zY3JvbGxiYXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDApOyB9XG4ubW9uYWNvLXNjcm9sbGFibGUtZWxlbWVudC5tb2RpZmllZC1pbi1tb25hY28tZGlmZi1lZGl0b3IuaGMtYmxhY2tcdC5zY3JvbGxiYXIgeyBiYWNrZ3JvdW5kOiBub25lOyB9XG4ubW9uYWNvLXNjcm9sbGFibGUtZWxlbWVudC5tb2RpZmllZC1pbi1tb25hY28tZGlmZi1lZGl0b3IuaGMtbGlnaHRcdC5zY3JvbGxiYXIgeyBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50Lm1vZGlmaWVkLWluLW1vbmFjby1kaWZmLWVkaXRvciAuc2xpZGVyIHtcblx0ei1pbmRleDogMTA7XG59XG4ubW9kaWZpZWQtaW4tbW9uYWNvLWRpZmYtZWRpdG9yXHRcdFx0XHQuc2xpZGVyLmFjdGl2ZSB7IGJhY2tncm91bmQ6IHJnYmEoMTcxLCAxNzEsIDE3MSwgLjQpOyB9XG4ubW9kaWZpZWQtaW4tbW9uYWNvLWRpZmYtZWRpdG9yLmhjLWJsYWNrXHQuc2xpZGVyLmFjdGl2ZSB7IGJhY2tncm91bmQ6IG5vbmU7IH1cbi5tb2RpZmllZC1pbi1tb25hY28tZGlmZi1lZGl0b3IuaGMtbGlnaHRcdC5zbGlkZXIuYWN0aXZlIHsgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4vKiAtLS0tLS0tLS0tIERpZmYgLS0tLS0tLS0tLSAqL1xuXG4ubW9uYWNvLWVkaXRvciAuaW5zZXJ0LXNpZ24sXG4ubW9uYWNvLWRpZmYtZWRpdG9yIC5pbnNlcnQtc2lnbixcbi5tb25hY28tZWRpdG9yIC5kZWxldGUtc2lnbixcbi5tb25hY28tZGlmZi1lZGl0b3IgLmRlbGV0ZS1zaWduIHtcblx0Zm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XG5cdG9wYWNpdHk6IDAuNyAhaW1wb3J0YW50O1xuXHRkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ubW9uYWNvLWVkaXRvci5oYy1ibGFjayAuaW5zZXJ0LXNpZ24sXG4ubW9uYWNvLWRpZmYtZWRpdG9yLmhjLWJsYWNrIC5pbnNlcnQtc2lnbixcbi5tb25hY28tZWRpdG9yLmhjLWJsYWNrIC5kZWxldGUtc2lnbixcbi5tb25hY28tZGlmZi1lZGl0b3IuaGMtYmxhY2sgLmRlbGV0ZS1zaWduLFxuLm1vbmFjby1lZGl0b3IuaGMtbGlnaHQgLmluc2VydC1zaWduLFxuLm1vbmFjby1kaWZmLWVkaXRvci5oYy1saWdodCAuaW5zZXJ0LXNpZ24sXG4ubW9uYWNvLWVkaXRvci5oYy1saWdodCAuZGVsZXRlLXNpZ24sXG4ubW9uYWNvLWRpZmYtZWRpdG9yLmhjLWxpZ2h0IC5kZWxldGUtc2lnbiB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi5tb25hY28tZWRpdG9yIC5pbmxpbmUtZGVsZXRlZC1tYXJnaW4tdmlldy16b25lIHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG4ubW9uYWNvLWVkaXRvciAuaW5saW5lLWFkZGVkLW1hcmdpbi12aWV3LXpvbmUge1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmFycm93LXJldmVydC1jaGFuZ2Uge1xuXHR6LWluZGV4OiAxMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuYXJyb3ctcmV2ZXJ0LWNoYW5nZTpob3ZlciB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogLS0tLS0tLS0tLSBJbmxpbmUgRGlmZiAtLS0tLS0tLS0tICovXG5cbi5tb25hY28tZWRpdG9yIC52aWV3LXpvbmVzIC52aWV3LWxpbmVzIC52aWV3LWxpbmUgc3BhbiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1vbmFjby1lZGl0b3IgLm1hcmdpbi12aWV3LXpvbmVzIC5saWdodGJ1bGItZ2x5cGg6aG92ZXIge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5tb25hY28tZWRpdG9yIC5jaGFyLWluc2VydCwgLm1vbmFjby1kaWZmLWVkaXRvciAuY2hhci1pbnNlcnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZGlmZkVkaXRvci1pbnNlcnRlZFRleHRCYWNrZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmxpbmUtaW5zZXJ0LCAubW9uYWNvLWRpZmYtZWRpdG9yIC5saW5lLWluc2VydCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1kaWZmRWRpdG9yLWluc2VydGVkTGluZUJhY2tncm91bmQsIHZhcigtLXZzY29kZS1kaWZmRWRpdG9yLWluc2VydGVkVGV4dEJhY2tncm91bmQpKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmxpbmUtaW5zZXJ0LFxuLm1vbmFjby1lZGl0b3IgLmNoYXItaW5zZXJ0IHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tdnNjb2RlLWRpZmZFZGl0b3ItaW5zZXJ0ZWRUZXh0Qm9yZGVyKTtcbn1cbi5tb25hY28tZWRpdG9yLmhjLWJsYWNrIC5saW5lLWluc2VydCwgLm1vbmFjby1lZGl0b3IuaGMtbGlnaHQgLmxpbmUtaW5zZXJ0LFxuLm1vbmFjby1lZGl0b3IuaGMtYmxhY2sgLmNoYXItaW5zZXJ0LCAubW9uYWNvLWVkaXRvci5oYy1saWdodCAuY2hhci1pbnNlcnQge1xuXHRib3JkZXItc3R5bGU6IGRhc2hlZDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmxpbmUtZGVsZXRlLFxuLm1vbmFjby1lZGl0b3IgLmNoYXItZGVsZXRlIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tdnNjb2RlLWRpZmZFZGl0b3ItcmVtb3ZlZFRleHRCb3JkZXIpO1xufVxuLm1vbmFjby1lZGl0b3IuaGMtYmxhY2sgLmxpbmUtZGVsZXRlLCAubW9uYWNvLWVkaXRvci5oYy1saWdodCAubGluZS1kZWxldGUsXG4ubW9uYWNvLWVkaXRvci5oYy1ibGFjayAuY2hhci1kZWxldGUsIC5tb25hY28tZWRpdG9yLmhjLWxpZ2h0IC5jaGFyLWRlbGV0ZSB7XG5cdGJvcmRlci1zdHlsZTogZGFzaGVkO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuaW5saW5lLWFkZGVkLW1hcmdpbi12aWV3LXpvbmUsXG4ubW9uYWNvLWVkaXRvciAuZ3V0dGVyLWluc2VydCwgLm1vbmFjby1kaWZmLWVkaXRvciAuZ3V0dGVyLWluc2VydCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1kaWZmRWRpdG9yR3V0dGVyLWluc2VydGVkTGluZUJhY2tncm91bmQsIHZhcigtLXZzY29kZS1kaWZmRWRpdG9yLWluc2VydGVkTGluZUJhY2tncm91bmQpLCB2YXIoLS12c2NvZGUtZGlmZkVkaXRvci1pbnNlcnRlZFRleHRCYWNrZ3JvdW5kKSk7XG59XG5cbi5tb25hY28tZWRpdG9yIC5jaGFyLWRlbGV0ZSwgLm1vbmFjby1kaWZmLWVkaXRvciAuY2hhci1kZWxldGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZGlmZkVkaXRvci1yZW1vdmVkVGV4dEJhY2tncm91bmQpO1xufVxuXG4ubW9uYWNvLWVkaXRvciAubGluZS1kZWxldGUsIC5tb25hY28tZGlmZi1lZGl0b3IgLmxpbmUtZGVsZXRlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLWRpZmZFZGl0b3ItcmVtb3ZlZExpbmVCYWNrZ3JvdW5kLCB2YXIoLS12c2NvZGUtZGlmZkVkaXRvci1yZW1vdmVkVGV4dEJhY2tncm91bmQpKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmlubGluZS1kZWxldGVkLW1hcmdpbi12aWV3LXpvbmUsXG4ubW9uYWNvLWVkaXRvciAuZ3V0dGVyLWRlbGV0ZSwgLm1vbmFjby1kaWZmLWVkaXRvciAuZ3V0dGVyLWRlbGV0ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1kaWZmRWRpdG9yR3V0dGVyLXJlbW92ZWRMaW5lQmFja2dyb3VuZCwgdmFyKC0tdnNjb2RlLWRpZmZFZGl0b3ItcmVtb3ZlZExpbmVCYWNrZ3JvdW5kKSwgdmFyKC0tdnNjb2RlLWRpZmZFZGl0b3ItcmVtb3ZlZFRleHRCYWNrZ3JvdW5kKSk7XG59XG5cbi5tb25hY28tZGlmZi1lZGl0b3Iuc2lkZS1ieS1zaWRlIC5lZGl0b3IubW9kaWZpZWQge1xuXHRib3gtc2hhZG93OiAtNnB4IDAgNXB4IC01cHggdmFyKC0tdnNjb2RlLXNjcm9sbGJhci1zaGFkb3cpO1xuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLXZzY29kZS1kaWZmRWRpdG9yLWJvcmRlcik7XG59XG5cbi5tb25hY28tZGlmZi1lZGl0b3Iuc2lkZS1ieS1zaWRlIC5lZGl0b3Iub3JpZ2luYWwge1xuXHRib3gtc2hhZG93OiA2cHggMCA1cHggLTVweCB2YXIoLS12c2NvZGUtc2Nyb2xsYmFyLXNoYWRvdyk7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXZzY29kZS1kaWZmRWRpdG9yLWJvcmRlcik7XG59XG5cbi5tb25hY28tZGlmZi1lZGl0b3IgLmRpZmZWaWV3cG9ydCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXZzY29kZS1zY3JvbGxiYXJTbGlkZXItYmFja2dyb3VuZCk7XG59XG5cbi5tb25hY28tZGlmZi1lZGl0b3IgLmRpZmZWaWV3cG9ydDpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXZzY29kZS1zY3JvbGxiYXJTbGlkZXItaG92ZXJCYWNrZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1kaWZmLWVkaXRvciAuZGlmZlZpZXdwb3J0OmFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXZzY29kZS1zY3JvbGxiYXJTbGlkZXItYWN0aXZlQmFja2dyb3VuZCk7XG59XG5cbi5tb25hY28tZWRpdG9yIC5kaWFnb25hbC1maWxsIHtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuXHRcdC00NWRlZyxcblx0XHR2YXIoLS12c2NvZGUtZGlmZkVkaXRvci1kaWFnb25hbEZpbGwpIDEyLjUlLFxuXHRcdCMwMDAwIDEyLjUlLCAjMDAwMCA1MCUsXG5cdFx0dmFyKC0tdnNjb2RlLWRpZmZFZGl0b3ItZGlhZ29uYWxGaWxsKSA1MCUsIHZhcigtLXZzY29kZS1kaWZmRWRpdG9yLWRpYWdvbmFsRmlsbCkgNjIuNSUsXG5cdFx0IzAwMDAgNjIuNSUsICMwMDAwIDEwMCVcblx0KTtcblx0YmFja2dyb3VuZC1zaXplOiA4cHggOHB4O1xufVxuXG4ubW9uYWNvLWRpZmYtZWRpdG9yIC5ndXR0ZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRmbGV4LWdyb3c6IDA7XG5cblx0JiA+IGRpdiB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHR9XG5cblx0Lmd1dHRlckl0ZW0ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjdzO1xuXG5cdFx0Ji5zaG93QWx3YXlzIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2l0aW9uOiBub25lO1xuXHRcdH1cblxuXHRcdCYubm9UcmFuc2l0aW9uIHtcblx0XHRcdHRyYW5zaXRpb246IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0Jjpob3ZlciAuZ3V0dGVySXRlbSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZS1pbi1vdXQ7XG5cdH1cblxuXHQuZ3V0dGVySXRlbSB7XG5cdFx0LmJhY2tncm91bmQge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0d2lkdGg6IDFweDtcblxuXHRcdFx0Ym9yZGVyLWxlZnQ6IDJweCB2YXIoLS12c2NvZGUtbWVudS1ib3JkZXIpIHNvbGlkO1xuXHRcdH1cblxuXHRcdC5idXR0b25zIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdC8qaGVpZ2h0OiAxMDAlOyovXG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdFx0Lm1vbmFjby10b29sYmFyIHtcblx0XHRcdFx0aGVpZ2h0OiBmaXQtY29udGVudDtcblx0XHRcdFx0Lm1vbmFjby1hY3Rpb24tYmFyICB7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cblx0XHRcdFx0XHQuYWN0aW9ucy1jb250YWluZXIge1xuXHRcdFx0XHRcdFx0d2lkdGg6IGZpdC1jb250ZW50O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tdnNjb2RlLWVkaXRvckd1dHRlci1jb21tZW50UmFuZ2VGb3JlZ3JvdW5kKTtcblxuXHRcdFx0XHRcdFx0LmFjdGlvbi1pdGVtIHtcblx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tdnNjb2RlLXRvb2xiYXItaG92ZXJCYWNrZ3JvdW5kKTtcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdC5hY3Rpb24tbGFiZWwge1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDFweCAycHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1jb21wb25lbnQuZGlmZi1yZXZpZXcge1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0ei1pbmRleDogOTk7XG59XG5cbi5tb25hY28tZGlmZi1lZGl0b3IgLmRpZmYtcmV2aWV3IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXG59XG5cbi5tb25hY28tY29tcG9uZW50LmRpZmYtcmV2aWV3IC5kaWZmLXJldmlldy1saW5lLW51bWJlciB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yTGluZU51bWJlci1mb3JlZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1jb21wb25lbnQuZGlmZi1yZXZpZXcgLmRpZmYtcmV2aWV3LXN1bW1hcnkge1xuXHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG5cbi5tb25hY28tY29tcG9uZW50LmRpZmYtcmV2aWV3IC5kaWZmLXJldmlldy1zaGFkb3cge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJveC1zaGFkb3c6IHZhcigtLXZzY29kZS1zY3JvbGxiYXItc2hhZG93KSAwIC02cHggNnB4IC02cHggaW5zZXQ7XG59XG5cbi5tb25hY28tY29tcG9uZW50LmRpZmYtcmV2aWV3IC5kaWZmLXJldmlldy1yb3cge1xuXHR3aGl0ZS1zcGFjZTogcHJlO1xufVxuXG4ubW9uYWNvLWNvbXBvbmVudC5kaWZmLXJldmlldyAuZGlmZi1yZXZpZXctdGFibGUge1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0bWluLXdpZHRoOiAxMDAlO1xufVxuXG4ubW9uYWNvLWNvbXBvbmVudC5kaWZmLXJldmlldyAuZGlmZi1yZXZpZXctcm93IHtcblx0ZGlzcGxheTogdGFibGUtcm93O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLm1vbmFjby1jb21wb25lbnQuZGlmZi1yZXZpZXcgLmRpZmYtcmV2aWV3LXNwYWNlciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDEwcHg7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5tb25hY28tY29tcG9uZW50LmRpZmYtcmV2aWV3IC5kaWZmLXJldmlldy1zcGFjZXIgPiAuY29kaWNvbiB7XG5cdGZvbnQtc2l6ZTogOXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tb25hY28tY29tcG9uZW50LmRpZmYtcmV2aWV3IC5kaWZmLXJldmlldy1hY3Rpb25zIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAxMHB4O1xuXHR0b3A6IDJweDtcblx0ei1pbmRleDogMTAwO1xufVxuXG4ubW9uYWNvLWNvbXBvbmVudC5kaWZmLXJldmlldyAuZGlmZi1yZXZpZXctYWN0aW9ucyAuYWN0aW9uLWxhYmVsIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0bWFyZ2luOiAycHggMDtcbn1cblxuLm1vbmFjby1jb21wb25lbnQuZGlmZi1yZXZpZXcgLnJldmVydEJ1dHRvbiB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby10b29sYmFyIHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4ubW9uYWNvLXRvb2xiYXIgLnRvb2xiYXItdG9nZ2xlLW1vcmUge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDA7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5tb25hY28tY29tcG9uZW50Lm11bHRpRGlmZkVkaXRvciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXZzY29kZS1tdWx0aURpZmZFZGl0b3ItYmFja2dyb3VuZCk7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cblx0b3ZlcmZsb3cteTogaGlkZGVuO1xuXG5cdD4gZGl2IHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwcHg7XG5cdFx0bGVmdDogMHB4O1xuXG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0Ji5wbGFjZWhvbGRlciB7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cblx0XHRcdCYudmlzaWJsZSB7XG5cdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHR9XG5cblx0XHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0XHRwbGFjZS1pdGVtczogY2VudGVyO1xuXHRcdFx0cGxhY2UtY29udGVudDogY2VudGVyO1xuXHRcdH1cblx0fVxuXG5cdC5hY3RpdmUge1xuXHRcdC0tdnNjb2RlLW11bHRpRGlmZkVkaXRvci1ib3JkZXI6IHZhcigtLXZzY29kZS1mb2N1c0JvcmRlcik7XG5cdH1cblxuXHQubXVsdGlEaWZmRW50cnkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRmbGV4OiAxO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblxuXHRcdC5jb2xsYXBzZS1idXR0b24ge1xuXHRcdFx0bWFyZ2luOiAwIDVweDtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0YSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5oZWFkZXIge1xuXHRcdFx0ei1pbmRleDogMTAwMDtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLXZzY29kZS1lZGl0b3ItYmFja2dyb3VuZCk7XG5cblx0XHRcdCY6bm90KC5jb2xsYXBzZWQpIC5oZWFkZXItY29udGVudCB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS12c2NvZGUtc2lkZUJhclNlY3Rpb25IZWFkZXItYm9yZGVyKTtcblx0XHRcdH1cblxuXHRcdFx0LmhlYWRlci1jb250ZW50IHtcblx0XHRcdFx0bWFyZ2luOiA4cHggMHB4IDBweCAwcHg7XG5cdFx0XHRcdHBhZGRpbmc6IDRweCA1cHg7XG5cblx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXZzY29kZS1tdWx0aURpZmZFZGl0b3ItYm9yZGVyKTtcblxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHRcdGNvbG9yOiB2YXIoLS12c2NvZGUtZm9yZWdyb3VuZCk7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLXZzY29kZS1tdWx0aURpZmZFZGl0b3ItaGVhZGVyQmFja2dyb3VuZCk7XG5cblx0XHRcdFx0Ji5zaGFkb3cge1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IHZhcigtLXZzY29kZS1zY3JvbGxiYXItc2hhZG93KSAwcHggNnB4IDZweCAtNnB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmZpbGUtcGF0aCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0XHRcdG1pbi13aWR0aDogMDtcblxuXHRcdFx0XHRcdC50aXRsZSB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjJweDtcblxuXHRcdFx0XHRcdFx0Ji5vcmlnaW5hbCB7XG5cdFx0XHRcdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHRcdFx0XHRcdG1pbi13aWR0aDogMDtcblx0XHRcdFx0XHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LnN0YXR1cyB7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMC43NTtcblx0XHRcdFx0XHRcdG1hcmdpbjogMHB4IDEwcHg7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjJweDtcblxuXHRcdFx0XHRcdFx0Lypcblx0XHRcdFx0XHRcdFx0VE9ET0BoZWRpZXQ6IG1vdmUgY29sb3JzIGZyb20gZ2l0IGV4dGVuc2lvbiB0byBjb3JlIVxuXHRcdFx0XHRcdFx0Ji5yZW5hbWVkIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6IHYgYXIoLS12c2NvZGUtZ2l0RGVjb3JhdGlvbi1yZW5hbWVkUmVzb3VyY2VGb3JlZ3JvdW5kKTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Ji5kZWxldGVkIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6IHYgYXIoLS12c2NvZGUtZ2l0RGVjb3JhdGlvbi1kZWxldGVkUmVzb3VyY2VGb3JlZ3JvdW5kKTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Ji5hZGRlZCB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiB2IGFyKC0tdnNjb2RlLWdpdERlY29yYXRpb24tYWRkZWRSZXNvdXJjZUZvcmVncm91bmQpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Ki9cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuYWN0aW9ucyB7XG5cdFx0XHRcdFx0cGFkZGluZzogMCA4cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXG5cdFx0fVxuXG5cdFx0LmVkaXRvclBhcmVudCB7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS12c2NvZGUtbXVsdGlEaWZmRWRpdG9yLWJvcmRlcik7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdH1cblxuXHRcdC5lZGl0b3JDb250YWluZXIge1xuXHRcdFx0ZmxleDogMTtcblx0XHR9XG5cdH1cbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1lZGl0b3IgLnNlbGVjdGlvbi1hbmNob3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3QUNDO1xuXHR3aWR0aDogMnB4ICFpbXBvcnRhbnQ7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5tb25hY28tZWRpdG9yIC5icmFja2V0LW1hdGNoIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvckJyYWNrZXRNYXRjaC1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tdnNjb2RlLWVkaXRvckJyYWNrZXRNYXRjaC1ib3JkZXIpO1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uaW5saW5lLWVkaXRvci1wcm9ncmVzcy1kZWNvcmF0aW9uIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMWVtO1xuXHRoZWlnaHQ6IDFlbTtcbn1cblxuLmlubGluZS1wcm9ncmVzcy13aWRnZXQgIHtcblx0ZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmlubGluZS1wcm9ncmVzcy13aWRnZXQgLmljb24ge1xuXHRmb250LXNpemU6IDgwJSAhaW1wb3J0YW50O1xufVxuXG4uaW5saW5lLXByb2dyZXNzLXdpZGdldDpob3ZlciAuaWNvbiB7XG5cdGZvbnQtc2l6ZTogOTAlICFpbXBvcnRhbnQ7XG5cdGFuaW1hdGlvbjogbm9uZTtcbn1cblxuLmlubGluZS1wcm9ncmVzcy13aWRnZXQ6aG92ZXIgLmljb246OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IHZhcigtLXZzY29kZS1pY29uLXgtY29udGVudCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS12c2NvZGUtaWNvbi14LWZvbnQtZmFtaWx5KTtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1lZGl0b3IgLm1vbmFjby1lZGl0b3Itb3ZlcmxheW1lc3NhZ2Uge1xuXHRwYWRkaW5nLWJvdHRvbTogOHB4O1xuXHR6LWluZGV4OiAxMDAwMDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLm1vbmFjby1lZGl0b3Itb3ZlcmxheW1lc3NhZ2UuYmVsb3cge1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcblx0cGFkZGluZy10b3A6IDhweDtcblx0ei1pbmRleDogMTAwMDA7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcblx0ZnJvbSB7IG9wYWNpdHk6IDA7IH1cblx0dG8geyBvcGFjaXR5OiAxOyB9XG59XG4ubW9uYWNvLWVkaXRvciAubW9uYWNvLWVkaXRvci1vdmVybGF5bWVzc2FnZS5mYWRlSW4ge1xuXHRhbmltYXRpb246IGZhZGVJbiAxNTBtcyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcblx0ZnJvbSB7IG9wYWNpdHk6IDE7IH1cblx0dG8geyBvcGFjaXR5OiAwOyB9XG59XG4ubW9uYWNvLWVkaXRvciAubW9uYWNvLWVkaXRvci1vdmVybGF5bWVzc2FnZS5mYWRlT3V0IHtcblx0YW5pbWF0aW9uOiBmYWRlT3V0IDEwMG1zIGVhc2Utb3V0O1xufVxuXG4ubW9uYWNvLWVkaXRvciAubW9uYWNvLWVkaXRvci1vdmVybGF5bWVzc2FnZSAubWVzc2FnZSB7XG5cdHBhZGRpbmc6IDJweCA0cHg7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9ySG92ZXJXaWRnZXQtZm9yZWdyb3VuZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JIb3ZlcldpZGdldC1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tdnNjb2RlLWlucHV0VmFsaWRhdGlvbi1pbmZvQm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4ubW9uYWNvLWVkaXRvciAubW9uYWNvLWVkaXRvci1vdmVybGF5bWVzc2FnZSAubWVzc2FnZSBwIHtcblx0bWFyZ2luLWJsb2NrOiAwcHg7XG59XG5cbi5tb25hY28tZWRpdG9yIC5tb25hY28tZWRpdG9yLW92ZXJsYXltZXNzYWdlIC5tZXNzYWdlIGEge1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLXRleHRMaW5rLWZvcmVncm91bmQpO1xufVxuXG4ubW9uYWNvLWVkaXRvciAubW9uYWNvLWVkaXRvci1vdmVybGF5bWVzc2FnZSAubWVzc2FnZSBhOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXZzY29kZS10ZXh0TGluay1hY3RpdmVGb3JlZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IuaGMtYmxhY2sgLm1vbmFjby1lZGl0b3Itb3ZlcmxheW1lc3NhZ2UgLm1lc3NhZ2UsXG4ubW9uYWNvLWVkaXRvci5oYy1saWdodCAubW9uYWNvLWVkaXRvci1vdmVybGF5bWVzc2FnZSAubWVzc2FnZSB7XG5cdGJvcmRlci13aWR0aDogMnB4O1xufVxuXG4ubW9uYWNvLWVkaXRvciAubW9uYWNvLWVkaXRvci1vdmVybGF5bWVzc2FnZSAuYW5jaG9yIHtcblx0d2lkdGg6IDAgIWltcG9ydGFudDtcblx0aGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdHotaW5kZXg6IDEwMDA7XG5cdGJvcmRlci13aWR0aDogOHB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDJweDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLm1vbmFjby1lZGl0b3Itb3ZlcmxheW1lc3NhZ2UgLmFuY2hvci50b3Age1xuXHRib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS12c2NvZGUtaW5wdXRWYWxpZGF0aW9uLWluZm9Cb3JkZXIpO1xufVxuXG4ubW9uYWNvLWVkaXRvciAubW9uYWNvLWVkaXRvci1vdmVybGF5bWVzc2FnZSAuYW5jaG9yLmJlbG93IHtcblx0Ym9yZGVyLXRvcC1jb2xvcjogdmFyKC0tdnNjb2RlLWlucHV0VmFsaWRhdGlvbi1pbmZvQm9yZGVyKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLm1vbmFjby1lZGl0b3Itb3ZlcmxheW1lc3NhZ2U6bm90KC5iZWxvdykgLmFuY2hvci50b3AsXG4ubW9uYWNvLWVkaXRvciAubW9uYWNvLWVkaXRvci1vdmVybGF5bWVzc2FnZS5iZWxvdyAuYW5jaG9yLmJlbG93IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLm1vbmFjby1lZGl0b3Itb3ZlcmxheW1lc3NhZ2UuYmVsb3cgLmFuY2hvci50b3Age1xuXHRkaXNwbGF5OiBpbmhlcml0O1xuXHR0b3A6IC04cHg7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5wb3N0LWVkaXQtd2lkZ2V0IHtcblx0Ym94LXNoYWRvdzogMCAwIDhweCAycHggdmFyKC0tdnNjb2RlLXdpZGdldC1zaGFkb3cpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS12c2NvZGUtd2lkZ2V0LWJvcmRlciwgdHJhbnNwYXJlbnQpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JXaWRnZXQtYmFja2dyb3VuZCk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wb3N0LWVkaXQtd2lkZ2V0IC5tb25hY28tYnV0dG9uIHtcblx0cGFkZGluZzogMnB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5wb3N0LWVkaXQtd2lkZ2V0IC5tb25hY28tYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLWJ1dHRvbi1zZWNvbmRhcnlIb3ZlckJhY2tncm91bmQpICFpbXBvcnRhbnQ7XG59XG5cbi5wb3N0LWVkaXQtd2lkZ2V0IC5tb25hY28tYnV0dG9uIC5jb2RpY29uIHtcblx0bWFyZ2luOiAwO1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6IFwiY29kaWNvblwiO1xuXHRmb250LWRpc3BsYXk6IGJsb2NrO1xuXHRzcmM6IHVybCguL2NvZGljb24udHRmKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cblxuLmNvZGljb25bY2xhc3MqPSdjb2RpY29uLSddIHtcblx0Zm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTZweC8xIGNvZGljb247XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LXJlbmRlcmluZzogYXV0bztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vKiBpY29uIHJ1bGVzIGFyZSBkeW5hbWljYWxseSBjcmVhdGVkIGJ5IHRoZSBwbGF0Zm9ybSB0aGVtZSBzZXJ2aWNlIChzZWUgaWNvbnNTdHlsZVNoZWV0LnRzKSAqL1xuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uY29kaWNvbi13cmVuY2gtc3ViYWN0aW9uIHtcblx0b3BhY2l0eTogMC41O1xufVxuXG5Aa2V5ZnJhbWVzIGNvZGljb24tc3BpbiB7XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTtcblx0fVxufVxuXG4uY29kaWNvbi1zeW5jLmNvZGljb24tbW9kaWZpZXItc3Bpbixcbi5jb2RpY29uLWxvYWRpbmcuY29kaWNvbi1tb2RpZmllci1zcGluLFxuLmNvZGljb24tZ2Vhci5jb2RpY29uLW1vZGlmaWVyLXNwaW4sXG4uY29kaWNvbi1ub3RlYm9vay1zdGF0ZS1leGVjdXRpbmcuY29kaWNvbi1tb2RpZmllci1zcGluIHtcblx0LyogVXNlIHN0ZXBzIHRvIHRocm90dGxlIEZQUyB0byByZWR1Y2UgQ1BVIHVzYWdlICovXG5cdGFuaW1hdGlvbjogY29kaWNvbi1zcGluIDEuNXMgc3RlcHMoMzApIGluZmluaXRlO1xufVxuXG4uY29kaWNvbi1tb2RpZmllci1kaXNhYmxlZCB7XG5cdG9wYWNpdHk6IDAuNDtcbn1cblxuLyogY3VzdG9tIHNwZWVkICYgZWFzaW5nIGZvciBsb2FkaW5nIGljb24gKi9cbi5jb2RpY29uLWxvYWRpbmcsXG4uY29kaWNvbi10cmVlLWl0ZW0tbG9hZGluZzo6YmVmb3JlIHtcblx0YW5pbWF0aW9uLWR1cmF0aW9uOiAxcyAhaW1wb3J0YW50O1xuXHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41MywgMC4yMSwgMC4yOSwgMC42NykgIWltcG9ydGFudDtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1lZGl0b3IgLmNvZGljb24uY29kaWNvbi1zeW1ib2wtYXJyYXksXG4ubW9uYWNvLXdvcmtiZW5jaCAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC1hcnJheSB7IGNvbG9yOiB2YXIoLS12c2NvZGUtc3ltYm9sSWNvbi1hcnJheUZvcmVncm91bmQpOyB9XG4ubW9uYWNvLWVkaXRvciAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC1ib29sZWFuLFxuLm1vbmFjby13b3JrYmVuY2ggLmNvZGljb24uY29kaWNvbi1zeW1ib2wtYm9vbGVhbiB7IGNvbG9yOiB2YXIoLS12c2NvZGUtc3ltYm9sSWNvbi1ib29sZWFuRm9yZWdyb3VuZCk7IH1cbi5tb25hY28tZWRpdG9yIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLWNsYXNzLFxuLm1vbmFjby13b3JrYmVuY2ggLmNvZGljb24uY29kaWNvbi1zeW1ib2wtY2xhc3MgeyBjb2xvcjogdmFyKC0tdnNjb2RlLXN5bWJvbEljb24tY2xhc3NGb3JlZ3JvdW5kKTsgfVxuLm1vbmFjby1lZGl0b3IgLmNvZGljb24uY29kaWNvbi1zeW1ib2wtbWV0aG9kLFxuLm1vbmFjby13b3JrYmVuY2ggLmNvZGljb24uY29kaWNvbi1zeW1ib2wtbWV0aG9kIHsgY29sb3I6IHZhcigtLXZzY29kZS1zeW1ib2xJY29uLW1ldGhvZEZvcmVncm91bmQpOyB9XG4ubW9uYWNvLWVkaXRvciAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC1jb2xvcixcbi5tb25hY28td29ya2JlbmNoIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLWNvbG9yIHsgY29sb3I6IHZhcigtLXZzY29kZS1zeW1ib2xJY29uLWNvbG9yRm9yZWdyb3VuZCk7IH1cbi5tb25hY28tZWRpdG9yIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLWNvbnN0YW50LFxuLm1vbmFjby13b3JrYmVuY2ggLmNvZGljb24uY29kaWNvbi1zeW1ib2wtY29uc3RhbnQgeyBjb2xvcjogdmFyKC0tdnNjb2RlLXN5bWJvbEljb24tY29uc3RhbnRGb3JlZ3JvdW5kKTsgfVxuLm1vbmFjby1lZGl0b3IgLmNvZGljb24uY29kaWNvbi1zeW1ib2wtY29uc3RydWN0b3IsXG4ubW9uYWNvLXdvcmtiZW5jaCAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC1jb25zdHJ1Y3RvciB7IGNvbG9yOiB2YXIoLS12c2NvZGUtc3ltYm9sSWNvbi1jb25zdHJ1Y3RvckZvcmVncm91bmQpOyB9XG4ubW9uYWNvLWVkaXRvciAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC12YWx1ZSxcbi5tb25hY28td29ya2JlbmNoIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLXZhbHVlLFxuLm1vbmFjby1lZGl0b3IgLmNvZGljb24uY29kaWNvbi1zeW1ib2wtZW51bSxcbi5tb25hY28td29ya2JlbmNoIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLWVudW0geyBjb2xvcjogdmFyKC0tdnNjb2RlLXN5bWJvbEljb24tZW51bWVyYXRvckZvcmVncm91bmQpOyB9XG4ubW9uYWNvLWVkaXRvciAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC1lbnVtLW1lbWJlcixcbi5tb25hY28td29ya2JlbmNoIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLWVudW0tbWVtYmVyIHsgY29sb3I6IHZhcigtLXZzY29kZS1zeW1ib2xJY29uLWVudW1lcmF0b3JNZW1iZXJGb3JlZ3JvdW5kKTsgfVxuLm1vbmFjby1lZGl0b3IgLmNvZGljb24uY29kaWNvbi1zeW1ib2wtZXZlbnQsXG4ubW9uYWNvLXdvcmtiZW5jaCAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC1ldmVudCB7IGNvbG9yOiB2YXIoLS12c2NvZGUtc3ltYm9sSWNvbi1ldmVudEZvcmVncm91bmQpOyB9XG4ubW9uYWNvLWVkaXRvciAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC1maWVsZCxcbi5tb25hY28td29ya2JlbmNoIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLWZpZWxkIHsgY29sb3I6IHZhcigtLXZzY29kZS1zeW1ib2xJY29uLWZpZWxkRm9yZWdyb3VuZCk7IH1cbi5tb25hY28tZWRpdG9yIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLWZpbGUsXG4ubW9uYWNvLXdvcmtiZW5jaCAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC1maWxlIHsgY29sb3I6IHZhcigtLXZzY29kZS1zeW1ib2xJY29uLWZpbGVGb3JlZ3JvdW5kKTsgfVxuLm1vbmFjby1lZGl0b3IgLmNvZGljb24uY29kaWNvbi1zeW1ib2wtZm9sZGVyLFxuLm1vbmFjby13b3JrYmVuY2ggLmNvZGljb24uY29kaWNvbi1zeW1ib2wtZm9sZGVyIHsgY29sb3I6IHZhcigtLXZzY29kZS1zeW1ib2xJY29uLWZvbGRlckZvcmVncm91bmQpOyB9XG4ubW9uYWNvLWVkaXRvciAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC1mdW5jdGlvbixcbi5tb25hY28td29ya2JlbmNoIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLWZ1bmN0aW9uIHsgY29sb3I6IHZhcigtLXZzY29kZS1zeW1ib2xJY29uLWZ1bmN0aW9uRm9yZWdyb3VuZCk7IH1cbi5tb25hY28tZWRpdG9yIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLWludGVyZmFjZSxcbi5tb25hY28td29ya2JlbmNoIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLWludGVyZmFjZSB7IGNvbG9yOiB2YXIoLS12c2NvZGUtc3ltYm9sSWNvbi1pbnRlcmZhY2VGb3JlZ3JvdW5kKTsgfVxuLm1vbmFjby1lZGl0b3IgLmNvZGljb24uY29kaWNvbi1zeW1ib2wta2V5LFxuLm1vbmFjby13b3JrYmVuY2ggLmNvZGljb24uY29kaWNvbi1zeW1ib2wta2V5IHsgY29sb3I6IHZhcigtLXZzY29kZS1zeW1ib2xJY29uLWtleUZvcmVncm91bmQpOyB9XG4ubW9uYWNvLWVkaXRvciAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC1rZXl3b3JkLFxuLm1vbmFjby13b3JrYmVuY2ggLmNvZGljb24uY29kaWNvbi1zeW1ib2wta2V5d29yZCB7IGNvbG9yOiB2YXIoLS12c2NvZGUtc3ltYm9sSWNvbi1rZXl3b3JkRm9yZWdyb3VuZCk7IH1cbi5tb25hY28tZWRpdG9yIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLW1vZHVsZSxcbi5tb25hY28td29ya2JlbmNoIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLW1vZHVsZSB7IGNvbG9yOiB2YXIoLS12c2NvZGUtc3ltYm9sSWNvbi1tb2R1bGVGb3JlZ3JvdW5kKTsgfVxuLm1vbmFjby1lZGl0b3IgLmNvZGljb24uY29kaWNvbi1zeW1ib2wtbmFtZXNwYWNlLFxuLm1vbmFjby13b3JrYmVuY2ggLmNvZGljb24uY29kaWNvbi1zeW1ib2wtbmFtZXNwYWNlIHsgY29sb3I6IHZhcigtLXZzY29kZS1zeW1ib2xJY29uLW5hbWVzcGFjZUZvcmVncm91bmQpOyB9XG4ubW9uYWNvLWVkaXRvciAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC1udWxsLFxuLm1vbmFjby13b3JrYmVuY2ggLmNvZGljb24uY29kaWNvbi1zeW1ib2wtbnVsbCB7IGNvbG9yOiB2YXIoLS12c2NvZGUtc3ltYm9sSWNvbi1udWxsRm9yZWdyb3VuZCk7IH1cbi5tb25hY28tZWRpdG9yIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLW51bWJlcixcbi5tb25hY28td29ya2JlbmNoIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLW51bWJlciB7IGNvbG9yOiB2YXIoLS12c2NvZGUtc3ltYm9sSWNvbi1udW1iZXJGb3JlZ3JvdW5kKTsgfVxuLm1vbmFjby1lZGl0b3IgLmNvZGljb24uY29kaWNvbi1zeW1ib2wtb2JqZWN0LFxuLm1vbmFjby13b3JrYmVuY2ggLmNvZGljb24uY29kaWNvbi1zeW1ib2wtb2JqZWN0IHsgY29sb3I6IHZhcigtLXZzY29kZS1zeW1ib2xJY29uLW9iamVjdEZvcmVncm91bmQpOyB9XG4ubW9uYWNvLWVkaXRvciAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC1vcGVyYXRvcixcbi5tb25hY28td29ya2JlbmNoIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLW9wZXJhdG9yIHsgY29sb3I6IHZhcigtLXZzY29kZS1zeW1ib2xJY29uLW9wZXJhdG9yRm9yZWdyb3VuZCk7IH1cbi5tb25hY28tZWRpdG9yIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLXBhY2thZ2UsXG4ubW9uYWNvLXdvcmtiZW5jaCAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC1wYWNrYWdlIHsgY29sb3I6IHZhcigtLXZzY29kZS1zeW1ib2xJY29uLXBhY2thZ2VGb3JlZ3JvdW5kKTsgfVxuLm1vbmFjby1lZGl0b3IgLmNvZGljb24uY29kaWNvbi1zeW1ib2wtcHJvcGVydHksXG4ubW9uYWNvLXdvcmtiZW5jaCAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC1wcm9wZXJ0eSB7IGNvbG9yOiB2YXIoLS12c2NvZGUtc3ltYm9sSWNvbi1wcm9wZXJ0eUZvcmVncm91bmQpOyB9XG4ubW9uYWNvLWVkaXRvciAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC1yZWZlcmVuY2UsXG4ubW9uYWNvLXdvcmtiZW5jaCAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC1yZWZlcmVuY2UgeyBjb2xvcjogdmFyKC0tdnNjb2RlLXN5bWJvbEljb24tcmVmZXJlbmNlRm9yZWdyb3VuZCk7IH1cbi5tb25hY28tZWRpdG9yIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLXNuaXBwZXQsXG4ubW9uYWNvLXdvcmtiZW5jaCAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC1zbmlwcGV0IHsgY29sb3I6IHZhcigtLXZzY29kZS1zeW1ib2xJY29uLXNuaXBwZXRGb3JlZ3JvdW5kKTsgfVxuLm1vbmFjby1lZGl0b3IgLmNvZGljb24uY29kaWNvbi1zeW1ib2wtc3RyaW5nLFxuLm1vbmFjby13b3JrYmVuY2ggLmNvZGljb24uY29kaWNvbi1zeW1ib2wtc3RyaW5nIHsgY29sb3I6IHZhcigtLXZzY29kZS1zeW1ib2xJY29uLXN0cmluZ0ZvcmVncm91bmQpOyB9XG4ubW9uYWNvLWVkaXRvciAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC1zdHJ1Y3QsXG4ubW9uYWNvLXdvcmtiZW5jaCAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC1zdHJ1Y3QgeyBjb2xvcjogdmFyKC0tdnNjb2RlLXN5bWJvbEljb24tc3RydWN0Rm9yZWdyb3VuZCk7IH1cbi5tb25hY28tZWRpdG9yIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLXRleHQsXG4ubW9uYWNvLXdvcmtiZW5jaCAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC10ZXh0IHsgY29sb3I6IHZhcigtLXZzY29kZS1zeW1ib2xJY29uLXRleHRGb3JlZ3JvdW5kKTsgfVxuLm1vbmFjby1lZGl0b3IgLmNvZGljb24uY29kaWNvbi1zeW1ib2wtdHlwZS1wYXJhbWV0ZXIsXG4ubW9uYWNvLXdvcmtiZW5jaCAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC10eXBlLXBhcmFtZXRlciB7IGNvbG9yOiB2YXIoLS12c2NvZGUtc3ltYm9sSWNvbi10eXBlUGFyYW1ldGVyRm9yZWdyb3VuZCk7IH1cbi5tb25hY28tZWRpdG9yIC5jb2RpY29uLmNvZGljb24tc3ltYm9sLXVuaXQsXG4ubW9uYWNvLXdvcmtiZW5jaCAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC11bml0IHsgY29sb3I6IHZhcigtLXZzY29kZS1zeW1ib2xJY29uLXVuaXRGb3JlZ3JvdW5kKTsgfVxuLm1vbmFjby1lZGl0b3IgLmNvZGljb24uY29kaWNvbi1zeW1ib2wtdmFyaWFibGUsXG4ubW9uYWNvLXdvcmtiZW5jaCAuY29kaWNvbi5jb2RpY29uLXN5bWJvbC12YXJpYWJsZSB7IGNvbG9yOiB2YXIoLS12c2NvZGUtc3ltYm9sSWNvbi12YXJpYWJsZUZvcmVncm91bmQpOyB9XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5tb25hY28tZWRpdG9yIC5saWdodEJ1bGJXaWRnZXQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmxpZ2h0QnVsYldpZGdldDpob3Zlcntcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubW9uYWNvLWVkaXRvciAubGlnaHRCdWxiV2lkZ2V0LmNvZGljb24tbGlnaHQtYnVsYixcbi5tb25hY28tZWRpdG9yIC5saWdodEJ1bGJXaWRnZXQuY29kaWNvbi1saWdodGJ1bGItc3BhcmtsZSB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yTGlnaHRCdWxiLWZvcmVncm91bmQpO1xufVxuXG4ubW9uYWNvLWVkaXRvciAubGlnaHRCdWxiV2lkZ2V0LmNvZGljb24tbGlnaHRidWxiLWF1dG9maXgsXG4ubW9uYWNvLWVkaXRvciAubGlnaHRCdWxiV2lkZ2V0LmNvZGljb24tbGlnaHRidWxiLXNwYXJrbGUtYXV0b2ZpeCB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yTGlnaHRCdWxiQXV0b0ZpeC1mb3JlZ3JvdW5kLCB2YXIoLS12c2NvZGUtZWRpdG9yTGlnaHRCdWxiLWZvcmVncm91bmQpKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmxpZ2h0QnVsYldpZGdldC5jb2RpY29uLXNwYXJrbGUtZmlsbGVkIHtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JMaWdodEJ1bGJBaS1mb3JlZ3JvdW5kLCB2YXIoLS12c2NvZGUtaWNvbi1mb3JlZ3JvdW5kKSk7XG59XG5cbi5tb25hY28tZWRpdG9yIC5saWdodEJ1bGJXaWRnZXQ6YmVmb3JlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xufVxuXG4ubW9uYWNvLWVkaXRvciAubGlnaHRCdWxiV2lkZ2V0OmFmdGVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGNvbnRlbnQ6ICcnO1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b3BhY2l0eTogMC4zO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yLWJhY2tncm91bmQpO1xuXHR6LWluZGV4OiAxO1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uYWN0aW9uLXdpZGdldCB7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0bWluLXdpZHRoOiAxNjBweDtcblx0bWF4LXdpZHRoOiA4MHZ3O1xuXHR6LWluZGV4OiA0MDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS12c2NvZGUtZWRpdG9yV2lkZ2V0LWJvcmRlcikgIWltcG9ydGFudDtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yV2lkZ2V0LWJhY2tncm91bmQpO1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvcldpZGdldC1mb3JlZ3JvdW5kKTtcbn1cblxuLmNvbnRleHQtdmlldy1ibG9jayB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0Y3Vyc29yOiBpbml0aWFsO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHotaW5kZXg6IC0xO1xufVxuXG4uY29udGV4dC12aWV3LXBvaW50ZXJCbG9jayB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0Y3Vyc29yOiBpbml0aWFsO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHotaW5kZXg6IDI7XG59XG5cbi5hY3Rpb24td2lkZ2V0IC5tb25hY28tbGlzdCB7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0Ym9yZGVyLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5hY3Rpb24td2lkZ2V0IC5tb25hY28tbGlzdDpmb2N1czpiZWZvcmUge1xuXHRvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5hY3Rpb24td2lkZ2V0IC5tb25hY28tbGlzdCAubW9uYWNvLXNjcm9sbGFibGUtZWxlbWVudCB7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKiogU3R5bGVzIGZvciBlYWNoIHJvdyBpbiB0aGUgbGlzdCBlbGVtZW50ICoqL1xuLmFjdGlvbi13aWRnZXQgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cge1xuXHRwYWRkaW5nOiAwIDEwcHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dG91Y2gtYWN0aW9uOiBub25lO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmFjdGlvbi13aWRnZXQgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cuYWN0aW9uLmZvY3VzZWQ6bm90KC5vcHRpb24tZGlzYWJsZWQpIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLXF1aWNrSW5wdXRMaXN0LWZvY3VzQmFja2dyb3VuZCkgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1xdWlja0lucHV0TGlzdC1mb2N1c0ZvcmVncm91bmQpO1xuXHRvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tdnNjb2RlLW1lbnUtc2VsZWN0aW9uQm9yZGVyLCB0cmFuc3BhcmVudCk7XG5cdG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xufVxuXG4uYWN0aW9uLXdpZGdldCAubW9uYWNvLWxpc3Qtcm93Lmdyb3VwLWhlYWRlciB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZGVzY3JpcHRpb25Gb3JlZ3JvdW5kKSAhaW1wb3J0YW50O1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4uYWN0aW9uLXdpZGdldCAubW9uYWNvLWxpc3QgLmdyb3VwLWhlYWRlcixcbi5hY3Rpb24td2lkZ2V0IC5tb25hY28tbGlzdCAub3B0aW9uLWRpc2FibGVkLFxuLmFjdGlvbi13aWRnZXQgLm1vbmFjby1saXN0IC5vcHRpb24tZGlzYWJsZWQ6YmVmb3JlLFxuLmFjdGlvbi13aWRnZXQgLm1vbmFjby1saXN0IC5vcHRpb24tZGlzYWJsZWQgLmZvY3VzZWQsXG4uYWN0aW9uLXdpZGdldCAubW9uYWNvLWxpc3QgLm9wdGlvbi1kaXNhYmxlZCAuZm9jdXNlZDpiZWZvcmUge1xuXHRjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcblx0LXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0b3V0bGluZTogMCBzb2xpZCAhaW1wb3J0YW50O1xufVxuXG4uYWN0aW9uLXdpZGdldCAubW9uYWNvLWxpc3Qtcm93LmFjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogNnB4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYWN0aW9uLXdpZGdldCAubW9uYWNvLWxpc3Qtcm93LmFjdGlvbi5vcHRpb24tZGlzYWJsZWQsXG4uYWN0aW9uLXdpZGdldCAubW9uYWNvLWxpc3Q6Zm9jdXMgLm1vbmFjby1saXN0LXJvdy5mb2N1c2VkLmFjdGlvbi5vcHRpb24tZGlzYWJsZWQsXG4uYWN0aW9uLXdpZGdldCAubW9uYWNvLWxpc3Qtcm93LmFjdGlvbi5vcHRpb24tZGlzYWJsZWQgLmNvZGljb24sXG4uYWN0aW9uLXdpZGdldCAubW9uYWNvLWxpc3Q6bm90KC5kcm9wLXRhcmdldCk6bm90KC5kcmFnZ2luZykgLm1vbmFjby1saXN0LXJvdzpob3Zlcjpub3QoLnNlbGVjdGVkKTpub3QoLmZvY3VzZWQpLm9wdGlvbi1kaXNhYmxlZCB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZGlzYWJsZWRGb3JlZ3JvdW5kKTtcbn1cblxuXG4uYWN0aW9uLXdpZGdldCAubW9uYWNvLWxpc3Qtcm93LmFjdGlvbjpub3QoLm9wdGlvbi1kaXNhYmxlZCkgLmNvZGljb24ge1xuXHRjb2xvcjogaW5oZXJpdDtcbn1cblxuLmFjdGlvbi13aWRnZXQgLm1vbmFjby1saXN0LXJvdy5hY3Rpb24gLnRpdGxlIHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5hY3Rpb24td2lkZ2V0IC5tb25hY28tbGlzdC1yb3cuYWN0aW9uIC5tb25hY28ta2V5YmluZGluZyA+IC5tb25hY28ta2V5YmluZGluZy1rZXkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1rZXliaW5kaW5nTGFiZWwtYmFja2dyb3VuZCk7XG5cdFx0Y29sb3I6IHZhcigtLXZzY29kZS1rZXliaW5kaW5nTGFiZWwtZm9yZWdyb3VuZCk7XG5cdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRib3JkZXItd2lkdGg6IDFweDtcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS12c2NvZGUta2V5YmluZGluZ0xhYmVsLWJvcmRlcik7XG5cdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tdnNjb2RlLWtleWJpbmRpbmdMYWJlbC1ib3R0b21Cb3JkZXIpO1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHZhcigtLXZzY29kZS13aWRnZXQtc2hhZG93KTtcbn1cblxuLyogQWN0aW9uIGJhciAqL1xuXG4uYWN0aW9uLXdpZGdldCAuYWN0aW9uLXdpZGdldC1hY3Rpb24tYmFyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvckhvdmVyV2lkZ2V0LXN0YXR1c0JhckJhY2tncm91bmQpO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdnNjb2RlLWVkaXRvckhvdmVyV2lkZ2V0LWJvcmRlcik7XG59XG5cbi5hY3Rpb24td2lkZ2V0IC5hY3Rpb24td2lkZ2V0LWFjdGlvbi1iYXI6OmJlZm9yZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjb250ZW50OiBcIlwiO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmFjdGlvbi13aWRnZXQgLmFjdGlvbi13aWRnZXQtYWN0aW9uLWJhciAuYWN0aW9ucy1jb250YWluZXIge1xuXHRwYWRkaW5nOiAwIDhweDtcbn1cblxuLmFjdGlvbi13aWRnZXQtYWN0aW9uLWJhciAuYWN0aW9uLWxhYmVsIHtcblx0Y29sb3I6IHZhcigtLXZzY29kZS10ZXh0TGluay1hY3RpdmVGb3JlZ3JvdW5kKTtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRsaW5lLWhlaWdodDogMjJweDtcblx0cGFkZGluZzogMDtcblx0cG9pbnRlci1ldmVudHM6IGFsbDtcbn1cblxuLmFjdGlvbi13aWRnZXQtYWN0aW9uLWJhciAuYWN0aW9uLWl0ZW0ge1xuXHRtYXJnaW4tcmlnaHQ6IDE2cHg7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uYWN0aW9uLXdpZGdldC1hY3Rpb24tYmFyIC5hY3Rpb24tbGFiZWw6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4ubW9uYWNvLWFjdGlvbi1iYXIgLmFjdGlvbnMtY29udGFpbmVyLmhpZ2hsaWdodC10b2dnbGVkIC5hY3Rpb24tbGFiZWwuY2hlY2tlZCB7XG5cdC8qIFRoZSBpbXBvcnRhbnQgZ2l2ZXMgdGhpcyBydWxlIHByZWNlZGVuY2Ugb3ZlciB0aGUgaG92ZXIgcnVsZS4gKi9cblx0YmFja2dyb3VuZDogdmFyKC0tdnNjb2RlLWFjdGlvbkJhci10b2dnbGVkQmFja2dyb3VuZCkgIWltcG9ydGFudDtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1lZGl0b3IgLmNvZGVsZW5zLWRlY29yYXRpb24ge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvckNvZGVMZW5zLWZvcmVncm91bmQpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tdnNjb2RlLWVkaXRvckNvZGVMZW5zLWxpbmVIZWlnaHQpO1xuXHRmb250LXNpemU6IHZhcigtLXZzY29kZS1lZGl0b3JDb2RlTGVucy1mb250U2l6ZSk7XG5cdHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tdnNjb2RlLWVkaXRvckNvZGVMZW5zLWZvbnRTaXplKSowLjUpO1xuXHRmb250LWZlYXR1cmUtc2V0dGluZ3M6IHZhcigtLXZzY29kZS1lZGl0b3JDb2RlTGVucy1mb250RmVhdHVyZVNldHRpbmdzKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLXZzY29kZS1lZGl0b3JDb2RlTGVucy1mb250RmFtaWx5KSwgdmFyKC0tdnNjb2RlLWVkaXRvckNvZGVMZW5zLWZvbnRGYW1pbHlEZWZhdWx0KTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmNvZGVsZW5zLWRlY29yYXRpb24gPiBzcGFuLFxuLm1vbmFjby1lZGl0b3IgLmNvZGVsZW5zLWRlY29yYXRpb24gPiBhIHtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHZlcnRpY2FsLWFsaWduOiBzdWI7XG59XG5cbi5tb25hY28tZWRpdG9yIC5jb2RlbGVucy1kZWNvcmF0aW9uID4gYSB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmNvZGVsZW5zLWRlY29yYXRpb24gPiBhOmhvdmVyIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvckxpbmstYWN0aXZlRm9yZWdyb3VuZCkgIWltcG9ydGFudDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmNvZGVsZW5zLWRlY29yYXRpb24gPiBhOmhvdmVyIC5jb2RpY29uIHtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JMaW5rLWFjdGl2ZUZvcmVncm91bmQpICFpbXBvcnRhbnQ7XG59XG5cbi5tb25hY28tZWRpdG9yIC5jb2RlbGVucy1kZWNvcmF0aW9uIC5jb2RpY29uIHtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0Y29sb3I6IGN1cnJlbnRDb2xvciAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvckNvZGVMZW5zLWZvcmVncm91bmQpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tdnNjb2RlLWVkaXRvckNvZGVMZW5zLWxpbmVIZWlnaHQpO1xuXHRmb250LXNpemU6IHZhcigtLXZzY29kZS1lZGl0b3JDb2RlTGVucy1mb250U2l6ZSk7XG59XG5cbi5tb25hY28tZWRpdG9yIC5jb2RlbGVucy1kZWNvcmF0aW9uID4gYTpob3ZlciAuY29kaWNvbjo6YmVmb3JlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVpbiB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdH1cblxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbi5tb25hY28tZWRpdG9yIC5jb2RlbGVucy1kZWNvcmF0aW9uLmZhZGVpbiB7XG5cdGFuaW1hdGlvbjogZmFkZWluIDAuMXMgbGluZWFyO1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uY29sb3JwaWNrZXItd2lkZ2V0IHtcblx0aGVpZ2h0OiAxOTBweDtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8qIERlY29yYXRpb24gKi9cblxuLmNvbG9ycGlja2VyLWNvbG9yLWRlY29yYXRpb24sXG4uaGMtbGlnaHQgLmNvbG9ycGlja2VyLWNvbG9yLWRlY29yYXRpb24ge1xuXHRib3JkZXI6IHNvbGlkIDAuMWVtICMwMDA7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdG1hcmdpbjogMC4xZW0gMC4yZW0gMCAwLjJlbTtcblx0d2lkdGg6IDAuOGVtO1xuXHRoZWlnaHQ6IDAuOGVtO1xuXHRsaW5lLWhlaWdodDogMC44ZW07XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uaGMtYmxhY2sgLmNvbG9ycGlja2VyLWNvbG9yLWRlY29yYXRpb24sXG4udnMtZGFyayAuY29sb3JwaWNrZXItY29sb3ItZGVjb3JhdGlvbiB7XG5cdGJvcmRlcjogc29saWQgMC4xZW0gI2VlZTtcbn1cblxuLyogSGVhZGVyICovXG5cbi5jb2xvcnBpY2tlci1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBUUFBQUFFQ0FZQUFBQ3A4WjUrQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUFaZEVWWWRGTnZablIzWVhKbEFIQmhhVzUwTG01bGRDQTBMakF1TVRaRWFhLzFBQUFBSFVsRVFWUVlWMlBZdlh1M0pBaTd1TGlBTWFZQWpBR1RRQlBZTFFrQWEvMFplZjNxUnN3QUFBQUFTVVZPUks1Q1lJST1cIik7XG5cdGJhY2tncm91bmQtc2l6ZTogOXB4IDlweDtcblx0aW1hZ2UtcmVuZGVyaW5nOiBwaXhlbGF0ZWQ7XG59XG5cbi5jb2xvcnBpY2tlci1oZWFkZXIgLnBpY2tlZC1jb2xvciB7XG5cdHdpZHRoOiAyNDBweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB3aGl0ZTtcblx0ZmxleDogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNvbG9ycGlja2VyLWhlYWRlciAucGlja2VkLWNvbG9yIC5waWNrZWQtY29sb3ItcHJlc2VudGF0aW9uIHtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0bWFyZ2luLWxlZnQ6IDVweDtcblx0bWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi5jb2xvcnBpY2tlci1oZWFkZXIgLnBpY2tlZC1jb2xvciAuY29kaWNvbiB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5jb2xvcnBpY2tlci1oZWFkZXIgLnBpY2tlZC1jb2xvci5saWdodCB7XG5cdGNvbG9yOiBibGFjaztcbn1cblxuLmNvbG9ycGlja2VyLWhlYWRlciAub3JpZ2luYWwtY29sb3Ige1xuXHR3aWR0aDogNzRweDtcblx0ei1pbmRleDogaW5oZXJpdDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc3RhbmRhbG9uZS1jb2xvcnBpY2tlciB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9ySG92ZXJXaWRnZXQtZm9yZWdyb3VuZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JIb3ZlcldpZGdldC1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tdnNjb2RlLWVkaXRvckhvdmVyV2lkZ2V0LWJvcmRlcik7XG59XG5cbi5jb2xvcnBpY2tlci1oZWFkZXIuc3RhbmRhbG9uZS1jb2xvcnBpY2tlciB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5jb2xvcnBpY2tlci1oZWFkZXIgLmNsb3NlLWJ1dHRvbiB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvckhvdmVyV2lkZ2V0LWJhY2tncm91bmQpO1xuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLXZzY29kZS1lZGl0b3JIb3ZlcldpZGdldC1ib3JkZXIpO1xufVxuXG4uY29sb3JwaWNrZXItaGVhZGVyIC5jbG9zZS1idXR0b24taW5uZXItZGl2IHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY29sb3JwaWNrZXItaGVhZGVyIC5jbG9zZS1idXR0b24taW5uZXItZGl2OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLXRvb2xiYXItaG92ZXJCYWNrZ3JvdW5kKTtcbn1cblxuLmNvbG9ycGlja2VyLWhlYWRlciAuY2xvc2UtaWNvbiB7XG5cdHBhZGRpbmc6IDNweDtcbn1cblxuLyogQm9keSAqL1xuXG4uY29sb3JwaWNrZXItYm9keSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHBhZGRpbmc6IDhweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29sb3JwaWNrZXItYm9keSAuc2F0dXJhdGlvbi13cmFwIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0aGVpZ2h0OiAxNTBweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtaW4td2lkdGg6IDIyMHB4O1xuXHRmbGV4OiAxO1xufVxuXG4uY29sb3JwaWNrZXItYm9keSAuc2F0dXJhdGlvbi1ib3gge1xuXHRoZWlnaHQ6IDE1MHB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5jb2xvcnBpY2tlci1ib2R5IC5zYXR1cmF0aW9uLXNlbGVjdGlvbiB7XG5cdHdpZHRoOiA5cHg7XG5cdGhlaWdodDogOXB4O1xuXHRtYXJnaW46IC01cHggMCAwIC01cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHJnYigyNTUsIDI1NSwgMjU1KTtcblx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0Ym94LXNoYWRvdzogMHB4IDBweCAycHggcmdiYSgwLCAwLCAwLCAwLjgpO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5jb2xvcnBpY2tlci1ib2R5IC5zdHJpcCB7XG5cdHdpZHRoOiAyNXB4O1xuXHRoZWlnaHQ6IDE1MHB4O1xufVxuXG4uY29sb3JwaWNrZXItYm9keSAuc3RhbmRhbG9uZS1zdHJpcCB7XG5cdHdpZHRoOiAyNXB4O1xuXHRoZWlnaHQ6IDEyMnB4O1xufVxuXG4uY29sb3JwaWNrZXItYm9keSAuaHVlLXN0cmlwIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW4tbGVmdDogOHB4O1xuXHRjdXJzb3I6IGdyYWI7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZjAwMDAgMCUsICNmZmZmMDAgMTclLCAjMDBmZjAwIDMzJSwgIzAwZmZmZiA1MCUsICMwMDAwZmYgNjclLCAjZmYwMGZmIDgzJSwgI2ZmMDAwMCAxMDAlKTtcbn1cblxuLmNvbG9ycGlja2VyLWJvZHkgLm9wYWNpdHktc3RyaXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1sZWZ0OiA4cHg7XG5cdGN1cnNvcjogZ3JhYjtcblx0YmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBUUFBQUFFQ0FZQUFBQ3A4WjUrQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUFaZEVWWWRGTnZablIzWVhKbEFIQmhhVzUwTG01bGRDQTBMakF1TVRaRWFhLzFBQUFBSFVsRVFWUVlWMlBZdlh1M0pBaTd1TGlBTWFZQWpBR1RRQlBZTFFrQWEvMFplZjNxUnN3QUFBQUFTVVZPUks1Q1lJST1cIik7XG5cdGJhY2tncm91bmQtc2l6ZTogOXB4IDlweDtcblx0aW1hZ2UtcmVuZGVyaW5nOiBwaXhlbGF0ZWQ7XG59XG5cbi5jb2xvcnBpY2tlci1ib2R5IC5zdHJpcC5ncmFiYmluZyB7XG5cdGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi5jb2xvcnBpY2tlci1ib2R5IC5zbGlkZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogLTJweDtcblx0d2lkdGg6IGNhbGMoMTAwJSArIDRweCk7XG5cdGhlaWdodDogNHB4O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzEpO1xuXHRib3gtc2hhZG93OiAwcHggMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuXG4uY29sb3JwaWNrZXItYm9keSAuc3RyaXAgLm92ZXJsYXkge1xuXHRoZWlnaHQ6IDE1MHB4O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmNvbG9ycGlja2VyLWJvZHkgLnN0YW5kYWxvbmUtc3RyaXAgLnN0YW5kYWxvbmUtb3ZlcmxheSB7XG5cdGhlaWdodDogMTIycHg7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc3RhbmRhbG9uZS1jb2xvcnBpY2tlci1ib2R5IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdnNjb2RlLWVkaXRvckhvdmVyV2lkZ2V0LWJvcmRlcik7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jb2xvcnBpY2tlci1ib2R5IC5pbnNlcnQtYnV0dG9uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRoZWlnaHQ6IDIwcHg7XG5cdHdpZHRoOiA1OHB4O1xuXHRwYWRkaW5nOiAwcHg7XG5cdHJpZ2h0OiA4cHg7XG5cdGJvdHRvbTogOHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS12c2NvZGUtYnV0dG9uLWJhY2tncm91bmQpO1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLWJ1dHRvbi1mb3JlZ3JvdW5kKTtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNvbG9ycGlja2VyLWJvZHkgLmluc2VydC1idXR0b246aG92ZXJ7XG5cdGJhY2tncm91bmQ6IHZhcigtLXZzY29kZS1idXR0b24taG92ZXJCYWNrZ3JvdW5kKTtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1lZGl0b3IgLmlubGluZVN1Z2dlc3Rpb25zSGludHMud2l0aEJvcmRlciB7XG5cdHotaW5kZXg6IDM5O1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvckhvdmVyV2lkZ2V0LWZvcmVncm91bmQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9ySG92ZXJXaWRnZXQtYmFja2dyb3VuZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXZzY29kZS1lZGl0b3JIb3ZlcldpZGdldC1ib3JkZXIpO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuaW5saW5lU3VnZ2VzdGlvbnNIaW50cyBhIHtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1mb3JlZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmlubGluZVN1Z2dlc3Rpb25zSGludHMgYTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZm9yZWdyb3VuZCk7XG59XG5cbi5tb25hY28tZWRpdG9yIC5pbmxpbmVTdWdnZXN0aW9uc0hpbnRzIC5rZXliaW5kaW5nIHtcblx0ZGlzcGxheTogZmxleDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0b3BhY2l0eTogMC42O1xufVxuXG4ubW9uYWNvLWVkaXRvciAuaW5saW5lU3VnZ2VzdGlvbnNIaW50cyAua2V5YmluZGluZyAubW9uYWNvLWtleWJpbmRpbmcta2V5IHtcblx0Zm9udC1zaXplOiA4cHg7XG5cdHBhZGRpbmc6IDJweCAzcHg7XG59XG5cbi5tb25hY28tZWRpdG9yIC5pbmxpbmVTdWdnZXN0aW9uc0hpbnRzIC5hdmFpbGFibGVTdWdnZXN0aW9uQ291bnQgYSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdG1pbi13aWR0aDogMTlweDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5tb25hY28tZWRpdG9yIC5pbmxpbmVTdWdnZXN0aW9uU3RhdHVzQmFySXRlbUxhYmVsIHtcblx0bWFyZ2luLXJpZ2h0OiAycHg7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5tb25hY28tZWRpdG9yIC5wZWVrdmlldy13aWRnZXQgLmhlYWQge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4ubW9uYWNvLWVkaXRvciAucGVla3ZpZXctd2lkZ2V0IC5oZWFkIC5wZWVrdmlldy10aXRsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRtYXJnaW4tbGVmdDogMjBweDtcblx0bWluLXdpZHRoOiAwO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnBlZWt2aWV3LXdpZGdldCAuaGVhZCAucGVla3ZpZXctdGl0bGUuY2xpY2thYmxlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubW9uYWNvLWVkaXRvciAucGVla3ZpZXctd2lkZ2V0IC5oZWFkIC5wZWVrdmlldy10aXRsZSAuZGlybmFtZTpub3QoOmVtcHR5KSB7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdG1hcmdpbi1sZWZ0OiAwLjVlbTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnBlZWt2aWV3LXdpZGdldCAuaGVhZCAucGVla3ZpZXctdGl0bGUgLm1ldGEge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLm1vbmFjby1lZGl0b3IgLnBlZWt2aWV3LXdpZGdldCAuaGVhZCAucGVla3ZpZXctdGl0bGUgLmRpcm5hbWUge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnBlZWt2aWV3LXdpZGdldCAuaGVhZCAucGVla3ZpZXctdGl0bGUgLmZpbGVuYW1lIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5tb25hY28tZWRpdG9yIC5wZWVrdmlldy13aWRnZXQgLmhlYWQgLnBlZWt2aWV3LXRpdGxlIC5tZXRhOm5vdCg6ZW1wdHkpOjpiZWZvcmUge1xuXHRjb250ZW50OiAnLSc7XG5cdHBhZGRpbmc6IDAgMC4zZW07XG59XG5cbi5tb25hY28tZWRpdG9yIC5wZWVrdmlldy13aWRnZXQgLmhlYWQgLnBlZWt2aWV3LWFjdGlvbnMge1xuXHRmbGV4OiAxO1xuXHR0ZXh0LWFsaWduOiByaWdodDtcblx0cGFkZGluZy1yaWdodDogMnB4O1xufVxuXG4ubW9uYWNvLWVkaXRvciAucGVla3ZpZXctd2lkZ2V0IC5oZWFkIC5wZWVrdmlldy1hY3Rpb25zID4gLm1vbmFjby1hY3Rpb24tYmFyIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubW9uYWNvLWVkaXRvciAucGVla3ZpZXctd2lkZ2V0IC5oZWFkIC5wZWVrdmlldy1hY3Rpb25zID4gLm1vbmFjby1hY3Rpb24tYmFyLFxuLm1vbmFjby1lZGl0b3IgLnBlZWt2aWV3LXdpZGdldCAuaGVhZCAucGVla3ZpZXctYWN0aW9ucyA+IC5tb25hY28tYWN0aW9uLWJhciA+IC5hY3Rpb25zLWNvbnRhaW5lciB7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnBlZWt2aWV3LXdpZGdldCA+IC5ib2R5IHtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5tb25hY28tZWRpdG9yIC5wZWVrdmlldy13aWRnZXQgLmhlYWQgLnBlZWt2aWV3LXRpdGxlIC5jb2RpY29uIHtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnBlZWt2aWV3LXdpZGdldCAubW9uYWNvLWxpc3QgLm1vbmFjby1saXN0LXJvdy5mb2N1c2VkIC5jb2RpY29uIHtcblx0Y29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5tb25hY28tZWRpdG9yIC56b25lLXdpZGdldCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogMTA7XG59XG5cblxuLm1vbmFjby1lZGl0b3IgLnpvbmUtd2lkZ2V0IC56b25lLXdpZGdldC1jb250YWluZXIge1xuXHRib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG5cdGJvcmRlci10b3Atd2lkdGg6IDA7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogLS0gem9uZSB3aWRnZXQgKi9cbi5tb25hY28tZWRpdG9yIC56b25lLXdpZGdldCAuem9uZS13aWRnZXQtY29udGFpbmVyLnJlZmVyZW5jZS16b25lLXdpZGdldCB7XG5cdGJvcmRlci10b3Atd2lkdGg6IDFweDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xufVxuXG4ubW9uYWNvLWVkaXRvciAucmVmZXJlbmNlLXpvbmUtd2lkZ2V0IC5pbmxpbmUge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5tb25hY28tZWRpdG9yIC5yZWZlcmVuY2Utem9uZS13aWRnZXQgLm1lc3NhZ2VzIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAzZW0gMDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnJlZmVyZW5jZS16b25lLXdpZGdldCAucmVmLXRyZWUge1xuXHRsaW5lLWhlaWdodDogMjNweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLXBlZWtWaWV3UmVzdWx0LWJhY2tncm91bmQpO1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLXBlZWtWaWV3UmVzdWx0LWxpbmVGb3JlZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnJlZmVyZW5jZS16b25lLXdpZGdldCAucmVmLXRyZWUgLnJlZmVyZW5jZSB7XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubW9uYWNvLWVkaXRvciAucmVmZXJlbmNlLXpvbmUtd2lkZ2V0IC5yZWYtdHJlZSAucmVmZXJlbmNlLWZpbGUge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1wZWVrVmlld1Jlc3VsdC1maWxlRm9yZWdyb3VuZCk7XG59XG5cbi5tb25hY28tZWRpdG9yIC5yZWZlcmVuY2Utem9uZS13aWRnZXQgLnJlZi10cmVlIC5tb25hY28tbGlzdDpmb2N1cyAuc2VsZWN0ZWQgLnJlZmVyZW5jZS1maWxlIHtcblx0Y29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnJlZmVyZW5jZS16b25lLXdpZGdldCAucmVmLXRyZWUgLm1vbmFjby1saXN0OmZvY3VzIC5tb25hY28tbGlzdC1yb3dzID4gLm1vbmFjby1saXN0LXJvdy5zZWxlY3RlZDpub3QoLmhpZ2hsaWdodGVkKSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1wZWVrVmlld1Jlc3VsdC1zZWxlY3Rpb25CYWNrZ3JvdW5kKTtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1wZWVrVmlld1Jlc3VsdC1zZWxlY3Rpb25Gb3JlZ3JvdW5kKSAhaW1wb3J0YW50O1xufVxuXG4ubW9uYWNvLWVkaXRvciAucmVmZXJlbmNlLXpvbmUtd2lkZ2V0IC5yZWYtdHJlZSAucmVmZXJlbmNlLWZpbGUgLmNvdW50IHtcblx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xuXHRtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLm1vbmFjby1lZGl0b3IgLnJlZmVyZW5jZS16b25lLXdpZGdldCAucmVmLXRyZWUgLnJlZmVyZW5jZU1hdGNoIC5oaWdobGlnaHQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtcGVla1ZpZXdSZXN1bHQtbWF0Y2hIaWdobGlnaHRCYWNrZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnJlZmVyZW5jZS16b25lLXdpZGdldCAucHJldmlldyAucmVmZXJlbmNlLWRlY29yYXRpb24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtcGVla1ZpZXdFZGl0b3ItbWF0Y2hIaWdobGlnaHRCYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tdnNjb2RlLXBlZWtWaWV3RWRpdG9yLW1hdGNoSGlnaGxpZ2h0Qm9yZGVyKTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnJlZmVyZW5jZS16b25lLXdpZGdldCAucHJldmlldyAubW9uYWNvLWVkaXRvciAubW9uYWNvLWVkaXRvci1iYWNrZ3JvdW5kLFxuLm1vbmFjby1lZGl0b3IgLnJlZmVyZW5jZS16b25lLXdpZGdldCAucHJldmlldyAubW9uYWNvLWVkaXRvciAuaW5wdXRhcmVhLmltZS1pbnB1dCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1wZWVrVmlld0VkaXRvci1iYWNrZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnJlZmVyZW5jZS16b25lLXdpZGdldCAucHJldmlldyAubW9uYWNvLWVkaXRvciAubWFyZ2luIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLXBlZWtWaWV3RWRpdG9yR3V0dGVyLWJhY2tncm91bmQpO1xufVxuXG4vKiBIaWdoIENvbnRyYXN0IFRoZW1pbmcgKi9cblxuLm1vbmFjby1lZGl0b3IuaGMtYmxhY2sgLnJlZmVyZW5jZS16b25lLXdpZGdldCAucmVmLXRyZWUgLnJlZmVyZW5jZS1maWxlLFxuLm1vbmFjby1lZGl0b3IuaGMtbGlnaHQgLnJlZmVyZW5jZS16b25lLXdpZGdldCAucmVmLXRyZWUgLnJlZmVyZW5jZS1maWxlIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5tb25hY28tZWRpdG9yLmhjLWJsYWNrIC5yZWZlcmVuY2Utem9uZS13aWRnZXQgLnJlZi10cmVlIC5yZWZlcmVuY2VNYXRjaCAuaGlnaGxpZ2h0LFxuLm1vbmFjby1lZGl0b3IuaGMtbGlnaHQgLnJlZmVyZW5jZS16b25lLXdpZGdldCAucmVmLXRyZWUgLnJlZmVyZW5jZU1hdGNoIC5oaWdobGlnaHQge1xuXHRib3JkZXI6IDFweCBkb3R0ZWQgdmFyKC0tdnNjb2RlLWNvbnRyYXN0QWN0aXZlQm9yZGVyLCB0cmFuc3BhcmVudCk7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5tb25hY28tZWRpdG9yIC5ob3ZlckhpZ2hsaWdodCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3ItaG92ZXJIaWdobGlnaHRCYWNrZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLm1vbmFjby1ob3Zlci1jb250ZW50IHtcblx0cGFkZGluZy1yaWdodDogMnB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMnB4O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubW9uYWNvLWVkaXRvciAubW9uYWNvLWhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JIb3ZlcldpZGdldC1mb3JlZ3JvdW5kKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvckhvdmVyV2lkZ2V0LWJhY2tncm91bmQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS12c2NvZGUtZWRpdG9ySG92ZXJXaWRnZXQtYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4ubW9uYWNvLWVkaXRvciAubW9uYWNvLWhvdmVyIGEge1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLXRleHRMaW5rLWZvcmVncm91bmQpO1xufVxuXG4ubW9uYWNvLWVkaXRvciAubW9uYWNvLWhvdmVyIGE6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLXRleHRMaW5rLWFjdGl2ZUZvcmVncm91bmQpO1xufVxuXG4ubW9uYWNvLWVkaXRvciAubW9uYWNvLWhvdmVyIC5ob3Zlci1yb3cge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4ubW9uYWNvLWVkaXRvciAubW9uYWNvLWhvdmVyIC5ob3Zlci1yb3cgLmhvdmVyLXJvdy1jb250ZW50cyB7XG5cdG1pbi13aWR0aDowO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ubW9uYWNvLWVkaXRvciAubW9uYWNvLWhvdmVyIC5ob3Zlci1yb3cgLnZlcmJvc2l0eS1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZy1sZWZ0OiA1cHg7XG5cdHBhZGRpbmctcmlnaHQ6IDVweDtcblx0anVzdGlmeS1jb250ZW50OiBlbmQ7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXZzY29kZS1lZGl0b3JIb3ZlcldpZGdldC1ib3JkZXIpO1xufVxuXG4ubW9uYWNvLWVkaXRvciAubW9uYWNvLWhvdmVyIC5ob3Zlci1yb3cgLnZlcmJvc2l0eS1hY3Rpb25zIC5jb2RpY29uIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDExcHg7XG59XG5cbi5tb25hY28tZWRpdG9yIC5tb25hY28taG92ZXIgLmhvdmVyLXJvdyAudmVyYm9zaXR5LWFjdGlvbnMgLmNvZGljb24uZW5hYmxlZCB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtdGV4dExpbmstZm9yZWdyb3VuZCk7XG59XG5cbi5tb25hY28tZWRpdG9yIC5tb25hY28taG92ZXIgLmhvdmVyLXJvdyAudmVyYm9zaXR5LWFjdGlvbnMgLmNvZGljb24uZGlzYWJsZWQge1xuXHRvcGFjaXR5OiAwLjY7XG59XG5cbi5tb25hY28tZWRpdG9yIC5tb25hY28taG92ZXIgLmhvdmVyLXJvdyAuYWN0aW9ucyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JIb3ZlcldpZGdldC1zdGF0dXNCYXJCYWNrZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLm1vbmFjby1ob3ZlciBjb2RlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLXRleHRDb2RlQmxvY2stYmFja2dyb3VuZCk7XG59XG5cblxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ubW9uYWNvLWVkaXRvci52cyAuZG5kLXRhcmdldCxcbi5tb25hY28tZWRpdG9yLmhjLWxpZ2h0IC5kbmQtdGFyZ2V0IHtcblx0Ym9yZGVyLXJpZ2h0OiAycHggZG90dGVkIGJsYWNrO1xuXHRjb2xvcjogd2hpdGU7IC8qIG9wcG9zaXRlIG9mIGJsYWNrICovXG59XG4ubW9uYWNvLWVkaXRvci52cy1kYXJrIC5kbmQtdGFyZ2V0IHtcblx0Ym9yZGVyLXJpZ2h0OiAycHggZG90dGVkICNBRUFGQUQ7XG5cdGNvbG9yOiAjNTE1MDRmOyAvKiBvcHBvc2l0ZSBvZiAjQUVBRkFEICovXG59XG4ubW9uYWNvLWVkaXRvci5oYy1ibGFjayAuZG5kLXRhcmdldCB7XG5cdGJvcmRlci1yaWdodDogMnB4IGRvdHRlZCAjZmZmO1xuXHRjb2xvcjogIzAwMDsgLyogb3Bwb3NpdGUgb2YgI2ZmZiAqL1xufVxuXG4ubW9uYWNvLWVkaXRvci5tb3VzZS1kZWZhdWx0IC52aWV3LWxpbmVzLFxuLm1vbmFjby1lZGl0b3IudnMtZGFyay5tYWMubW91c2UtZGVmYXVsdCAudmlldy1saW5lcyxcbi5tb25hY28tZWRpdG9yLmhjLWJsYWNrLm1hYy5tb3VzZS1kZWZhdWx0IC52aWV3LWxpbmVzLFxuLm1vbmFjby1lZGl0b3IuaGMtbGlnaHQubWFjLm1vdXNlLWRlZmF1bHQgLnZpZXctbGluZXMge1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG59XG4ubW9uYWNvLWVkaXRvci5tb3VzZS1jb3B5IC52aWV3LWxpbmVzLFxuLm1vbmFjby1lZGl0b3IudnMtZGFyay5tYWMubW91c2UtY29weSAudmlldy1saW5lcyxcbi5tb25hY28tZWRpdG9yLmhjLWJsYWNrLm1hYy5tb3VzZS1jb3B5IC52aWV3LWxpbmVzLFxuLm1vbmFjby1lZGl0b3IuaGMtbGlnaHQubWFjLm1vdXNlLWNvcHkgLnZpZXctbGluZXMge1xuXHRjdXJzb3I6IGNvcHk7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5tb25hY28tZWRpdG9yIC5maW5kT3B0aW9uc1dpZGdldCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JXaWRnZXQtYmFja2dyb3VuZCk7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yV2lkZ2V0LWZvcmVncm91bmQpO1xuXHRib3gtc2hhZG93OiAwIDAgOHB4IDJweCB2YXIoLS12c2NvZGUtd2lkZ2V0LXNoYWRvdyk7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXZzY29kZS1jb250cmFzdEJvcmRlcik7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEZpbmQgd2lkZ2V0ICovXG4ubW9uYWNvLWVkaXRvciAuZmluZC13aWRnZXQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDM1O1xuXHRoZWlnaHQ6IDMzcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGxpbmUtaGVpZ2h0OiAxOXB4O1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgbGluZWFyO1xuXHRwYWRkaW5nOiAwIDRweDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTEwMCUgLSAxMHB4KSk7IC8qIHNoYWRvdyAoMTBweCkgKi9cblx0Ym94LXNoYWRvdzogMCAwIDhweCAycHggdmFyKC0tdnNjb2RlLXdpZGdldC1zaGFkb3cpO1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvcldpZGdldC1mb3JlZ3JvdW5kKTtcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS12c2NvZGUtd2lkZ2V0LWJvcmRlcik7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXZzY29kZS13aWRnZXQtYm9yZGVyKTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXZzY29kZS13aWRnZXQtYm9yZGVyKTtcblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yV2lkZ2V0LWJhY2tncm91bmQpO1xufVxuXG4ubW9uYWNvLXdvcmtiZW5jaC5yZWR1Y2UtbW90aW9uIC5tb25hY28tZWRpdG9yIC5maW5kLXdpZGdldCB7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwbXMgbGluZWFyO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuZmluZC13aWRnZXQgdGV4dGFyZWEge1xuXHRtYXJnaW46IDBweDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmZpbmQtd2lkZ2V0LmhpZGRlbkVkaXRvciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEZpbmQgd2lkZ2V0IHdoZW4gcmVwbGFjZSBpcyB0b2dnbGVkIG9uICovXG4ubW9uYWNvLWVkaXRvciAuZmluZC13aWRnZXQucmVwbGFjZVRvZ2dsZWQgPiAucmVwbGFjZS1wYXJ0IHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmZpbmQtd2lkZ2V0LnZpc2libGUgIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4vKiBUaGlzIG91dGxpbmUtY29sb3IgcnVsZSBpcyB1c2VkIHRvIG92ZXJyaWRlIHRoZSBvdXRsaW5lIGNvbG9yIGZvciBzeW50aGV0aWMtZm9jdXMgZmluZCBpbnB1dC4gKi9cbi5tb25hY28tZWRpdG9yIC5maW5kLXdpZGdldCAubW9uYWNvLWlucHV0Ym94LnN5bnRoZXRpYy1mb2N1cyB7XG5cdG91dGxpbmU6IDFweCBzb2xpZCAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG5cdG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuXHRvdXRsaW5lLWNvbG9yOiB2YXIoLS12c2NvZGUtZm9jdXNCb3JkZXIpO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuZmluZC13aWRnZXQgLm1vbmFjby1pbnB1dGJveCAuaW5wdXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0bWluLWhlaWdodDogMDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmZpbmQtd2lkZ2V0IC5tb25hY28tZmluZElucHV0IC5pbnB1dCB7XG5cdGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmZpbmQtd2lkZ2V0ID4gLmZpbmQtcGFydCxcbi5tb25hY28tZWRpdG9yIC5maW5kLXdpZGdldCA+IC5yZXBsYWNlLXBhcnQge1xuXHRtYXJnaW46IDNweCAyNXB4IDAgMTdweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4ubW9uYWNvLWVkaXRvciAuZmluZC13aWRnZXQgPiAuZmluZC1wYXJ0IC5tb25hY28taW5wdXRib3gsXG4ubW9uYWNvLWVkaXRvciAuZmluZC13aWRnZXQgPiAucmVwbGFjZS1wYXJ0IC5tb25hY28taW5wdXRib3gge1xuXHRtaW4taGVpZ2h0OiAyNXB4O1xufVxuXG5cbi5tb25hY28tZWRpdG9yIC5maW5kLXdpZGdldCA+IC5yZXBsYWNlLXBhcnQgLm1vbmFjby1pbnB1dGJveCA+IC5pYndyYXBwZXIgPiAubWlycm9yIHtcblx0cGFkZGluZy1yaWdodDogMjJweDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmZpbmQtd2lkZ2V0ID4gLmZpbmQtcGFydCAubW9uYWNvLWlucHV0Ym94ID4gLmlid3JhcHBlciA+IC5pbnB1dCxcbi5tb25hY28tZWRpdG9yIC5maW5kLXdpZGdldCA+IC5maW5kLXBhcnQgLm1vbmFjby1pbnB1dGJveCA+IC5pYndyYXBwZXIgPiAubWlycm9yLFxuLm1vbmFjby1lZGl0b3IgLmZpbmQtd2lkZ2V0ID4gLnJlcGxhY2UtcGFydCAubW9uYWNvLWlucHV0Ym94ID4gLmlid3JhcHBlciA+IC5pbnB1dCxcbi5tb25hY28tZWRpdG9yIC5maW5kLXdpZGdldCA+IC5yZXBsYWNlLXBhcnQgLm1vbmFjby1pbnB1dGJveCA+IC5pYndyYXBwZXIgPiAubWlycm9yIHtcblx0cGFkZGluZy10b3A6IDJweDtcblx0cGFkZGluZy1ib3R0b206IDJweDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmZpbmQtd2lkZ2V0ID4gLmZpbmQtcGFydCAuZmluZC1hY3Rpb25zIHtcblx0aGVpZ2h0OiAyNXB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuZmluZC13aWRnZXQgPiAucmVwbGFjZS1wYXJ0IC5yZXBsYWNlLWFjdGlvbnMge1xuXHRoZWlnaHQ6IDI1cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tb25hY28tZWRpdG9yIC5maW5kLXdpZGdldCAubW9uYWNvLWZpbmRJbnB1dCB7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXg6MTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmZpbmQtd2lkZ2V0IC5tb25hY28tZmluZElucHV0IC5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50IHtcblx0LyogTWFrZSBzdXJlIHRleHRhcmVhIGluaGVyaXRzIHRoZSB3aWR0aCBjb3JyZWN0bHkgKi9cblx0d2lkdGg6IDEwMCU7XG59XG5cbi5tb25hY28tZWRpdG9yIC5maW5kLXdpZGdldCAubW9uYWNvLWZpbmRJbnB1dCAubW9uYWNvLXNjcm9sbGFibGUtZWxlbWVudCAuc2Nyb2xsYmFyLnZlcnRpY2FsIHtcblx0LyogSGlkZSB2ZXJ0aWNhbCBzY3JvbGxiYXIgKi9cblx0b3BhY2l0eTogMDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmZpbmQtd2lkZ2V0IC5tYXRjaGVzQ291bnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4OiBpbml0aWFsO1xuXHRtYXJnaW46IDAgMCAwIDNweDtcblx0cGFkZGluZzogMnB4IDAgMCAycHg7XG5cdGhlaWdodDogMjVweDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRsaW5lLWhlaWdodDogMjNweDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmZpbmQtd2lkZ2V0IC5idXR0b24ge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRwYWRkaW5nOiAzcHg7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleDogaW5pdGlhbDtcblx0bWFyZ2luLWxlZnQ6IDNweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogZmluZCBpbiBzZWxlY3Rpb24gYnV0dG9uICovXG4ubW9uYWNvLWVkaXRvciAuZmluZC13aWRnZXQgLmNvZGljb24tZmluZC1zZWxlY3Rpb24ge1xuXHR3aWR0aDogMjJweDtcblx0aGVpZ2h0OiAyMnB4O1xuXHRwYWRkaW5nOiAzcHg7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmZpbmQtd2lkZ2V0IC5idXR0b24ubGVmdCB7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRtYXJnaW4tcmlnaHQ6IDNweDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmZpbmQtd2lkZ2V0IC5idXR0b24ud2lkZSB7XG5cdHdpZHRoOiBhdXRvO1xuXHRwYWRkaW5nOiAxcHggNnB4O1xuXHR0b3A6IC0xcHg7XG59XG5cbi5tb25hY28tZWRpdG9yIC5maW5kLXdpZGdldCAuYnV0dG9uLnRvZ2dsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAzcHg7XG5cdHdpZHRoOiAxOHB4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5tb25hY28tZWRpdG9yIC5maW5kLXdpZGdldCAuYnV0dG9uLnRvZ2dsZS5kaXNhYmxlZCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tb25hY28tZWRpdG9yIC5maW5kLXdpZGdldCAuZGlzYWJsZWQge1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLWRpc2FibGVkRm9yZWdyb3VuZCk7XG5cdGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmZpbmQtd2lkZ2V0ID4gLnJlcGxhY2UtcGFydCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tb25hY28tZWRpdG9yIC5maW5kLXdpZGdldCA+IC5yZXBsYWNlLXBhcnQgPiAubW9uYWNvLWZpbmRJbnB1dCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0ZmxleDogYXV0bztcblx0ZmxleC1ncm93OiAwO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmZpbmQtd2lkZ2V0ID4gLnJlcGxhY2UtcGFydCA+IC5tb25hY28tZmluZElucHV0ID4gLmNvbnRyb2xzIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDNweDtcblx0cmlnaHQ6IDJweDtcbn1cblxuLyogUkVEVUNFRCAqL1xuLm1vbmFjby1lZGl0b3IgLmZpbmQtd2lkZ2V0LnJlZHVjZWQtZmluZC13aWRnZXQgLm1hdGNoZXNDb3VudCB7XG5cdGRpc3BsYXk6bm9uZTtcbn1cblxuLyogTkFSUk9XIChTTUFMTEVSIFRIQU4gUkVEVUNFRCkgKi9cbi5tb25hY28tZWRpdG9yIC5maW5kLXdpZGdldC5uYXJyb3ctZmluZC13aWRnZXQge1xuXHRtYXgtd2lkdGg6IDI1N3B4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIENPTExBUFNFRCAoU01BTExFUiBUSEFOIE5BUlJPVykgKi9cbi5tb25hY28tZWRpdG9yIC5maW5kLXdpZGdldC5jb2xsYXBzZWQtZmluZC13aWRnZXQge1xuXHRtYXgtd2lkdGg6IDE3MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tb25hY28tZWRpdG9yIC5maW5kLXdpZGdldC5jb2xsYXBzZWQtZmluZC13aWRnZXQgLmJ1dHRvbi5wcmV2aW91cyxcbi5tb25hY28tZWRpdG9yIC5maW5kLXdpZGdldC5jb2xsYXBzZWQtZmluZC13aWRnZXQgLmJ1dHRvbi5uZXh0LFxuLm1vbmFjby1lZGl0b3IgLmZpbmQtd2lkZ2V0LmNvbGxhcHNlZC1maW5kLXdpZGdldCAuYnV0dG9uLnJlcGxhY2UsXG4ubW9uYWNvLWVkaXRvciAuZmluZC13aWRnZXQuY29sbGFwc2VkLWZpbmQtd2lkZ2V0IC5idXR0b24ucmVwbGFjZS1hbGwsXG4ubW9uYWNvLWVkaXRvciAuZmluZC13aWRnZXQuY29sbGFwc2VkLWZpbmQtd2lkZ2V0ID4gLmZpbmQtcGFydCAubW9uYWNvLWZpbmRJbnB1dCAuY29udHJvbHMge1xuXHRkaXNwbGF5Om5vbmU7XG59XG5cbi5tb25hY28tZWRpdG9yIC5maW5kLXdpZGdldC5uby1yZXN1bHRzIC5tYXRjaGVzQ291bnQge1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLWVycm9yRm9yZWdyb3VuZCk7XG59XG5cbi5tb25hY28tZWRpdG9yIC5maW5kTWF0Y2gge1xuXHRhbmltYXRpb24tZHVyYXRpb246IDA7XG5cdGFuaW1hdGlvbi1uYW1lOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3ItZmluZE1hdGNoSGlnaGxpZ2h0QmFja2dyb3VuZCk7XG59XG5cbi5tb25hY28tZWRpdG9yIC5jdXJyZW50RmluZE1hdGNoIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvci1maW5kTWF0Y2hCYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tdnNjb2RlLWVkaXRvci1maW5kTWF0Y2hCb3JkZXIpO1xuXHRwYWRkaW5nOiAxcHg7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5tb25hY28tZWRpdG9yIC5maW5kU2NvcGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yLWZpbmRSYW5nZUhpZ2hsaWdodEJhY2tncm91bmQpO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuZmluZC13aWRnZXQgLm1vbmFjby1zYXNoIHtcblx0bGVmdDogMCAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yV2lkZ2V0LXJlc2l6ZUJvcmRlciwgdmFyKC0tdnNjb2RlLWVkaXRvcldpZGdldC1ib3JkZXIpKTtcbn1cblxuLm1vbmFjby1lZGl0b3IuaGMtYmxhY2sgLmZpbmQtd2lkZ2V0IC5idXR0b246YmVmb3JlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0b3A6IDFweDtcblx0bGVmdDogMnB4O1xufVxuXG4vKiBBY3Rpb24gYmFycyAqL1xuLm1vbmFjby1lZGl0b3IgLmZpbmQtd2lkZ2V0IC5idXR0b246bm90KC5kaXNhYmxlZCk6aG92ZXIsXG4ubW9uYWNvLWVkaXRvciAuZmluZC13aWRnZXQgLmNvZGljb24tZmluZC1zZWxlY3Rpb246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtdG9vbGJhci1ob3ZlckJhY2tncm91bmQpICFpbXBvcnRhbnQ7XG59XG5cbi5tb25hY28tZWRpdG9yLmZpbmRNYXRjaCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3ItZmluZE1hdGNoSGlnaGxpZ2h0QmFja2dyb3VuZCk7XG59XG5cbi5tb25hY28tZWRpdG9yLmN1cnJlbnRGaW5kTWF0Y2gge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yLWZpbmRNYXRjaEJhY2tncm91bmQpO1xufVxuXG4ubW9uYWNvLWVkaXRvci5maW5kU2NvcGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yLWZpbmRSYW5nZUhpZ2hsaWdodEJhY2tncm91bmQpO1xufVxuXG4ubW9uYWNvLWVkaXRvci5maW5kTWF0Y2gge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yV2lkZ2V0LWJhY2tncm91bmQpO1xufVxuXG4vKiBDbG9zZSBidXR0b24gcG9zaXRpb24uICovXG4ubW9uYWNvLWVkaXRvciAuZmluZC13aWRnZXQgPiAuYnV0dG9uLmNvZGljb24td2lkZ2V0LWNsb3NlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDVweDtcblx0cmlnaHQ6IDRweDtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5tb25hY28tZWRpdG9yIC5tYXJnaW4tdmlldy1vdmVybGF5cyAuY29kaWNvbi1mb2xkaW5nLW1hbnVhbC1jb2xsYXBzZWQsXG4ubW9uYWNvLWVkaXRvciAubWFyZ2luLXZpZXctb3ZlcmxheXMgLmNvZGljb24tZm9sZGluZy1tYW51YWwtZXhwYW5kZWQsXG4ubW9uYWNvLWVkaXRvciAubWFyZ2luLXZpZXctb3ZlcmxheXMgLmNvZGljb24tZm9sZGluZy1leHBhbmRlZCxcbi5tb25hY28tZWRpdG9yIC5tYXJnaW4tdmlldy1vdmVybGF5cyAuY29kaWNvbi1mb2xkaW5nLWNvbGxhcHNlZCB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Zm9udC1zaXplOiAxNDAlO1xuXHRtYXJnaW4tbGVmdDogMnB4O1xufVxuXG4ubW9uYWNvLXdvcmtiZW5jaC5yZWR1Y2UtbW90aW9uIC5tb25hY28tZWRpdG9yIC5tYXJnaW4tdmlldy1vdmVybGF5cyAuY29kaWNvbi1mb2xkaW5nLW1hbnVhbC1jb2xsYXBzZWQsXG4ubW9uYWNvLXdvcmtiZW5jaC5yZWR1Y2UtbW90aW9uIC5tb25hY28tZWRpdG9yIC5tYXJnaW4tdmlldy1vdmVybGF5cyAuY29kaWNvbi1mb2xkaW5nLW1hbnVhbC1leHBhbmRlZCxcbi5tb25hY28td29ya2JlbmNoLnJlZHVjZS1tb3Rpb24gLm1vbmFjby1lZGl0b3IgLm1hcmdpbi12aWV3LW92ZXJsYXlzIC5jb2RpY29uLWZvbGRpbmctZXhwYW5kZWQsXG4ubW9uYWNvLXdvcmtiZW5jaC5yZWR1Y2UtbW90aW9uIC5tb25hY28tZWRpdG9yIC5tYXJnaW4tdmlldy1vdmVybGF5cyAuY29kaWNvbi1mb2xkaW5nLWNvbGxhcHNlZCB7XG5cdHRyYW5zaXRpb246IGluaXRpYWw7XG59XG5cbi5tb25hY28tZWRpdG9yIC5tYXJnaW4tdmlldy1vdmVybGF5czpob3ZlciAuY29kaWNvbixcbi5tb25hY28tZWRpdG9yIC5tYXJnaW4tdmlldy1vdmVybGF5cyAuY29kaWNvbi5jb2RpY29uLWZvbGRpbmctY29sbGFwc2VkLFxuLm1vbmFjby1lZGl0b3IgLm1hcmdpbi12aWV3LW92ZXJsYXlzIC5jb2RpY29uLmNvZGljb24tZm9sZGluZy1tYW51YWwtY29sbGFwc2VkLFxuLm1vbmFjby1lZGl0b3IgLm1hcmdpbi12aWV3LW92ZXJsYXlzIC5jb2RpY29uLmFsd2F5c1Nob3dGb2xkSWNvbnMge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuaW5saW5lLWZvbGRlZDphZnRlciB7XG5cdGNvbG9yOiBncmV5O1xuXHRtYXJnaW46IDAuMWVtIDAuMmVtIDAgMC4yZW07XG5cdGNvbnRlbnQ6IFwiXFwyMkVGXCI7IC8qIGVsbGlwc2VzIHVuaWNvZGUgY2hhcmFjdGVyICovXG5cdGRpc3BsYXk6IGlubGluZTtcblx0bGluZS1oZWlnaHQ6IDFlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuZm9sZGVkLWJhY2tncm91bmQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yLWZvbGRCYWNrZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmNsZHIuY29kaWNvbi5jb2RpY29uLWZvbGRpbmctZXhwYW5kZWQsXG4ubW9uYWNvLWVkaXRvciAuY2xkci5jb2RpY29uLmNvZGljb24tZm9sZGluZy1jb2xsYXBzZWQsXG4ubW9uYWNvLWVkaXRvciAuY2xkci5jb2RpY29uLmNvZGljb24tZm9sZGluZy1tYW51YWwtZXhwYW5kZWQsXG4ubW9uYWNvLWVkaXRvciAuY2xkci5jb2RpY29uLmNvZGljb24tZm9sZGluZy1tYW51YWwtY29sbGFwc2VkIHtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JHdXR0ZXItZm9sZGluZ0NvbnRyb2xGb3JlZ3JvdW5kKSAhaW1wb3J0YW50O1xufVxuXG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LXByZXZpZXctYWRkaXRpb25hbC13aWRnZXQge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC1wcmV2aWV3LWFkZGl0aW9uYWwtd2lkZ2V0IC5jb250ZW50LXNwYWNlciB7XG5cdGNvbG9yOiB0cmFuc3BhcmVudDtcblx0d2hpdGUtc3BhY2U6IHByZTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3QtcHJldmlldy1hZGRpdGlvbmFsLXdpZGdldCAuYnV0dG9uIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR0ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogdW5kZXI7XG59XG5cbi5tb25hY28tZWRpdG9yIC5naG9zdC10ZXh0LWhpZGRlbiB7XG5cdG9wYWNpdHk6IDA7XG5cdGZvbnQtc2l6ZTogMDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmdob3N0LXRleHQtZGVjb3JhdGlvbiwgLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3QtcHJldmlldy10ZXh0IC5naG9zdC10ZXh0IHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuaW5saW5lLWNvbXBsZXRpb24tdGV4dC10by1yZXBsYWNlIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uOiB1bmRlcjtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmdob3N0LXRleHQtZGVjb3JhdGlvbixcbi5tb25hY28tZWRpdG9yIC5naG9zdC10ZXh0LWRlY29yYXRpb24tcHJldmlldyxcbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LXByZXZpZXctdGV4dCAuZ2hvc3QtdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yR2hvc3RUZXh0LWZvcmVncm91bmQpICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JHaG9zdFRleHQtYmFja2dyb3VuZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXZzY29kZS1lZGl0b3JHaG9zdFRleHQtYm9yZGVyKTtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1lZGl0b3IgLnNuaXBwZXQtcGxhY2Vob2xkZXIge1xuXHRtaW4td2lkdGg6IDJweDtcblx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdG91dGxpbmUtd2lkdGg6IDFweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvci1zbmlwcGV0VGFic3RvcEhpZ2hsaWdodEJhY2tncm91bmQsIHRyYW5zcGFyZW50KTtcblx0b3V0bGluZS1jb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvci1zbmlwcGV0VGFic3RvcEhpZ2hsaWdodEJvcmRlciwgdHJhbnNwYXJlbnQpO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuZmluaXNoLXNuaXBwZXQtcGxhY2Vob2xkZXIge1xuXHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0b3V0bGluZS13aWR0aDogMXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yLXNuaXBwZXRGaW5hbFRhYnN0b3BIaWdobGlnaHRCYWNrZ3JvdW5kLCB0cmFuc3BhcmVudCk7XG5cdG91dGxpbmUtY29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3Itc25pcHBldEZpbmFsVGFic3RvcEhpZ2hsaWdodEJvcmRlciwgdHJhbnNwYXJlbnQpO1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBTdWdnZXN0IHdpZGdldCovXG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LXdpZGdldCB7XG5cdHdpZHRoOiA0MzBweDtcblx0ei1pbmRleDogNDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0Lm1lc3NhZ2Uge1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQsXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC1kZXRhaWxzIHtcblx0ZmxleDogMCAxIGF1dG87XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItd2lkdGg6IDFweDtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yU3VnZ2VzdFdpZGdldC1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yU3VnZ2VzdFdpZGdldC1iYWNrZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IuaGMtYmxhY2sgLnN1Z2dlc3Qtd2lkZ2V0LFxuLm1vbmFjby1lZGl0b3IuaGMtYmxhY2sgLnN1Z2dlc3QtZGV0YWlscyxcbi5tb25hY28tZWRpdG9yLmhjLWxpZ2h0IC5zdWdnZXN0LXdpZGdldCxcbi5tb25hY28tZWRpdG9yLmhjLWxpZ2h0IC5zdWdnZXN0LWRldGFpbHMge1xuXHRib3JkZXItd2lkdGg6IDJweDtcbn1cblxuLyogU3R5bGVzIGZvciBzdGF0dXMgYmFyIHBhcnQgKi9cblxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQgLnN1Z2dlc3Qtc3RhdHVzLWJhciB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHR3aWR0aDogMTAwJTtcblx0Zm9udC1zaXplOiA4MCU7XG5cdHBhZGRpbmc6IDAgNHB4IDAgNHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdnNjb2RlLWVkaXRvclN1Z2dlc3RXaWRnZXQtYm9yZGVyKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0LndpdGgtc3RhdHVzLWJhciAuc3VnZ2VzdC1zdGF0dXMtYmFyIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0IC5zdWdnZXN0LXN0YXR1cy1iYXIgLmxlZnQge1xuXHRwYWRkaW5nLXJpZ2h0OiA4cHg7XG59XG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LXdpZGdldC53aXRoLXN0YXR1cy1iYXIgLnN1Z2dlc3Qtc3RhdHVzLWJhciAuYWN0aW9uLWxhYmVsIHtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JTdWdnZXN0V2lkZ2V0U3RhdHVzLWZvcmVncm91bmQpO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQud2l0aC1zdGF0dXMtYmFyIC5zdWdnZXN0LXN0YXR1cy1iYXIgLmFjdGlvbi1pdGVtOm5vdCg6bGFzdC1vZi10eXBlKSAuYWN0aW9uLWxhYmVsIHtcblx0bWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQud2l0aC1zdGF0dXMtYmFyIC5zdWdnZXN0LXN0YXR1cy1iYXIgLmFjdGlvbi1pdGVtOm5vdCg6bGFzdC1vZi10eXBlKSAuYWN0aW9uLWxhYmVsOjphZnRlciB7XG5cdGNvbnRlbnQ6ICcsICc7XG5cdG1hcmdpbi1yaWdodDogMC4zZW07XG59XG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LXdpZGdldC53aXRoLXN0YXR1cy1iYXIgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cgPiAuY29udGVudHMgPiAubWFpbiA+IC5yaWdodCA+IC5yZWFkTW9yZSxcbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LXdpZGdldC53aXRoLXN0YXR1cy1iYXIgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cuZm9jdXNlZC5zdHJpbmctbGFiZWwgPiAuY29udGVudHMgPiAubWFpbiA+IC5yaWdodCA+IC5yZWFkTW9yZSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LXdpZGdldC53aXRoLXN0YXR1cy1iYXI6bm90KC5kb2NzLXNpZGUpIC5tb25hY28tbGlzdCAubW9uYWNvLWxpc3Qtcm93OmhvdmVyID4gLmNvbnRlbnRzID4gLm1haW4gPiAucmlnaHQuY2FuLWV4cGFuZC1kZXRhaWxzID4gLmRldGFpbHMtbGFiZWwge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogU3R5bGVzIGZvciBNZXNzYWdlIGVsZW1lbnQgZm9yIHdoZW4gd2lkZ2V0IGlzIGxvYWRpbmcgb3IgaXMgZW1wdHkgKi9cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0ID4gLm1lc3NhZ2Uge1xuXHRwYWRkaW5nLWxlZnQ6IDIycHg7XG59XG5cbi8qKiBTdHlsZXMgZm9yIHRoZSBsaXN0IGVsZW1lbnQgKiovXG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LXdpZGdldCA+IC50cmVlIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0IC5tb25hY28tbGlzdCB7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vKiogU3R5bGVzIGZvciBlYWNoIHJvdyBpbiB0aGUgbGlzdCBlbGVtZW50ICoqL1xuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHQtbW94LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdHBhZGRpbmctcmlnaHQ6IDEwcHg7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDJweCAycHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cuZm9jdXNlZCB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yU3VnZ2VzdFdpZGdldC1zZWxlY3RlZEZvcmVncm91bmQpO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cuZm9jdXNlZCAuY29kaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yU3VnZ2VzdFdpZGdldC1zZWxlY3RlZEljb25Gb3JlZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0IC5tb25hY28tbGlzdCAubW9uYWNvLWxpc3Qtcm93ID4gLmNvbnRlbnRzIHtcblx0ZmxleDogMTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nLWxlZnQ6IDJweDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0IC5tb25hY28tbGlzdCAubW9uYWNvLWxpc3Qtcm93ID4gLmNvbnRlbnRzID4gLm1haW4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IHByZTtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cgPiAuY29udGVudHMgPiAubWFpbiA+IC5sZWZ0LFxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0IC5tb25hY28tbGlzdCAubW9uYWNvLWxpc3Qtcm93ID4gLmNvbnRlbnRzID4gLm1haW4gPiAucmlnaHQge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3c6bm90KC5mb2N1c2VkKSA+IC5jb250ZW50cyA+IC5tYWluIC5tb25hY28taWNvbi1sYWJlbCB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yU3VnZ2VzdFdpZGdldC1mb3JlZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0Om5vdCguZnJvemVuKSAubW9uYWNvLWhpZ2hsaWdodGVkLWxhYmVsIC5oaWdobGlnaHQge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0IC5tb25hY28tbGlzdCAubW9uYWNvLWxpc3Qtcm93ID4gLmNvbnRlbnRzID4gLm1haW4gLm1vbmFjby1oaWdobGlnaHRlZC1sYWJlbCAuaGlnaGxpZ2h0IHtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JTdWdnZXN0V2lkZ2V0LWhpZ2hsaWdodEZvcmVncm91bmQpO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cuZm9jdXNlZCA+IC5jb250ZW50cyA+IC5tYWluIC5tb25hY28taGlnaGxpZ2h0ZWQtbGFiZWwgLmhpZ2hsaWdodCB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yU3VnZ2VzdFdpZGdldC1mb2N1c0hpZ2hsaWdodEZvcmVncm91bmQpO1xufVxuXG4vKiogUmVhZE1vcmUgSWNvbiBzdHlsZXMgKiovXG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LWRldGFpbHMgPiAubW9uYWNvLXNjcm9sbGFibGUtZWxlbWVudCA+IC5ib2R5ID4gLmhlYWRlciA+IC5jb2RpY29uLWNsb3NlLFxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0IC5tb25hY28tbGlzdCAubW9uYWNvLWxpc3Qtcm93ID4gLmNvbnRlbnRzID4gLm1haW4gPiAucmlnaHQgPiAucmVhZE1vcmU6OmJlZm9yZSB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHRvcGFjaXR5OiAxO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3QtZGV0YWlscyA+IC5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50ID4gLmJvZHkgPiAuaGVhZGVyID4gLmNvZGljb24tY2xvc2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNnB4O1xuXHRyaWdodDogMnB4O1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC1kZXRhaWxzID4gLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuYm9keSA+IC5oZWFkZXIgPiAuY29kaWNvbi1jbG9zZTpob3Zlcixcbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LXdpZGdldCAubW9uYWNvLWxpc3QgLm1vbmFjby1saXN0LXJvdyA+IC5jb250ZW50cyA+IC5tYWluID4gLnJpZ2h0ID4gLnJlYWRNb3JlOmhvdmVyIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLyoqIHNpZ25hdHVyZSwgcXVhbGlmaWVyLCB0eXBlL2RldGFpbHMgb3BhY2l0eSAqKi9cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0IC5tb25hY28tbGlzdCAubW9uYWNvLWxpc3Qtcm93ID4gLmNvbnRlbnRzID4gLm1haW4gPiAucmlnaHQgPiAuZGV0YWlscy1sYWJlbCB7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0IC5tb25hY28tbGlzdCAubW9uYWNvLWxpc3Qtcm93ID4gLmNvbnRlbnRzID4gLm1haW4gPiAubGVmdCA+IC5zaWduYXR1cmUtbGFiZWwge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0b3BhY2l0eTogMC42O1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cgPiAuY29udGVudHMgPiAubWFpbiA+IC5sZWZ0ID4gLnF1YWxpZmllci1sYWJlbCB7XG5cdG1hcmdpbi1sZWZ0OiAxMnB4O1xuXHRvcGFjaXR5OiAwLjQ7XG5cdGZvbnQtc2l6ZTogODUlO1xuXHRsaW5lLWhlaWdodDogaW5pdGlhbDtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLyoqIFR5cGUgSW5mbyBhbmQgaWNvbiBuZXh0IHRvIHRoZSBsYWJlbCBpbiB0aGUgZm9jdXNlZCBjb21wbGV0aW9uIGl0ZW0gKiovXG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LXdpZGdldCAubW9uYWNvLWxpc3QgLm1vbmFjby1saXN0LXJvdyA+IC5jb250ZW50cyA+IC5tYWluID4gLnJpZ2h0ID4gLmRldGFpbHMtbGFiZWwge1xuXHRmb250LXNpemU6IDg1JTtcblx0bWFyZ2luLWxlZnQ6IDEuMWVtO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0IC5tb25hY28tbGlzdCAubW9uYWNvLWxpc3Qtcm93ID4gLmNvbnRlbnRzID4gLm1haW4gPiAucmlnaHQgPiAuZGV0YWlscy1sYWJlbCA+IC5tb25hY28tdG9rZW5pemVkLXNvdXJjZSB7XG5cdGRpc3BsYXk6IGlubGluZTtcbn1cblxuLyoqIERldGFpbHM6IGlmIHVzaW5nIENvbXBsZXRpb25JdGVtI2RldGFpbHMsIHNob3cgb24gZm9jdXMgKiovXG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LXdpZGdldCAubW9uYWNvLWxpc3QgLm1vbmFjby1saXN0LXJvdyA+IC5jb250ZW50cyA+IC5tYWluID4gLnJpZ2h0ID4gLmRldGFpbHMtbGFiZWwge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQ6bm90KC5zaG93cy1kZXRhaWxzKSAubW9uYWNvLWxpc3QgLm1vbmFjby1saXN0LXJvdy5mb2N1c2VkID4gLmNvbnRlbnRzID4gLm1haW4gPiAucmlnaHQgPiAuZGV0YWlscy1sYWJlbCB7XG5cdGRpc3BsYXk6IGlubGluZTtcbn1cblxuLyoqIERldGFpbHM6IGlmIHVzaW5nIENvbXBsZXRpb25JdGVtTGFiZWwjZGV0YWlscywgYWx3YXlzIHNob3cgKiovXG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LXdpZGdldCAubW9uYWNvLWxpc3QgLm1vbmFjby1saXN0LXJvdzpub3QoLnN0cmluZy1sYWJlbCkgPiAuY29udGVudHMgPiAubWFpbiA+IC5yaWdodCA+IC5kZXRhaWxzLWxhYmVsLFxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0LmRvY3Mtc2lkZSAubW9uYWNvLWxpc3QgLm1vbmFjby1saXN0LXJvdy5mb2N1c2VkOm5vdCguc3RyaW5nLWxhYmVsKSA+IC5jb250ZW50cyA+IC5tYWluID4gLnJpZ2h0ID4gLmRldGFpbHMtbGFiZWwge1xuXHRkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi8qKiBFbGxpcHNpcyBvbiBob3ZlciAqKi9cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0Om5vdCguZG9jcy1zaWRlKSAubW9uYWNvLWxpc3QgLm1vbmFjby1saXN0LXJvdy5mb2N1c2VkOmhvdmVyID4gLmNvbnRlbnRzID4gLm1haW4gPiAucmlnaHQuY2FuLWV4cGFuZC1kZXRhaWxzID4gLmRldGFpbHMtbGFiZWwge1xuXHR3aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XG59XG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LXdpZGdldCAubW9uYWNvLWxpc3QgLm1vbmFjby1saXN0LXJvdyA+IC5jb250ZW50cyA+IC5tYWluID4gLmxlZnQge1xuXHRmbGV4LXNocmluazogMTtcblx0ZmxleC1ncm93OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cgPiAuY29udGVudHMgPiAubWFpbiA+IC5sZWZ0ID4gLm1vbmFjby1pY29uLWxhYmVsIHtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LXdpZGdldCAubW9uYWNvLWxpc3QgLm1vbmFjby1saXN0LXJvdzpub3QoLnN0cmluZy1sYWJlbCkgPiAuY29udGVudHMgPiAubWFpbiA+IC5sZWZ0ID4gLm1vbmFjby1pY29uLWxhYmVsIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cuc3RyaW5nLWxhYmVsID4gLmNvbnRlbnRzID4gLm1haW4gPiAubGVmdCA+IC5tb25hY28taWNvbi1sYWJlbCB7XG5cdGZsZXgtc2hyaW5rOiAxO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cgPiAuY29udGVudHMgPiAubWFpbiA+IC5yaWdodCB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGZsZXgtc2hyaW5rOiA0O1xuXHRtYXgtd2lkdGg6IDcwJTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0IC5tb25hY28tbGlzdCAubW9uYWNvLWxpc3Qtcm93ID4gLmNvbnRlbnRzID4gLm1haW4gPiAucmlnaHQgPiAucmVhZE1vcmUge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IDEwcHg7XG5cdHdpZHRoOiAxOHB4O1xuXHRoZWlnaHQ6IDE4cHg7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyoqIERvIE5PVCBkaXNwbGF5IFJlYWRNb3JlIHdoZW4gZG9jcyBpcyBzaWRlL2JlbG93ICoqL1xuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQuZG9jcy1zaWRlIC5tb25hY28tbGlzdCAubW9uYWNvLWxpc3Qtcm93ID4gLmNvbnRlbnRzID4gLm1haW4gPiAucmlnaHQgPiAucmVhZE1vcmUge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qKiBEbyBOT1QgZGlzcGxheSBSZWFkTW9yZSB3aGVuIHVzaW5nIHBsYWluIENvbXBsZXRpb25JdGVtTGFiZWwgKGRldGFpbHMvZG9jdW1lbnRhdGlvbiBtaWdodCBub3QgYmUgcmVzb2x2ZWQpICoqL1xuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cuc3RyaW5nLWxhYmVsID4gLmNvbnRlbnRzID4gLm1haW4gPiAucmlnaHQgPiAucmVhZE1vcmUge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiogRm9jdXNlZCBpdGVtIGNhbiBzaG93IFJlYWRNb3JlLCBidXQgY2FuJ3Qgd2hlbiBkb2NzIGlzIHNpZGUvYmVsb3cgKiovXG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LXdpZGdldCAubW9uYWNvLWxpc3QgLm1vbmFjby1saXN0LXJvdy5mb2N1c2VkLnN0cmluZy1sYWJlbCA+IC5jb250ZW50cyA+IC5tYWluID4gLnJpZ2h0ID4gLnJlYWRNb3JlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cuZm9jdXNlZDpob3ZlciA+IC5jb250ZW50cyA+IC5tYWluID4gLnJpZ2h0ID4gLnJlYWRNb3JlIHtcblx0dmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLyoqIFN0eWxlcyBmb3IgZWFjaCByb3cgaW4gdGhlIGxpc3QgKiovXG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LXdpZGdldCAubW9uYWNvLWxpc3QgLm1vbmFjby1saXN0LXJvdyAubW9uYWNvLWljb24tbGFiZWwuZGVwcmVjYXRlZCB7XG5cdG9wYWNpdHk6IDAuNjY7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5zZXQ7XG59XG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LXdpZGdldCAubW9uYWNvLWxpc3QgLm1vbmFjby1saXN0LXJvdyAubW9uYWNvLWljb24tbGFiZWwuZGVwcmVjYXRlZCA+IC5tb25hY28taWNvbi1sYWJlbC1jb250YWluZXIgPiAubW9uYWNvLWljb24tbmFtZS1jb250YWluZXIge1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0IC5tb25hY28tbGlzdCAubW9uYWNvLWxpc3Qtcm93IC5tb25hY28taWNvbi1sYWJlbDo6YmVmb3JlIHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cgLmljb24ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiAxNnB4O1xuXHR3aWR0aDogMTZweDtcblx0bWFyZ2luLWxlZnQ6IDJweDtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiA4MCU7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0IC5tb25hY28tbGlzdCAubW9uYWNvLWxpc3Qtcm93IC5pY29uLmhpZGUge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cgLnN1Z2dlc3QtaWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQubm8taWNvbnMgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cgLmljb24sXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC13aWRnZXQubm8taWNvbnMgLm1vbmFjby1saXN0IC5tb25hY28tbGlzdC1yb3cgLnN1Z2dlc3QtaWNvbjo6YmVmb3JlIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3Qtd2lkZ2V0IC5tb25hY28tbGlzdCAubW9uYWNvLWxpc3Qtcm93IC5pY29uLmN1c3RvbWNvbG9yIC5jb2xvcnNwYW4ge1xuXHRtYXJnaW46IDAgMCAwIDAuM2VtO1xuXHRib3JkZXI6IDAuMWVtIHNvbGlkICMwMDA7XG5cdHdpZHRoOiAwLjdlbTtcblx0aGVpZ2h0OiAwLjdlbTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKiogU3R5bGVzIGZvciB0aGUgZG9jcyBvZiB0aGUgY29tcGxldGlvbiBpdGVtIGluIGZvY3VzICoqL1xuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC1kZXRhaWxzLWNvbnRhaW5lciB7XG5cdHotaW5kZXg6IDQxO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC1kZXRhaWxzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvclN1Z2dlc3RXaWRnZXQtZm9yZWdyb3VuZCk7XG59XG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LWRldGFpbHMuZm9jdXNlZCB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdnNjb2RlLWZvY3VzQm9yZGVyKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3QtZGV0YWlscyBhIHtcblx0Y29sb3I6IHZhcigtLXZzY29kZS10ZXh0TGluay1mb3JlZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3QtZGV0YWlscyBhOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXZzY29kZS10ZXh0TGluay1hY3RpdmVGb3JlZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3QtZGV0YWlscyBjb2RlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLXRleHRDb2RlQmxvY2stYmFja2dyb3VuZCk7XG59XG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LWRldGFpbHMubm8tZG9jcyB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LWRldGFpbHMgPiAubW9uYWNvLXNjcm9sbGFibGUtZWxlbWVudCB7XG5cdGZsZXg6IDE7XG59XG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LWRldGFpbHMgPiAubW9uYWNvLXNjcm9sbGFibGUtZWxlbWVudCA+IC5ib2R5IHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3QtZGV0YWlscyA+IC5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50ID4gLmJvZHkgPiAuaGVhZGVyID4gLnR5cGUge1xuXHRmbGV4OiAyO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0b3BhY2l0eTogMC43O1xuXHR3aGl0ZS1zcGFjZTogcHJlO1xuXHRtYXJnaW46IDAgMjRweCAwIDA7XG5cdHBhZGRpbmc6IDRweCAwIDEycHggNXB4O1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC1kZXRhaWxzID4gLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuYm9keSA+IC5oZWFkZXIgPiAudHlwZS5hdXRvLXdyYXAge1xuXHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHR3b3JkLWJyZWFrOiBicmVhay1hbGw7XG59XG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LWRldGFpbHMgPiAubW9uYWNvLXNjcm9sbGFibGUtZWxlbWVudCA+IC5ib2R5ID4gLmRvY3Mge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDRweCA1cHg7XG5cdHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3QtZGV0YWlscy5uby10eXBlID4gLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuYm9keSA+IC5kb2NzIHtcblx0bWFyZ2luLXJpZ2h0OiAyNHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC1kZXRhaWxzID4gLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuYm9keSA+IC5kb2NzLm1hcmtkb3duLWRvY3Mge1xuXHRwYWRkaW5nOiAwO1xuXHR3aGl0ZS1zcGFjZTogaW5pdGlhbDtcblx0bWluLWhlaWdodDogY2FsYygxcmVtICsgOHB4KTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3QtZGV0YWlscyA+IC5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50ID4gLmJvZHkgPiAuZG9jcy5tYXJrZG93bi1kb2NzID4gZGl2LFxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3QtZGV0YWlscyA+IC5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50ID4gLmJvZHkgPiAuZG9jcy5tYXJrZG93bi1kb2NzID4gc3Bhbjpub3QoOmVtcHR5KSB7XG5cdHBhZGRpbmc6IDRweCA1cHg7XG59XG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LWRldGFpbHMgPiAubW9uYWNvLXNjcm9sbGFibGUtZWxlbWVudCA+IC5ib2R5ID4gLmRvY3MubWFya2Rvd24tZG9jcyA+IGRpdiA+IHA6Zmlyc3QtY2hpbGQge1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC1kZXRhaWxzID4gLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuYm9keSA+IC5kb2NzLm1hcmtkb3duLWRvY3MgPiBkaXYgPiBwOmxhc3QtY2hpbGQge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC1kZXRhaWxzID4gLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuYm9keSA+IC5kb2NzLm1hcmtkb3duLWRvY3MgLm1vbmFjby10b2tlbml6ZWQtc291cmNlIHtcblx0d2hpdGUtc3BhY2U6IHByZTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN1Z2dlc3QtZGV0YWlscyA+IC5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50ID4gLmJvZHkgPiAuZG9jcyAuY29kZSB7XG5cdHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC1kZXRhaWxzID4gLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuYm9keSA+IC5kb2NzLm1hcmtkb3duLWRvY3MgLmNvZGljb24ge1xuXHR2ZXJ0aWNhbC1hbGlnbjogc3ViO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC1kZXRhaWxzID4gLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQgPiAuYm9keSA+IHA6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC1kZXRhaWxzIGNvZGUge1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdHBhZGRpbmc6IDAgMC40ZW07XG59XG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LWRldGFpbHMgdWwge1xuXHRwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LWRldGFpbHMgb2wge1xuXHRwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbi5tb25hY28tZWRpdG9yIC5zdWdnZXN0LWRldGFpbHMgcCBjb2RlIHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLW1vbmFjby1tb25vc3BhY2UtZm9udCk7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5tb25hY28tZWRpdG9yIC5nb3RvLWRlZmluaXRpb24tbGluayB7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yTGluay1hY3RpdmVGb3JlZ3JvdW5kKSAhaW1wb3J0YW50O1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBtYXJrZXIgem9uZSAqL1xuXG4ubW9uYWNvLWVkaXRvciAucGVla3ZpZXctd2lkZ2V0IC5oZWFkIC5wZWVrdmlldy10aXRsZSAuc2V2ZXJpdHktaWNvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuXHRtYXJnaW4tcmlnaHQ6IDRweDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLm1hcmtlci13aWRnZXQge1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLm1hcmtlci13aWRnZXQgPiAuc3RhbGUge1xuXHRvcGFjaXR5OiAwLjY7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLm1vbmFjby1lZGl0b3IgLm1hcmtlci13aWRnZXQgLnRpdGxlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG5cbi5tb25hY28tZWRpdG9yIC5tYXJrZXItd2lkZ2V0IC5kZXNjcmlwdGlvbmNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2hpdGUtc3BhY2U6IHByZTtcblx0dXNlci1zZWxlY3Q6IHRleHQ7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IHRleHQ7XG5cdHBhZGRpbmc6IDhweCAxMnB4IDAgMjBweDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLm1hcmtlci13aWRnZXQgLmRlc2NyaXB0aW9uY29udGFpbmVyIC5tZXNzYWdlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLm1vbmFjby1lZGl0b3IgLm1hcmtlci13aWRnZXQgLmRlc2NyaXB0aW9uY29udGFpbmVyIC5tZXNzYWdlIC5kZXRhaWxzIHtcblx0cGFkZGluZy1sZWZ0OiA2cHg7XG59XG5cbi5tb25hY28tZWRpdG9yIC5tYXJrZXItd2lkZ2V0IC5kZXNjcmlwdGlvbmNvbnRhaW5lciAubWVzc2FnZSAuc291cmNlLFxuLm1vbmFjby1lZGl0b3IgLm1hcmtlci13aWRnZXQgLmRlc2NyaXB0aW9uY29udGFpbmVyIC5tZXNzYWdlIHNwYW4uY29kZSB7XG5cdG9wYWNpdHk6IDAuNjtcbn1cblxuLm1vbmFjby1lZGl0b3IgLm1hcmtlci13aWRnZXQgLmRlc2NyaXB0aW9uY29udGFpbmVyIC5tZXNzYWdlIGEuY29kZS1saW5rIHtcblx0b3BhY2l0eTogMC42O1xuXHRjb2xvcjogaW5oZXJpdDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLm1hcmtlci13aWRnZXQgLmRlc2NyaXB0aW9uY29udGFpbmVyIC5tZXNzYWdlIGEuY29kZS1saW5rOmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICcoJztcbn1cblxuLm1vbmFjby1lZGl0b3IgLm1hcmtlci13aWRnZXQgLmRlc2NyaXB0aW9uY29udGFpbmVyIC5tZXNzYWdlIGEuY29kZS1saW5rOmFmdGVyIHtcblx0Y29udGVudDogJyknO1xufVxuXG4ubW9uYWNvLWVkaXRvciAubWFya2VyLXdpZGdldCAuZGVzY3JpcHRpb25jb250YWluZXIgLm1lc3NhZ2UgYS5jb2RlLWxpbmsgPiBzcGFuIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdC8qKiBIYWNrIHRvIGZvcmNlIHVuZGVybGluZSB0byBzaG93ICoqL1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uOiB1bmRlcjtcblx0Y29sb3I6IHZhcigtLXZzY29kZS10ZXh0TGluay1hY3RpdmVGb3JlZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLm1hcmtlci13aWRnZXQgLmRlc2NyaXB0aW9uY29udGFpbmVyIC5maWxlbmFtZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXZzY29kZS10ZXh0TGluay1hY3RpdmVGb3JlZ3JvdW5kKTtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1lZGl0b3IgLnpvbmUtd2lkZ2V0IC5jb2RpY29uLmNvZGljb24tZXJyb3IsXG4ubWFya2Vycy1wYW5lbCAubWFya2VyLWljb24uZXJyb3IsIC5tYXJrZXJzLXBhbmVsIC5tYXJrZXItaWNvbiAuY29kaWNvbi5jb2RpY29uLWVycm9yLFxuLnRleHQtc2VhcmNoLXByb3ZpZGVyLW1lc3NhZ2VzIC5wcm92aWRlck1lc3NhZ2UgLmNvZGljb24uY29kaWNvbi1lcnJvcixcbi5leHRlbnNpb25zLXZpZXdsZXQgPiAuZXh0ZW5zaW9ucyAuY29kaWNvbi5jb2RpY29uLWVycm9yLFxuLmV4dGVuc2lvbi1lZGl0b3IgLmNvZGljb24uY29kaWNvbi1lcnJvcixcbi5wcmVmZXJlbmNlcy1lZGl0b3IgLmNvZGljb24uY29kaWNvbi1lcnJvciB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtcHJvYmxlbXNFcnJvckljb24tZm9yZWdyb3VuZCk7XG59XG5cbi5tb25hY28tZWRpdG9yIC56b25lLXdpZGdldCAuY29kaWNvbi5jb2RpY29uLXdhcm5pbmcsXG4ubWFya2Vycy1wYW5lbCAubWFya2VyLWljb24ud2FybmluZywgLm1hcmtlcnMtcGFuZWwgLm1hcmtlci1pY29uIC5jb2RpY29uLmNvZGljb24td2FybmluZyxcbi50ZXh0LXNlYXJjaC1wcm92aWRlci1tZXNzYWdlcyAucHJvdmlkZXJNZXNzYWdlIC5jb2RpY29uLmNvZGljb24td2FybmluZyxcbi5leHRlbnNpb25zLXZpZXdsZXQgPiAuZXh0ZW5zaW9ucyAuY29kaWNvbi5jb2RpY29uLXdhcm5pbmcsXG4uZXh0ZW5zaW9uLWVkaXRvciAuY29kaWNvbi5jb2RpY29uLXdhcm5pbmcsXG4ucHJlZmVyZW5jZXMtZWRpdG9yIC5jb2RpY29uLmNvZGljb24td2FybmluZyB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtcHJvYmxlbXNXYXJuaW5nSWNvbi1mb3JlZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnpvbmUtd2lkZ2V0IC5jb2RpY29uLmNvZGljb24taW5mbyxcbi5tYXJrZXJzLXBhbmVsIC5tYXJrZXItaWNvbi5pbmZvLCAubWFya2Vycy1wYW5lbCAubWFya2VyLWljb24gLmNvZGljb24uY29kaWNvbi1pbmZvLFxuLnRleHQtc2VhcmNoLXByb3ZpZGVyLW1lc3NhZ2VzIC5wcm92aWRlck1lc3NhZ2UgLmNvZGljb24uY29kaWNvbi1pbmZvLFxuLmV4dGVuc2lvbnMtdmlld2xldCA+IC5leHRlbnNpb25zIC5jb2RpY29uLmNvZGljb24taW5mbyxcbi5leHRlbnNpb24tZWRpdG9yIC5jb2RpY29uLmNvZGljb24taW5mbyxcbi5wcmVmZXJlbmNlcy1lZGl0b3IgLmNvZGljb24uY29kaWNvbi1pbmZvIHtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1wcm9ibGVtc0luZm9JY29uLWZvcmVncm91bmQpO1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbi5tb25hY28tZWRpdG9yLnZzIC52YWx1ZVNldFJlcGxhY2VtZW50IHtcblx0b3V0bGluZTogc29saWQgMnB4IHZhcigtLXZzY29kZS1lZGl0b3JCcmFja2V0TWF0Y2gtYm9yZGVyKTtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1lZGl0b3IgLmxpbmtlZC1lZGl0aW5nLWRlY29yYXRpb24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yLWxpbmtlZEVkaXRpbmdCYWNrZ3JvdW5kKTtcblxuXHQvKiBFbnN1cmUgZGVjb3JhdGlvbiBpcyB2aXNpYmxlIGV2ZW4gaWYgcmFuZ2UgaXMgZW1wdHkgKi9cblx0bWluLXdpZHRoOiAxcHg7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ubW9uYWNvLWVkaXRvciAuZGV0ZWN0ZWQtbGluayxcbi5tb25hY28tZWRpdG9yIC5kZXRlY3RlZC1saW5rLWFjdGl2ZSB7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR0ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogdW5kZXI7XG59XG5cbi5tb25hY28tZWRpdG9yIC5kZXRlY3RlZC1saW5rLWFjdGl2ZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JMaW5rLWFjdGl2ZUZvcmVncm91bmQpICFpbXBvcnRhbnQ7XG59XG4iLCAiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5tb25hY28tZWRpdG9yIC5mb2N1c2VkIC5zZWxlY3Rpb25IaWdobGlnaHQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yLXNlbGVjdGlvbkhpZ2hsaWdodEJhY2tncm91bmQpO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS12c2NvZGUtZWRpdG9yLXNlbGVjdGlvbkhpZ2hsaWdodEJvcmRlcik7XG59XG4ubW9uYWNvLWVkaXRvci5oYy1ibGFjayAuZm9jdXNlZCAuc2VsZWN0aW9uSGlnaGxpZ2h0LCAubW9uYWNvLWVkaXRvci5oYy1saWdodCAuZm9jdXNlZCAuc2VsZWN0aW9uSGlnaGxpZ2h0IHtcblx0Ym9yZGVyLXN0eWxlOiBkb3R0ZWQ7XG59XG5cbi5tb25hY28tZWRpdG9yIC53b3JkSGlnaGxpZ2h0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvci13b3JkSGlnaGxpZ2h0QmFja2dyb3VuZCk7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXZzY29kZS1lZGl0b3Itd29yZEhpZ2hsaWdodEJvcmRlcik7XG59XG4ubW9uYWNvLWVkaXRvci5oYy1ibGFjayAud29yZEhpZ2hsaWdodCwgLm1vbmFjby1lZGl0b3IuaGMtbGlnaHQgLndvcmRIaWdobGlnaHQge1xuXHRib3JkZXItc3R5bGU6IGRvdHRlZDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLndvcmRIaWdobGlnaHRTdHJvbmcge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yLXdvcmRIaWdobGlnaHRTdHJvbmdCYWNrZ3JvdW5kKTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tdnNjb2RlLWVkaXRvci13b3JkSGlnaGxpZ2h0U3Ryb25nQm9yZGVyKTtcbn1cbi5tb25hY28tZWRpdG9yLmhjLWJsYWNrIC53b3JkSGlnaGxpZ2h0U3Ryb25nLCAubW9uYWNvLWVkaXRvci5oYy1saWdodCAud29yZEhpZ2hsaWdodFN0cm9uZyB7XG5cdGJvcmRlci1zdHlsZTogZG90dGVkO1xufVxuXG4ubW9uYWNvLWVkaXRvciAud29yZEhpZ2hsaWdodFRleHQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yLXdvcmRIaWdobGlnaHRUZXh0QmFja2dyb3VuZCk7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXZzY29kZS1lZGl0b3Itd29yZEhpZ2hsaWdodFRleHRCb3JkZXIpO1xufVxuLm1vbmFjby1lZGl0b3IuaGMtYmxhY2sgLndvcmRIaWdobGlnaHRUZXh0LCAubW9uYWNvLWVkaXRvci5oYy1saWdodCAud29yZEhpZ2hsaWdodFRleHQge1xuXHRib3JkZXItc3R5bGU6IGRvdHRlZDtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1lZGl0b3IgLmlubGluZS1lZGl0LXJlbW92ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JHaG9zdFRleHQtYmFja2dyb3VuZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi5tb25hY28tZWRpdG9yIC5pbmxpbmUtZWRpdC1yZW1vdmUuYmFja2dyb3VuZENvbG9yaW5nIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLWRpZmZFZGl0b3ItcmVtb3ZlZExpbmVCYWNrZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmlubGluZS1lZGl0LWhpZGRlbiB7XG5cdG9wYWNpdHk6IDA7XG5cdGZvbnQtc2l6ZTogMDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLmlubGluZS1lZGl0LWRlY29yYXRpb24sIC5tb25hY28tZWRpdG9yIC5zdWdnZXN0LXByZXZpZXctdGV4dCAuaW5saW5lLWVkaXQge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5tb25hY28tZWRpdG9yIC5pbmxpbmUtY29tcGxldGlvbi10ZXh0LXRvLXJlcGxhY2Uge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0dGV4dC11bmRlcmxpbmUtcG9zaXRpb246IHVuZGVyO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuaW5saW5lLWVkaXQtZGVjb3JhdGlvbixcbi5tb25hY28tZWRpdG9yIC5pbmxpbmUtZWRpdC1kZWNvcmF0aW9uLXByZXZpZXcsXG4ubW9uYWNvLWVkaXRvciAuc3VnZ2VzdC1wcmV2aWV3LXRleHQgLmlubGluZS1lZGl0IHtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JHaG9zdFRleHQtZm9yZWdyb3VuZCkgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvckdob3N0VGV4dC1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tdnNjb2RlLWVkaXRvckdob3N0VGV4dC1ib3JkZXIpO1xufVxuXG5cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1lZGl0b3IgLmlubGluZUVkaXRIaW50cy53aXRoQm9yZGVyIHtcblx0ei1pbmRleDogMzk7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9ySG92ZXJXaWRnZXQtZm9yZWdyb3VuZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JIb3ZlcldpZGdldC1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tdnNjb2RlLWVkaXRvckhvdmVyV2lkZ2V0LWJvcmRlcik7XG59XG5cbi5tb25hY28tZWRpdG9yIC5pbmxpbmVFZGl0SGludHMgYSB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZm9yZWdyb3VuZCk7XG59XG5cbi5tb25hY28tZWRpdG9yIC5pbmxpbmVFZGl0SGludHMgYTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtZm9yZWdyb3VuZCk7XG59XG5cbi5tb25hY28tZWRpdG9yIC5pbmxpbmVFZGl0SGludHMgLmtleWJpbmRpbmcge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRvcGFjaXR5OiAwLjY7XG59XG5cbi5tb25hY28tZWRpdG9yIC5pbmxpbmVFZGl0SGludHMgLmtleWJpbmRpbmcgLm1vbmFjby1rZXliaW5kaW5nLWtleSB7XG5cdGZvbnQtc2l6ZTogOHB4O1xuXHRwYWRkaW5nOiAycHggM3B4O1xufVxuXG4ubW9uYWNvLWVkaXRvciAuaW5saW5lRWRpdFN0YXR1c0Jhckl0ZW1MYWJlbCB7XG5cdG1hcmdpbi1yaWdodDogMnB4O1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ubW9uYWNvLWVkaXRvciAucGFyYW1ldGVyLWhpbnRzLXdpZGdldCB7XG5cdC8qIE11c3QgYmUgaGlnaGVyIHRoYW4gdGhlIHNhc2gncyB6LWluZGV4IGFuZCB0ZXJtaW5hbCBjYW52YXNlcyBidXQgbG93ZXIgdGhhbiB0aGUgc3VnZ2VzdCB3aWRnZXQgKi9cblx0ei1pbmRleDogMzk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGxpbmUtaGVpZ2h0OiAxLjVlbTtcblx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvckhvdmVyV2lkZ2V0LWZvcmVncm91bmQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9ySG92ZXJXaWRnZXQtYmFja2dyb3VuZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXZzY29kZS1lZGl0b3JIb3ZlcldpZGdldC1ib3JkZXIpO1xufVxuXG4uaGMtYmxhY2sgLm1vbmFjby1lZGl0b3IgLnBhcmFtZXRlci1oaW50cy13aWRnZXQsXG4uaGMtbGlnaHQgLm1vbmFjby1lZGl0b3IgLnBhcmFtZXRlci1oaW50cy13aWRnZXQge1xuXHRib3JkZXItd2lkdGg6IDJweDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnBhcmFtZXRlci1oaW50cy13aWRnZXQgPiAucGh3cmFwcGVyIHtcblx0bWF4LXdpZHRoOiA0NDBweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLm1vbmFjby1lZGl0b3IgLnBhcmFtZXRlci1oaW50cy13aWRnZXQubXVsdGlwbGUge1xuXHRtaW4taGVpZ2h0OiAzLjNlbTtcblx0cGFkZGluZzogMDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnBhcmFtZXRlci1oaW50cy13aWRnZXQubXVsdGlwbGUgLmJvZHk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0b3BhY2l0eTogMC41O1xuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLXZzY29kZS1lZGl0b3JIb3ZlcldpZGdldC1ib3JkZXIpO1xufVxuXG4ubW9uYWNvLWVkaXRvciAucGFyYW1ldGVyLWhpbnRzLXdpZGdldCBwLFxuLm1vbmFjby1lZGl0b3IgLnBhcmFtZXRlci1oaW50cy13aWRnZXQgdWwge1xuXHRtYXJnaW46IDhweCAwO1xufVxuXG4ubW9uYWNvLWVkaXRvciAucGFyYW1ldGVyLWhpbnRzLXdpZGdldCAubW9uYWNvLXNjcm9sbGFibGUtZWxlbWVudCxcbi5tb25hY28tZWRpdG9yIC5wYXJhbWV0ZXItaGludHMtd2lkZ2V0IC5ib2R5IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleDogMTtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0bWluLWhlaWdodDogMTAwJTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnBhcmFtZXRlci1oaW50cy13aWRnZXQgLnNpZ25hdHVyZSB7XG5cdHBhZGRpbmc6IDRweCA1cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnBhcmFtZXRlci1oaW50cy13aWRnZXQgLnNpZ25hdHVyZS5oYXMtZG9jczo6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZy10b3A6IDRweDtcblx0b3BhY2l0eTogMC41O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdnNjb2RlLWVkaXRvckhvdmVyV2lkZ2V0LWJvcmRlcik7XG59XG5cbi5tb25hY28tZWRpdG9yIC5wYXJhbWV0ZXItaGludHMtd2lkZ2V0IC5kb2NzIHtcblx0cGFkZGluZzogMCAxMHB4IDAgNXB4O1xuXHR3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59XG5cbi5tb25hY28tZWRpdG9yIC5wYXJhbWV0ZXItaGludHMtd2lkZ2V0IC5kb2NzLmVtcHR5IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnBhcmFtZXRlci1oaW50cy13aWRnZXQgLmRvY3MgYSB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtdGV4dExpbmstZm9yZWdyb3VuZCk7XG59XG5cbi5tb25hY28tZWRpdG9yIC5wYXJhbWV0ZXItaGludHMtd2lkZ2V0IC5kb2NzIGE6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLXRleHRMaW5rLWFjdGl2ZUZvcmVncm91bmQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5tb25hY28tZWRpdG9yIC5wYXJhbWV0ZXItaGludHMtd2lkZ2V0IC5kb2NzIC5tYXJrZG93bi1kb2NzIHtcblx0d2hpdGUtc3BhY2U6IGluaXRpYWw7XG59XG5cbi5tb25hY28tZWRpdG9yIC5wYXJhbWV0ZXItaGludHMtd2lkZ2V0IC5kb2NzIGNvZGUge1xuXHRmb250LWZhbWlseTogdmFyKC0tbW9uYWNvLW1vbm9zcGFjZS1mb250KTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRwYWRkaW5nOiAwIDAuNGVtO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtdGV4dENvZGVCbG9jay1iYWNrZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnBhcmFtZXRlci1oaW50cy13aWRnZXQgLmRvY3MgLm1vbmFjby10b2tlbml6ZWQtc291cmNlLFxuLm1vbmFjby1lZGl0b3IgLnBhcmFtZXRlci1oaW50cy13aWRnZXQgLmRvY3MgLmNvZGUge1xuXHR3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59XG5cbi5tb25hY28tZWRpdG9yIC5wYXJhbWV0ZXItaGludHMtd2lkZ2V0IC5jb250cm9scyB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1pbi13aWR0aDogMjJweDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnBhcmFtZXRlci1oaW50cy13aWRnZXQubXVsdGlwbGUgLmNvbnRyb2xzIHtcblx0ZGlzcGxheTogZmxleDtcblx0cGFkZGluZzogMCAycHg7XG59XG5cbi5tb25hY28tZWRpdG9yIC5wYXJhbWV0ZXItaGludHMtd2lkZ2V0Lm11bHRpcGxlIC5idXR0b24ge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5tb25hY28tZWRpdG9yIC5wYXJhbWV0ZXItaGludHMtd2lkZ2V0IC5idXR0b24ucHJldmlvdXMge1xuXHRib3R0b206IDI0cHg7XG59XG5cbi5tb25hY28tZWRpdG9yIC5wYXJhbWV0ZXItaGludHMtd2lkZ2V0IC5vdmVybG9hZHMge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGhlaWdodDogMTJweDtcblx0bGluZS1oZWlnaHQ6IDEycHg7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1tb25hY28tbW9ub3NwYWNlLWZvbnQpO1xufVxuXG4ubW9uYWNvLWVkaXRvciAucGFyYW1ldGVyLWhpbnRzLXdpZGdldCAuc2lnbmF0dXJlIC5wYXJhbWV0ZXIuYWN0aXZlIHtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JIb3ZlcldpZGdldC1oaWdobGlnaHRGb3JlZ3JvdW5kKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5tb25hY28tZWRpdG9yIC5wYXJhbWV0ZXItaGludHMtd2lkZ2V0IC5kb2N1bWVudGF0aW9uLXBhcmFtZXRlciA+IC5wYXJhbWV0ZXIge1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0bWFyZ2luLXJpZ2h0OiAwLjVlbTtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1lZGl0b3IgLnJlbmFtZS1ib3gge1xuXHR6LWluZGV4OiAxMDA7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5tb25hY28tZWRpdG9yIC5yZW5hbWUtYm94LnByZXZpZXcge1xuXHRwYWRkaW5nOiA0cHggNHB4IDAgNHB4O1xufVxuXG4ubW9uYWNvLWVkaXRvciAucmVuYW1lLWJveCAucmVuYW1lLWlucHV0LXdpdGgtYnV0dG9uIHtcblx0cGFkZGluZzogM3B4O1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdHdpZHRoOiBjYWxjKDEwMCUgLSA4cHgpOyAvKiA0cHggcGFkZGluZyBvbiBlYWNoIHNpZGUgKi9cbn1cblxuLm1vbmFjby1lZGl0b3IgLnJlbmFtZS1ib3ggLnJlbmFtZS1pbnB1dCB7XG5cdHdpZHRoOiBjYWxjKDEwMCUgLSA4cHgpOyAvKiA0cHggcGFkZGluZyBvbiBlYWNoIHNpZGUgKi9cblx0cGFkZGluZzogMDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnJlbmFtZS1ib3ggLnJlbmFtZS1pbnB1dDpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi5tb25hY28tZWRpdG9yIC5yZW5hbWUtYm94IC5yZW5hbWUtc3VnZ2VzdGlvbnMtYnV0dG9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogM3B4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnJlbmFtZS1ib3ggLnJlbmFtZS1zdWdnZXN0aW9ucy1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtdG9vbGJhci1ob3ZlckJhY2tncm91bmQpXG59XG5cbi5tb25hY28tZWRpdG9yIC5yZW5hbWUtYm94IC5yZW5hbWUtY2FuZGlkYXRlLWxpc3QtY29udGFpbmVyIC5tb25hY28tbGlzdC1yb3cge1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbi5tb25hY28tZWRpdG9yIC5yZW5hbWUtYm94IC5yZW5hbWUtbGFiZWwge1xuXHRkaXNwbGF5OiBub25lO1xuXHRvcGFjaXR5OiAuODtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnJlbmFtZS1ib3gucHJldmlldyAucmVuYW1lLWxhYmVsIHtcblx0ZGlzcGxheTogaW5oZXJpdDtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1lZGl0b3IgLnN0aWNreS13aWRnZXQge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3RpY2t5LXdpZGdldC1saW5lLW51bWJlcnMge1xuXHRmbG9hdDogbGVmdDtcblx0YmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN0aWNreS13aWRnZXQtbGluZXMtc2Nyb2xsYWJsZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR3aWR0aDogdmFyKC0tdnNjb2RlLWVkaXRvclN0aWNreVNjcm9sbC1zY3JvbGxhYmxlV2lkdGgpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3RpY2t5LXdpZGdldC1saW5lcyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN0aWNreS1saW5lLW51bWJlciwgLm1vbmFjby1lZGl0b3IgLnN0aWNreS1saW5lLWNvbnRlbnQge1xuXHRjb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvckxpbmVOdW1iZXItZm9yZWdyb3VuZCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3RpY2t5LWxpbmUtbnVtYmVyIC5jb2RpY29uLWZvbGRpbmctZXhwYW5kZWQsXG4ubW9uYWNvLWVkaXRvciAuc3RpY2t5LWxpbmUtbnVtYmVyIC5jb2RpY29uLWZvbGRpbmctY29sbGFwc2VkIHtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHR0cmFuc2l0aW9uOiB2YXIoLS12c2NvZGUtZWRpdG9yU3RpY2t5U2Nyb2xsLWZvbGRpbmdPcGFjaXR5VHJhbnNpdGlvbik7XG59XG5cbi5tb25hY28tZWRpdG9yIC5zdGlja3ktbGluZS1jb250ZW50IHtcblx0d2lkdGg6IHZhcigtLXZzY29kZS1lZGl0b3JTdGlja3lTY3JvbGwtc2Nyb2xsYWJsZVdpZHRoKTtcblx0YmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN0aWNreS1saW5lLW51bWJlci1pbm5lciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tb25hY28tZWRpdG9yIC5zdGlja3ktd2lkZ2V0IHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXZzY29kZS1lZGl0b3JTdGlja3lTY3JvbGwtYm9yZGVyKTtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN0aWNreS1saW5lLWNvbnRlbnQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yU3RpY2t5U2Nyb2xsSG92ZXItYmFja2dyb3VuZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnN0aWNreS13aWRnZXQge1xuXHR3aWR0aDogMTAwJTtcblx0Ym94LXNoYWRvdzogdmFyKC0tdnNjb2RlLWVkaXRvclN0aWNreVNjcm9sbC1zaGFkb3cpIDAgM3B4IDJweCAtMnB4O1xuXHR6LWluZGV4OiA0O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yU3RpY2t5U2Nyb2xsLWJhY2tncm91bmQpO1xuXHRyaWdodDogaW5pdGlhbCAhaW1wb3J0YW50O1xufVxuXG4ubW9uYWNvLWVkaXRvciAuc3RpY2t5LXdpZGdldC5wZWVrIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLXBlZWtWaWV3RWRpdG9yU3RpY2t5U2Nyb2xsLWJhY2tncm91bmQpO1xufVxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ubW9uYWNvLWVkaXRvciAudW5pY29kZS1oaWdobGlnaHQge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS12c2NvZGUtZWRpdG9yVW5pY29kZUhpZ2hsaWdodC1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtZWRpdG9yVW5pY29kZUhpZ2hsaWdodC1iYWNrZ3JvdW5kKTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmVkaXRvci1iYW5uZXIge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG5cdHdpZHRoOiAxMDAlO1xuXHRmb250LXNpemU6IDEycHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xuXG5cdGhlaWdodDogMjZweDtcblxuXHRiYWNrZ3JvdW5kOiB2YXIoLS12c2NvZGUtYmFubmVyLWJhY2tncm91bmQpO1xufVxuXG5cbi5lZGl0b3ItYmFubmVyIC5pY29uLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAwIDZweCAwIDEwcHg7XG59XG5cbi5lZGl0b3ItYmFubmVyIC5pY29uLWNvbnRhaW5lci5jdXN0b20taWNvbiB7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdGJhY2tncm91bmQtc2l6ZTogMTZweDtcblx0d2lkdGg6IDE2cHg7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMCA2cHggMCAxMHB4O1xufVxuXG4uZWRpdG9yLWJhbm5lciAubWVzc2FnZS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRsaW5lLWhlaWdodDogMjZweDtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5lZGl0b3ItYmFubmVyIC5tZXNzYWdlLWNvbnRhaW5lciBwIHtcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuXHRtYXJnaW4tYmxvY2stZW5kOiAwO1xufVxuXG4uZWRpdG9yLWJhbm5lciAubWVzc2FnZS1hY3Rpb25zLWNvbnRhaW5lciB7XG5cdGZsZXgtZ3JvdzogMTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGxpbmUtaGVpZ2h0OiAyNnB4O1xuXHRtYXJnaW46IDAgNHB4O1xufVxuXG4uZWRpdG9yLWJhbm5lciAubWVzc2FnZS1hY3Rpb25zLWNvbnRhaW5lciBhLm1vbmFjby1idXR0b24ge1xuXHR3aWR0aDogaW5oZXJpdDtcblx0bWFyZ2luOiAycHggOHB4O1xuXHRwYWRkaW5nOiAwcHggMTJweDtcbn1cblxuLmVkaXRvci1iYW5uZXIgLm1lc3NhZ2UtYWN0aW9ucy1jb250YWluZXIgYSB7XG5cdHBhZGRpbmc6IDNweDtcblx0bWFyZ2luLWxlZnQ6IDEycHg7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uZWRpdG9yLWJhbm5lciAuYWN0aW9uLWNvbnRhaW5lciB7XG5cdHBhZGRpbmc6IDAgMTBweCAwIDZweDtcbn1cblxuLmVkaXRvci1iYW5uZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12c2NvZGUtYmFubmVyLWJhY2tncm91bmQpO1xufVxuXG4uZWRpdG9yLWJhbm5lcixcbi5lZGl0b3ItYmFubmVyIC5hY3Rpb24tY29udGFpbmVyIC5jb2RpY29uLFxuLmVkaXRvci1iYW5uZXIgLm1lc3NhZ2UtYWN0aW9ucy1jb250YWluZXIgLm1vbmFjby1saW5rIHtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1iYW5uZXItZm9yZWdyb3VuZCk7XG59XG5cbi5lZGl0b3ItYmFubmVyIC5pY29uLWNvbnRhaW5lciAuY29kaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS12c2NvZGUtYmFubmVyLWljb25Gb3JlZ3JvdW5kKTtcbn1cbiIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1saW5rIHtcblx0Y29sb3I6IHZhcigtLXZzY29kZS10ZXh0TGluay1mb3JlZ3JvdW5kKTtcbn1cblxuLm1vbmFjby1saW5rOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXZzY29kZS10ZXh0TGluay1hY3RpdmVGb3JlZ3JvdW5kKTtcbn1cblxuIiwgIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ubW9uYWNvLWVkaXRvciAuaVBhZFNob3dLZXlib2FyZCB7XG5cdHdpZHRoOiA1OHB4O1xuXHRtaW4td2lkdGg6IDA7XG5cdGhlaWdodDogMzZweDtcblx0bWluLWhlaWdodDogMDtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJlc2l6ZTogbm9uZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTlRNaUlHaGxhV2RvZEQwaU16WWlJSFpwWlhkQ2IzZzlJakFnTUNBMU15QXpOaUlnWm1sc2JEMGlibTl1WlNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S1BHY2dZMnhwY0Mxd1lYUm9QU0oxY213b0kyTnNhWEF3S1NJK0NqeHdZWFJvSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1kyeHBjQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTkRndU1ETTJOQ0EwTGpBeE1EUXlTRFF1TURBM056bE1OQzR3TURjM09TQXpNaTR3TWpnMlNEUTRMakF6TmpSV05DNHdNVEEwTWxwTk5DNHdNRGMzT1NBd0xqQXdOemd4TWpWRE1TNDNPVGN5TVNBd0xqQXdOemd4TWpVZ01DNHdNRFV4T0RjNU9TQXhMamM1T1RnMElEQXVNREExTVRnM09Ua2dOQzR3TVRBME1sWXpNaTR3TWpnMlF6QXVNREExTVRnM09Ua2dNelF1TWpNNU1pQXhMamM1TnpJeElETTJMakF6TVRJZ05DNHdNRGMzT1NBek5pNHdNekV5U0RRNExqQXpOalJETlRBdU1qUTNJRE0yTGpBek1USWdOVEl1TURNNUlETTBMakl6T1RJZ05USXVNRE01SURNeUxqQXlPRFpXTkM0d01UQTBNa00xTWk0d016a2dNUzQzT1RrNE5DQTFNQzR5TkRjZ01DNHdNRGM0TVRJMUlEUTRMakF6TmpRZ01DNHdNRGM0TVRJMVNEUXVNREEzTnpsYVRUZ3VNREV3TkRJZ09DNHdNVE13TWtneE1pNHdNVE5XTVRJdU1ERTFOa2c0TGpBeE1EUXlWamd1TURFek1ESmFUVEl3TGpBeE9ESWdPQzR3TVRNd01rZ3hOaTR3TVRVMlZqRXlMakF4TlRaSU1qQXVNREU0TWxZNExqQXhNekF5V2sweU5DNHdNakE0SURndU1ERXpNREpJTWpndU1ESXpORll4TWk0d01UVTJTREkwTGpBeU1EaFdPQzR3TVRNd01scE5Nell1TURJNE5pQTRMakF4TXpBeVNETXlMakF5TmxZeE1pNHdNVFUyU0RNMkxqQXlPRFpXT0M0d01UTXdNbHBOTkRBdU1ETXhNaUE0TGpBeE16QXlTRFEwTGpBek16bFdNVEl1TURFMU5rZzBNQzR3TXpFeVZqZ3VNREV6TURKYVRURTJMakF4TlRZZ01UWXVNREU0TWtnNExqQXhNRFF5VmpJd0xqQXlNRGhJTVRZdU1ERTFObFl4Tmk0d01UZ3lXazB5TUM0d01UZ3lJREUyTGpBeE9ESklNalF1TURJd09GWXlNQzR3TWpBNFNESXdMakF4T0RKV01UWXVNREU0TWxwTk16SXVNREkySURFMkxqQXhPREpJTWpndU1ESXpORll5TUM0d01qQTRTRE15TGpBeU5sWXhOaTR3TVRneVdrMDBOQzR3TXpNNUlERTJMakF4T0RKV01qQXVNREl3T0Vnek5pNHdNamcyVmpFMkxqQXhPREpJTkRRdU1ETXpPVnBOTVRJdU1ERXpJREkwTGpBeU16UklPQzR3TVRBME1sWXlPQzR3TWpaSU1USXVNREV6VmpJMExqQXlNelJhVFRFMkxqQXhOVFlnTWpRdU1ESXpORWd6Tmk0d01qZzJWakk0TGpBeU5rZ3hOaTR3TVRVMlZqSTBMakF5TXpSYVRUUTBMakF6TXprZ01qUXVNREl6TkVnME1DNHdNekV5VmpJNExqQXlOa2cwTkM0d016TTVWakkwTGpBeU16UmFJaUJtYVd4c1BTSWpOREkwTWpReUlpOCtDand2Wno0S1BHUmxabk0rQ2p4amJHbHdVR0YwYUNCcFpEMGlZMnhwY0RBaVBnbzhjbVZqZENCM2FXUjBhRDBpTlRNaUlHaGxhV2RvZEQwaU16WWlJR1pwYkd3OUluZG9hWFJsSWk4K0Nqd3ZZMnhwY0ZCaGRHZytDand2WkdWbWN6NEtQQzl6ZG1jK0NnPT1cIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG5cdGJvcmRlcjogNHB4IHNvbGlkICNGNkY2RjY7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLm1vbmFjby1lZGl0b3IudnMtZGFyayAuaVBhZFNob3dLZXlib2FyZCB7XG5cdGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU5UTWlJR2hsYVdkb2REMGlNellpSUhacFpYZENiM2c5SWpBZ01DQTFNeUF6TmlJZ1ptbHNiRDBpYm05dVpTSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNEtQR2NnWTJ4cGNDMXdZWFJvUFNKMWNtd29JMk5zYVhBd0tTSStDanh3WVhSb0lHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdZMnhwY0MxeWRXeGxQU0psZG1WdWIyUmtJaUJrUFNKTk5EZ3VNRE0yTkNBMExqQXhNRFF5U0RRdU1EQTNOemxNTkM0d01EYzNPU0F6TWk0d01qZzJTRFE0TGpBek5qUldOQzR3TVRBME1scE5OQzR3TURjM09TQXdMakF3TnpneE1qVkRNUzQzT1RjeU1TQXdMakF3TnpneE1qVWdNQzR3TURVeE9EYzVPU0F4TGpjNU9UZzBJREF1TURBMU1UZzNPVGtnTkM0d01UQTBNbFl6TWk0d01qZzJRekF1TURBMU1UZzNPVGtnTXpRdU1qTTVNaUF4TGpjNU56SXhJRE0yTGpBek1USWdOQzR3TURjM09TQXpOaTR3TXpFeVNEUTRMakF6TmpSRE5UQXVNalEzSURNMkxqQXpNVElnTlRJdU1ETTVJRE0wTGpJek9USWdOVEl1TURNNUlETXlMakF5T0RaV05DNHdNVEEwTWtNMU1pNHdNemtnTVM0M09UazROQ0ExTUM0eU5EY2dNQzR3TURjNE1USTFJRFE0TGpBek5qUWdNQzR3TURjNE1USTFTRFF1TURBM056bGFUVGd1TURFd05ESWdPQzR3TVRNd01rZ3hNaTR3TVROV01USXVNREUxTmtnNExqQXhNRFF5VmpndU1ERXpNREphVFRJd0xqQXhPRElnT0M0d01UTXdNa2d4Tmk0d01UVTJWakV5TGpBeE5UWklNakF1TURFNE1sWTRMakF4TXpBeVdrMHlOQzR3TWpBNElEZ3VNREV6TURKSU1qZ3VNREl6TkZZeE1pNHdNVFUyU0RJMExqQXlNRGhXT0M0d01UTXdNbHBOTXpZdU1ESTROaUE0TGpBeE16QXlTRE15TGpBeU5sWXhNaTR3TVRVMlNETTJMakF5T0RaV09DNHdNVE13TWxwTk5EQXVNRE14TWlBNExqQXhNekF5U0RRMExqQXpNemxXTVRJdU1ERTFOa2cwTUM0d016RXlWamd1TURFek1ESmFUVEUyTGpBeE5UWWdNVFl1TURFNE1rZzRMakF4TURReVZqSXdMakF5TURoSU1UWXVNREUxTmxZeE5pNHdNVGd5V2sweU1DNHdNVGd5SURFMkxqQXhPREpJTWpRdU1ESXdPRll5TUM0d01qQTRTREl3TGpBeE9ESldNVFl1TURFNE1scE5Nekl1TURJMklERTJMakF4T0RKSU1qZ3VNREl6TkZZeU1DNHdNakE0U0RNeUxqQXlObFl4Tmk0d01UZ3lXazAwTkM0d016TTVJREUyTGpBeE9ESldNakF1TURJd09FZ3pOaTR3TWpnMlZqRTJMakF4T0RKSU5EUXVNRE16T1ZwTk1USXVNREV6SURJMExqQXlNelJJT0M0d01UQTBNbFl5T0M0d01qWklNVEl1TURFelZqSTBMakF5TXpSYVRURTJMakF4TlRZZ01qUXVNREl6TkVnek5pNHdNamcyVmpJNExqQXlOa2d4Tmk0d01UVTJWakkwTGpBeU16UmFUVFEwTGpBek16a2dNalF1TURJek5FZzBNQzR3TXpFeVZqSTRMakF5TmtnME5DNHdNek01VmpJMExqQXlNelJhSWlCbWFXeHNQU0lqUXpWRE5VTTFJaTgrQ2p3dlp6NEtQR1JsWm5NK0NqeGpiR2x3VUdGMGFDQnBaRDBpWTJ4cGNEQWlQZ284Y21WamRDQjNhV1IwYUQwaU5UTWlJR2hsYVdkb2REMGlNellpSUdacGJHdzlJbmRvYVhSbElpOCtDand2WTJ4cGNGQmhkR2crQ2p3dlpHVm1jejRLUEM5emRtYytDZz09XCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuXHRib3JkZXI6IDRweCBzb2xpZCAjMjUyNTI2O1xufSIsICIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1vbmFjby1lZGl0b3IgLnRva2Vucy1pbnNwZWN0LXdpZGdldCB7XG5cdHotaW5kZXg6IDUwO1xuXHR1c2VyLXNlbGVjdDogdGV4dDtcblx0LXdlYmtpdC11c2VyLXNlbGVjdDogdGV4dDtcblx0cGFkZGluZzogMTBweDtcblx0Y29sb3I6IHZhcigtLXZzY29kZS1lZGl0b3JIb3ZlcldpZGdldC1mb3JlZ3JvdW5kKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvckhvdmVyV2lkZ2V0LWJhY2tncm91bmQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS12c2NvZGUtZWRpdG9ySG92ZXJXaWRnZXQtYm9yZGVyKTtcbn1cbi5tb25hY28tZWRpdG9yLmhjLWJsYWNrIC50b2tlbnMtaW5zcGVjdC13aWRnZXQsIC5tb25hY28tZWRpdG9yLmhjLWxpZ2h0IC50b2tlbnMtaW5zcGVjdC13aWRnZXQge1xuXHRib3JkZXItd2lkdGg6IDJweDtcbn1cblxuLm1vbmFjby1lZGl0b3IgLnRva2Vucy1pbnNwZWN0LXdpZGdldCAudG9rZW5zLWluc3BlY3Qtc2VwYXJhdG9yIHtcblx0aGVpZ2h0OiAxcHg7XG5cdGJvcmRlcjogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnNjb2RlLWVkaXRvckhvdmVyV2lkZ2V0LWJvcmRlcik7XG59XG5cbi5tb25hY28tZWRpdG9yIC50b2tlbnMtaW5zcGVjdC13aWRnZXQgLnRtLXRva2VuIHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLW1vbmFjby1tb25vc3BhY2UtZm9udCk7XG59XG5cbi5tb25hY28tZWRpdG9yIC50b2tlbnMtaW5zcGVjdC13aWRnZXQgLnRtLXRva2VuLWxlbmd0aCB7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGZvbnQtc2l6ZTogNjAlO1xuXHRmbG9hdDogcmlnaHQ7XG59XG5cbi5tb25hY28tZWRpdG9yIC50b2tlbnMtaW5zcGVjdC13aWRnZXQgLnRtLW1ldGFkYXRhLXRhYmxlIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5tb25hY28tZWRpdG9yIC50b2tlbnMtaW5zcGVjdC13aWRnZXQgLnRtLW1ldGFkYXRhLXZhbHVlIHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLW1vbmFjby1tb25vc3BhY2UtZm9udCk7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubW9uYWNvLWVkaXRvciAudG9rZW5zLWluc3BlY3Qtd2lkZ2V0IC50bS10b2tlbi10eXBlIHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLW1vbmFjby1tb25vc3BhY2UtZm9udCk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBT0EsQ0FBQztBQUNBO0FBQUEsSUFBYSxhQUFhO0FBQUEsSUFBRSxrQkFBa0I7QUFBQSxJQUFFLFdBQVc7QUFBQSxJQUFFLFVBQVU7QUFBQSxJQUFFLHFCQUFxQjtBQUFBLElBQUUsU0FBUztBQUFBLElBQUUsUUFBUTtBQUFBLElBQUUsWUFBWTtBQUFBLElBQUU7QUFDbkk7QUFBQSxJQUF5QixTQUFTO0FBQUEsSUFBRSxNQUFNO0FBQUEsSUFBRSxLQUFLO0FBQUEsSUFBRSxRQUFRO0FBQUEsSUFBRSxhQUFh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 */
