UNPKG

@diplodoc/transform

Version:

A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML

4 lines 82.9 kB
{ "version": 3, "sources": ["../../src/scss/_common.scss", "../../src/scss/_lists.scss", "../../src/scss/%3Cinput css _38HHM%3E", "../../src/scss/private.scss", "../../src/scss/_anchor.scss", "../../src/scss/_highlight.scss", "../../src/scss/_code.scss"], "sourcesContent": ["/* stylelint-disable declaration-no-important */\n\n@use 'private';\n@use 'lists';\n\n@mixin removeMarginForEdgeChildren {\n & > *:first-child {\n margin-top: 0;\n }\n\n & > *:last-child {\n margin-bottom: 0;\n }\n}\n\n.yfm {\n @include private.private-brand();\n\n font-family: var(--yfm-font-family-sans);\n font-size: var(--yfm-font-size, 15px);\n line-height: var(--yfm-font-line-height, 20px);\n word-wrap: break-word;\n color: var(--yfm-color-text, var(--yfm-color-text-private));\n tab-size: var(--yfm-tab-size, inherit);\n\n --yfm-font-family-monospace:\n 'Menlo', 'Monaco', 'Consolas', 'Ubuntu Mono', 'Liberation Mono', 'DejaVu Sans Mono',\n 'Courier New', 'Courier', monospace;\n --yfm-font-family-sans:\n 'Segoe UI', arial, helvetica, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n\n * {\n box-sizing: border-box;\n }\n\n & > *:not(h2):not(h3):not(h4):not(h5):not(h6):first-child {\n margin-top: 0 !important;\n }\n\n & > *:last-child {\n margin-bottom: 0 !important;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-bottom: 15px;\n font-weight: 500;\n }\n\n h1 {\n font-size: var(--yfm-font-size-h1, 32px);\n line-height: var(--yfm-font-line-height-h1, 40px);\n }\n\n h2 {\n font-size: var(--yfm-font-size-h2, 24px);\n line-height: var(--yfm-font-line-height-h2, 28px);\n }\n\n h3 {\n font-size: var(--yfm-font-size-h3, 20px);\n line-height: var(--yfm-font-line-height-h3, 24px);\n }\n\n h4 {\n font-size: var(--yfm-font-size-h4, 17px);\n line-height: var(--yfm-font-line-height-h4, 24px);\n }\n\n h5 {\n font-size: var(--yfm-font-size-h5, 15px);\n line-height: var(--yfm-font-line-height-h5, 20px);\n }\n\n h6 {\n font-size: var(--yfm-font-size-h6, 13px);\n line-height: var(--yfm-font-line-height-h6, 18px);\n }\n\n a {\n background-color: transparent;\n color: var(--yfm-color-link, var(--yfm-color-link-private));\n text-decoration: none;\n\n &:hover,\n &:active {\n color: var(--yfm-color-link-hover, var(--yfm-color-link-hover-private));\n }\n\n &:not([href]) {\n color: inherit;\n }\n }\n\n strong {\n font-weight: 700;\n }\n\n img,\n svg {\n box-sizing: content-box;\n max-width: 100%;\n max-height: fit-content;\n border: none;\n vertical-align: middle;\n\n &[align='right'] {\n padding-left: 20px;\n }\n\n &[align='left'] {\n padding-right: 20px;\n }\n }\n\n .mermaid svg[id*='mermaid'] {\n max-height: none;\n }\n\n img {\n object-fit: contain;\n background-color: var(--yfm-color-base, var(--yfm-color-base-private));\n }\n\n svg {\n height: auto;\n }\n\n img + small {\n display: block;\n }\n\n p,\n .checkbox,\n blockquote,\n ul,\n ol,\n dl,\n table,\n pre {\n margin-block: var(--yfm-text-block-margin-block, 0 15px);\n margin-inline: var(--yfm-text-block-margin-inline, 0);\n }\n\n ul,\n ol,\n dl {\n & pre {\n margin-top: 15px;\n }\n }\n\n code,\n kbd,\n pre {\n font-family: var(--yfm-font-family-monospace);\n font-size: 1em;\n font-feature-settings: normal;\n }\n\n input {\n margin: 0;\n overflow: visible;\n\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n\n &[type='checkbox'] {\n position: relative;\n top: 1px;\n\n box-sizing: border-box;\n padding: 0;\n }\n }\n\n .checkbox {\n display: flex;\n\n & > input[type='checkbox'] {\n align-self: flex-start;\n top: 3px;\n\n margin-right: 3px;\n }\n\n &:has(+ .checkbox) {\n margin-bottom: var(--yfm-checkbox-margin-between, 0);\n }\n\n & + .checkbox {\n margin-top: 0;\n }\n }\n\n table {\n color: var(--yfm-color-table, var(--yfm-color-table-private));\n\n display: inline-block;\n max-width: 100%;\n width: auto;\n overflow: auto;\n position: relative;\n z-index: 1;\n scrollbar-width: thin;\n\n box-sizing: border-box;\n border: 1px solid var(--yfm-color-table-border, var(--yfm-color-table-border-private));\n border-radius: 8px;\n border-collapse: collapse;\n border-spacing: 0;\n background: var(--yfm-color-table-background, var(--yfm-color-table-background-private));\n\n thead {\n background-color: var(\n --yfm-color-table-head-background,\n var(--yfm-color-table-head-background-private)\n );\n }\n\n tr:first-child {\n td,\n th {\n border-top: none;\n }\n }\n\n tr:last-child {\n td,\n th {\n border-bottom: none;\n }\n }\n\n th,\n td {\n padding: 10px 20px;\n overflow: hidden;\n text-overflow: ellipsis;\n border: 1px solid var(--yfm-color-table-border, var(--yfm-color-table-border-private));\n\n @include removeMarginForEdgeChildren();\n }\n\n td {\n vertical-align: top;\n white-space: normal;\n }\n\n th {\n font-weight: 500;\n text-align: left;\n }\n\n tr td:first-child,\n tr th:first-child {\n border-left: none;\n }\n tr td:last-child,\n tr th:last-child {\n border-right: none;\n }\n }\n\n &:not(.yfm_no-stripe-table) table tr:nth-child(2n) {\n background-color: var(\n --yfm-color-table-stripe-row-background,\n var(--yfm-color-table-stripe-row-background-private)\n );\n }\n\n hr {\n box-sizing: content-box;\n height: var(--yfm-hr-height, 0.25em);\n padding: 0;\n margin: var(--yfm-hr-margin, 1.5em 0);\n overflow: hidden;\n\n background-color: var(--yfm-color-border, var(--yfm-color-border-private));\n border: none;\n\n &::before {\n content: '';\n display: table;\n }\n\n &::after {\n content: '';\n display: table;\n clear: both;\n }\n }\n\n blockquote {\n position: relative;\n padding-left: 12px;\n border-left: 3px solid var(--yfm-color-accent, var(--yfm-color-accent-private));\n\n @include removeMarginForEdgeChildren();\n }\n\n dl {\n padding: 0;\n\n @include removeMarginForEdgeChildren();\n\n dt {\n margin-bottom: 5px;\n font-size: 1em;\n font-weight: bold;\n }\n\n dd {\n margin-bottom: 15px;\n padding: 0 15px;\n }\n }\n\n dd {\n margin-left: 0;\n }\n\n ul,\n ol {\n padding-left: 2.2em;\n }\n\n ul ul:last-child,\n ul ol:last-child,\n ol ol:last-child,\n ol ul:last-child {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n li {\n word-wrap: break-word;\n }\n\n li:first-child,\n li + li {\n margin-block: var(--yfm-list-item-margin-block, 0.33em 0);\n }\n\n li {\n p,\n blockquote {\n margin-block: var(--yfm-list-text-margin-block, 0 15px);\n }\n\n > p:only-of-type,\n > blockquote:only-of-type,\n > p:first-child:has(+ ul),\n > p:first-child:has(+ ol) {\n margin-block: var(--yfm-list-text-only-margin-block, 0);\n }\n\n > p:last-child {\n margin-block: var(--yfm-list-text-last-margin-block, 0);\n }\n }\n\n code {\n padding: 0.1em 0.4em 0.15em;\n background-color: var(\n --yfm-color-inline-code-background,\n var(--yfm-color-inline-code-background-private)\n );\n border-radius: 4px;\n font-size: 0.875em;\n white-space: pre-wrap;\n color: var(--yfm-color-inline-code, var(--yfm-color-inline-code-private));\n tab-size: var(--yfm-tab-size-code, inherit);\n }\n\n a code {\n color: inherit;\n }\n\n pre {\n word-wrap: normal;\n }\n\n table code {\n white-space: nowrap;\n }\n\n pre * code {\n display: inline;\n padding: 0;\n margin: 0;\n overflow: visible;\n word-wrap: normal;\n background-color: transparent;\n border: 0;\n color: var(--yfm-color-text, var(--yfm-color-text-private));\n }\n\n pre > code {\n display: block;\n padding: 16px;\n overflow: auto;\n\n background-color: var(\n --yfm-color-code-background,\n var(--yfm-color-code-background-private)\n );\n color: var(--yfm-color-text, var(--yfm-color-text-private));\n\n white-space: pre;\n\n .yfm-line-number {\n display: inline-block;\n padding-right: 1em;\n color: var(--yfm-color-line-numbers, #666);\n user-select: none;\n }\n }\n\n sup,\n sub {\n line-height: 0;\n }\n\n /*\n Hides element visually, but leaves it visible for search crawlers and screen readers\n\n https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n */\n .visually-hidden {\n position: absolute;\n\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n width: 1px;\n height: 1px;\n margin: -1px;\n\n padding: 0;\n\n white-space: nowrap;\n\n border: 0;\n\n clip-path: inset(100%);\n user-select: none;\n }\n}\n", "@use 'sass:list';\n@use 'sass:string';\n\n@function get-counter-ident($depth) {\n $ident: hier-list-item;\n\n @for $i from 0 to $depth {\n $ident: sub-#{$ident};\n }\n\n @return $ident;\n}\n\n@function get-selector($depth) {\n $selector: ol;\n\n @for $i from 0 to $depth {\n $selector: '#{$selector} > li > ol';\n }\n\n @return $selector;\n}\n\n@function get-marker-content($idents) {\n $length: list.length($idents);\n $content: '';\n\n @for $i from 1 through $length {\n @if $i > 1 {\n $content: '#{$content} \".\"';\n }\n\n $content: '#{$content} counter(#{list.nth($idents, $i)})';\n }\n\n @return #{$content} '. ';\n}\n\n@mixin hier-list($max-depth) {\n $ident-path: ();\n\n @for $i from 0 through $max-depth {\n $ident: get-counter-ident($i);\n $ident-path: list.append($ident-path, $ident);\n\n & #{get-selector($i)} {\n --hier-list-start: 0;\n counter-reset: #{$ident} var(--hier-list-start);\n\n & > li {\n counter-increment: $ident;\n\n &::marker {\n content: get-marker-content($ident-path);\n }\n }\n }\n }\n}\n\n.yfm {\n @include hier-list(5);\n\n &.yfm_no-list-reset ol,\n ol.yfm_no-list-reset,\n .yfm_no-list-reset ol {\n counter-reset: list-item;\n\n & li {\n counter-increment: unset;\n\n &::marker {\n content: unset;\n }\n }\n }\n}\n", "/* stylelint-disable declaration-no-important */\n.yfm ol {\n --hier-list-start: 0;\n counter-reset: hier-list-item var(--hier-list-start);\n}\n.yfm ol > li {\n counter-increment: hier-list-item;\n}\n.yfm ol > li::marker {\n content: counter(hier-list-item) \". \";\n}\n.yfm ol > li > ol {\n --hier-list-start: 0;\n counter-reset: sub-hier-list-item var(--hier-list-start);\n}\n.yfm ol > li > ol > li {\n counter-increment: sub-hier-list-item;\n}\n.yfm ol > li > ol > li::marker {\n content: counter(hier-list-item) \".\" counter(sub-hier-list-item) \". \";\n}\n.yfm ol > li > ol > li > ol {\n --hier-list-start: 0;\n counter-reset: sub-sub-hier-list-item var(--hier-list-start);\n}\n.yfm ol > li > ol > li > ol > li {\n counter-increment: sub-sub-hier-list-item;\n}\n.yfm ol > li > ol > li > ol > li::marker {\n content: counter(hier-list-item) \".\" counter(sub-hier-list-item) \".\" counter(sub-sub-hier-list-item) \". \";\n}\n.yfm ol > li > ol > li > ol > li > ol {\n --hier-list-start: 0;\n counter-reset: sub-sub-sub-hier-list-item var(--hier-list-start);\n}\n.yfm ol > li > ol > li > ol > li > ol > li {\n counter-increment: sub-sub-sub-hier-list-item;\n}\n.yfm ol > li > ol > li > ol > li > ol > li::marker {\n content: counter(hier-list-item) \".\" counter(sub-hier-list-item) \".\" counter(sub-sub-hier-list-item) \".\" counter(sub-sub-sub-hier-list-item) \". \";\n}\n.yfm ol > li > ol > li > ol > li > ol > li > ol {\n --hier-list-start: 0;\n counter-reset: sub-sub-sub-sub-hier-list-item var(--hier-list-start);\n}\n.yfm ol > li > ol > li > ol > li > ol > li > ol > li {\n counter-increment: sub-sub-sub-sub-hier-list-item;\n}\n.yfm ol > li > ol > li > ol > li > ol > li > ol > li::marker {\n content: counter(hier-list-item) \".\" counter(sub-hier-list-item) \".\" counter(sub-sub-hier-list-item) \".\" counter(sub-sub-sub-hier-list-item) \".\" counter(sub-sub-sub-sub-hier-list-item) \". \";\n}\n.yfm ol > li > ol > li > ol > li > ol > li > ol > li > ol {\n --hier-list-start: 0;\n counter-reset: sub-sub-sub-sub-sub-hier-list-item var(--hier-list-start);\n}\n.yfm ol > li > ol > li > ol > li > ol > li > ol > li > ol > li {\n counter-increment: sub-sub-sub-sub-sub-hier-list-item;\n}\n.yfm ol > li > ol > li > ol > li > ol > li > ol > li > ol > li::marker {\n content: counter(hier-list-item) \".\" counter(sub-hier-list-item) \".\" counter(sub-sub-hier-list-item) \".\" counter(sub-sub-sub-hier-list-item) \".\" counter(sub-sub-sub-sub-hier-list-item) \".\" counter(sub-sub-sub-sub-sub-hier-list-item) \". \";\n}\n.yfm.yfm_no-list-reset ol,\n.yfm ol.yfm_no-list-reset,\n.yfm .yfm_no-list-reset ol {\n counter-reset: list-item;\n}\n.yfm.yfm_no-list-reset ol li,\n.yfm ol.yfm_no-list-reset li,\n.yfm .yfm_no-list-reset ol li {\n counter-increment: unset;\n}\n.yfm.yfm_no-list-reset ol li::marker,\n.yfm ol.yfm_no-list-reset li::marker,\n.yfm .yfm_no-list-reset ol li::marker {\n content: unset;\n}\n\n.yfm {\n --yfm-color-text-private: rgba(0, 0, 0, 0.7);\n --yfm-color-link-private: #027bf3;\n --yfm-color-link-hover-private: #004080;\n --yfm-color-base-private: #ffffff;\n --yfm-color-border-private: rgba(0, 0, 0, 0.07);\n --yfm-color-accent-private: #027bf3;\n --yfm-color-inline-code-private: rgba(59, 96, 128, 1);\n --yfm-color-inline-code-background-private: rgba(107, 132, 153, 0.12);\n --yfm-color-code-background-private: rgba(107, 132, 153, 0.12);\n --yfm-color-code-background-hovered-private: rgba(107, 132, 153, 0.2);\n --yfm-color-hljs-background-private: rgba(107, 132, 153, 0.12);\n --yfm-color-hljs-subst-private: #444;\n --yfm-color-hljs-comment-private: #888888;\n --yfm-color-hljs-deletion-private: #880000;\n --yfm-color-hljs-section-private: #880000;\n --yfm-color-hljs-pseudo-private: #bc6060;\n --yfm-color-hljs-literal-private: #78a960;\n --yfm-color-hljs-addition-private: #397300;\n --yfm-color-hljs-meta-private: #1f7199;\n --yfm-color-hljs-meta-string-private: #4d99bf;\n --yfm-color-note-tip-private: #56bd67;\n --yfm-color-note-tip-background-private: rgba(63, 201, 46, 0.1);\n --yfm-color-note-warning-private: #f19518;\n --yfm-color-note-warning-background-private: rgba(255, 136, 0, 0.15);\n --yfm-color-note-important-private: #ff4645;\n --yfm-color-note-important-background-private: rgba(235, 50, 38, 0.08);\n --yfm-color-note-info-private: #027bf3;\n --yfm-color-note-info-background-private: rgba(2, 123, 243, 0.08);\n --yfm-color-term-title-private: #027bf3;\n --yfm-color-term-title-hover-private: #004080;\n --yfm-color-term-dfn-background-private: rgb(255, 255, 255);\n --yfm-color-term-dfn-shadow-private: rgba(0, 0, 0, 0.15);\n --yfm-color-term-dfn-pseudo-shadow-private: rgb(229, 229, 229);\n --yfm-color-modal-content-private: rgb(255, 255, 255);\n --yfm-color-modal-actions-hover-private: rgba(0, 0, 0, 0.05);\n --yfm-color-modal-wide-content-private: rgba(0, 0, 0, 0.85);\n --yfm-color-modal-wide-content-overlay-private: rgb(0, 0, 0);\n --yfm-color-table-private: #333;\n --yfm-color-table-row-background-private: rgba(0, 0, 0, 0.02);\n --yfm-color-table-border-private: rgba(0, 0, 0, 0.07);\n --yfm-color-table-background-private: #ffffff;\n --yfm-color-table-head-background-private: rgba(0, 0, 0, 0.02);\n --yfm-color-table-stripe-row-background-private: rgba(0, 0, 0, 0.02);\n font-family: var(--yfm-font-family-sans);\n font-size: var(--yfm-font-size, 15px);\n line-height: var(--yfm-font-line-height, 20px);\n word-wrap: break-word;\n color: var(--yfm-color-text, var(--yfm-color-text-private));\n tab-size: var(--yfm-tab-size, inherit);\n --yfm-font-family-monospace:\n 'Menlo', 'Monaco', 'Consolas', 'Ubuntu Mono', 'Liberation Mono', 'DejaVu Sans Mono',\n 'Courier New', 'Courier', monospace;\n --yfm-font-family-sans:\n 'Segoe UI', arial, helvetica, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n}\n.yfm * {\n box-sizing: border-box;\n}\n.yfm > *:not(h2):not(h3):not(h4):not(h5):not(h6):first-child {\n margin-top: 0 !important;\n}\n.yfm > *:last-child {\n margin-bottom: 0 !important;\n}\n.yfm h1,\n.yfm h2,\n.yfm h3,\n.yfm h4,\n.yfm h5,\n.yfm h6 {\n margin-bottom: 15px;\n font-weight: 500;\n}\n.yfm h1 {\n font-size: var(--yfm-font-size-h1, 32px);\n line-height: var(--yfm-font-line-height-h1, 40px);\n}\n.yfm h2 {\n font-size: var(--yfm-font-size-h2, 24px);\n line-height: var(--yfm-font-line-height-h2, 28px);\n}\n.yfm h3 {\n font-size: var(--yfm-font-size-h3, 20px);\n line-height: var(--yfm-font-line-height-h3, 24px);\n}\n.yfm h4 {\n font-size: var(--yfm-font-size-h4, 17px);\n line-height: var(--yfm-font-line-height-h4, 24px);\n}\n.yfm h5 {\n font-size: var(--yfm-font-size-h5, 15px);\n line-height: var(--yfm-font-line-height-h5, 20px);\n}\n.yfm h6 {\n font-size: var(--yfm-font-size-h6, 13px);\n line-height: var(--yfm-font-line-height-h6, 18px);\n}\n.yfm a {\n background-color: transparent;\n color: var(--yfm-color-link, var(--yfm-color-link-private));\n text-decoration: none;\n}\n.yfm a:hover, .yfm a:active {\n color: var(--yfm-color-link-hover, var(--yfm-color-link-hover-private));\n}\n.yfm a:not([href]) {\n color: inherit;\n}\n.yfm strong {\n font-weight: 700;\n}\n.yfm img,\n.yfm svg {\n box-sizing: content-box;\n max-width: 100%;\n max-height: fit-content;\n border: none;\n vertical-align: middle;\n}\n.yfm img[align=right],\n.yfm svg[align=right] {\n padding-left: 20px;\n}\n.yfm img[align=left],\n.yfm svg[align=left] {\n padding-right: 20px;\n}\n.yfm .mermaid svg[id*=mermaid] {\n max-height: none;\n}\n.yfm img {\n object-fit: contain;\n background-color: var(--yfm-color-base, var(--yfm-color-base-private));\n}\n.yfm svg {\n height: auto;\n}\n.yfm img + small {\n display: block;\n}\n.yfm p,\n.yfm .checkbox,\n.yfm blockquote,\n.yfm ul,\n.yfm ol,\n.yfm dl,\n.yfm table,\n.yfm pre {\n margin-block: var(--yfm-text-block-margin-block, 0 15px);\n margin-inline: var(--yfm-text-block-margin-inline, 0);\n}\n.yfm ul pre,\n.yfm ol pre,\n.yfm dl pre {\n margin-top: 15px;\n}\n.yfm code,\n.yfm kbd,\n.yfm pre {\n font-family: var(--yfm-font-family-monospace);\n font-size: 1em;\n font-feature-settings: normal;\n}\n.yfm input {\n margin: 0;\n overflow: visible;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n.yfm input[type=checkbox] {\n position: relative;\n top: 1px;\n box-sizing: border-box;\n padding: 0;\n}\n.yfm .checkbox {\n display: flex;\n}\n.yfm .checkbox > input[type=checkbox] {\n align-self: flex-start;\n top: 3px;\n margin-right: 3px;\n}\n.yfm .checkbox:has(+ .checkbox) {\n margin-bottom: var(--yfm-checkbox-margin-between, 0);\n}\n.yfm .checkbox + .checkbox {\n margin-top: 0;\n}\n.yfm table {\n color: var(--yfm-color-table, var(--yfm-color-table-private));\n display: inline-block;\n max-width: 100%;\n width: auto;\n overflow: auto;\n position: relative;\n z-index: 1;\n scrollbar-width: thin;\n box-sizing: border-box;\n border: 1px solid var(--yfm-color-table-border, var(--yfm-color-table-border-private));\n border-radius: 8px;\n border-collapse: collapse;\n border-spacing: 0;\n background: var(--yfm-color-table-background, var(--yfm-color-table-background-private));\n}\n.yfm table thead {\n background-color: var(--yfm-color-table-head-background, var(--yfm-color-table-head-background-private));\n}\n.yfm table tr:first-child td,\n.yfm table tr:first-child th {\n border-top: none;\n}\n.yfm table tr:last-child td,\n.yfm table tr:last-child th {\n border-bottom: none;\n}\n.yfm table th,\n.yfm table td {\n padding: 10px 20px;\n overflow: hidden;\n text-overflow: ellipsis;\n border: 1px solid var(--yfm-color-table-border, var(--yfm-color-table-border-private));\n}\n.yfm table th > *:first-child,\n.yfm table td > *:first-child {\n margin-top: 0;\n}\n.yfm table th > *:last-child,\n.yfm table td > *:last-child {\n margin-bottom: 0;\n}\n.yfm table td {\n vertical-align: top;\n white-space: normal;\n}\n.yfm table th {\n font-weight: 500;\n text-align: left;\n}\n.yfm table tr td:first-child,\n.yfm table tr th:first-child {\n border-left: none;\n}\n.yfm table tr td:last-child,\n.yfm table tr th:last-child {\n border-right: none;\n}\n.yfm:not(.yfm_no-stripe-table) table tr:nth-child(2n) {\n background-color: var(--yfm-color-table-stripe-row-background, var(--yfm-color-table-stripe-row-background-private));\n}\n.yfm hr {\n box-sizing: content-box;\n height: var(--yfm-hr-height, 0.25em);\n padding: 0;\n margin: var(--yfm-hr-margin, 1.5em 0);\n overflow: hidden;\n background-color: var(--yfm-color-border, var(--yfm-color-border-private));\n border: none;\n}\n.yfm hr::before {\n content: \"\";\n display: table;\n}\n.yfm hr::after {\n content: \"\";\n display: table;\n clear: both;\n}\n.yfm blockquote {\n position: relative;\n padding-left: 12px;\n border-left: 3px solid var(--yfm-color-accent, var(--yfm-color-accent-private));\n}\n.yfm blockquote > *:first-child {\n margin-top: 0;\n}\n.yfm blockquote > *:last-child {\n margin-bottom: 0;\n}\n.yfm dl {\n padding: 0;\n}\n.yfm dl > *:first-child {\n margin-top: 0;\n}\n.yfm dl > *:last-child {\n margin-bottom: 0;\n}\n.yfm dl dt {\n margin-bottom: 5px;\n font-size: 1em;\n font-weight: bold;\n}\n.yfm dl dd {\n margin-bottom: 15px;\n padding: 0 15px;\n}\n.yfm dd {\n margin-left: 0;\n}\n.yfm ul,\n.yfm ol {\n padding-left: 2.2em;\n}\n.yfm ul ul:last-child,\n.yfm ul ol:last-child,\n.yfm ol ol:last-child,\n.yfm ol ul:last-child {\n margin-top: 0;\n margin-bottom: 0;\n}\n.yfm li {\n word-wrap: break-word;\n}\n.yfm li:first-child,\n.yfm li + li {\n margin-block: var(--yfm-list-item-margin-block, 0.33em 0);\n}\n.yfm li p,\n.yfm li blockquote {\n margin-block: var(--yfm-list-text-margin-block, 0 15px);\n}\n.yfm li > p:only-of-type,\n.yfm li > blockquote:only-of-type,\n.yfm li > p:first-child:has(+ ul),\n.yfm li > p:first-child:has(+ ol) {\n margin-block: var(--yfm-list-text-only-margin-block, 0);\n}\n.yfm li > p:last-child {\n margin-block: var(--yfm-list-text-last-margin-block, 0);\n}\n.yfm code {\n padding: 0.1em 0.4em 0.15em;\n background-color: var(--yfm-color-inline-code-background, var(--yfm-color-inline-code-background-private));\n border-radius: 4px;\n font-size: 0.875em;\n white-space: pre-wrap;\n color: var(--yfm-color-inline-code, var(--yfm-color-inline-code-private));\n tab-size: var(--yfm-tab-size-code, inherit);\n}\n.yfm a code {\n color: inherit;\n}\n.yfm pre {\n word-wrap: normal;\n}\n.yfm table code {\n white-space: nowrap;\n}\n.yfm pre * code {\n display: inline;\n padding: 0;\n margin: 0;\n overflow: visible;\n word-wrap: normal;\n background-color: transparent;\n border: 0;\n color: var(--yfm-color-text, var(--yfm-color-text-private));\n}\n.yfm pre > code {\n display: block;\n padding: 16px;\n overflow: auto;\n background-color: var(--yfm-color-code-background, var(--yfm-color-code-background-private));\n color: var(--yfm-color-text, var(--yfm-color-text-private));\n white-space: pre;\n}\n.yfm pre > code .yfm-line-number {\n display: inline-block;\n padding-right: 1em;\n color: var(--yfm-color-line-numbers, #666);\n user-select: none;\n}\n.yfm sup,\n.yfm sub {\n line-height: 0;\n}\n.yfm {\n /*\n Hides element visually, but leaves it visible for search crawlers and screen readers\n\n https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n */\n}\n.yfm .visually-hidden {\n position: absolute;\n overflow: hidden;\n clip: rect(0 0 0 0);\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n white-space: nowrap;\n border: 0;\n clip-path: inset(100%);\n user-select: none;\n}\n\n.yfm h1 .yfm-clipboard-anchor,\n.yfm h2 .yfm-clipboard-anchor,\n.yfm h3 .yfm-clipboard-anchor,\n.yfm h4 .yfm-clipboard-anchor,\n.yfm h5 .yfm-clipboard-anchor,\n.yfm h6 .yfm-clipboard-anchor {\n background: none;\n color: var(--yfm-color-link, var(--yfm-color-link-private));\n border: none;\n padding: 0;\n font: inherit;\n cursor: pointer;\n}\n.yfm h1 .yfm-clipboard-anchor:hover,\n.yfm h2 .yfm-clipboard-anchor:hover,\n.yfm h3 .yfm-clipboard-anchor:hover,\n.yfm h4 .yfm-clipboard-anchor:hover,\n.yfm h5 .yfm-clipboard-anchor:hover,\n.yfm h6 .yfm-clipboard-anchor:hover {\n color: var(--yfm-color-link-hover, var(--yfm-color-link-hover-private));\n}\n.yfm h1 .yfm-anchor,\n.yfm h1 .yfm-clipboard-anchor,\n.yfm h2 .yfm-anchor,\n.yfm h2 .yfm-clipboard-anchor,\n.yfm h3 .yfm-anchor,\n.yfm h3 .yfm-clipboard-anchor,\n.yfm h4 .yfm-anchor,\n.yfm h4 .yfm-clipboard-anchor,\n.yfm h5 .yfm-anchor,\n.yfm h5 .yfm-clipboard-anchor,\n.yfm h6 .yfm-anchor,\n.yfm h6 .yfm-clipboard-anchor {\n display: inline-block;\n width: 24px;\n padding-right: 4px;\n margin-left: -24px;\n float: left;\n text-align: center;\n font-size: 18px;\n}\n.yfm h1 .yfm-anchor:focus::before,\n.yfm h1 .yfm-clipboard-anchor:focus::before,\n.yfm h2 .yfm-anchor:focus::before,\n.yfm h2 .yfm-clipboard-anchor:focus::before,\n.yfm h3 .yfm-anchor:focus::before,\n.yfm h3 .yfm-clipboard-anchor:focus::before,\n.yfm h4 .yfm-anchor:focus::before,\n.yfm h4 .yfm-clipboard-anchor:focus::before,\n.yfm h5 .yfm-anchor:focus::before,\n.yfm h5 .yfm-clipboard-anchor:focus::before,\n.yfm h6 .yfm-anchor:focus::before,\n.yfm h6 .yfm-clipboard-anchor:focus::before {\n opacity: 1;\n}\n.yfm h1 .yfm-anchor::before,\n.yfm h1 .yfm-clipboard-anchor::before,\n.yfm h2 .yfm-anchor::before,\n.yfm h2 .yfm-clipboard-anchor::before,\n.yfm h3 .yfm-anchor::before,\n.yfm h3 .yfm-clipboard-anchor::before,\n.yfm h4 .yfm-anchor::before,\n.yfm h4 .yfm-clipboard-anchor::before,\n.yfm h5 .yfm-anchor::before,\n.yfm h5 .yfm-clipboard-anchor::before,\n.yfm h6 .yfm-anchor::before,\n.yfm h6 .yfm-clipboard-anchor::before {\n content: \"#\";\n opacity: 0;\n}\n.yfm h1:hover .yfm-anchor::before,\n.yfm h1:hover .yfm-clipboard-anchor::before,\n.yfm h2:hover .yfm-anchor::before,\n.yfm h2:hover .yfm-clipboard-anchor::before,\n.yfm h3:hover .yfm-anchor::before,\n.yfm h3:hover .yfm-clipboard-anchor::before,\n.yfm h4:hover .yfm-anchor::before,\n.yfm h4:hover .yfm-clipboard-anchor::before,\n.yfm h5:hover .yfm-anchor::before,\n.yfm h5:hover .yfm-clipboard-anchor::before,\n.yfm h6:hover .yfm-anchor::before,\n.yfm h6:hover .yfm-clipboard-anchor::before {\n opacity: 1;\n}\n.yfm table h1 .yfm-anchor,\n.yfm table h1 .yfm-clipboard-anchor,\n.yfm table h2 .yfm-anchor,\n.yfm table h2 .yfm-clipboard-anchor,\n.yfm table h3 .yfm-anchor,\n.yfm table h3 .yfm-clipboard-anchor,\n.yfm table h4 .yfm-anchor,\n.yfm table h4 .yfm-clipboard-anchor,\n.yfm table h5 .yfm-anchor,\n.yfm table h5 .yfm-clipboard-anchor,\n.yfm table h6 .yfm-anchor,\n.yfm table h6 .yfm-clipboard-anchor {\n width: 1em;\n margin-left: -1em;\n padding-right: 0;\n}\n.yfm .yfm-tabs .yfm-anchor::before,\n.yfm .yfm-tabs .yfm-clipboard-anchor::before {\n position: absolute;\n padding-right: 2px;\n}\n\n.yfm .hljs {\n display: block;\n overflow-x: auto;\n padding: 16px;\n background: var(--yfm-color-code-background, var(--yfm-color-hljs-background, var(--yfm-color-hljs-background-private)));\n}\n.yfm .hljs,\n.yfm .hljs-subst {\n color: var(--yfm-color-hljs-subst, var(--yfm-color-hljs-subst-private));\n}\n.yfm .hljs-comment {\n color: var(--yfm-color-hljs-comment, var(--yfm-color-hljs-comment-private));\n}\n.yfm .hljs-keyword,\n.yfm .hljs-attribute,\n.yfm .hljs-selector-tag,\n.yfm .hljs-meta-keyword,\n.yfm .hljs-doctag,\n.yfm .hljs-name {\n font-weight: bold;\n}\n.yfm .hljs-type,\n.yfm .hljs-string,\n.yfm .hljs-number,\n.yfm .hljs-selector-id,\n.yfm .hljs-selector-class,\n.yfm .hljs-quote,\n.yfm .hljs-template-tag,\n.yfm .hljs-deletion {\n color: var(--yfm-color-hljs-deletion, var(--yfm-color-hljs-deletion-private));\n}\n.yfm .hljs-title,\n.yfm .hljs-section {\n color: var(--yfm-color-hljs-section, var(--yfm-color-hljs-section-private));\n font-weight: bold;\n}\n.yfm .hljs-regexp,\n.yfm .hljs-symbol,\n.yfm .hljs-variable,\n.yfm .hljs-template-variable,\n.yfm .hljs-link,\n.yfm .hljs-selector-attr,\n.yfm .hljs-selector-pseudo {\n color: var(--yfm-color-hljs-pseudo, var(--yfm-color-hljs-pseudo-private));\n}\n.yfm .hljs-literal {\n color: var(--yfm-color-hljs-literal, var(--yfm-color-hljs-literal-private));\n}\n.yfm .hljs-built_in,\n.yfm .hljs-bullet,\n.yfm .hljs-code,\n.yfm .hljs-addition {\n color: var(--yfm-color-hljs-addition, var(--yfm-color-hljs-addition-private));\n}\n.yfm .hljs-meta {\n color: var(--yfm-color-hljs-meta, var(--yfm-color-hljs-meta-private));\n}\n.yfm .hljs-meta-string {\n color: var(--yfm-color-hljs-meta-string, var(--yfm-color-hljs-meta-string-private));\n}\n.yfm .hljs-emphasis {\n font-style: italic;\n}\n.yfm .hljs-strong {\n font-weight: bold;\n}\n\n.yfm-code-floating-container {\n position: relative;\n}\n.yfm-code-floating-container .yfm-code-button {\n min-width: 20px;\n min-height: 20px;\n flex-shrink: 0;\n background: none;\n color: inherit;\n border: none;\n padding: 0;\n font: inherit;\n cursor: pointer;\n}\n.yfm-code-floating-container:hover .yfm-code-floating {\n opacity: 1;\n}\n.yfm-code-floating-container > pre {\n border-radius: 10px;\n overflow: hidden;\n}\n.yfm-code-floating-container > pre code:has(> .yfm-line) {\n display: grid;\n grid-template-columns: auto 1fr;\n}\n.yfm-code-floating-container > pre code.wrap {\n white-space: pre-wrap;\n}\n.yfm-code-floating-container .yfm-code-floating {\n position: absolute;\n top: 16px;\n right: 16px;\n z-index: 1;\n opacity: 0;\n display: flex;\n flex-wrap: nowrap;\n gap: 4px;\n}\n.yfm-code-floating-container .yfm-code-floating:focus, .yfm-code-floating-container .yfm-code-floating:has(> .yfm-code-button:focus) {\n opacity: 1;\n}\n.yfm-code-floating-container .yfm-code-icon {\n pointer-events: none;\n}\n.yfm-clipboard-inline-code {\n transition: 0.3s;\n}\n.yfm-clipboard-inline-code:hover {\n cursor: pointer;\n background-color: var(--yfm-color-code-hovered-background, var(--yfm-color-code-background-hovered-private));\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvdHJhbnNmb3JtL3RyYW5zZm9ybS9zcmMvc2NzcyIsInNvdXJjZXMiOlsiX2NvbW1vbi5zY3NzIiwiX2xpc3RzLnNjc3MiLCJwcml2YXRlLnNjc3MiLCJfYW5jaG9yLnNjc3MiLCJfaGlnaGxpZ2h0LnNjc3MiLCJfY29kZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FDNkNRO0VBQ0k7RUFDQTs7QUFFQTtFQUNJLG1CQVJBOztBQVVBO0VBQ0k7O0FBUlo7RUFDSTtFQUNBOztBQUVBO0VBQ0ksbUJBUkE7O0FBVUE7RUFDSTs7QUFSWjtFQUNJO0VBQ0E7O0FBRUE7RUFDSSxtQkFSQTs7QUFVQTtFQUNJOztBQVJaO0VBQ0k7RUFDQTs7QUFFQTtFQUNJLG1CQVJBOztBQVVBO0VBQ0k7O0FBUlo7RUFDSTtFQUNBOztBQUVBO0VBQ0ksbUJBUkE7O0FBVUE7RUFDSTs7QUFSWjtFQUNJO0VBQ0E7O0FBRUE7RUFDSSxtQkFSQTs7QUFVQTtFQUNJOztBQVVoQjtBQUFBO0FBQUE7RUFHSTs7QUFFQTtBQUFBO0FBQUE7RUFDSTs7QUFFQTtBQUFBO0FBQUE7RUFDSTs7O0FEekRoQjtFRWRJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VGL0JBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FBQUE7QUFBQTtFQUdBO0FBQUE7QUFBQTs7QUFJQTtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFNSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBRUk7O0FBR0o7RUFDSTs7QUFJUjtFQUNJOztBQUdKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFDSTs7QUFHSjtBQUFBO0VBQ0k7O0FBSVI7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFRSTtFQUNBOztBQU1BO0FBQUE7QUFBQTtFQUNJOztBQUlSO0FBQUE7QUFBQTtFQUdJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBRUE7RUFDQTs7QUFJUjtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUVBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFJUjtFQUNJO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFPQTtBQUFBO0VBRUk7O0FBS0o7QUFBQTtFQUVJOztBQUlSO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7QUEvT1I7QUFBQTtFQUNJOztBQUdKO0FBQUE7RUFDSTs7QUErT0E7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtBQUFBO0VBRUk7O0FBRUo7QUFBQTtFQUVJOztBQUlSO0VBQ0k7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBeFNKO0VBQ0k7O0FBR0o7RUFDSTs7QUF3U0o7RUFDSTs7QUE5U0o7RUFDSTs7QUFHSjtFQUNJOztBQTZTQTtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBSVI7RUFDSTs7QUFHSjtBQUFBO0VBRUk7O0FBR0o7QUFBQTtBQUFBO0FBQUE7RUFJSTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7QUFBQTtFQUVJOztBQUlBO0FBQUE7RUFFSTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUlJOztBQUdKO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUlBO0VBRUE7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFJUjtBQUFBO0VBRUk7O0FBNVpSO0FBK1pJO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQU1BO0VBQ0k7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFFQTtFQUVBO0VBRUE7RUFDQTs7O0FHOWJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSTs7QUFJUjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7QUFHSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSTs7QUFJUjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSTtFQUNBOztBQUtKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVJOztBQVlKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVJO0VBQ0E7RUFDQTs7QUFNUjtBQUFBO0VBRUk7RUFDQTs7O0FDdkVSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBTUo7QUFBQTtFQUVJOztBQUdKO0VBQ0k7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUk7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQVFJOztBQUdKO0FBQUE7RUFFSTtFQUNBOztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBT0k7O0FBR0o7RUFDSTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUlJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7OztBQy9FSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0k7O0FBSVI7RUFDSTtFQUNBOztBQUdBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBQ0E7RUFDQTs7QUFFQTtFQUVJOztBQUlSO0VBQ0k7O0FBSVI7RUFDSTs7QUFFQTtFQUNJO0VBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi9cblxuQHVzZSAncHJpdmF0ZSc7XG5AdXNlICdsaXN0cyc7XG5cbkBtaXhpbiByZW1vdmVNYXJnaW5Gb3JFZGdlQ2hpbGRyZW4ge1xuICAgICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi55Zm0ge1xuICAgIEBpbmNsdWRlIHByaXZhdGUucHJpdmF0ZS1icmFuZCgpO1xuXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXlmbS1mb250LWZhbWlseS1zYW5zKTtcbiAgICBmb250LXNpemU6IHZhcigtLXlmbS1mb250LXNpemUsIDE1cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS15Zm0tZm9udC1saW5lLWhlaWdodCwgMjBweCk7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItdGV4dCwgdmFyKC0teWZtLWNvbG9yLXRleHQtcHJpdmF0ZSkpO1xuICAgIHRhYi1zaXplOiB2YXIoLS15Zm0tdGFiLXNpemUsIGluaGVyaXQpO1xuXG4gICAgLS15Zm0tZm9udC1mYW1pbHktbW9ub3NwYWNlOlxuICAgICAgICAnTWVubG8nLCAnTW9uYWNvJywgJ0NvbnNvbGFzJywgJ1VidW50dSBNb25vJywgJ0xpYmVyYXRpb24gTW9ubycsICdEZWphVnUgU2FucyBNb25vJyxcbiAgICAgICAgJ0NvdXJpZXIgTmV3JywgJ0NvdXJpZXInLCBtb25vc3BhY2U7XG4gICAgLS15Zm0tZm9udC1mYW1pbHktc2FuczpcbiAgICAgICAgJ1NlZ29lIFVJJywgYXJpYWwsIGhlbHZldGljYSwgc2Fucy1zZXJpZiwgJ0FwcGxlIENvbG9yIEVtb2ppJywgJ1NlZ29lIFVJIEVtb2ppJyxcbiAgICAgICAgJ1NlZ29lIFVJIFN5bWJvbCc7XG5cbiAgICAqIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICAmID4gKjpub3QoaDIpOm5vdChoMyk6bm90KGg0KTpub3QoaDUpOm5vdChoNik6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJiA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLXlmbS1mb250LXNpemUtaDEsIDMycHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0teWZtLWZvbnQtbGluZS1oZWlnaHQtaDEsIDQwcHgpO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS15Zm0tZm9udC1zaXplLWgyLCAyNHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXlmbS1mb250LWxpbmUtaGVpZ2h0LWgyLCAyOHB4KTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0teWZtLWZvbnQtc2l6ZS1oMywgMjBweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS15Zm0tZm9udC1saW5lLWhlaWdodC1oMywgMjRweCk7XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLXlmbS1mb250LXNpemUtaDQsIDE3cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0teWZtLWZvbnQtbGluZS1oZWlnaHQtaDQsIDI0cHgpO1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS15Zm0tZm9udC1zaXplLWg1LCAxNXB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXlmbS1mb250LWxpbmUtaGVpZ2h0LWg1LCAyMHB4KTtcbiAgICB9XG5cbiAgICBoNiB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0teWZtLWZvbnQtc2l6ZS1oNiwgMTNweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS15Zm0tZm9udC1saW5lLWhlaWdodC1oNiwgMThweCk7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLWxpbmssIHZhcigtLXlmbS1jb2xvci1saW5rLXByaXZhdGUpKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItbGluay1ob3ZlciwgdmFyKC0teWZtLWNvbG9yLWxpbmstaG92ZXItcHJpdmF0ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoW2hyZWZdKSB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgaW1nLFxuICAgIHN2ZyB7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgJlthbGlnbj0ncmlnaHQnXSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmW2FsaWduPSdsZWZ0J10ge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZXJtYWlkIHN2Z1tpZCo9J21lcm1haWQnXSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teWZtLWNvbG9yLWJhc2UsIHZhcigtLXlmbS1jb2xvci1iYXNlLXByaXZhdGUpKTtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgaW1nICsgc21hbGwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBwLFxuICAgIC5jaGVja2JveCxcbiAgICBibG9ja3F1b3RlLFxuICAgIHVsLFxuICAgIG9sLFxuICAgIGRsLFxuICAgIHRhYmxlLFxuICAgIHByZSB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogdmFyKC0teWZtLXRleHQtYmxvY2stbWFyZ2luLWJsb2NrLCAwIDE1cHgpO1xuICAgICAgICBtYXJnaW4taW5saW5lOiB2YXIoLS15Zm0tdGV4dC1ibG9jay1tYXJnaW4taW5saW5lLCAwKTtcbiAgICB9XG5cbiAgICB1bCxcbiAgICBvbCxcbiAgICBkbCB7XG4gICAgICAgICYgcHJlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBwcmUge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0teWZtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cbiAgICAgICAgJlt0eXBlPSdjaGVja2JveCddIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMXB4O1xuXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jaGVja2JveCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgJiA+IGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHRvcDogM3B4O1xuXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aGFzKCsgLmNoZWNrYm94KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS15Zm0tY2hlY2tib3gtbWFyZ2luLWJldHdlZW4sIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJiArIC5jaGVja2JveCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLXRhYmxlLCB2YXIoLS15Zm0tY29sb3ItdGFibGUtcHJpdmF0ZSkpO1xuXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXlmbS1jb2xvci10YWJsZS1ib3JkZXIsIHZhcigtLXlmbS1jb2xvci10YWJsZS1ib3JkZXItcHJpdmF0ZSkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS15Zm0tY29sb3ItdGFibGUtYmFja2dyb3VuZCwgdmFyKC0teWZtLWNvbG9yLXRhYmxlLWJhY2tncm91bmQtcHJpdmF0ZSkpO1xuXG4gICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcihcbiAgICAgICAgICAgICAgICAtLXlmbS1jb2xvci10YWJsZS1oZWFkLWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgdmFyKC0teWZtLWNvbG9yLXRhYmxlLWhlYWQtYmFja2dyb3VuZC1wcml2YXRlKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHRkLFxuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHRkLFxuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aCxcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0teWZtLWNvbG9yLXRhYmxlLWJvcmRlciwgdmFyKC0teWZtLWNvbG9yLXRhYmxlLWJvcmRlci1wcml2YXRlKSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlbW92ZU1hcmdpbkZvckVkZ2VDaGlsZHJlbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyIHRkOmZpcnN0LWNoaWxkLFxuICAgICAgICB0ciB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICB0ciB0ZDpsYXN0LWNoaWxkLFxuICAgICAgICB0ciB0aDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC55Zm1fbm8tc3RyaXBlLXRhYmxlKSB0YWJsZSB0cjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgICAgICAgLS15Zm0tY29sb3ItdGFibGUtc3RyaXBlLXJvdy1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgdmFyKC0teWZtLWNvbG9yLXRhYmxlLXN0cmlwZS1yb3ctYmFja2dyb3VuZC1wcml2YXRlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGhyIHtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIGhlaWdodDogdmFyKC0teWZtLWhyLWhlaWdodCwgMC4yNWVtKTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS15Zm0taHItbWFyZ2luLCAxLjVlbSAwKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS15Zm0tY29sb3ItYm9yZGVyLCB2YXIoLS15Zm0tY29sb3ItYm9yZGVyLXByaXZhdGUpKTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXlmbS1jb2xvci1hY2NlbnQsIHZhcigtLXlmbS1jb2xvci1hY2NlbnQtcHJpdmF0ZSkpO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlbW92ZU1hcmdpbkZvckVkZ2VDaGlsZHJlbigpO1xuICAgIH1cblxuICAgIGRsIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBAaW5jbHVkZSByZW1vdmVNYXJnaW5Gb3JFZGdlQ2hpbGRyZW4oKTtcblxuICAgICAgICBkdCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgZGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgdWwsXG4gICAgb2wge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuMmVtO1xuICAgIH1cblxuICAgIHVsIHVsOmxhc3QtY2hpbGQsXG4gICAgdWwgb2w6bGFzdC1jaGlsZCxcbiAgICBvbCBvbDpsYXN0LWNoaWxkLFxuICAgIG9sIHVsOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIH1cblxuICAgIGxpOmZpcnN0LWNoaWxkLFxuICAgIGxpICsgbGkge1xuICAgICAgICBtYXJnaW4tYmxvY2s6IHZhcigtLXlmbS1saXN0LWl0ZW0tbWFyZ2luLWJsb2NrLCAwLjMzZW0gMCk7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBwLFxuICAgICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogdmFyKC0teWZtLWxpc3QtdGV4dC1tYXJnaW4tYmxvY2ssIDAgMTVweCk7XG4gICAgICAgIH1cblxuICAgICAgICA+IHA6b25seS1vZi10eXBlLFxuICAgICAgICA+IGJsb2NrcXVvdGU6b25seS1vZi10eXBlLFxuICAgICAgICA+IHA6Zmlyc3QtY2hpbGQ6aGFzKCsgdWwpLFxuICAgICAgICA+IHA6Zmlyc3QtY2hpbGQ6aGFzKCsgb2wpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogdmFyKC0teWZtLWxpc3QtdGV4dC1vbmx5LW1hcmdpbi1ibG9jaywgMCk7XG4gICAgICAgIH1cblxuICAgICAgICA+IHA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6IHZhcigtLXlmbS1saXN0LXRleHQtbGFzdC1tYXJnaW4tYmxvY2ssIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29kZSB7XG4gICAgICAgIHBhZGRpbmc6IDAuMWVtIDAuNGVtIDAuMTVlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgICAgICAgLS15Zm0tY29sb3ItaW5saW5lLWNvZGUtYmFja2dyb3VuZCxcbiAgICAgICAgICAgIHZhcigtLXlmbS1jb2xvci1pbmxpbmUtY29kZS1iYWNrZ3JvdW5kLXByaXZhdGUpXG4gICAgICAgICk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItaW5saW5lLWNvZGUsIHZhcigtLXlmbS1jb2xvci1pbmxpbmUtY29kZS1wcml2YXRlKSk7XG4gICAgICAgIHRhYi1zaXplOiB2YXIoLS15Zm0tdGFiLXNpemUtY29kZSwgaW5oZXJpdCk7XG4gICAgfVxuXG4gICAgYSBjb2RlIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgcHJlIHtcbiAgICAgICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgfVxuXG4gICAgdGFibGUgY29kZSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgcHJlICogY29kZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItdGV4dCwgdmFyKC0teWZtLWNvbG9yLXRleHQtcHJpdmF0ZSkpO1xuICAgIH1cblxuICAgIHByZSA+IGNvZGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgICAgICAgLS15Zm0tY29sb3ItY29kZS1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgdmFyKC0teWZtLWNvbG9yLWNvZGUtYmFja2dyb3VuZC1wcml2YXRlKVxuICAgICAgICApO1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLXRleHQsIHZhcigtLXlmbS1jb2xvci10ZXh0LXByaXZhdGUpKTtcblxuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlO1xuXG4gICAgICAgIC55Zm0tbGluZS1udW1iZXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMWVtO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXlmbS1jb2xvci1saW5lLW51bWJlcnMsICM2NjYpO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdXAsXG4gICAgc3ViIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLypcbiAgICAgICAgSGlkZXMgZWxlbWVudCB2aXN1YWxseSwgYnV0IGxlYXZlcyBpdCB2aXNpYmxlIGZvciBzZWFyY2ggY3Jhd2xlcnMgYW5kIHNjcmVlbiByZWFkZXJzXG5cbiAgICAgICAgaHR0cHM6Ly93d3cuYTExeXByb2plY3QuY29tL3Bvc3RzLzIwMTMtMDEtMTEtaG93LXRvLWhpZGUtY29udGVudC9cbiAgICAgICAgaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4gICAgKi9cbiAgICAudmlzdWFsbHktaGlkZGVuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG1hcmdpbjogLTFweDtcblxuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgYm9y