/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ /* stylelint-disable declaration-property-unit-allowed-list, a11y/line-height-is-vertical-rhythmed, a11y/no-display-none */ /* Document ========================================================================== */ /** * 1. Correct the line height in all browsers. * 2. Prevent adjustments of font size after orientation changes in iOS. */ html { line-height: 1.15; } /* Sections ========================================================================== */ /** * Remove the margin in all browsers. */ body { margin: 0; } /** * Render the `main` element consistently in IE. */ main { display: block; } /** * Correct the font size and margin on `h1` elements within `section` and * `article` contexts in Chrome, Firefox, and Safari. */ h1 { font-size: 2em; margin: .67em 0; } /* Grouping content ========================================================================== */ /** * 1. Add the correct box sizing in Firefox. * 2. Show the overflow in Edge and IE. */ hr { box-sizing: content-box; height: 0; overflow: visible; } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ pre { font-family: monospace; font-size: 1em; } /* Text-level semantics ========================================================================== */ /** * Remove the gray background on active links in IE 10. */ a { background-color: transparent; } /** * 1. Remove the bottom border in Chrome 57- * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */ abbr[title] { border-bottom: 0; text-decoration: underline dotted; } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ code, kbd, samp { font-family: monospace; font-size: 1em; } /** * Add the correct font size in all browsers. */ small { font-size: 80%; } /* Embedded content ========================================================================== */ /** * Remove the border on images inside links in IE 10. */ img { border-style: none; } /* Forms ========================================================================== */ /** * 1. Change the font styles in all browsers. * 2. Remove the margin in Firefox and Safari. */ button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; } /** * Show the overflow in IE. * 1. Show the overflow in Edge. */ button, input { overflow: visible; } /** * Remove the inheritance of text transform in Edge, Firefox, and IE. * 1. Remove the inheritance of text transform in Firefox. */ button, select { text-transform: none; } /** * Correct the inability to style clickable types in iOS and Safari. */ button, [type="button"], [type="reset"], [type="submit"] { appearance: button; } /** * Remove the inner border and padding in Firefox. */ button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; } /** * Restore the focus styles unset by the previous rule. */ button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; } /** * Correct the padding in Firefox. */ fieldset { padding: .35em .75em .625em; } /** * 1. Correct the text wrapping in Edge and IE. * 2. Correct the color inheritance from `fieldset` elements in IE. * 3. Remove the padding so developers are not caught out when they zero out * `fieldset` elements in all browsers. */ legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; } /** * Add the correct vertical alignment in Chrome, Firefox, and Opera. */ progress { vertical-align: baseline; } /** * Remove the default vertical scrollbar in IE 10+. */ textarea { overflow: auto; } /** * 1. Add the correct box sizing in IE 10. * 2. Remove the padding in IE 10. */ [type="checkbox"], [type="radio"] { box-sizing: border-box; padding: 0; } /** * Correct the cursor style of increment and decrement buttons in Chrome. */ [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; } /** * 1. Correct the odd appearance in Chrome and Safari. * 2. Correct the outline style in Safari. */ [type="search"] { -webkit-appearance: textfield; outline-offset: -2px; } /** * Remove the inner padding in Chrome and Safari on macOS. */ [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } /* Interactive ========================================================================== */ /* * Add the correct display in Edge, IE 10+, and Firefox. */ details { display: block; } /* * Add the correct display in all browsers. */ summary { display: list-item; } /* Misc ========================================================================== */ /** * Add the correct display in IE 10+. */ template { display: none; } /** * Add the correct display in IE 10. */ [hidden] { display: none; } /* stylelint-enable declaration-property-unit-allowed-list */ /** * Convert hex color to RGB color format */ /* stylelint-disable declaration-property-unit-allowed-list */ /* stylelint-enable declaration-property-unit-allowed-list */ :root { --color-black: #222; --color-black-rock: #2b303c; --color-blue-chalk: #ece6f2; --color-east-bay: #545773; --color-pattens-blue: #eaf1f8; --color-science-blue: #0049d1; --color-valhalla: #2a2d3e; --color-white: #fff; --color-heading: var(--color-main); --color-main: var(--color-valhalla); --color-paragraph: var(--color-east-bay); --color-link-border-bottom: var(--color-science-blue); --color-link-border-focus: var(--color-black); --color-link-comment: #555; --color-link-comment-time-anchor: var(--color-east-bay); --color-link-edit-background-hover: var(--color-pattens-blue); --color-link-edit-border: var(--color-pattens-blue); --color-link-edit-text: darken(#eaf1f8, 20%); --color-link-edit-text-hover: var(--color-east-bay); --color-link-text: var(--color-science-blue); --color-link-text-focus: var(--color-black); --color-link-text-hover: var(--color-white); --color-link-background-hover: var(--color-link-text); --color-background-code-block: var(--color-black-rock); --color-background-code-inline: #f9f2f4; --color-background-default: #f0f0f0; --color-background-shade: #03061b; --color-background-tag: var(--color-pattens-blue); --color-blockquote: var(--color-science-blue); --color-comment-text: var(--color-east-bay); --color-comment-author-text: var(--color-east-bay); --color-tag-border: rgba(6, 22, 41, .1); --color-tag-border-hover: rgba(6, 22, 41, .4); --color-tag-text: var(--color-black); --color-category-border: #cdcfd4; --color-category-text: var(--color-black); --color-caption: #5c5c6a; --color-code-block: #c7254e; --color-code-text: #f5f5f5; --color-error: #e1b3b2; --color-kbd-border: #ccc; --color-kbd-background: var(--color-pattens-blue); --color-outline-overlay-items: #ff848a; --color-pagination-text: var(--color-valhalla); --color-pagination-background-hover: var(--color-valhalla); --color-pagination-border-hover: var(--color-valhalla); --color-pagination-text-hover: var(--color-white); --color-pagination-background-current: var(--color-valhalla); --color-pagination-border-current: var(--color-valhalla); --color-pagination-text-current: var(--color-white); --color-success: #8ed185; --color-top-arrow-dark: var(--color-black); --color-top-arrow-light: var(--color-white); --color-warning: #f4aa71; } :root { --padding-container-horizontal: 2rem; --padding-container-vertical: 6.4rem; --padding-site-header-vertical: 2rem; --padding-block: 8rem; --margin-between-text-elements: 4rem; --margin-wp-block-image: 4rem; --margin-between-paragraphs: 2.7rem; } @media (max-width: 1350px) { :root { --padding-container-horizontal: 2rem; } } @media (max-width: 960px) { :root { --padding-site-header-vertical: 2rem; } } @media (max-width: 770px) { :root { --padding-container-vertical: 5rem; } } @media (max-width: 600px) { :root { --padding-block: 6rem; } } @media (max-width: 480px) { :root { --padding-container-vertical: 4rem; } } @font-face { font-display: auto; font-family: "Inter"; font-style: normal; font-weight: 400; src: url("../../fonts/Inter-Regular.woff") format("woff"), url("../../fonts/Inter-Regular.woff2") format("woff2"), url("../../fonts/Inter-Regular.ttf") format("truetype"); } @font-face { font-display: auto; font-family: "Inter"; font-style: italic; font-weight: 400; src: url("../../fonts/Inter-Italic.woff") format("woff"), url("../../fonts/Inter-Italic.woff2") format("woff2"), url("../../fonts/Inter-Italic.ttf") format("truetype"); } @font-face { font-display: auto; font-family: "Inter"; font-style: normal; font-weight: 700; src: url("../../fonts/Inter-Bold.woff") format("woff"), url("../../fonts/Inter-Bold.woff2") format("woff2"), url("../../fonts/Inter-Bold.ttf") format("truetype"); } :root { --font-serif: sans-serif; --font-sans: 'Inter', -apple-system, 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Oxygen-Sans', 'Ubuntu', 'Cantarell', 'Helvetica Neue', sans-serif; --font-monospace: 'Inconsolata', 'Menlo', 'Monaco', 'Consolas', 'Andale Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace; --font-paragraph: var(--font-sans); --font-heading: var(--font-sans); } :root { --font-size-hero: 52px; --font-size-h1: 40px; --font-size-h2: 30px; --font-size-h3: 24px; --font-size-h4: 20px; --font-size-h5: 16px; --font-size-h6: 14px; --font-size-14: 14px; --font-size-15: 15px; --font-size-16: 16px; --font-size-17: 17px; --font-size-18: 18px; --font-size-20: 20px; --font-size-22: 22px; --font-size-default: var(--font-size-17); --font-size-paragraphs: var(--font-size-18); --font-size-nav-toggle-label: 15px; --font-size-captions: 15px; --line-height-headings: 1.5; --line-height-core-heading: 1.23; --line-height-paragraphs: 1.7; --line-height-paragraphs-blog: 1.77; --font-weight-regular: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-paragraphs: var(--font-weight-regular); --font-weight-headings: var(--font-weight-bold); } @media (max-width: 480px) { :root { --font-size-hero: 38px; --font-size-h1: 32px; --font-size-h2: 24px; --font-size-h3: 21px; --font-size-h4: 18px; --font-size-h5: 14px; --font-size-h6: 12px; } } @media (max-width: 420px) { :root { --font-size-16: 14px; } } @media (max-width: 480px) { :root { --font-size-paragraphs: 16px; --font-size-default: 16px; } } @media (max-width: 420px) { :root { --font-size-nav-toggle-label: 13px; } } /* stylelint-disable number-max-precision */ /* stylelint-disable number-max-precision */ /* stylelint-disable number-max-precision */ .screen-reader-text, .gform_body .gform_validation_container { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; /* stylelint-disable declaration-no-important */ word-wrap: normal !important; /* stylelint-enable declaration-no-important */ } .screen-reader-text.skip-link, .gform_body .skip-link.gform_validation_container { margin: 5px; } .screen-reader-text.skip-link:focus, .gform_body .skip-link.gform_validation_container:focus { color: var(--color-black); } .screen-reader-text:focus, .gform_body .gform_validation_container:focus { background-color: var(--color-white); border-radius: 0; box-shadow: 0 0 2px 2px rgba(22, 22, 22, 0.6); clip: auto; clip-path: none; display: block; font-size: 1.7rem; font-weight: var(--font-weight-bold); height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; } /* stylelint-disable a11y/no-outline-none */ [data-whatinput="mouse"] *:focus, [data-whatinput="touch"] *:focus { outline: none; } /* stylelint-enable a11y/no-outline-none */ [data-whatinput="keyboard"] a:focus, [data-whatinput="keyboard"] input:focus, [data-whatinput="keyboard"] button:focus, [data-whatinput="keyboard"] select:focus, [data-whatinput="keyboard"] textarea:focus, [data-whatinput="keyboard"] div[tabindex]:focus { opacity: 1; } [data-whatinput="keyboard"] .global-link { transition: none; } [data-whatinput="keyboard"] a.global-link:focus { outline-color: var(--color-outline-overlay-items); outline-offset: -1px; outline-style: solid; outline-width: 4px; } a.is-external-link { align-items: center; display: inline-flex; justify-content: space-between; } a.is-external-link::after { background-image: url("../../svg/external-link.svg"); background-position: right center; background-repeat: no-repeat; background-size: 14px 14px; content: ''; display: inline-flex; height: 14px; margin-left: 5px; margin-right: 2px; position: relative; right: 0; top: 0; transition: all .18s ease-in-out; width: 14px; } /* stylelint-disable a11y/no-display-none */ a.is-external-link.global-link::after, a.is-external-link.no-external-link-indicator::after { display: none; } /* stylelint-enable a11y/no-display-none */ :root { --border-radius-sub-menu: 0; --box-shadow-navigation-static: 0 0 10px rgba(84, 87, 115, .1); --dropdown-toggle-size: 12px; --gap-dropdown: 1rem; --gap-between-dropdown-toggle: 1.5rem; --padding-main-level-vertical: .6rem; --padding-main-level-horizontal: 2rem; --padding-sub-menu-vertical: .6rem; --padding-sub-menu-horizontal: 1.5rem; --width-sub-menu: 22rem; --color-background-nav-desktop: var(--color-white); --color-background-sub-menu: var(--color-white); --color-border-sub-menu: rgba(41, 44, 61, .05); --color-dropdown-toggle: var(--color-valhalla); --color-sub-menu: var(--color-valhalla); --color-hover-main-level: var(--color-white); --color-hover-sub-menu: var(--color-valhalla); --color-main-level: var(--color-white); --color-current: var(--color-main); --font-size-main-level: 17px; --font-size-sub-menu: 16px; --font-weight-main-level: var(--font-weight-bold); --font-weight-sub-menu: var(--font-weight-regular); } .site-header ul { list-style: none; } @media only screen and (min-width: 960px) { .nav-container { background-color: transparent; position: absolute; width: 100%; } } @media only screen and (min-width: 960px) and (max-width: 960px) { ul li:focus > ul, ul li:hover > ul { display: block; } } @media only screen and (min-width: 960px) and (-ms-high-contrast: active), only screen and (min-width: 960px) and (-ms-high-contrast: none) { ul li:focus > ul, ul li:hover > ul { display: block; } } @media only screen and (min-width: 960px) { /* stylelint-disable a11y/no-display-none */ .nav-toggle { display: none; } /* stylelint-enable */ .nav-primary { padding-bottom: 0; padding-top: 0; } .menu-items { align-items: center; background-color: transparent; display: flex; margin: 0; padding: 0; position: relative; } .menu-item { margin: 0; position: relative; } .menu-item > a { align-items: center; color: var(--color-main-level); display: inline-flex; font-size: var(--font-size-main-level); font-weight: var(--font-weight-main-level); padding-bottom: var(--padding-main-level-vertical); padding-left: var(--padding-main-level-horizontal); padding-right: var(--padding-main-level-horizontal); padding-top: var(--padding-main-level-vertical); } .menu-item .sub-menu a { align-items: center; color: var(--color-sub-menu); display: flex; font-size: var(--font-size-sub-menu); font-weight: var(--font-weight-sub-menu); line-height: 1.5; padding-bottom: var(--padding-sub-menu-vertical); padding-left: var(--padding-sub-menu-horizontal); padding-right: var(--padding-sub-menu-horizontal); padding-top: var(--padding-sub-menu-vertical); } .menu-item.current-menu-parent > a, .menu-item.current-menu-item > a { color: var(--color-current); } .menu-item.menu-item-has-children a { padding-bottom: 0; padding-right: var(--gap-between-dropdown-toggle); padding-top: 0; transition: padding 0.2s cubic-bezier(0.19, 1, 0.22, 1), background-color 0.2s cubic-bezier(0.19, 1, 0.22, 1); } .menu-item > a:hover, .menu-item > a:focus { color: var(--color-hover-main-level); } .menu-item .sub-menu a:hover, .menu-item .sub-menu a:focus { color: var(--color-hover-sub-menu); } /* stylelint-disable no-descending-specificity */ .sub-menu.toggled-on a, .sub-menu.toggled-on .sub-menu a, .menu-item.menu-item-has-children:hover .sub-menu a, .menu-item.menu-item-has-children:focus .sub-menu a { padding-bottom: var(--padding-sub-menu-vertical); padding-top: var(--padding-sub-menu-vertical); } /* stylelint-enable */ .nav-primary > ul:first-of-type > .menu-item-has-children:focus::before, .nav-primary > ul:first-of-type > .menu-item-has-children:hover::before { transform: scale(1); transition: all 0.2s cubic-bezier(0.19, 1, 0.22, 1); } .sub-menu { background-color: var(--color-background-sub-menu); border-bottom: 1px solid var(--color-border-sub-menu); border-bottom-left-radius: var(--border-radius-sub-menu); border-bottom-right-radius: var(--border-radius-sub-menu); border-left: 1px solid var(--color-border-sub-menu); border-right: 1px solid var(--color-border-sub-menu); border-top-left-radius: var(--border-radius-sub-menu); border-top-right-radius: var(--border-radius-sub-menu); box-shadow: 0 25px 20px -10px rgba(5, 4, 25, 0.05); left: 5%; margin-left: 0; margin-top: var(--gap-dropdown); opacity: 0; padding-bottom: .5rem; padding-left: 0; padding-top: .5rem; position: absolute; top: -9999px; transition: padding 0.2s cubic-bezier(0.19, 1, 0.22, 1); visibility: hidden; width: var(--width-sub-menu); z-index: 9; } .sub-menu .sub-menu { left: 100%; margin-left: 0; margin-top: -5px; top: 0; } .sub-menu li { float: none; padding: 0; width: var(--width-sub-menu); } .menu-item-has-children > .sub-menu.toggled-on, .menu-item-has-children:focus > .sub-menu, .menu-item-has-children:hover > .sub-menu { opacity: 1; top: 100%; transform: translateY(0%); visibility: visible; z-index: 1; } .menu-item-has-children .sub-menu.toggled-on .sub-menu, .menu-item-has-children .sub-menu .sub-menu.toggled-on, .menu-item-has-children:focus .sub-menu .sub-menu, .menu-item-has-children:hover .sub-menu .sub-menu { margin-top: -5px; top: 0; z-index: 10; } .menu-item.menu-item-has-children { align-items: center; display: flex; justify-content: space-between; margin-right: .8rem; position: relative; } .menu-item.menu-item-has-children::after { content: ''; display: block; height: var(--gap-dropdown); position: absolute; top: 100%; width: 100%; } .dropdown-toggle svg { height: var(--dropdown-toggle-size); width: var(--dropdown-toggle-size); transition: all 0.35s cubic-bezier(0.19, 1, 0.22, 1); } .dropdown-toggle.toggled-on svg { transform: rotateX(180deg); } .dropdown-toggle { align-items: center; background-color: transparent; border: 0; color: var(--color-dropdown-toggle); display: inline-flex; justify-content: center; padding: 0; } .sub-menu .dropdown-toggle { width: 3rem; } .sub-menu .dropdown-toggle svg { transform: rotate(-90deg) rotateX(0deg); } .sub-menu .dropdown-toggle.toggled-on svg { transform: rotate(-90deg) rotateX(180deg); } .menu-item.menu-item-has-children > .dropdown-toggle.toggled-on svg, .menu-item.menu-item-has-children:hover > .dropdown-toggle svg, .menu-item.menu-item-has-children:focus > .dropdown-toggle svg { transform: translateY(0%) rotate(180deg); } /* stylelint-disable selector-max-specificity, selector-max-class */ .menu-item.menu-item-has-children .menu-item.menu-item-has-children > .dropdown-toggle.toggled-on svg, .menu-item.menu-item-has-children .menu-item.menu-item-has-children:hover > .dropdown-toggle svg, .menu-item.menu-item-has-children .menu-item.menu-item-has-children:focus > .dropdown-toggle svg { transform: translateY(0%) rotate(90deg); } /* stylelint-enable */ /* stylelint-disable a11y/no-display-none */ .sub-menu .menu-item-has-children::after { display: none; } /* stylelint-enable */ .menu-item-has-children::before { /* stylelint-disable sh-waqar/declaration-use-variable */ border-color: transparent transparent var(--color-white); border-style: solid; border-width: 0 5px 5px; /* stylelint-enable */ bottom: -10px; content: ''; display: block; height: 0; left: 50%; margin-left: -20px; position: absolute; transform: scale(0); transform-origin: center bottom; transition: none; width: 0; } } :root { --font-size-main-level-mobile: 17px; --font-size-sub-menu-mobile: 17px; --font-weight-main-level-mobile: 600; --font-weight-sub-menu-mobile: 600; --dropdown-toggle-size-mobile: 12px; --height-navigation-mobile: 72px; --margin-left-sub-menu: 2rem; --padding-sub-menu-vertical-mobile: 1.2rem; --padding-sub-menu-horizontal-mobile: 2.5rem; --color-active-main-level-mobile: var(--color-white); --color-background-nav-mobile-header: var(--color-main); --color-background-nav-mobile-layer: var(--color-main); --color-current-mobile: var(--color-white); --color-dropdown-toggle-mobile: var(--color-white); --color-hamburger-active: var(--color-white); --color-hamburger: var(--color-white); --color-main-level-mobile: var(--color-white); --color-separator-nav-mobile: rgba(255, 255, 255, .1); --color-sub-menu-mobile: rgba(255, 255, 255, .8); } /*! * Hamburgers * @description Tasty CSS-animated hamburgers * @author Jonathan Suh @jonsuh * @site https://jonsuh.com/hamburgers * @link https://github.com/jonsuh/hamburgers */ .hamburger { padding: 4rem 1.5rem; display: inline-block; cursor: pointer; transition-property: opacity, filter; transition-duration: 0.15s; transition-timing-function: linear; font: inherit; color: inherit; text-transform: none; background-color: transparent; border: 0; margin: 0; overflow: visible; } .hamburger:hover { opacity: 0.8; } .hamburger.is-active:hover { opacity: 0.8; } .hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner::before, .hamburger.is-active .hamburger-inner::after { background-color: var(--color-hamburger); } .hamburger-box { width: 3rem; height: 1.6rem; display: inline-block; position: relative; } .hamburger-inner { display: block; top: 50%; margin-top: -0.1rem; } .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after { width: 3rem; height: 0.2rem; background-color: var(--color-hamburger); border-radius: 0; position: absolute; transition-property: transform; transition-duration: 0.15s; transition-timing-function: ease; } .hamburger-inner::before, .hamburger-inner::after { content: ""; display: block; } .hamburger-inner::before { top: -0.7rem; } .hamburger-inner::after { bottom: -0.7rem; } /* * 3DX */ .hamburger--3dx .hamburger-box { perspective: 6rem; } .hamburger--3dx .hamburger-inner { transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dx .hamburger-inner::before, .hamburger--3dx .hamburger-inner::after { transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dx.is-active .hamburger-inner { background-color: transparent !important; transform: rotateY(180deg); } .hamburger--3dx.is-active .hamburger-inner::before { transform: translate3d(0, 0.7rem, 0) rotate(45deg); } .hamburger--3dx.is-active .hamburger-inner::after { transform: translate3d(0, -0.7rem, 0) rotate(-45deg); } /* * 3DX Reverse */ .hamburger--3dx-r .hamburger-box { perspective: 6rem; } .hamburger--3dx-r .hamburger-inner { transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dx-r .hamburger-inner::before, .hamburger--3dx-r .hamburger-inner::after { transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dx-r.is-active .hamburger-inner { background-color: transparent !important; transform: rotateY(-180deg); } .hamburger--3dx-r.is-active .hamburger-inner::before { transform: translate3d(0, 0.7rem, 0) rotate(45deg); } .hamburger--3dx-r.is-active .hamburger-inner::after { transform: translate3d(0, -0.7rem, 0) rotate(-45deg); } /* * 3DY */ .hamburger--3dy .hamburger-box { perspective: 6rem; } .hamburger--3dy .hamburger-inner { transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dy .hamburger-inner::before, .hamburger--3dy .hamburger-inner::after { transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dy.is-active .hamburger-inner { background-color: transparent !important; transform: rotateX(-180deg); } .hamburger--3dy.is-active .hamburger-inner::before { transform: translate3d(0, 0.7rem, 0) rotate(45deg); } .hamburger--3dy.is-active .hamburger-inner::after { transform: translate3d(0, -0.7rem, 0) rotate(-45deg); } /* * 3DY Reverse */ .hamburger--3dy-r .hamburger-box { perspective: 6rem; } .hamburger--3dy-r .hamburger-inner { transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dy-r .hamburger-inner::before, .hamburger--3dy-r .hamburger-inner::after { transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dy-r.is-active .hamburger-inner { background-color: transparent !important; transform: rotateX(180deg); } .hamburger--3dy-r.is-active .hamburger-inner::before { transform: translate3d(0, 0.7rem, 0) rotate(45deg); } .hamburger--3dy-r.is-active .hamburger-inner::after { transform: translate3d(0, -0.7rem, 0) rotate(-45deg); } /* * 3DXY */ .hamburger--3dxy .hamburger-box { perspective: 6rem; } .hamburger--3dxy .hamburger-inner { transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dxy .hamburger-inner::before, .hamburger--3dxy .hamburger-inner::after { transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dxy.is-active .hamburger-inner { background-color: transparent !important; transform: rotateX(180deg) rotateY(180deg); } .hamburger--3dxy.is-active .hamburger-inner::before { transform: translate3d(0, 0.7rem, 0) rotate(45deg); } .hamburger--3dxy.is-active .hamburger-inner::after { transform: translate3d(0, -0.7rem, 0) rotate(-45deg); } /* * 3DXY Reverse */ .hamburger--3dxy-r .hamburger-box { perspective: 6rem; } .hamburger--3dxy-r .hamburger-inner { transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dxy-r .hamburger-inner::before, .hamburger--3dxy-r .hamburger-inner::after { transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dxy-r.is-active .hamburger-inner { background-color: transparent !important; transform: rotateX(180deg) rotateY(180deg) rotateZ(-180deg); } .hamburger--3dxy-r.is-active .hamburger-inner::before { transform: translate3d(0, 0.7rem, 0) rotate(45deg); } .hamburger--3dxy-r.is-active .hamburger-inner::after { transform: translate3d(0, -0.7rem, 0) rotate(-45deg); } /* * Arrow */ .hamburger--arrow.is-active .hamburger-inner::before { transform: translate3d(-0.6rem, 0, 0) rotate(-45deg) scale(0.7, 1); } .hamburger--arrow.is-active .hamburger-inner::after { transform: translate3d(-0.6rem, 0, 0) rotate(45deg) scale(0.7, 1); } /* * Arrow Right */ .hamburger--arrow-r.is-active .hamburger-inner::before { transform: translate3d(0.6rem, 0, 0) rotate(45deg) scale(0.7, 1); } .hamburger--arrow-r.is-active .hamburger-inner::after { transform: translate3d(0.6rem, 0, 0) rotate(-45deg) scale(0.7, 1); } /* * Arrow Alt */ .hamburger--arrowalt .hamburger-inner::before { transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); } .hamburger--arrowalt .hamburger-inner::after { transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); } .hamburger--arrowalt.is-active .hamburger-inner::before { top: 0; transform: translate3d(-0.6rem, -0.75rem, 0) rotate(-45deg) scale(0.7, 1); transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); } .hamburger--arrowalt.is-active .hamburger-inner::after { bottom: 0; transform: translate3d(-0.6rem, 0.75rem, 0) rotate(45deg) scale(0.7, 1); transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); } /* * Arrow Alt Right */ .hamburger--arrowalt-r .hamburger-inner::before { transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); } .hamburger--arrowalt-r .hamburger-inner::after { transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); } .hamburger--arrowalt-r.is-active .hamburger-inner::before { top: 0; transform: translate3d(0.6rem, -0.75rem, 0) rotate(45deg) scale(0.7, 1); transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); } .hamburger--arrowalt-r.is-active .hamburger-inner::after { bottom: 0; transform: translate3d(0.6rem, 0.75rem, 0) rotate(-45deg) scale(0.7, 1); transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); } /* * Arrow Turn */ .hamburger--arrowturn.is-active .hamburger-inner { transform: rotate(-180deg); } .hamburger--arrowturn.is-active .hamburger-inner::before { transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); } .hamburger--arrowturn.is-active .hamburger-inner::after { transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1); } /* * Arrow Turn Right */ .hamburger--arrowturn-r.is-active .hamburger-inner { transform: rotate(-180deg); } .hamburger--arrowturn-r.is-active .hamburger-inner::before { transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); } .hamburger--arrowturn-r.is-active .hamburger-inner::after { transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); } /* * Boring */ .hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after { transition-property: none; } .hamburger--boring.is-active .hamburger-inner { transform: rotate(45deg); } .hamburger--boring.is-active .hamburger-inner::before { top: 0; opacity: 0; } .hamburger--boring.is-active .hamburger-inner::after { bottom: 0; transform: rotate(-90deg); } /* * Collapse */ .hamburger--collapse .hamburger-inner, .hamburger .hamburger-inner { top: auto; bottom: 0; transition-duration: 0.13s; transition-delay: 0.13s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--collapse .hamburger-inner::after, .hamburger .hamburger-inner::after { top: -1.4rem; transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; } .hamburger--collapse .hamburger-inner::before, .hamburger .hamburger-inner::before { transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--collapse.is-active .hamburger-inner, .is-active.hamburger .hamburger-inner { transform: translate3d(0, -0.7rem, 0) rotate(-45deg); transition-delay: 0.22s; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } .hamburger--collapse.is-active .hamburger-inner::after, .is-active.hamburger .hamburger-inner::after { top: 0; opacity: 0; transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; } .hamburger--collapse.is-active .hamburger-inner::before, .is-active.hamburger .hamburger-inner::before { top: 0; transform: rotate(-90deg); transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); } /* * Collapse Reverse */ .hamburger--collapse-r .hamburger-inner { top: auto; bottom: 0; transition-duration: 0.13s; transition-delay: 0.13s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--collapse-r .hamburger-inner::after { top: -1.4rem; transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; } .hamburger--collapse-r .hamburger-inner::before { transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--collapse-r.is-active .hamburger-inner { transform: translate3d(0, -0.7rem, 0) rotate(45deg); transition-delay: 0.22s; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } .hamburger--collapse-r.is-active .hamburger-inner::after { top: 0; opacity: 0; transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; } .hamburger--collapse-r.is-active .hamburger-inner::before { top: 0; transform: rotate(90deg); transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); } /* * Elastic */ .hamburger--elastic .hamburger-inner { top: 0.1rem; transition-duration: 0.275s; transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); } .hamburger--elastic .hamburger-inner::before { top: 0.7rem; transition: opacity 0.125s 0.275s ease; } .hamburger--elastic .hamburger-inner::after { top: 1.4rem; transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); } .hamburger--elastic.is-active .hamburger-inner { transform: translate3d(0, 0.7rem, 0) rotate(135deg); transition-delay: 0.075s; } .hamburger--elastic.is-active .hamburger-inner::before { transition-delay: 0s; opacity: 0; } .hamburger--elastic.is-active .hamburger-inner::after { transform: translate3d(0, -1.4rem, 0) rotate(-270deg); transition-delay: 0.075s; } /* * Elastic Reverse */ .hamburger--elastic-r .hamburger-inner { top: 0.1rem; transition-duration: 0.275s; transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); } .hamburger--elastic-r .hamburger-inner::before { top: 0.7rem; transition: opacity 0.125s 0.275s ease; } .hamburger--elastic-r .hamburger-inner::after { top: 1.4rem; transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); } .hamburger--elastic-r.is-active .hamburger-inner { transform: translate3d(0, 0.7rem, 0) rotate(-135deg); transition-delay: 0.075s; } .hamburger--elastic-r.is-active .hamburger-inner::before { transition-delay: 0s; opacity: 0; } .hamburger--elastic-r.is-active .hamburger-inner::after { transform: translate3d(0, -1.4rem, 0) rotate(270deg); transition-delay: 0.075s; } /* * Emphatic */ .hamburger--emphatic { overflow: hidden; } .hamburger--emphatic .hamburger-inner { transition: background-color 0.125s 0.175s ease-in; } .hamburger--emphatic .hamburger-inner::before { left: 0; transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; } .hamburger--emphatic .hamburger-inner::after { top: 0.7rem; right: 0; transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; } .hamburger--emphatic.is-active .hamburger-inner { transition-delay: 0s; transition-timing-function: ease-out; background-color: transparent !important; } .hamburger--emphatic.is-active .hamburger-inner::before { left: -6rem; top: -6rem; transform: translate3d(6rem, 6rem, 0) rotate(45deg); transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); } .hamburger--emphatic.is-active .hamburger-inner::after { right: -6rem; top: -6rem; transform: translate3d(-6rem, 6rem, 0) rotate(-45deg); transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); } /* * Emphatic Reverse */ .hamburger--emphatic-r { overflow: hidden; } .hamburger--emphatic-r .hamburger-inner { transition: background-color 0.125s 0.175s ease-in; } .hamburger--emphatic-r .hamburger-inner::before { left: 0; transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; } .hamburger--emphatic-r .hamburger-inner::after { top: 0.7rem; right: 0; transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; } .hamburger--emphatic-r.is-active .hamburger-inner { transition-delay: 0s; transition-timing-function: ease-out; background-color: transparent !important; } .hamburger--emphatic-r.is-active .hamburger-inner::before { left: -6rem; top: 6rem; transform: translate3d(6rem, -6rem, 0) rotate(-45deg); transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); } .hamburger--emphatic-r.is-active .hamburger-inner::after { right: -6rem; top: 6rem; transform: translate3d(-6rem, -6rem, 0) rotate(45deg); transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); } /* * Minus */ .hamburger--minus .hamburger-inner::before, .hamburger--minus .hamburger-inner::after { transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear; } .hamburger--minus.is-active .hamburger-inner::before, .hamburger--minus.is-active .hamburger-inner::after { opacity: 0; transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear; } .hamburger--minus.is-active .hamburger-inner::before { top: 0; } .hamburger--minus.is-active .hamburger-inner::after { bottom: 0; } /* * Slider */ .hamburger--slider .hamburger-inner { top: 0.1rem; } .hamburger--slider .hamburger-inner::before { top: 0.7rem; transition-property: transform, opacity; transition-timing-function: ease; transition-duration: 0.15s; } .hamburger--slider .hamburger-inner::after { top: 1.4rem; } .hamburger--slider.is-active .hamburger-inner { transform: translate3d(0, 0.7rem, 0) rotate(45deg); } .hamburger--slider.is-active .hamburger-inner::before { transform: rotate(-45deg) translate3d(-0.42857rem, -0.5rem, 0); opacity: 0; } .hamburger--slider.is-active .hamburger-inner::after { transform: translate3d(0, -1.4rem, 0) rotate(-90deg); } /* * Slider Reverse */ .hamburger--slider-r .hamburger-inner { top: 0.1rem; } .hamburger--slider-r .hamburger-inner::before { top: 0.7rem; transition-property: transform, opacity; transition-timing-function: ease; transition-duration: 0.15s; } .hamburger--slider-r .hamburger-inner::after { top: 1.4rem; } .hamburger--slider-r.is-active .hamburger-inner { transform: translate3d(0, 0.7rem, 0) rotate(-45deg); } .hamburger--slider-r.is-active .hamburger-inner::before { transform: rotate(45deg) translate3d(0.42857rem, -0.5rem, 0); opacity: 0; } .hamburger--slider-r.is-active .hamburger-inner::after { transform: translate3d(0, -1.4rem, 0) rotate(90deg); } /* * Spin */ .hamburger--spin .hamburger-inner { transition-duration: 0.22s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--spin .hamburger-inner::before { transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; } .hamburger--spin .hamburger-inner::after { transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--spin.is-active .hamburger-inner { transform: rotate(225deg); transition-delay: 0.12s; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } .hamburger--spin.is-active .hamburger-inner::before { top: 0; opacity: 0; transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; } .hamburger--spin.is-active .hamburger-inner::after { bottom: 0; transform: rotate(-90deg); transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); } /* * Spin Reverse */ .hamburger--spin-r .hamburger-inner { transition-duration: 0.22s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--spin-r .hamburger-inner::before { transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; } .hamburger--spin-r .hamburger-inner::after { transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--spin-r.is-active .hamburger-inner { transform: rotate(-225deg); transition-delay: 0.12s; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } .hamburger--spin-r.is-active .hamburger-inner::before { top: 0; opacity: 0; transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; } .hamburger--spin-r.is-active .hamburger-inner::after { bottom: 0; transform: rotate(90deg); transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); } /* * Spring */ .hamburger--spring .hamburger-inner { top: 0.1rem; transition: background-color 0s 0.13s linear; } .hamburger--spring .hamburger-inner::before { top: 0.7rem; transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--spring .hamburger-inner::after { top: 1.4rem; transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--spring.is-active .hamburger-inner { transition-delay: 0.22s; background-color: transparent !important; } .hamburger--spring.is-active .hamburger-inner::before { top: 0; transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); transform: translate3d(0, 0.7rem, 0) rotate(45deg); } .hamburger--spring.is-active .hamburger-inner::after { top: 0; transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); transform: translate3d(0, 0.7rem, 0) rotate(-45deg); } /* * Spring Reverse */ .hamburger--spring-r .hamburger-inner { top: auto; bottom: 0; transition-duration: 0.13s; transition-delay: 0s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--spring-r .hamburger-inner::after { top: -1.4rem; transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear; } .hamburger--spring-r .hamburger-inner::before { transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--spring-r.is-active .hamburger-inner { transform: translate3d(0, -0.7rem, 0) rotate(-45deg); transition-delay: 0.22s; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } .hamburger--spring-r.is-active .hamburger-inner::after { top: 0; opacity: 0; transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear; } .hamburger--spring-r.is-active .hamburger-inner::before { top: 0; transform: rotate(90deg); transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); } /* * Stand */ .hamburger--stand .hamburger-inner { transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; } .hamburger--stand .hamburger-inner::before { transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--stand .hamburger-inner::after { transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--stand.is-active .hamburger-inner { transform: rotate(90deg); background-color: transparent !important; transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; } .hamburger--stand.is-active .hamburger-inner::before { top: 0; transform: rotate(-45deg); transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); } .hamburger--stand.is-active .hamburger-inner::after { bottom: 0; transform: rotate(45deg); transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); } /* * Stand Reverse */ .hamburger--stand-r .hamburger-inner { transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; } .hamburger--stand-r .hamburger-inner::before { transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--stand-r .hamburger-inner::after { transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--stand-r.is-active .hamburger-inner { transform: rotate(-90deg); background-color: transparent !important; transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; } .hamburger--stand-r.is-active .hamburger-inner::before { top: 0; transform: rotate(-45deg); transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); } .hamburger--stand-r.is-active .hamburger-inner::after { bottom: 0; transform: rotate(45deg); transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); } /* * Squeeze */ .hamburger--squeeze .hamburger-inner { transition-duration: 0.075s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--squeeze .hamburger-inner::before { transition: top 0.075s 0.12s ease, opacity 0.075s ease; } .hamburger--squeeze .hamburger-inner::after { transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--squeeze.is-active .hamburger-inner { transform: rotate(45deg); transition-delay: 0.12s; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } .hamburger--squeeze.is-active .hamburger-inner::before { top: 0; opacity: 0; transition: top 0.075s ease, opacity 0.075s 0.12s ease; } .hamburger--squeeze.is-active .hamburger-inner::after { bottom: 0; transform: rotate(-90deg); transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); } /* * Vortex */ .hamburger--vortex .hamburger-inner { transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); } .hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after { transition-duration: 0s; transition-delay: 0.1s; transition-timing-function: linear; } .hamburger--vortex .hamburger-inner::before { transition-property: top, opacity; } .hamburger--vortex .hamburger-inner::after { transition-property: bottom, transform; } .hamburger--vortex.is-active .hamburger-inner { transform: rotate(765deg); transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); } .hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after { transition-delay: 0s; } .hamburger--vortex.is-active .hamburger-inner::before { top: 0; opacity: 0; } .hamburger--vortex.is-active .hamburger-inner::after { bottom: 0; transform: rotate(90deg); } /* * Vortex Reverse */ .hamburger--vortex-r .hamburger-inner { transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); } .hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after { transition-duration: 0s; transition-delay: 0.1s; transition-timing-function: linear; } .hamburger--vortex-r .hamburger-inner::before { transition-property: top, opacity; } .hamburger--vortex-r .hamburger-inner::after { transition-property: bottom, transform; } .hamburger--vortex-r.is-active .hamburger-inner { transform: rotate(-765deg); transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); } .hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after { transition-delay: 0s; } .hamburger--vortex-r.is-active .hamburger-inner::before { top: 0; opacity: 0; } .hamburger--vortex-r.is-active .hamburger-inner::after { bottom: 0; transform: rotate(-90deg); } @media only screen and (max-width: 960px) { /* stylelint-disable a11y/no-display-none */ .js .menu-items ul { display: none; } /* stylelint-enable */ } @media only screen and (max-width: 960px) { .js ul .sub-menu.toggled-on { display: block; } } @media (max-width: 960px) { .nav-container { background-color: var(--color-background-nav-mobile-header); left: 0; position: absolute; top: 0; width: 100%; } .site { padding-top: var(--height-navigation-mobile); } } @media screen and (max-width: 959px) { .site-header ul, .site-header li, .site-header a { position: relative; } .main-navigation-wrapper { order: 6; z-index: 999; } .no-js .site-header { background-color: var(--color-background-nav-mobile-header); position: static; } .disable-scroll { overflow: hidden; } .nav-primary { display: block; height: 100vh; margin: 0; opacity: 0; overflow: auto; pointer-events: none; transition: all 0.22s ease-in-out; visibility: hidden; width: 100vw; } .menu-items { margin: 0; opacity: 0; padding: 2rem 0; width: 100%; } .menu-item a { border-top: 1px solid var(--color-separator-nav-mobile); color: var(--color-main-level-mobile); display: block; font-size: var(--font-size-main-level-mobile); font-weight: var(--font-weight-main-level-mobile); margin-left: 0; margin-right: 0; padding-bottom: var(--padding-sub-menu-vertical-mobile); padding-left: var(--padding-sub-menu-horizontal-mobile); padding-right: var(--padding-sub-menu-horizontal-mobile); padding-top: var(--padding-sub-menu-vertical-mobile); position: relative; text-decoration: none; z-index: 0; } .sub-menu a { color: var(--color-sub-menu-mobile); font-size: var(--font-size-sub-menu-mobile); font-weight: var(--font-weight-sub-menu-mobile); padding-left: calc(var(--padding-sub-menu-horizontal-mobile) + var(--margin-left-sub-menu)); } .sub-menu { margin-left: 0; padding-left: 0; } .sub-menu .sub-menu a { padding-left: calc(var(--padding-sub-menu-horizontal-mobile) + var(--margin-left-sub-menu) + var(--margin-left-sub-menu)); } .menu-item a:hover, .menu-item a:focus { color: var(--color-active-main-level-mobile); } .menu-item.current-menu-parent > a, .menu-item.current-menu-item > a { color: var(--color-current-mobile); } .dropdown-toggle { align-items: center; background-color: transparent; border: 0; color: var(--color-dropdown-toggle-mobile); display: inline-flex; height: 100%; left: auto; margin-top: 0; max-height: 52px; overflow: hidden; padding-bottom: var(--padding-sub-menu-vertical-mobile); padding-left: var(--padding-sub-menu-horizontal-mobile); padding-right: var(--padding-sub-menu-horizontal-mobile); padding-top: var(--padding-sub-menu-vertical-mobile); position: absolute; right: 0; top: 2px; transform: rotate(0); transition: all 0.22s; z-index: 9999; } .dropdown-toggle:focus { z-index: 10000; } .sub-menu .dropdown-toggle { color: var(--color-sub-menu-mobile); } .dropdown-toggle svg { height: var(--dropdown-toggle-size-mobile); width: var(--dropdown-toggle-size-mobile); /* stylelint-disable a11y/no-display-none */ /* stylelint-enable */ } .dropdown-toggle.toggled-on { background-color: transparent; cursor: pointer; transform: rotate(-180deg); } .js .nav-primary { left: 0; position: fixed; top: var(--height-navigation-mobile); z-index: 5; } .js .nav-primary .menu-items { background-color: var(--color-background-nav-mobile-layer); height: 100vh; padding: 0; } .js.js-nav-active { overflow: hidden; } .js.js-nav-active .nav-primary { opacity: 1; pointer-events: all; visibility: visible; } .js.js-nav-active .menu-items { opacity: 1; } } .hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner::before, .hamburger.is-active .hamburger-inner::after { background-color: var(--color-hamburger-active); color: var(--color-hamburger-active); } .nav-toggle { background-color: transparent; border: 0; color: var(--color-hamburger); cursor: pointer; font-weight: var(--font-weight-bold); margin: 0; overflow: visible; padding: 0; position: relative; text-decoration: none; top: 0; user-select: none; z-index: 100000; /* stylelint-disable a11y/no-display-none */ /* stylelint-enable */ } @media (min-width: 960px) { .nav-toggle { display: none; } } .nav-toggle:not(.toggled-on) .hamburger-inner { transition: width 0.22s; width: 18px; } .nav-toggle.is-active .hamburger-inner, .nav-toggle:hover .hamburger-inner, .nav-toggle:focus .hamburger-inner { width: 3rem; } .nav-toggle span { color: var(--color-hamburger); font-size: 1.2em; } .nav-toggle.is-active span { color: var(--color-hamburger-active); } .nav-toggle:hover, .nav-toggle:active { color: var(--color-hamburger); } .nav-toggle:hover span, .nav-toggle:active span { color: var(--color-hamburger); } .nav-toggle:focus span span { background-color: var(--color-hamburger); } .nav-toggle:focus span span::before, .nav-toggle:focus span span::after { background-color: var(--color-hamburger); } .nav-toggle:not(.has-visible-label) .nav-toggle-label { display: none; } @media (max-width: 959px) { .nav-toggle { display: block; } .nav-toggle.has-visible-label { align-items: center; display: flex; } .nav-toggle.has-visible-label .nav-toggle-label { font-size: var(--font-size-nav-toggle-label); } } @media (max-width: 959px) and (max-width: 410px) { .nav-toggle.has-visible-label .nav-toggle-label { display: none; } } @media (max-width: 959px) and (min-width: 411px) { .nav-toggle.has-visible-label .hamburger-box { margin-right: 2rem; } } .nav-toggle.is-active { color: var(--color-hamburger-active); } .nav-toggle.is-active .hamburger-box .hamburger-inner { background-color: var(--color-hamburger-active); } .nav-toggle.is-active .hamburger-box .hamburger-inner::after { background-color: var(--color-hamburger-active); } .nav-toggle.is-active .focus .hamburger-inner, .nav-toggle.is-active span:focus .hamburger-inner { background-color: var(--color-hamburger-active); } .nav-toggle.is-active .focus .hamburger-inner::after, .nav-toggle.is-active span:focus .hamburger-inner::after { background-color: var(--color-hamburger-active); } .nav-toggle.is-active span:focus, .nav-toggle.is-active span:hover, .nav-toggle.is-active span:active { color: var(--color-hamburger-active); } .nav-toggle.is-active span:focus span, .nav-toggle.is-active span:hover span, .nav-toggle.is-active span:active span { color: var(--color-hamburger-active); } /* stylelint-disable */ :root { --color-baby-blue: #60f4ea; --color-heliotrope: #866cff; --color-wild-blue-yonder: #737fbf; --color-wild-blue-yonder-rgb: 115, 127, 191; --color-border-demo-header: rgba(var(--color-wild-blue-yonder-rgb), .5); } @media (min-width: 960px) { body .nav-container { background-color: var(--color-main); } } .site-header { padding-top: 4rem; padding-bottom: 4rem; } @media (max-width: 960px) { .site-header { padding-top: 2rem; padding-bottom: 2rem; } } .site-header .site-title { margin: 0; } .site-header .site-title svg { transition: transform 1s ease-in; } @media screen and (prefers-reduced-motion: reduce), (update: slow) { .site-header .site-title svg { transition: none; } } .site-header .site-title .clr-i-solid-path-2 { fill: var(--color-white); } .site-header .site-title a { color: var(--color-baby-blue); display: flex; align-items: center; } .site-header .site-title a:hover svg { transition: transform 0.4s cubic-bezier(0.6, -0.68, 0.73, 0.04); transform: translate(260%, -220%); } @media screen and (prefers-reduced-motion: reduce), (update: slow) { .site-header .site-title a:hover svg { transition: none; transform: none; } } .site-header .site-title a:hover svg .clr-i-solid-path-2 { display: block !important; fill: var(--color-baby-blue); } .site-header .site-title .logo-name { content: 'Air'; display: block; text-transform: lowercase; letter-spacing: .1em; font-weight: var(--font-weight-paragraphs); color: var(--color-white); margin-left: .75rem; font-size: 2.2rem; } .block.block-entry-header-demo { background-color: var(--color-valhalla); display: flex; align-items: center; justify-content: center; position: relative; max-height: 80rem; height: 60vh; max-width: 100%; margin: 0 auto; } @media (min-width: 480px) { .block.block-entry-header-demo { min-height: 60rem; } } @media (max-width: 480px) { .block.block-entry-header-demo { padding-top: 6rem; padding-bottom: 6rem; } } .block.block-entry-header-demo .shade { opacity: .4; } .block.block-entry-header-demo .inner { display: grid; grid-template-rows: 1fr 1fr; /* autoprefixer: off */ align-items: center; max-height: 100%; justify-items: center; padding: 2rem; max-width: 1200px; margin-top: 140px; margin-bottom: 80px; } @media (min-width: 770px) { .block.block-entry-header-demo .inner { padding: 0; display: grid; grid-template-rows: none; grid-template-columns: 3fr 5fr; max-width: 800px; } } @keyframes plane-container { 0% { overflow: visible; } 80% { overflow: hidden; } 100% { overflow: hidden; } } .block.block-entry-header-demo .logo { color: var(--color-baby-blue); border-top: 2px solid var(--color-border-demo-header); border-right: 0; width: 100%; text-align: center; order: 2; overflow: visible; animation: plane-container 10s linear 1s infinite; } .block.block-entry-header-demo .logo .logo-name { display: none; } @keyframes plane { 0% { transform: translate(-200%, 140%); } 10% { transform: translate(0, 0); opacity: 1; } 85% { transform: translate(0, 0); opacity: 1; } 95% { transform: translate(140%, -100%); } 97% { opacity: 0; } 100% { transform: translate(0, 0); } } .block.block-entry-header-demo .logo svg { padding: 2rem; height: auto; width: 100%; max-width: 20rem; opacity: 0; transform: translate(-100%, 100%); animation: plane 5s cubic-bezier(0.86, 0, 0.07, 1) 1s infinite; animation-delay: -5s; position: relative; z-index: 6; } @media screen and (prefers-reduced-motion: reduce), (update: slow) { .block.block-entry-header-demo .logo svg { animation: none; transform: none; opacity: 1; } } @media (max-width: 480px) { .block.block-entry-header-demo .logo svg { max-width: 15rem; } } @media (min-width: 770px) { .block.block-entry-header-demo .logo { border-top: 0; border-right: 2px solid var(--color-border-demo-header); order: 0; text-align: right; } .block.block-entry-header-demo .logo svg { padding: 2rem 4rem; } } .block.block-entry-header-demo .heading-hero { color: var(--color-white); margin: 0; padding: 2rem; position: relative; z-index: 2; text-align: center; line-height: 1.23; } @media (min-width: 770px) { .block.block-entry-header-demo .heading-hero { padding: 2rem 4rem; text-align: left; } } .accent { font-size: var(--font-size-h3); font-style: normal; letter-spacing: .05em; text-transform: lowercase; font-weight: var(--font-weight-medium); margin: 0; margin-bottom: 1rem; color: var(--color-wild-blue-yonder); display: block; position: relative; z-index: 2; } @media (min-width: 960px) { .dropdown-toggle, .menu-item.current-menu-item > a, .menu-item.current-menu-parent > a, .site-header .site-branding .site-title a, .site-header .nav-primary .menu-items.nav-menu .menu-item > .dropdown-toggle, .site-header .nav-primary .menu-items .current-menu-parent > a, .site-header .nav-primary .menu-items .current-menu-item > a { color: var(--color-baby-blue); } .site-header .nav-primary .menu-items .sub-menu .current-menu-parent > a, .site-header .nav-primary .menu-items .sub-menu .current-menu-item > a, .site-header .nav-primary .menu-items .sub-menu .dropdown-toggle { color: var(--color-current); } .site-header .nav-primary .menu-items.nav-menu .sub-menu .menu-item > .dropdown-toggle { color: var(--color-valhalla); } } .block.block-entry-header-demo + .block .container { max-width: 800px; } .block.block-entry-header-demo + .block .container.gutenberg-content { max-width: 100%; } .block.block-blog article, .block.block-blog nav { max-width: 800px; margin-left: auto; margin-right: auto; } .block-blog article { margin-bottom: var(--padding-block); } .block-blog article:last-child { margin-bottom: 0; } .block-blog ul.tags { padding-left: 0; } @media (min-width: 960px) { .block { min-height: 78px; } } .site-footer { background-color: var(--color-valhalla); } .components { display: flex; flex-wrap: wrap; margin-top: 6rem; margin-bottom: -4rem; align-items: flex-start; } .heading-demo { margin-top: 6rem; } .link-demo { border-bottom: 1px solid var(--color-link-border-bottom); box-shadow: inset 0 0 0 var(--color-link-background-hover); color: var(--color-link-text); display: inline; text-decoration: none; transition: box-shadow 0.1s cubic-bezier(0.19, 1, 0.22, 1), color 0.1s cubic-bezier(0.19, 1, 0.22, 1); } .link-demo::after { background-image: url("../../svg/external-link-styled-links.svg"); } .link-demo:hover { border-color: transparent; box-shadow: inset 0 -3.3rem 0 var(--color-link-background-hover); color: var(--color-link-text-hover); } .link-demo:hover::after { background-image: url("../../svg/external-link-white.svg"); } .link-demo:focus { border-color: var(--color-link-border-focus); color: var(--color-link-text-focus); text-decoration: none; } .link-demo:focus::after { background-image: url("../../svg/external-link-black.svg"); } .site-main .component { border: 1px dashed var(--color-heliotrope); padding: 19px; margin-right: 4rem; margin-bottom: 4rem; } .site-main .component .component-label { color: var(--color-heliotrope); font-size: 12px; position: absolute; margin-top: -42px; margin-left: -20px; } .site-main .component .component-label::before { background-image: url("https://airwptheme.com/demo/figma-component.svg"); background-repeat: no-repeat; content: ''; display: inline-block; width: 11px; height: 11px; margin-right: 5px; } .site-main .component p { display: flex; align-items: center; margin: 0 0 2rem; } .site-main .component p:last-child { margin-bottom: 0; } .block { background-color: var(--color-white); background-position: center; background-repeat: no-repeat; background-size: cover; margin: 0 auto; max-width: 100%; position: relative; } .shade { background-color: var(--color-background-shade); height: 100%; left: 0; opacity: .35; position: absolute; top: 0; width: 100%; z-index: 0; } .global-link { height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: 3; } .site { margin-left: auto; margin-right: auto; max-width: 100%; overflow: hidden; position: relative; } .container { margin: 0 auto; margin-left: auto; margin-right: auto; max-width: 1200px; padding-bottom: var(--padding-container-vertical); padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); padding-top: var(--padding-container-vertical); } .site-main .container { clear: both; overflow: hidden; } .entry-footer { clear: both; display: flex; justify-content: space-between; margin-top: var(--padding-container-vertical); overflow: hidden; } .edit-link { clear: both; display: block; margin-bottom: 0; margin-top: 2rem; max-width: 100%; min-width: 0; overflow: hidden; text-align: left; transition: all 0.22s; width: 100%; } .edit-link a { background-color: var(--color-white); border: 2px dashed var(--color-link-edit-border); clear: both; color: var(--color-link-edit-text); display: block; margin: 0; padding: 2rem; text-align: center; text-decoration: none; transition: all 0.22s; } .edit-link:focus, .edit-link a:hover { background-color: var(--color-link-edit-background-hover); color: var(--color-link-edit-text-hover); } @media (min-width: 480px) { .hide-on-desktop { /* stylelint-disable declaration-no-important */ display: none !important; /* stylelint-enable */ } } /* stylelint-disable declaration-no-important, a11y/no-display-none */ @media (max-width: 480px) { .hide-on-mobile { display: none !important; } } /* stylelint-enable */ /* stylelint-disable declaration-no-important, a11y/no-display-none */ @media (max-width: 960px) { .hide-on-mobile-nav-view { display: none !important; } } /* stylelint-enable */ /* stylelint-disable declaration-no-important, a11y/no-display-none */ @media (min-width: 960px) { .hide-on-desktop-nav-view { display: none !important; } } /* stylelint-enable */ /* stylelint-disable declaration-no-important, a11y/no-display-none */ .hide-completely { display: none !important; } /* stylelint-enable */ /* stylelint-disable a11y/no-display-none */ @media print { .nav-container, .site-footer, .side-nav { display: none; } } /* stylelint-disable declaration-property-unit-allowed-list */ :root { font-size: 62.5%; } /* stylelint-enable declaration-property-unit-allowed-list */ body { color: var(--color-paragraph); font-family: var(--font-paragraph); font-size: var(--font-size-default); -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-weight: var(--font-weight-paragraphs); text-rendering: geometricPrecision; } p, dd, dt, figcaption, hr, small, ol, ul, li, blockquote, kbd, pre, samp, code, th, td, table, tr, textarea, select, input[type="text"], input[type="tel"], input[type="url"], input[type="password"], input[type="number"], input[type="month"], input[type="week"], input[type="email"], input[type="search"] { font-size: var(--font-size-paragraphs); line-height: var(--line-height-paragraphs); } h1, h2, h3, h4, h5, h6 { color: var(--color-heading); font-family: var(--font-heading); font-weight: var(--font-weight-headings); margin-bottom: var(--margin-between-paragraphs); margin-top: var(--margin-between-paragraphs); } h2, h3, h4, h5, h6 { line-height: var(--line-height-headings); } h1 { font-size: var(--font-size-h1); } h2 { font-size: var(--font-size-h2); } h3 { font-size: var(--font-size-h3); } h4 { font-size: var(--font-size-h4); } h5 { font-size: var(--font-size-h5); } h6 { font-size: var(--font-size-h6); } h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child { margin-top: 0; } ul { list-style: disc outside; padding-left: 1.9rem; } ul li { padding-left: 0; } ol { padding-left: 1.9rem; } b, strong { font-weight: var(--font-weight-bold); } em, i { font-style: italic; } small { font-size: .87em; } p { margin-bottom: 2.9rem; margin-top: 2.9rem; } blockquote { border: 0 none; clear: both; margin: 0; padding-bottom: 3rem; position: relative; } blockquote p { color: var(--color-blockquote); font-style: italic; margin-bottom: 0; overflow: visible; position: relative; } @media (min-width: 770px) { blockquote { margin-top: 4rem; padding-bottom: 4rem; } } blockquote::before { content: ''; display: block; height: 4px; left: 0; max-width: 147px; position: absolute; top: 0; } @media (min-width: 480px) { blockquote::before { width: 30%; } } cite { display: block; font-style: italic; } p:first-child { margin-top: 0; } p:last-child { margin-bottom: 0; } img { height: auto; -ms-interpolation-mode: bicubic; max-width: 100%; vertical-align: middle; } figure { margin-bottom: 1rem; margin-left: 0; margin-right: 0; margin-top: 0; position: relative; } figcaption { font-style: normal; font-weight: var(--font-weight-paragraphs); margin-top: 0; } kbd, pre, samp { font-family: var(--font-monospace); } code { background-color: var(--color-background-code-inline); border-radius: .3rem; color: var(--color-code-block); font-family: var(--font-monospace); font-size: inherit; padding: .37rem .5rem; } pre code { display: inline-block; padding: 1.15rem 1rem .85rem; } pre { border-radius: .3rem; display: block; margin-bottom: 2rem; white-space: pre-wrap; word-break: break-all; word-wrap: break-word; } .site-header { align-items: center; display: flex; justify-content: space-between; margin-left: auto; margin-right: auto; max-width: 1200px; padding-bottom: var(--padding-site-header-vertical); padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); padding-top: var(--padding-site-header-vertical); position: relative; z-index: 15; } .site-title { line-height: 0; margin: 0; } .site-title a { align-items: center; display: flex; } .nav-container { z-index: 10; } .site-footer { clear: both; color: var(--color-white); overflow: hidden; padding: 6rem 2rem; text-align: center; /* stylelint-disable a11y/no-display-none */ /* stylelint-enable */ } .site-footer p, .site-footer span { color: var(--color-white); } .site-footer .wordpress-logo { display: block; margin-bottom: 2rem; margin-left: auto; margin-right: auto; } .site-footer span { display: block; text-align: center; } .site-footer svg { margin-right: 5px; position: relative; } .site-footer .is-external-link::after { display: none; } .site-footer .powered-by-wordpress { display: inline-block; font-weight: var(--font-weight-semibold); margin-bottom: 1rem; text-align: center; } .site-footer .github-link { margin-left: 8px; margin-top: 4px; overflow: hidden; padding-bottom: 4px; position: relative; } .site-footer .github-link.is-external-link::after { background-color: var(--color-white); bottom: 0; content: ''; display: block; height: 1px; opacity: .4; position: absolute; top: auto; transition: opacity 0.22s; width: 100%; } .site-footer a { color: var(--color-white); transition: opacity 0.22s; } .site-footer a:hover, .site-footer a:focus { color: var(--color-white); opacity: .5; } .site-footer a:hover::after, .site-footer a:focus::after { opacity: .2; } .site-footer .theme-info { align-items: center; display: flex; flex-wrap: wrap; justify-content: center; line-height: 1.5; margin: 0 auto; text-align: center; } .site-footer .theme-info i { margin: 0 5px; } :root { --color-background-input-field: var(--color-white); --color-border-forms: #d9d9d9; --color-border-forms-focus: rgba(42, 45, 62, .3); --color-button: var(--color-white); --color-button-hover: var(--color-white); --color-button-background: var(--color-east-bay); --color-button-background-hover: var(--color-valhalla); --color-checkbox: var(--color-east-bay); --color-checkbox-outline: 0 0 0 3px rgba(84, 87, 115, .2); --color-checkbox-border-hover: lighten(#545773, 15%); --color-placeholder: var(--color-paragraph); --color-placeholder-focus: var(--color-black); --opacity-placeholder: .4; --opacity-placeholder-focus: .8; --border-radius-checkbox: 4px; --border-radius-input-field: 4px; --border-radius-select: 0; --border-width-checkbox: 2px; --border-width-input-field: 2px; --gap-checkbox: 10px; --line-height-checkbox: var(--line-height-paragraphs); --size-checkbox-marker: 12px; --size-radio-button: 16px; --size-radio-button-marker: 8px; } .button-wrapper { margin-bottom: 0; } .site-main button, .site-main .button, .site-main input[type="reset"], .site-main input[type="submit"], .site-main input[type="button"], .site-footer button, .site-footer .button, .site-footer input[type="reset"], .site-footer input[type="submit"], .site-footer input[type="button"] { appearance: none; background-color: var(--color-button-background); border: var(--border-width-input-field) solid var(--color-button-background); border-radius: var(--border-radius-input-field); color: var(--color-button); cursor: pointer; display: inline-block; font-family: var(--font-paragraph); font-size: var(--font-size-16); font-weight: var(--font-weight-semibold); line-height: 19.6364px; margin-bottom: 0; max-width: 230px; overflow: hidden; padding-bottom: calc(14px - calc(var(--border-width-input-field) * 2)); padding-left: calc(21px - calc(var(--border-width-input-field) * 2)); padding-right: calc(21px - calc(var(--border-width-input-field) * 2)); padding-top: calc(14px - calc(var(--border-width-input-field) * 2)); position: relative; text-decoration: none; text-overflow: ellipsis; transition: all 0.08s cubic-bezier(0.25, 0.46, 0.45, 0.94); white-space: nowrap; width: auto; /* stylelint-disable a11y/no-display-none */ /* stylelint-enable */ } .site-main button.is-external-link::after, .site-main .button.is-external-link::after, .site-main input[type="reset"].is-external-link::after, .site-main input[type="submit"].is-external-link::after, .site-main input[type="button"].is-external-link::after, .site-footer button.is-external-link::after, .site-footer .button.is-external-link::after, .site-footer input[type="reset"].is-external-link::after, .site-footer input[type="submit"].is-external-link::after, .site-footer input[type="button"].is-external-link::after { display: none; } .site-main button.focus, .site-main button:hover, .site-main button:focus, .site-main .button.focus, .site-main .button:hover, .site-main .button:focus, .site-main input[type="reset"].focus, .site-main input[type="reset"]:hover, .site-main input[type="reset"]:focus, .site-main input[type="submit"].focus, .site-main input[type="submit"]:hover, .site-main input[type="submit"]:focus, .site-main input[type="button"].focus, .site-main input[type="button"]:hover, .site-main input[type="button"]:focus, .site-footer button.focus, .site-footer button:hover, .site-footer button:focus, .site-footer .button.focus, .site-footer .button:hover, .site-footer .button:focus, .site-footer input[type="reset"].focus, .site-footer input[type="reset"]:hover, .site-footer input[type="reset"]:focus, .site-footer input[type="submit"].focus, .site-footer input[type="submit"]:hover, .site-footer input[type="submit"]:focus, .site-footer input[type="button"].focus, .site-footer input[type="button"]:hover, .site-footer input[type="button"]:focus { background-color: var(--color-button-background-hover); border: var(--border-width-input-field) solid var(--color-button-background-hover); color: var(--color-button-hover); } .site-main button.button-small, .site-main .button.button-small, .site-main input[type="reset"].button-small, .site-main input[type="submit"].button-small, .site-main input[type="button"].button-small, .site-footer button.button-small, .site-footer .button.button-small, .site-footer input[type="reset"].button-small, .site-footer input[type="submit"].button-small, .site-footer input[type="button"].button-small { font-size: var(--font-size-16); line-height: 20.9091px; padding-bottom: calc(10px - calc(var(--border-width-input-field) * 2)); padding-left: calc(21px - calc(var(--border-width-input-field) * 2)); padding-right: calc(21px - calc(var(--border-width-input-field) * 2)); padding-top: calc(10px - calc(var(--border-width-input-field) * 2)); } .site-main button.button-large, .site-main .button.button-large, .site-main input[type="reset"].button-large, .site-main input[type="submit"].button-large, .site-main input[type="button"].button-large, .site-footer button.button-large, .site-footer .button.button-large, .site-footer input[type="reset"].button-large, .site-footer input[type="submit"].button-large, .site-footer input[type="button"].button-large { font-size: var(--font-size-18); line-height: 23.0909px; padding-bottom: calc(17px - calc(var(--border-width-input-field) * 2)); padding-left: calc(21px - calc(var(--border-width-input-field) * 2)); padding-right: calc(21px - calc(var(--border-width-input-field) * 2)); padding-top: calc(17px - calc(var(--border-width-input-field) * 2)); } .site-main button.button-ghost, .site-main .button.button-ghost, .site-main input[type="reset"].button-ghost, .site-main input[type="submit"].button-ghost, .site-main input[type="button"].button-ghost, .site-footer button.button-ghost, .site-footer .button.button-ghost, .site-footer input[type="reset"].button-ghost, .site-footer input[type="submit"].button-ghost, .site-footer input[type="button"].button-ghost { background-color: transparent; border: var(--border-width-input-field) solid var(--color-button-background); border-radius: var(--border-radius-input-field); color: var(--color-button-background); transition: all 0.08s cubic-bezier(0.25, 0.46, 0.45, 0.94); } .site-main button.button-ghost.focus, .site-main button.button-ghost:focus, .site-main button.button-ghost:hover, .site-main .button.button-ghost.focus, .site-main .button.button-ghost:focus, .site-main .button.button-ghost:hover, .site-main input[type="reset"].button-ghost.focus, .site-main input[type="reset"].button-ghost:focus, .site-main input[type="reset"].button-ghost:hover, .site-main input[type="submit"].button-ghost.focus, .site-main input[type="submit"].button-ghost:focus, .site-main input[type="submit"].button-ghost:hover, .site-main input[type="button"].button-ghost.focus, .site-main input[type="button"].button-ghost:focus, .site-main input[type="button"].button-ghost:hover, .site-footer button.button-ghost.focus, .site-footer button.button-ghost:focus, .site-footer button.button-ghost:hover, .site-footer .button.button-ghost.focus, .site-footer .button.button-ghost:focus, .site-footer .button.button-ghost:hover, .site-footer input[type="reset"].button-ghost.focus, .site-footer input[type="reset"].button-ghost:focus, .site-footer input[type="reset"].button-ghost:hover, .site-footer input[type="submit"].button-ghost.focus, .site-footer input[type="submit"].button-ghost:focus, .site-footer input[type="submit"].button-ghost:hover, .site-footer input[type="button"].button-ghost.focus, .site-footer input[type="button"].button-ghost:focus, .site-footer input[type="button"].button-ghost:hover { background-color: var(--color-button-background); border-color: var(--color-button-background); color: var(--color-white); } select { background-image: url("../../svg/select.svg"); background-position: right 0 center; background-repeat: no-repeat; background-size: 40px auto; border-color: var(--color-border-forms); border-radius: var(--border-radius-select); border-style: solid; border-width: var(--border-width-input-field); color: var(--color-paragraph); font-size: var(--font-size-17); line-height: 24px; max-width: 100%; min-width: 0; padding: 15px; text-indent: 1px; transition: none; width: 100%; } textarea, select, input[type="text"], input[type="tel"], input[type="url"], input[type="password"], input[type="number"], input[type="month"], input[type="week"], input[type="email"], input[type="search"] { background-color: var(--color-background-input-field); border-color: var(--color-border-forms); border-radius: var(--border-radius-input-field); border-style: solid; border-width: var(--border-width-input-field); box-sizing: border-box; font-family: var(--font-paragraph); font-size: var(--font-size-17); line-height: 24px; margin-bottom: 0; padding: 15px; position: relative; text-decoration: none; transition: background .55s; } textarea::placeholder, select::placeholder, input[type="text"]::placeholder, input[type="tel"]::placeholder, input[type="url"]::placeholder, input[type="password"]::placeholder, input[type="number"]::placeholder, input[type="month"]::placeholder, input[type="week"]::placeholder, input[type="email"]::placeholder, input[type="search"]::placeholder { color: var(--color-placeholder); opacity: var(--opacity-placeholder); } textarea:focus, select:focus, input[type="text"]:focus, input[type="tel"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="number"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="email"]:focus, input[type="search"]:focus { background-color: var(--color-background-input-field); border-color: var(--color-border-forms-focus); } textarea:focus::placeholder, select:focus::placeholder, input[type="text"]:focus::placeholder, input[type="tel"]:focus::placeholder, input[type="url"]:focus::placeholder, input[type="password"]:focus::placeholder, input[type="number"]:focus::placeholder, input[type="month"]:focus::placeholder, input[type="week"]:focus::placeholder, input[type="email"]:focus::placeholder, input[type="search"]:focus::placeholder { color: var(--color-placeholder-focus); opacity: var(--opacity-placeholder-focus); } input[type="radio"], input[type="checkbox"] { height: var(--size-radio-button); margin: 0; margin-top: calc((1em * var(--line-height-checkbox) - var(--size-radio-button)) / 2); opacity: 0; padding: 0; pointer-events: none; position: absolute; width: var(--size-radio-button); } input[type="radio"] + label, input[type="checkbox"] + label { align-items: flex-start; cursor: pointer; display: inline-flex; line-height: var(--line-height-checkbox); } input[type="radio"] + label::before, input[type="checkbox"] + label::before { align-self: center; background-color: var(--color-white); background-position: center; background-repeat: no-repeat; border-color: var(--color-checkbox); border-style: solid; border-width: var(--border-width-checkbox); content: ''; display: inline-flex; flex-shrink: 0; height: var(--size-radio-button); margin-right: var(--gap-checkbox); position: relative; top: calc(var(--border-width-checkbox) / 2); transition: transform .2s, border .2s; width: var(--size-radio-button); } input[type="radio"] + label::before { border-radius: 50%; } input[type="checkbox"] + label::before { border-radius: var(--border-radius-checkbox); } input[type="radio"]:checked + label::before, input[type="checkbox"]:checked + label::before { background-color: var(--color-checkbox); border-color: var(--color-checkbox); box-shadow: none; transition: transform .2s; } input[type="radio"]:active + label::before, input[type="checkbox"]:active + label::before { transform: scale(0.8); transition: transform .2s; } input[type="radio"]:checked + label::before { background-image: url("data:image/svg+xml;charset=utf8, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg class='nc-icon-wrapper' fill='%23ffffff'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23ffffff'%3E%3C/circle%3E%3C/g%3E%3C/svg%3E"); background-size: var(--size-radio-button-marker); } input[type="checkbox"]:checked + label::before { background-image: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpolyline points='1 6.5 4 9.5 11 2.5' fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E"); background-size: var(--size-checkbox-marker); } input[type="radio"]:focus + label::before, input[type="checkbox"]:focus + label::before, input[type="radio"]:checked:active + label::before, input[type="checkbox"]:checked:active + label::before { border-color: var(--color-checkbox); box-shadow: var(--color-checkbox-outline); } input[type="radio"]:checked:active + label::before, input[type="checkbox"]:checked:active + label::before { transform: none; transition: none; } /* stylelint-disable selector-max-pseudo-class */ input[type="radio"]:not(:checked):not(:focus) + label:hover::before, input[type="checkbox"]:not(:checked):not(:focus) + label:hover::before { border-color: var(--color-checkbox-border-hover); } /* stylelint-enable selector-max-pseudo-class */ /* stylelint-disable no-descending-specificity */ .cat { margin-bottom: .5rem; margin-top: 4rem; } .cat a { background-color: transparent; border-color: var(--color-category-border); border-radius: 5px; border-style: solid; border-width: 1px 1px 2px; box-shadow: none; color: var(--color-category-text); display: inline-block; font-size: var(--font-size-16); margin-bottom: .5rem; margin-right: .5em; padding: .2em .6em; transition: all 0.22s; } .cat a:hover, .cat a:focus { border-color: var(--color-tag-border-hover); } .tags { list-style: none; margin-bottom: var(--margin-between-text-elements); margin-top: 0; overflow: hidden; } .tags li { float: left; margin-bottom: 10px; margin-left: 0; margin-right: 10px; margin-top: 0; padding-left: 0; } .tags a { background-color: transparent; border-color: var(--color-tag-border); border-radius: 5px; border-style: solid; border-width: 1px 1px 2px; box-shadow: none; color: var(--color-tag-text); display: inline-block; font-size: var(--font-size-14); margin-right: .4em; padding: .2em .6em; transition: all 0.22s; } .tags a:hover, .tags a:focus { border-color: var(--color-tag-border-hover); } .post-navigation .nav-links { display: flex; flex-wrap: wrap; justify-content: space-between; } :root { --color-border-sticky: #d7e4f2; --color-bypostauthor: rgba(42, 45, 62, .5); } .sticky { border: 1px dashed var(--color-border-sticky); margin-bottom: 2rem; padding: 2rem; } .comment-list li.bypostauthor, .bypostauthor { border: 1px dashed var(--color-bypostauthor); padding: 2rem; } .wp-caption { max-width: 100%; } .wp-caption img[class*="wp-image-"] { display: block; margin: 0 auto; } .wp-caption .wp-caption-text { font-style: italic; margin-bottom: 20px; padding: 1rem 0; text-align: left; } .site-footer .top { background-color: transparent; padding: 16px; } .site-footer .top svg { align-items: center; display: flex; fill: var(--color-top-arrow-dark); height: 18px; justify-content: center; margin: 0; opacity: .8; transition: all .3s ease; width: 18px; } @media (max-width: 480px) { .site-footer .top svg { height: 15px; width: 15px; } } .site-footer .top:hover, .site-footer .top:focus, .site-footer .top:active { opacity: 1; } .site-footer .top:hover svg, .site-footer .top:focus svg, .site-footer .top:active svg { transform: translateY(-0.5rem); } .site-footer .back-to-top { align-items: center; bottom: 1rem; display: flex; justify-content: center; margin: 0; opacity: 0; position: fixed; right: 1rem; text-decoration: none; transition: opacity 0.22s 0s, visibility 0s 0.22s; z-index: 9999; } .site-footer .back-to-top.has-light-bg svg { fill: var(--color-top-arrow-dark); } .site-footer .back-to-top.has-dark-bg svg { fill: var(--color-top-arrow-light); } .site-footer .back-to-top.is-visible, .site-footer .back-to-top.fade-out { transition: opacity 0.22s 0s, visibility 0s 0s; } .site-footer .back-to-top.is-visible { opacity: 1; } .site-footer .back-to-top.fade-out { opacity: 1; } .site-footer .back-to-top.fade-out:focus, .site-footer .back-to-top.fade-out:hover { opacity: 1; } .gallery { display: grid; grid-gap: 1.5em; margin-bottom: 1.5em; } .gallery-item { display: inline-block; text-align: center; width: 100%; } .gallery-columns-2 { grid-template-columns: repeat(2, 1fr); } .gallery-columns-3 { grid-template-columns: repeat(3, 1fr); } .gallery-columns-4 { grid-template-columns: repeat(4, 1fr); } .gallery-columns-5 { grid-template-columns: repeat(5, 1fr); } .gallery-columns-6 { grid-template-columns: repeat(6, 1fr); } .gallery-columns-7 { grid-template-columns: repeat(7, 1fr); } .gallery-columns-8 { grid-template-columns: repeat(8, 1fr); } .gallery-columns-9 { grid-template-columns: repeat(9, 1fr); } .gallery-caption { display: block; } div.lazy { background-position: center; background-size: cover; height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: 0; } .has-lazyload { overflow: hidden; position: relative; } /* stylelint-disable a11y/font-size-is-readable */ .navigation:not(.post-navigation) .nav-links { align-items: flex-start; display: flex; font-family: var(--font-heading); font-size: 14px; justify-content: flex-start; margin-top: 4rem; overflow: hidden; text-align: left; width: 100%; } .navigation:not(.post-navigation) .nav-links a { text-decoration: none; } /* stylelint-enable */ .page-numbers { align-items: center; background-color: var(--color-white); border-bottom: 2px solid var(--color-blue-chalk); border-left: 1px solid var(--color-blue-chalk); border-right: 1px solid var(--color-blue-chalk); border-top: 2px solid var(--color-blue-chalk); color: var(--color-pagination-text); display: flex; font-weight: var(--font-weight-medium); height: 35px; justify-content: center; margin-left: 0; margin-right: 0; transition: all 0.22s; width: 35px; } @media (max-width: 600px) { .page-numbers { height: 26px; width: 26px; } } .page-numbers:last-child { border-bottom-left-radius: 0; border-bottom-right-radius: 4px; border-top-left-radius: 0; border-top-right-radius: 4px; } .page-numbers:first-child { border-bottom-left-radius: 4px; border-bottom-right-radius: 0; border-top-left-radius: 4px; border-top-right-radius: 0; } a.page-numbers:hover, a.page-numbers:focus { background-color: var(--color-pagination-background-hover); border-color: var(--color-pagination-border-hover); color: var(--color-pagination-text-hover); } .page-numbers.current { background-color: var(--color-pagination-background-current); border-color: var(--color-pagination-border-current); color: var(--color-pagination-text-current); } .page-numbers.next, .page-numbers.prev { padding-left: 20px; padding-right: 20px; width: auto; } @media (max-width: 600px) { .page-numbers.next, .page-numbers.prev { padding-left: 10px; padding-right: 10px; } } /* stylelint-disable selector-class-pattern */ div.validation_error { background-color: var(--color-error); color: var(--color-white); font-size: var(--font-size-17); font-weight: var(--font-weight-bold); margin-bottom: 2rem; padding: 2rem; } div.validation_error:focus { color: var(--color-white); } body *[aria-invalid="true"] { border-color: var(--color-error); } .validation_message { color: var(--color-error); font-size: var(--font-size-16); font-weight: var(--font-weight-regular); } .validation_list { list-style: none; margin-bottom: 2rem; margin-left: 0; padding: 0; } .validation_list a { color: var(--color-error); text-decoration: none; } .validation_list li { color: var(--color-error); font-weight: var(--font-weight-bold); } .gform_body .gfield_required { color: var(--color-main); font-size: var(--font-size-22); position: relative; top: 3px; } .gform_body ul { list-style: none; margin: 0; padding: 0; } .gform_body .gform_fields li { margin-bottom: 1rem; margin-top: 1rem; } .gform_body .gfield_radio li, .gform_body .gfield_checkbox li { margin-bottom: 0; margin-top: 0; } .gform_body .gfieldset li { align-items: center; display: inline-flex; flex-wrap: wrap; justify-content: flex-start; margin: 0; width: 100%; } .gform_body .gform_fields li:last-child { margin-bottom: 0; } .gform_body .gfield_label, .gform_body .ginput_container label { display: inline-block; font-weight: var(--font-weight-bold); margin-bottom: 1rem; margin-top: 1rem; } .gform_body input[type="radio"], .gform_body input[type="checkbox"] { margin-right: 1rem; } .gform_body .gfield_radio li label, .gform_body .gfield_checkbox li label { margin-bottom: 0; margin-top: 0; } .gform_body input:not([type="radio"]):not([type="checkbox"]), .gform_body textarea { width: 100%; } @media (min-width: 480px) { .gform_body .ginput_full { display: block; width: 100%; } .gform_body .ginput_complex { display: flex; flex-wrap: wrap; margin-left: -.5rem; margin-right: -.5rem; } .gform_body .ginput_complex span { margin-left: .5rem; margin-right: .5rem; } .gform_body .ginput_left, .gform_body .ginput_right { display: inline-flex; flex-wrap: wrap; width: calc(50% - 1rem); } .gform_body .ginput_left > label, .gform_body .ginput_left input, .gform_body .ginput_right > label, .gform_body .ginput_right input { font-size: var(--font-size-16); width: 100%; } } /* stylelint-enable selector-class-pattern */ .block-search, .block-search-results { background-color: var(--color-white); } .block-search form { display: grid; /* autoprefixer: off */ grid-gap: 1rem; grid-template-columns: 9fr 1fr; } .block-search form input, .block-search form label { width: 100%; } .block-search-results > .container { padding-top: 0; } @media (min-width: 1024px) { .block-search-results > .container { display: grid; grid-auto-rows: minmax(0, auto); grid-gap: 16px; grid-row-gap: 16px; grid-template-columns: repeat(1, minmax(0, 1fr)); } @supports not (display: grid) { .block-search-results > .container { display: flex; flex-wrap: wrap; overflow: hidden; } .block-search-results > .container > div { margin-bottom: 16px; margin-right: 16px; width: calc(100% - 16px); } .block-search-results > .container > div:nth-child(1n+1) { margin-right: 0; } } } @media all and (min-width: 1024px) and (-ms-high-contrast: none), (min-width: 1024px) and (-ms-high-contrast: active) { .block-search-results > .container { display: flex; flex-wrap: wrap; overflow: hidden; } .block-search-results > .container > div { margin-bottom: 16px; margin-right: 16px; width: calc(100% - 16px); } .block-search-results > .container > div:nth-child(1n+1) { margin-right: 0; } } @media (min-width: 1024px) { @supports (-ms-ime-align: auto) { .block-search-results > .container { display: flex; flex-wrap: wrap; overflow: hidden; } .block-search-results > .container > div { margin-bottom: 16px; margin-right: 16px; width: calc(100% - 16px); } .block-search-results > .container > div:nth-child(1n+1) { margin-right: 0; } } } .block-search-results .row-result { border-top: 2px solid var(--color-border-forms); padding: 2rem 0; } .block-search-results .row-result:last-of-type { border-bottom: 2px solid var(--color-border-forms); } .block-search-results h3 { font-size: var(--font-size-h4); margin-bottom: 1rem; } .block-search-results p { margin-top: 1rem; } .block-search-results .tags a { background-color: var(--color-background-tag); color: var(--color-main); } .block-search-results .tags a:hover, .block-search-results .tags a:focus { background-color: var(--color-main); color: var(--color-background-tag); } @media (min-width: 480px) { .block-error-404 .container { padding-bottom: 10%; padding-top: 10%; } } .block-error-404 h1 { font-size: 42px; margin-bottom: 2rem; } @media screen and (min-width: 320px) { .block-error-404 h1 { font-size: calc(42px + 158 * ((100vw - 320px) / 1600)); } } @media screen and (min-width: 1920px) { .block-error-404 h1 { font-size: 200px; } } /* stylelint-disable no-descending-specificity */ .comments-area { margin-bottom: 0; margin-top: 50px; overflow: visible; } .comment-list { list-style: none; margin: 0; padding: 0; } .comment-list li { font-size: var(--font-size-14); margin-bottom: 70px; margin-top: 0; padding: 0; } .comment-list p { color: var(--color-comment-text); font-size: var(--font-size-14); } .comment-list .avatar { border-radius: 50%; float: right; } .comment-list .comment-author { color: var(--color-comment-author-text); font-size: var(--font-size-h4); margin-bottom: 10px; margin-top: 0; padding: 0; } .comment-list a, .comment-list .comments-link a { box-shadow: none; color: var(--color-link-comment); } .comment-list .comment-author a { color: var(--color-paragraph); } .comment-list .comment-time { font-size: var(--font-size-14); margin: 0; padding: 0; } .comment-list .comment-time a { color: var(--color-link-comment-time-anchor); } .comment-list .comment-time:focus, .comment-list .comment-time:hover { opacity: 1; } .comment-list .comment-time svg { fill: var(--color-link-comment-time-anchor); margin-right: 5px; position: relative; top: 2px; } .comments-link { align-items: center; display: inline-flex; font-size: var(--font-size-14); text-align: right; } .comments-link a { color: var(--color-link-comment); } .comments-link:hover, .comments-link:focus, .comments-link a:hover, .comments-link a:focus { color: var(--color-black); } .comments-link svg { margin-right: 7px; position: relative; top: -1px; } @media (min-width: 480px) { .comment-form { display: grid; grid-gap: 1em; grid-template-columns: 1fr 1fr; /* autoprefixer: off */ justify-content: center; } .comment-form .comment-notes, .comment-form .comment-form-comment, .comment-form .form-submit { grid-column: 1 / span 2; } } .comment-respond { margin-bottom: 0; overflow: visible; } @media (max-width: 480px) { .comment-respond input { width: 100%; } } .comment-respond .comment-form-author { margin-bottom: 20px; margin-top: 0; } .comment-respond .comment-form-author input { border-width: 1px; padding: 15px; width: 100%; } .comment-respond .comment-form-email { clear: right; margin-bottom: 20px; margin-right: 0; margin-top: 0; } .comment-respond .comment-form-email input { border-width: 1px; padding: 15px; width: 100%; } .comment-respond .comment-form-url { margin-bottom: 30px; margin-top: 0; position: relative; } .comment-respond .comment-form-url input { border-width: 1px; padding: 15px; width: 100%; } .comment-respond .form-submit { clear: both; display: block; margin-bottom: 0; margin-top: 0; } .comment-respond .comment-form-comment { margin-bottom: 20px; } .comment-respond textarea { width: 100%; } /* stylelint-enable no-descending-specificity */ .editor-styles-wrapper, .gutenberg-content { max-width: 100%; padding-bottom: var(--padding-block); padding-left: 0; padding-right: 0; padding-top: var(--padding-block); } .gutenberg-content > * { line-height: var(--line-height-paragraphs-blog); margin-left: auto; margin-right: auto; max-width: 800px; padding-left: 0; padding-right: 0; width: 100%; } @media (max-width: 840px) { .gutenberg-content > * { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .gutenberg-content > *.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } } .editor-styles-wrapper blockquote + cite, .editor-styles-wrapper blockquote + p > cite, .gutenberg-content blockquote + cite, .gutenberg-content blockquote + p > cite { margin-bottom: 4rem; } .editor-styles-wrapper > blockquote, .editor-styles-wrapper > blockquote.wp-block-quote, .gutenberg-content > blockquote, .gutenberg-content > blockquote.wp-block-quote { border-left: 2px solid var(--color-blockquote); line-height: var(--line-height-paragraphs-blog); margin-bottom: 4rem; margin-left: auto; margin-right: auto; margin-top: 4rem; padding: 3.5rem 6rem; width: calc(100% - 12rem); } @media (max-width: 840px) { .editor-styles-wrapper > blockquote, .editor-styles-wrapper > blockquote.wp-block-quote, .gutenberg-content > blockquote, .gutenberg-content > blockquote.wp-block-quote { padding: 3.5rem 2rem; width: calc(100% - 4rem); } } @media (max-width: 480px) { .editor-styles-wrapper > blockquote, .editor-styles-wrapper > blockquote.wp-block-quote, .gutenberg-content > blockquote, .gutenberg-content > blockquote.wp-block-quote { padding: 4rem 4rem 4rem 2rem; } } .editor-styles-wrapper > blockquote > p, .editor-styles-wrapper > blockquote.wp-block-quote > p, .gutenberg-content > blockquote > p, .gutenberg-content > blockquote.wp-block-quote > p { color: var(--color-blockquote); line-height: var(--line-height-paragraphs-blog); } .editor-styles-wrapper .wp-block-blockquote.alignwide, .editor-styles-wrapper .wp-block-blockquote.alignfull, .gutenberg-content .wp-block-blockquote.alignwide, .gutenberg-content .wp-block-blockquote.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-blockquote blockquote, .gutenberg-content .wp-block-blockquote blockquote { padding-bottom: 0; } pre { background-color: var(--color-background-code-block); border: 1px solid var(--color-background-code-block); border-radius: 4px; color: var(--color-code-text); display: block; font-family: var(--font-monospace); font-size: var(--font-size-16); line-height: var(--line-height-paragraphs-blog); margin: 3rem 0; overflow: auto; padding: 15px 16px 14px; position: relative; white-space: pre; word-wrap: break-word; } pre code { background-color: transparent; border-radius: 4px; color: var(--color-code-text); } @media (max-width: 1240px) { .editor-styles-wrapper .wp-block-code, .gutenberg-content .wp-block-code { margin-left: var(--padding-container-horizontal); margin-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 4)); } } .editor-styles-wrapper pre, .gutenberg-content pre { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); } .editor-styles-wrapper .wp-block-columns.alignfull, .gutenberg-content .wp-block-columns.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); } .editor-styles-wrapper .wp-block-columns.columns-1.alignfull, .gutenberg-content .wp-block-columns.columns-1.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-columns.columns-1, .gutenberg-content .wp-block-columns.columns-1 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-columns.columns-1 .wp-block-column, .gutenberg-content .wp-block-columns.columns-1 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-columns.columns-1, .gutenberg-content .wp-block-columns.columns-1 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-columns.columns-2.alignfull, .gutenberg-content .wp-block-columns.columns-2.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-columns.columns-2, .gutenberg-content .wp-block-columns.columns-2 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-columns.columns-2 .wp-block-column, .gutenberg-content .wp-block-columns.columns-2 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-columns.columns-2, .gutenberg-content .wp-block-columns.columns-2 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-columns.columns-3.alignfull, .gutenberg-content .wp-block-columns.columns-3.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-columns.columns-3, .gutenberg-content .wp-block-columns.columns-3 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-columns.columns-3 .wp-block-column, .gutenberg-content .wp-block-columns.columns-3 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-columns.columns-3, .gutenberg-content .wp-block-columns.columns-3 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-columns.columns-4.alignfull, .gutenberg-content .wp-block-columns.columns-4.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-columns.columns-4, .gutenberg-content .wp-block-columns.columns-4 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-columns.columns-4 .wp-block-column, .gutenberg-content .wp-block-columns.columns-4 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-columns.columns-4, .gutenberg-content .wp-block-columns.columns-4 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-columns.columns-5.alignfull, .gutenberg-content .wp-block-columns.columns-5.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-columns.columns-5, .gutenberg-content .wp-block-columns.columns-5 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-columns.columns-5 .wp-block-column, .gutenberg-content .wp-block-columns.columns-5 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-columns.columns-5, .gutenberg-content .wp-block-columns.columns-5 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-columns.columns-6.alignfull, .gutenberg-content .wp-block-columns.columns-6.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-columns.columns-6, .gutenberg-content .wp-block-columns.columns-6 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-columns.columns-6 .wp-block-column, .gutenberg-content .wp-block-columns.columns-6 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-columns.columns-6, .gutenberg-content .wp-block-columns.columns-6 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-columns.columns-7.alignfull, .gutenberg-content .wp-block-columns.columns-7.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-columns.columns-7, .gutenberg-content .wp-block-columns.columns-7 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-columns.columns-7 .wp-block-column, .gutenberg-content .wp-block-columns.columns-7 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-columns.columns-7, .gutenberg-content .wp-block-columns.columns-7 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-columns.columns-8.alignfull, .gutenberg-content .wp-block-columns.columns-8.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-columns.columns-8, .gutenberg-content .wp-block-columns.columns-8 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-columns.columns-8 .wp-block-column, .gutenberg-content .wp-block-columns.columns-8 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-columns.columns-8, .gutenberg-content .wp-block-columns.columns-8 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-columns.columns-9.alignfull, .gutenberg-content .wp-block-columns.columns-9.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-columns.columns-9, .gutenberg-content .wp-block-columns.columns-9 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-columns.columns-9 .wp-block-column, .gutenberg-content .wp-block-columns.columns-9 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-columns.columns-9, .gutenberg-content .wp-block-columns.columns-9 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-cover__inner-container, .gutenberg-content .wp-block-cover__inner-container { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); } .editor-styles-wrapper .wp-block-cover__inner-container p, .gutenberg-content .wp-block-cover__inner-container p { line-height: var(--line-height-core-heading); } .editor-styles-wrapper .wp-block-embed iframe, .editor-styles-wrapper .wp-block-embed video, .gutenberg-content .wp-block-embed iframe, .gutenberg-content .wp-block-embed video { max-width: 100%; width: 100%; } @media (max-width: 1240px) { .editor-styles-wrapper .wp-block-embed.alignwide, .editor-styles-wrapper .wp-block-embed.alignfull, .gutenberg-content .wp-block-embed.alignwide, .gutenberg-content .wp-block-embed.alignfull { width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } } .editor-styles-wrapper .wp-block-embed.alignfull, .gutenberg-content .wp-block-embed.alignfull { margin-left: 0; margin-right: 0; max-width: 100%; padding-left: 0; padding-right: 0; width: 100%; } .editor-styles-wrapper .is-grid, .editor-styles-wrapper .wp-block-gallery, .gutenberg-content .is-grid, .gutenberg-content .wp-block-gallery { overflow: hidden; } .editor-styles-wrapper .is-grid figcaption, .editor-styles-wrapper .wp-block-gallery figcaption, .gutenberg-content .is-grid figcaption, .gutenberg-content .wp-block-gallery figcaption { color: var(--color-white); font-size: var(--font-size-16); line-height: 1.55; margin-bottom: var(--margin-between-text-elements); width: 100%; } .editor-styles-wrapper .is-grid img, .editor-styles-wrapper .wp-block-gallery img, .gutenberg-content .is-grid img, .gutenberg-content .wp-block-gallery img { margin-bottom: 0; } .editor-styles-wrapper .is-grid.alignwide, .editor-styles-wrapper .wp-block-gallery.alignwide, .gutenberg-content .is-grid.alignwide, .gutenberg-content .wp-block-gallery.alignwide { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); } .editor-styles-wrapper .is-grid.alignfull, .editor-styles-wrapper .wp-block-gallery.alignfull, .gutenberg-content .is-grid.alignfull, .gutenberg-content .wp-block-gallery.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .is-grid, .editor-styles-wrapper .blocks-gallery-grid, .gutenberg-content .is-grid, .gutenberg-content .blocks-gallery-grid { display: grid; padding-left: 0; } .editor-styles-wrapper .is-grid .blocks-gallery-item, .editor-styles-wrapper .blocks-gallery-grid .blocks-gallery-item, .gutenberg-content .is-grid .blocks-gallery-item, .gutenberg-content .blocks-gallery-grid .blocks-gallery-item { margin: 0; width: 100%; } .editor-styles-wrapper .is-grid.columns-2, .editor-styles-wrapper .columns-2 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-2, .gutenberg-content .columns-2 .blocks-gallery-grid { grid-gap: 3rem; grid-template-columns: repeat(2, 1fr); } @media (max-width: 1000px) { .editor-styles-wrapper .is-grid.columns-2, .editor-styles-wrapper .columns-2 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-2, .gutenberg-content .columns-2 .blocks-gallery-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 670px) { .editor-styles-wrapper .is-grid.columns-2, .editor-styles-wrapper .columns-2 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-2, .gutenberg-content .columns-2 .blocks-gallery-grid { grid-gap: 2rem; grid-template-columns: repeat(2, 1fr); } } .editor-styles-wrapper .is-grid.columns-3, .editor-styles-wrapper .columns-3 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-3, .gutenberg-content .columns-3 .blocks-gallery-grid { grid-gap: 3rem; grid-template-columns: repeat(3, 1fr); } @media (max-width: 1000px) { .editor-styles-wrapper .is-grid.columns-3, .editor-styles-wrapper .columns-3 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-3, .gutenberg-content .columns-3 .blocks-gallery-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 670px) { .editor-styles-wrapper .is-grid.columns-3, .editor-styles-wrapper .columns-3 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-3, .gutenberg-content .columns-3 .blocks-gallery-grid { grid-gap: 2rem; grid-template-columns: repeat(2, 1fr); } } .editor-styles-wrapper .is-grid.columns-4, .editor-styles-wrapper .columns-4 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-4, .gutenberg-content .columns-4 .blocks-gallery-grid { grid-gap: 3rem; grid-template-columns: repeat(4, 1fr); } @media (max-width: 1000px) { .editor-styles-wrapper .is-grid.columns-4, .editor-styles-wrapper .columns-4 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-4, .gutenberg-content .columns-4 .blocks-gallery-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 670px) { .editor-styles-wrapper .is-grid.columns-4, .editor-styles-wrapper .columns-4 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-4, .gutenberg-content .columns-4 .blocks-gallery-grid { grid-gap: 2rem; grid-template-columns: repeat(2, 1fr); } } .editor-styles-wrapper .is-grid.columns-5, .editor-styles-wrapper .columns-5 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-5, .gutenberg-content .columns-5 .blocks-gallery-grid { grid-gap: 3rem; grid-template-columns: repeat(5, 1fr); } @media (max-width: 1000px) { .editor-styles-wrapper .is-grid.columns-5, .editor-styles-wrapper .columns-5 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-5, .gutenberg-content .columns-5 .blocks-gallery-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 670px) { .editor-styles-wrapper .is-grid.columns-5, .editor-styles-wrapper .columns-5 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-5, .gutenberg-content .columns-5 .blocks-gallery-grid { grid-gap: 2rem; grid-template-columns: repeat(2, 1fr); } } .editor-styles-wrapper .is-grid.columns-6, .editor-styles-wrapper .columns-6 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-6, .gutenberg-content .columns-6 .blocks-gallery-grid { grid-gap: 3rem; grid-template-columns: repeat(6, 1fr); } @media (max-width: 1000px) { .editor-styles-wrapper .is-grid.columns-6, .editor-styles-wrapper .columns-6 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-6, .gutenberg-content .columns-6 .blocks-gallery-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 670px) { .editor-styles-wrapper .is-grid.columns-6, .editor-styles-wrapper .columns-6 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-6, .gutenberg-content .columns-6 .blocks-gallery-grid { grid-gap: 2rem; grid-template-columns: repeat(2, 1fr); } } .editor-styles-wrapper .is-grid.columns-7, .editor-styles-wrapper .columns-7 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-7, .gutenberg-content .columns-7 .blocks-gallery-grid { grid-gap: 3rem; grid-template-columns: repeat(7, 1fr); } @media (max-width: 1000px) { .editor-styles-wrapper .is-grid.columns-7, .editor-styles-wrapper .columns-7 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-7, .gutenberg-content .columns-7 .blocks-gallery-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 670px) { .editor-styles-wrapper .is-grid.columns-7, .editor-styles-wrapper .columns-7 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-7, .gutenberg-content .columns-7 .blocks-gallery-grid { grid-gap: 2rem; grid-template-columns: repeat(2, 1fr); } } .editor-styles-wrapper .is-grid.columns-8, .editor-styles-wrapper .columns-8 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-8, .gutenberg-content .columns-8 .blocks-gallery-grid { grid-gap: 3rem; grid-template-columns: repeat(8, 1fr); } @media (max-width: 1000px) { .editor-styles-wrapper .is-grid.columns-8, .editor-styles-wrapper .columns-8 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-8, .gutenberg-content .columns-8 .blocks-gallery-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 670px) { .editor-styles-wrapper .is-grid.columns-8, .editor-styles-wrapper .columns-8 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-8, .gutenberg-content .columns-8 .blocks-gallery-grid { grid-gap: 2rem; grid-template-columns: repeat(2, 1fr); } } .editor-styles-wrapper .is-grid.columns-9, .editor-styles-wrapper .columns-9 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-9, .gutenberg-content .columns-9 .blocks-gallery-grid { grid-gap: 3rem; grid-template-columns: repeat(9, 1fr); } @media (max-width: 1000px) { .editor-styles-wrapper .is-grid.columns-9, .editor-styles-wrapper .columns-9 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-9, .gutenberg-content .columns-9 .blocks-gallery-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 670px) { .editor-styles-wrapper .is-grid.columns-9, .editor-styles-wrapper .columns-9 .blocks-gallery-grid, .gutenberg-content .is-grid.columns-9, .gutenberg-content .columns-9 .blocks-gallery-grid { grid-gap: 2rem; grid-template-columns: repeat(2, 1fr); } } .editor-styles-wrapper .blocks-gallery-item > figure figcaption, .gutenberg-content .blocks-gallery-item > figure figcaption { margin-bottom: 0; } .editor-styles-wrapper hr, .editor-styles-wrapper .wp-block-separator, .gutenberg-content hr, .gutenberg-content .wp-block-separator { margin-bottom: calc(var(--margin-between-paragraphs) * 2); margin-top: calc(var(--margin-between-paragraphs) * 2); } .editor-styles-wrapper .wp-block-separator.is-style-default, .gutenberg-content .wp-block-separator.is-style-default { max-width: 800px; } .editor-styles-wrapper h1, .editor-styles-wrapper h2, .editor-styles-wrapper h3, .editor-styles-wrapper h4, .editor-styles-wrapper h5, .gutenberg-content h1, .gutenberg-content h2, .gutenberg-content h3, .gutenberg-content h4, .gutenberg-content h5 { line-height: var(--line-height-core-heading); } .editor-styles-wrapper h1:first-child, .editor-styles-wrapper h2:first-child, .editor-styles-wrapper h3:first-child, .editor-styles-wrapper h4:first-child, .editor-styles-wrapper h5:first-child, .editor-styles-wrapper h6:first-child, .gutenberg-content h1:first-child, .gutenberg-content h2:first-child, .gutenberg-content h3:first-child, .gutenberg-content h4:first-child, .gutenberg-content h5:first-child, .gutenberg-content h6:first-child { margin-top: 0; } .editor-styles-wrapper .wp-block-image, .gutenberg-content .wp-block-image { display: block; margin-bottom: var(--margin-wp-block-image); margin-top: var(--margin-wp-block-image); } .editor-styles-wrapper .wp-block-image.alignfull, .gutenberg-content .wp-block-image.alignfull { padding-left: 0; padding-right: 0; } @media (min-width: 1240px) { .editor-styles-wrapper .wp-block-image.alignwide, .gutenberg-content .wp-block-image.alignwide { padding-left: 0; padding-right: 0; } } @media (max-width: 1240px) { .editor-styles-wrapper .wp-block-image.alignwide, .gutenberg-content .wp-block-image.alignwide { width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } } .editor-styles-wrapper .wp-block-image .alignwide img, .editor-styles-wrapper .wp-block-image .alignfull img, .gutenberg-content .wp-block-image .alignwide img, .gutenberg-content .wp-block-image .alignfull img { width: 100%; } .editor-styles-wrapper .wp-block-image .alignfull img, .gutenberg-content .wp-block-image .alignfull img { border-radius: 0; } .editor-styles-wrapper .wp-block-image > figure, .gutenberg-content .wp-block-image > figure { display: block; width: auto; } .editor-styles-wrapper .wp-block-image > figure.alignleft, .editor-styles-wrapper .wp-block-image > figure.alignright, .gutenberg-content .wp-block-image > figure.alignleft, .gutenberg-content .wp-block-image > figure.alignright { /* stylelint-disable csstools/value-no-unknown-custom-properties */ max-width: var(--width-child-img); /* stylelint-enable */ } .editor-styles-wrapper .wp-block-image figcaption, .gutenberg-content .wp-block-image figcaption { margin-bottom: 2rem; } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-image.alignleft img, .editor-styles-wrapper .wp-block-image.alignright img, .editor-styles-wrapper .wp-block-image.aligncenter img, .gutenberg-content .wp-block-image.alignleft img, .gutenberg-content .wp-block-image.alignright img, .gutenberg-content .wp-block-image.aligncenter img { float: none; height: auto; width: 100%; } } .editor-styles-wrapper .wp-block-image .aligncenter, .gutenberg-content .wp-block-image .aligncenter { text-align: center; } .editor-styles-wrapper .wp-block-image .aligncenter img, .gutenberg-content .wp-block-image .aligncenter img { margin-left: auto; margin-right: auto; } .editor-styles-wrapper .wp-block-categories-list, .editor-styles-wrapper ol:not([class]), .editor-styles-wrapper ul:not([class]), .gutenberg-content .wp-block-categories-list, .gutenberg-content ol:not([class]), .gutenberg-content ul:not([class]) { padding-left: calc(2rem + var(--margin-between-paragraphs)); } .editor-styles-wrapper p, .gutenberg-content p { color: var(--color-paragraph); line-height: var(--line-height-paragraphs-blog); } .editor-styles-wrapper .has-larger-font-size, .editor-styles-wrapper .has-large-font-size, .gutenberg-content .has-larger-font-size, .gutenberg-content .has-large-font-size { line-height: var(--line-height-headings); } @media (max-width: 480px) { .editor-styles-wrapper .has-large-font-size, .gutenberg-content .has-large-font-size { font-size: var(--font-size-18); } } @media (max-width: 480px) { .editor-styles-wrapper .has-larger-font-size, .gutenberg-content .has-larger-font-size { font-size: var(--font-size-22); } } @media (max-width: 1240px) { .editor-styles-wrapper .has-background, .gutenberg-content .has-background { width: calc(100% - calc(2.375em * 2)); } } @media (max-width: 1240px) { .editor-styles-wrapper .wp-block-preformatted, .gutenberg-content .wp-block-preformatted { margin-left: var(--padding-container-horizontal); margin-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 4)); } } .editor-styles-wrapper .wp-block-pullquote.alignwide, .editor-styles-wrapper .wp-block-pullquote.alignfull, .gutenberg-content .wp-block-pullquote.alignwide, .gutenberg-content .wp-block-pullquote.alignfull { padding-left: 0; padding-right: 0; } @media (max-width: 1240px) { .editor-styles-wrapper .wp-block-pullquote.alignwide, .editor-styles-wrapper .wp-block-pullquote.alignfull, .gutenberg-content .wp-block-pullquote.alignwide, .gutenberg-content .wp-block-pullquote.alignfull { margin-left: var(--padding-container-horizontal); margin-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } } .editor-styles-wrapper .wp-block-pullquote.alignfull, .gutenberg-content .wp-block-pullquote.alignfull { margin-left: var(--padding-container-horizontal); margin-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } table { border-collapse: collapse; border-spacing: 0; } td, th { font-family: var(--font-paragraph); height: 3rem; padding: 1rem; } th { font-weight: var(--font-weight-bold); } .editor-styles-wrapper .wp-block-table.alignfull, .gutenberg-content .wp-block-table.alignfull { margin-left: var(--padding-container-horizontal); margin-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 1240px) { .editor-styles-wrapper .wp-block-table.alignwide, .gutenberg-content .wp-block-table.alignwide { margin-left: var(--padding-container-horizontal); margin-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } } .editor-styles-wrapper .wp-block-text-columns.alignfull, .gutenberg-content .wp-block-text-columns.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); } .editor-styles-wrapper .wp-block-text-columns.columns-1.alignfull, .gutenberg-content .wp-block-text-columns.columns-1.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-text-columns.columns-1, .gutenberg-content .wp-block-text-columns.columns-1 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-text-columns.columns-1 .wp-block-column, .gutenberg-content .wp-block-text-columns.columns-1 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-text-columns.columns-1, .gutenberg-content .wp-block-text-columns.columns-1 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-text-columns.columns-2.alignfull, .gutenberg-content .wp-block-text-columns.columns-2.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-text-columns.columns-2, .gutenberg-content .wp-block-text-columns.columns-2 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-text-columns.columns-2 .wp-block-column, .gutenberg-content .wp-block-text-columns.columns-2 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-text-columns.columns-2, .gutenberg-content .wp-block-text-columns.columns-2 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-text-columns.columns-3.alignfull, .gutenberg-content .wp-block-text-columns.columns-3.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-text-columns.columns-3, .gutenberg-content .wp-block-text-columns.columns-3 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-text-columns.columns-3 .wp-block-column, .gutenberg-content .wp-block-text-columns.columns-3 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-text-columns.columns-3, .gutenberg-content .wp-block-text-columns.columns-3 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-text-columns.columns-4.alignfull, .gutenberg-content .wp-block-text-columns.columns-4.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-text-columns.columns-4, .gutenberg-content .wp-block-text-columns.columns-4 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-text-columns.columns-4 .wp-block-column, .gutenberg-content .wp-block-text-columns.columns-4 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-text-columns.columns-4, .gutenberg-content .wp-block-text-columns.columns-4 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-text-columns.columns-5.alignfull, .gutenberg-content .wp-block-text-columns.columns-5.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-text-columns.columns-5, .gutenberg-content .wp-block-text-columns.columns-5 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-text-columns.columns-5 .wp-block-column, .gutenberg-content .wp-block-text-columns.columns-5 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-text-columns.columns-5, .gutenberg-content .wp-block-text-columns.columns-5 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-text-columns.columns-6.alignfull, .gutenberg-content .wp-block-text-columns.columns-6.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-text-columns.columns-6, .gutenberg-content .wp-block-text-columns.columns-6 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-text-columns.columns-6 .wp-block-column, .gutenberg-content .wp-block-text-columns.columns-6 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-text-columns.columns-6, .gutenberg-content .wp-block-text-columns.columns-6 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-text-columns.columns-7.alignfull, .gutenberg-content .wp-block-text-columns.columns-7.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-text-columns.columns-7, .gutenberg-content .wp-block-text-columns.columns-7 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-text-columns.columns-7 .wp-block-column, .gutenberg-content .wp-block-text-columns.columns-7 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-text-columns.columns-7, .gutenberg-content .wp-block-text-columns.columns-7 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-text-columns.columns-8.alignfull, .gutenberg-content .wp-block-text-columns.columns-8.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-text-columns.columns-8, .gutenberg-content .wp-block-text-columns.columns-8 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-text-columns.columns-8 .wp-block-column, .gutenberg-content .wp-block-text-columns.columns-8 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-text-columns.columns-8, .gutenberg-content .wp-block-text-columns.columns-8 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-text-columns.columns-9.alignfull, .gutenberg-content .wp-block-text-columns.columns-9.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-text-columns.columns-9, .gutenberg-content .wp-block-text-columns.columns-9 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-text-columns.columns-9 .wp-block-column, .gutenberg-content .wp-block-text-columns.columns-9 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-text-columns.columns-9, .gutenberg-content .wp-block-text-columns.columns-9 { grid-template-columns: repeat(1, 1fr); } } @media (max-width: 1240px) { .editor-styles-wrapper .wp-block-verse, .gutenberg-content .wp-block-verse { margin-left: var(--padding-container-horizontal); margin-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 4)); } } .editor-styles-wrapper .wp-block-video video, .gutenberg-content .wp-block-video video { max-width: 100%; width: 100%; } @media (max-width: 1240px) { .editor-styles-wrapper .wp-block-video.alignwide, .editor-styles-wrapper .wp-block-video.alignfull, .gutenberg-content .wp-block-video.alignwide, .gutenberg-content .wp-block-video.alignfull { width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } } .editor-styles-wrapper .wp-block-video.alignfull, .gutenberg-content .wp-block-video.alignfull { margin-left: 0; margin-right: 0; max-width: 100%; padding-left: 0; padding-right: 0; width: 100%; } .wp-block.is-style-boxed, .is-style-boxed { border: 2px solid var(--color-paragraph); color: var(--color-paragraph); font-size: 17px; font-style: normal; font-weight: var(--font-weight-medium); line-height: var(--line-height-paragraphs-blog); padding: 2rem; width: calc(100% - 4rem); } @media (min-width: 840px) { .gutenberg-content .is-style-boxed { transform: translate(2rem, 0); } } .wp-block-button__link { appearance: none; background-color: var(--color-button-background); border: var(--border-width-input-field) solid var(--color-button-background); border-radius: var(--border-radius-input-field); color: var(--color-button); cursor: pointer; display: inline-block; font-family: var(--font-paragraph); font-size: var(--font-size-16); font-weight: var(--font-weight-semibold); line-height: 19.6364px; margin-bottom: 0; max-width: 230px; overflow: hidden; padding-bottom: calc(14px - calc(var(--border-width-input-field) * 2)); padding-left: calc(21px - calc(var(--border-width-input-field) * 2)); padding-right: calc(21px - calc(var(--border-width-input-field) * 2)); padding-top: calc(14px - calc(var(--border-width-input-field) * 2)); position: relative; text-decoration: none; text-overflow: ellipsis; transition: all 0.08s cubic-bezier(0.25, 0.46, 0.45, 0.94); white-space: nowrap; width: auto; /* stylelint-disable a11y/no-display-none */ /* stylelint-enable */ } .wp-block-button__link.is-external-link::after { display: none; } .wp-block-button__link.focus, .wp-block-button__link:hover, .wp-block-button__link:focus { background-color: var(--color-button-background-hover); border: var(--border-width-input-field) solid var(--color-button-background-hover); color: var(--color-button-hover); } .wp-block-file .wp-block-file__button { font-size: var(--font-size-16); line-height: 20.9091px; padding-bottom: calc(10px - calc(var(--border-width-input-field) * 2)); padding-left: calc(21px - calc(var(--border-width-input-field) * 2)); padding-right: calc(21px - calc(var(--border-width-input-field) * 2)); padding-top: calc(10px - calc(var(--border-width-input-field) * 2)); font-size: .8em; padding: .3em .8em; } .editor-styles-wrapper .alignleft > *, .gutenberg-content .alignleft > * { float: left; } .editor-styles-wrapper .alignright > *, .gutenberg-content .alignright > * { float: right; } .editor-styles-wrapper .alignleft > img, .gutenberg-content .alignleft > img { margin-bottom: var(--margin-between-paragraphs); margin-right: var(--padding-container-horizontal); margin-top: var(--margin-between-paragraphs); } .editor-styles-wrapper .alignleft > img + figcaption, .gutenberg-content .alignleft > img + figcaption { margin-top: 0; } .editor-styles-wrapper .alignright > img, .gutenberg-content .alignright > img { margin-bottom: var(--margin-between-paragraphs); margin-left: var(--padding-container-horizontal); margin-top: var(--margin-between-paragraphs); } .editor-styles-wrapper .alignright > img + figcaption, .gutenberg-content .alignright > img + figcaption { margin-top: 0; } @media (min-width: 1240px) { .editor-styles-wrapper .alignwide, .gutenberg-content .alignwide { max-width: 1200px; width: 100%; } } @media (min-width: 1240px) { .editor-styles-wrapper .alignfull, .gutenberg-content .alignfull { margin-bottom: var(--padding-block); margin-top: var(--padding-block); max-width: 100%; width: 100%; } } .editor-styles-wrapper .alignfull.wp-block-image img, .gutenberg-content .alignfull.wp-block-image img { border-radius: 0; } /* stylelint-disable selector-max-combinators, selector-max-compound-selectors */ .editor-styles-wrapper figcaption, .editor-styles-wrapper cite, .editor-styles-wrapper small, .gutenberg-content figcaption, .gutenberg-content cite, .gutenberg-content small { border: 0; color: var(--color-caption); font-size: var(--font-size-captions); font-style: normal; margin-bottom: 6rem; margin-left: auto; margin-right: auto; margin-top: 3rem; max-width: 800px; padding-bottom: 0; text-align: center; width: 100%; } @media (max-width: 480px) { .editor-styles-wrapper figcaption, .editor-styles-wrapper cite, .editor-styles-wrapper small, .gutenberg-content figcaption, .gutenberg-content cite, .gutenberg-content small { margin-top: 2rem; } } .editor-styles-wrapper .wp-block-image figcaption, .editor-styles-wrapper .wp-block-image .alignright > figcaption, .editor-styles-wrapper .wp-block-image .aligncenter > figcaption, .editor-styles-wrapper .wp-block-image.is-resized > figcaption, .gutenberg-content .wp-block-image figcaption, .gutenberg-content .wp-block-image .alignright > figcaption, .gutenberg-content .wp-block-image .aligncenter > figcaption, .gutenberg-content .wp-block-image.is-resized > figcaption { display: block; width: 100%; } .editor-styles-wrapper cite, .gutenberg-content cite { margin-bottom: 0; } .editor-styles-wrapper img, .gutenberg-content img { border-radius: 4px; } kbd { background-color: var(--color-kbd-background); border: 1px solid var(--color-kbd-border); border-radius: 4px; box-shadow: 0 1px 0 rgba(22, 22, 22, 0.2), 0 0 0 2px var(--color-white) inset; color: var(--color-paragraph); display: inline-block; line-height: 1.4; padding: 0 .5rem; text-shadow: 0 1px 0 var(--color-white); white-space: nowrap; } /* stylelint-disable a11y/no-display-none, no-descending-specificity, selector-max-pseudo-class */ a { color: var(--color-link-text); text-decoration: none; } a:hover, a:focus { color: var(--color-link-text); } .editor-styles-wrapper li > a::after, .gutenberg-content li > a::after { display: none; } .editor-styles-wrapper [data-type="core/paragraph"] > a, .editor-styles-wrapper li > a, .editor-styles-wrapper p > strong > a, .editor-styles-wrapper p > em > a, .editor-styles-wrapper p:not([class]) > a:not([class]), .editor-styles-wrapper p.has-text-align-left > a, .editor-styles-wrapper p.has-text-align-center > a, .editor-styles-wrapper p.has-text-align-right > a, .editor-styles-wrapper p.has-small-font-size > a, .editor-styles-wrapper figcaption > a, .editor-styles-wrapper p:not([class]) > a.is-external-link, .gutenberg-content [data-type="core/paragraph"] > a, .gutenberg-content li > a, .gutenberg-content p > strong > a, .gutenberg-content p > em > a, .gutenberg-content p:not([class]) > a:not([class]), .gutenberg-content p.has-text-align-left > a, .gutenberg-content p.has-text-align-center > a, .gutenberg-content p.has-text-align-right > a, .gutenberg-content p.has-small-font-size > a, .gutenberg-content figcaption > a, .gutenberg-content p:not([class]) > a.is-external-link { border-bottom: 1px solid var(--color-link-border-bottom); box-shadow: inset 0 0 0 var(--color-link-background-hover); color: var(--color-link-text); display: inline; text-decoration: none; transition: box-shadow 0.1s cubic-bezier(0.19, 1, 0.22, 1), color 0.1s cubic-bezier(0.19, 1, 0.22, 1); } .editor-styles-wrapper [data-type="core/paragraph"] > a::after, .editor-styles-wrapper li > a::after, .editor-styles-wrapper p > strong > a::after, .editor-styles-wrapper p > em > a::after, .editor-styles-wrapper p:not([class]) > a:not([class])::after, .editor-styles-wrapper p.has-text-align-left > a::after, .editor-styles-wrapper p.has-text-align-center > a::after, .editor-styles-wrapper p.has-text-align-right > a::after, .editor-styles-wrapper p.has-small-font-size > a::after, .editor-styles-wrapper figcaption > a::after, .editor-styles-wrapper p:not([class]) > a.is-external-link::after, .gutenberg-content [data-type="core/paragraph"] > a::after, .gutenberg-content li > a::after, .gutenberg-content p > strong > a::after, .gutenberg-content p > em > a::after, .gutenberg-content p:not([class]) > a:not([class])::after, .gutenberg-content p.has-text-align-left > a::after, .gutenberg-content p.has-text-align-center > a::after, .gutenberg-content p.has-text-align-right > a::after, .gutenberg-content p.has-small-font-size > a::after, .gutenberg-content figcaption > a::after, .gutenberg-content p:not([class]) > a.is-external-link::after { background-image: url("../../svg/external-link-styled-links.svg"); } .editor-styles-wrapper [data-type="core/paragraph"] > a:hover, .editor-styles-wrapper li > a:hover, .editor-styles-wrapper p > strong > a:hover, .editor-styles-wrapper p > em > a:hover, .editor-styles-wrapper p:not([class]) > a:not([class]):hover, .editor-styles-wrapper p.has-text-align-left > a:hover, .editor-styles-wrapper p.has-text-align-center > a:hover, .editor-styles-wrapper p.has-text-align-right > a:hover, .editor-styles-wrapper p.has-small-font-size > a:hover, .editor-styles-wrapper figcaption > a:hover, .editor-styles-wrapper p:not([class]) > a.is-external-link:hover, .gutenberg-content [data-type="core/paragraph"] > a:hover, .gutenberg-content li > a:hover, .gutenberg-content p > strong > a:hover, .gutenberg-content p > em > a:hover, .gutenberg-content p:not([class]) > a:not([class]):hover, .gutenberg-content p.has-text-align-left > a:hover, .gutenberg-content p.has-text-align-center > a:hover, .gutenberg-content p.has-text-align-right > a:hover, .gutenberg-content p.has-small-font-size > a:hover, .gutenberg-content figcaption > a:hover, .gutenberg-content p:not([class]) > a.is-external-link:hover { border-color: transparent; box-shadow: inset 0 -3.3rem 0 var(--color-link-background-hover); color: var(--color-link-text-hover); } .editor-styles-wrapper [data-type="core/paragraph"] > a:hover::after, .editor-styles-wrapper li > a:hover::after, .editor-styles-wrapper p > strong > a:hover::after, .editor-styles-wrapper p > em > a:hover::after, .editor-styles-wrapper p:not([class]) > a:not([class]):hover::after, .editor-styles-wrapper p.has-text-align-left > a:hover::after, .editor-styles-wrapper p.has-text-align-center > a:hover::after, .editor-styles-wrapper p.has-text-align-right > a:hover::after, .editor-styles-wrapper p.has-small-font-size > a:hover::after, .editor-styles-wrapper figcaption > a:hover::after, .editor-styles-wrapper p:not([class]) > a.is-external-link:hover::after, .gutenberg-content [data-type="core/paragraph"] > a:hover::after, .gutenberg-content li > a:hover::after, .gutenberg-content p > strong > a:hover::after, .gutenberg-content p > em > a:hover::after, .gutenberg-content p:not([class]) > a:not([class]):hover::after, .gutenberg-content p.has-text-align-left > a:hover::after, .gutenberg-content p.has-text-align-center > a:hover::after, .gutenberg-content p.has-text-align-right > a:hover::after, .gutenberg-content p.has-small-font-size > a:hover::after, .gutenberg-content figcaption > a:hover::after, .gutenberg-content p:not([class]) > a.is-external-link:hover::after { background-image: url("../../svg/external-link-white.svg"); } .editor-styles-wrapper [data-type="core/paragraph"] > a:focus, .editor-styles-wrapper li > a:focus, .editor-styles-wrapper p > strong > a:focus, .editor-styles-wrapper p > em > a:focus, .editor-styles-wrapper p:not([class]) > a:not([class]):focus, .editor-styles-wrapper p.has-text-align-left > a:focus, .editor-styles-wrapper p.has-text-align-center > a:focus, .editor-styles-wrapper p.has-text-align-right > a:focus, .editor-styles-wrapper p.has-small-font-size > a:focus, .editor-styles-wrapper figcaption > a:focus, .editor-styles-wrapper p:not([class]) > a.is-external-link:focus, .gutenberg-content [data-type="core/paragraph"] > a:focus, .gutenberg-content li > a:focus, .gutenberg-content p > strong > a:focus, .gutenberg-content p > em > a:focus, .gutenberg-content p:not([class]) > a:not([class]):focus, .gutenberg-content p.has-text-align-left > a:focus, .gutenberg-content p.has-text-align-center > a:focus, .gutenberg-content p.has-text-align-right > a:focus, .gutenberg-content p.has-small-font-size > a:focus, .gutenberg-content figcaption > a:focus, .gutenberg-content p:not([class]) > a.is-external-link:focus { border-color: var(--color-link-border-focus); color: var(--color-link-text-focus); text-decoration: none; } .editor-styles-wrapper [data-type="core/paragraph"] > a:focus::after, .editor-styles-wrapper li > a:focus::after, .editor-styles-wrapper p > strong > a:focus::after, .editor-styles-wrapper p > em > a:focus::after, .editor-styles-wrapper p:not([class]) > a:not([class]):focus::after, .editor-styles-wrapper p.has-text-align-left > a:focus::after, .editor-styles-wrapper p.has-text-align-center > a:focus::after, .editor-styles-wrapper p.has-text-align-right > a:focus::after, .editor-styles-wrapper p.has-small-font-size > a:focus::after, .editor-styles-wrapper figcaption > a:focus::after, .editor-styles-wrapper p:not([class]) > a.is-external-link:focus::after, .gutenberg-content [data-type="core/paragraph"] > a:focus::after, .gutenberg-content li > a:focus::after, .gutenberg-content p > strong > a:focus::after, .gutenberg-content p > em > a:focus::after, .gutenberg-content p:not([class]) > a:not([class]):focus::after, .gutenberg-content p.has-text-align-left > a:focus::after, .gutenberg-content p.has-text-align-center > a:focus::after, .gutenberg-content p.has-text-align-right > a:focus::after, .gutenberg-content p.has-small-font-size > a:focus::after, .gutenberg-content figcaption > a:focus::after, .gutenberg-content p:not([class]) > a.is-external-link:focus::after { background-image: url("../../svg/external-link-black.svg"); } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLmNzcyIsInNvdXJjZXMiOlsiZ2xvYmFsLnNjc3MiLCJiYXNlL19ub3JtYWxpemUuc2NzcyIsImhlbHBlcnMvX2FuaW1hdGlvbnMuc2NzcyIsImhlbHBlcnMvX2FzcGVjdC1yYXRpby5zY3NzIiwiaGVscGVycy9fZ2VuZXJhbC5zY3NzIiwiaGVscGVycy9fZ3JpZC5zY3NzIiwiaGVscGVycy9faGV4LXRvLXJnYi5zY3NzIiwiaGVscGVycy9fdHlwb2dyYXBoeS5zY3NzIiwidmFyaWFibGVzL19jb2xvcnMuc2NzcyIsInZhcmlhYmxlcy9fYnJlYWtwb2ludHMuc2NzcyIsInZhcmlhYmxlcy9fc3BhY2luZ3Muc2NzcyIsInZhcmlhYmxlcy9fZm9udC1mYWNlLnNjc3MiLCJ2YXJpYWJsZXMvX2ZvbnQtZmFtaWx5LnNjc3MiLCJ2YXJpYWJsZXMvX2ZvbnQtc2l6ZXMuc2NzcyIsImNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9uLXNpemUtc21hbGwuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbi1zaXplLWxhcmdlLnNjc3MiLCJjb21wb25lbnRzL19idXR0b24tc3R5bGUtZ2hvc3Quc2NzcyIsImNvbXBvbmVudHMvX2xpbmsuc2NzcyIsImJhc2UvX2FjY2Vzc2liaWxpdHkuc2NzcyIsIm5hdmlnYXRpb24vX25hdi1kZXNrdG9wLnNjc3MiLCJuYXZpZ2F0aW9uL19uYXYtbW9iaWxlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL2hhbWJ1cmdlcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvX2Jhc2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvXzNkeC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fM2R4LXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvXzNkeS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fM2R5LXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvXzNkeHkuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvXzNkeHktci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3cuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93LXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93YWx0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19hcnJvd2FsdC1yLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19hcnJvd3R1cm4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93dHVybi1yLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19ib3Jpbmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2NvbGxhcHNlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19jb2xsYXBzZS1yLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19lbGFzdGljLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19lbGFzdGljLXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2VtcGhhdGljLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19lbXBoYXRpYy1yLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19taW51cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc2xpZGVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zbGlkZXItci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3Bpbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3Bpbi1yLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zcHJpbmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3NwcmluZy1yLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zdGFuZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3RhbmQtci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3F1ZWV6ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fdm9ydGV4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL192b3J0ZXgtci5zY3NzIiwibGF5b3V0L19kZW1vLWNvbnRlbnQuc2NzcyIsImxheW91dC9fZ2VuZXJhbC5zY3NzIiwibGF5b3V0L19wcmludC5zY3NzIiwibGF5b3V0L190eXBvZ3JhcGh5LnNjc3MiLCJsYXlvdXQvX3NpdGUtaGVhZGVyLnNjc3MiLCJsYXlvdXQvX3NpdGUtZm9vdGVyLnNjc3MiLCJsYXlvdXQvX2Zvcm1zLnNjc3MiLCJsYXlvdXQvX2Jsb2cuc2NzcyIsImxheW91dC9fd29yZHByZXNzLnNjc3MiLCJmZWF0dXJlcy9fdG9wLnNjc3MiLCJmZWF0dXJlcy9fZ2FsbGVyeS5zY3NzIiwiZmVhdHVyZXMvX2xhenlsb2FkLnNjc3MiLCJmZWF0dXJlcy9fcGFnaW5hdGlvbi5zY3NzIiwiZmVhdHVyZXMvX2dyYXZpdHktZm9ybXMuc2NzcyIsInZpZXdzL19mcm9udC1wYWdlLnNjc3MiLCJ2aWV3cy9fc2VhcmNoLnNjc3MiLCJ2aWV3cy9fNDA0LnNjc3MiLCJ2aWV3cy9fY29tbWVudHMuc2NzcyIsImd1dGVuYmVyZy9sYXlvdXQvX2NvbnRlbnQuc2NzcyIsImd1dGVuYmVyZy9fYmxvY2tzLnNjc3MiLCJndXRlbmJlcmcvYmxvY2tzL19jb3JlLWJsb2NrcXVvdGUuc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2NvcmUtY29kZS5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fY29yZS1jb2x1bW5zLnNjc3MiLCJndXRlbmJlcmcvYmxvY2tzL19jb3JlLWNvdmVyLnNjc3MiLCJndXRlbmJlcmcvYmxvY2tzL19jb3JlLWVtYmVkLnNjc3MiLCJndXRlbmJlcmcvYmxvY2tzL19jb3JlLWdhbGxlcnkuc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2NvcmUtc2VwYXJhdG9yLnNjc3MiLCJndXRlbmJlcmcvYmxvY2tzL19jb3JlLWhlYWRpbmcuc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2NvcmUtaW1hZ2Uuc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2NvcmUtbGlzdC5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fY29yZS1wYXJhZ3JhcGguc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2NvcmUtcHJlZm9ybWF0dGVkLnNjc3MiLCJndXRlbmJlcmcvYmxvY2tzL19jb3JlLXB1bGxxdW90ZS5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fY29yZS10YWJsZS5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fY29yZS10ZXh0LWNvbHVtbnMuc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2NvcmUtdmVyc2Uuc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2NvcmUtdmlkZW8uc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2JveGVkLnNjc3MiLCJndXRlbmJlcmcvYmxvY2tzL19idXR0b24uc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2J1dHRvbi1maWxlLnNjc3MiLCJndXRlbmJlcmcvX2Zvcm1hdHRpbmcuc2NzcyIsImd1dGVuYmVyZy9mb3JtYXR0aW5nL19hbGlnbi5zY3NzIiwiZ3V0ZW5iZXJnL2Zvcm1hdHRpbmcvX2NhcHRpb24uc2NzcyIsImd1dGVuYmVyZy9mb3JtYXR0aW5nL19pbWcuc2NzcyIsImd1dGVuYmVyZy9mb3JtYXR0aW5nL19rYmQuc2NzcyIsImd1dGVuYmVyZy9mb3JtYXR0aW5nL19saW5rLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgJ3V0Zi04JztcblxuLy8gUmVzZXQgJiBncmlkXG5AaW1wb3J0ICdiYXNlL25vcm1hbGl6ZSc7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgJ2hlbHBlcnMvYW5pbWF0aW9ucyc7XG5AaW1wb3J0ICdoZWxwZXJzL2FzcGVjdC1yYXRpbyc7XG5AaW1wb3J0ICdoZWxwZXJzL2dlbmVyYWwnO1xuQGltcG9ydCAnaGVscGVycy9ncmlkJztcbkBpbXBvcnQgJ2hlbHBlcnMvaGV4LXRvLXJnYic7XG5AaW1wb3J0ICdoZWxwZXJzL3R5cG9ncmFwaHknO1xuXG4vLyBWYXJpYWJsZXNcbkBpbXBvcnQgJ3ZhcmlhYmxlcy9jb2xvcnMnO1xuQGltcG9ydCAndmFyaWFibGVzL2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcy9zcGFjaW5ncyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMvZm9udC1mYWNlJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcy9mb250LWZhbWlseSc7XG5AaW1wb3J0ICd2YXJpYWJsZXMvZm9udC1zaXplcyc7XG5cbi8vIFN0eWxlIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29tcG9uZW50cyc7XG5cbi8vIEFjY2Vzc2liaWxpdHlcbkBpbXBvcnQgJ2Jhc2UvYWNjZXNzaWJpbGl0eSc7XG5cbi8vIE5hdmlnYXRpb25cbkBpbXBvcnQgJ25hdmlnYXRpb24vbmF2LWRlc2t0b3AnO1xuQGltcG9ydCAnbmF2aWdhdGlvbi9uYXYtbW9iaWxlJztcblxuLy8gU3RydWN0dXJlXG5AaW1wb3J0ICdsYXlvdXQvZGVtby1jb250ZW50JztcbkBpbXBvcnQgJ2xheW91dC9nZW5lcmFsJztcbkBpbXBvcnQgJ2xheW91dC9wcmludCc7XG5AaW1wb3J0ICdsYXlvdXQvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdsYXlvdXQvc2l0ZS1oZWFkZXInO1xuQGltcG9ydCAnbGF5b3V0L3NpdGUtZm9vdGVyJztcbkBpbXBvcnQgJ2xheW91dC9mb3Jtcyc7XG5AaW1wb3J0ICdsYXlvdXQvYmxvZyc7XG5AaW1wb3J0ICdsYXlvdXQvd29yZHByZXNzJztcblxuLy8gR2xvYmFsIGZlYXR1cmVzXG5AaW1wb3J0ICdmZWF0dXJlcy90b3AnO1xuQGltcG9ydCAnZmVhdHVyZXMvZ2FsbGVyeSc7XG5AaW1wb3J0ICdmZWF0dXJlcy9sYXp5bG9hZCc7XG5AaW1wb3J0ICdmZWF0dXJlcy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2ZlYXR1cmVzL2dyYXZpdHktZm9ybXMnO1xuXG4vLyBWaWV3c1xuQGltcG9ydCAndmlld3MvZnJvbnQtcGFnZSc7XG5AaW1wb3J0ICd2aWV3cy9zZWFyY2gnO1xuQGltcG9ydCAndmlld3MvNDA0JztcbkBpbXBvcnQgJ3ZpZXdzL2NvbW1lbnRzJztcblxuLy8gR3V0ZW5iZXJnIGxheW91dCBvdXRzaWRlIGJsb2Nrc1xuQGltcG9ydCAnZ3V0ZW5iZXJnL2xheW91dC9jb250ZW50JztcblxuLy8gR3V0ZW5iZXJnIGJsb2Nrc1xuQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcyc7XG5cbi8vIEd1dGVuYmVyZyBmb3JtYXR0aW5nXG5AaW1wb3J0ICdndXRlbmJlcmcvZm9ybWF0dGluZyc7XG5cbi8vIE1vZHVsZXNcbi8vIEBpbXBvcnQgJ21vZHVsZXMvc29tZS1tb2R1bGUnO1xuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tcHJvcGVydHktdW5pdC1hbGxvd2VkLWxpc3QsIGExMXkvbGluZS1oZWlnaHQtaXMtdmVydGljYWwtcmh5dGhtZWQsIGExMXkvbm8tZGlzcGxheS1ub25lICovXG5cbi8qIERvY3VtZW50XG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbn1cblxuLyogU2VjdGlvbnNcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAuMzVlbSAuNzVlbSAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqXHRcdGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qIEludGVyYWN0aXZlXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogc3R5bGVsaW50LWVuYWJsZSBkZWNsYXJhdGlvbi1wcm9wZXJ0eS11bml0LWFsbG93ZWQtbGlzdCAqL1xuIiwiLy8gVHJhbnNpdGlvbiBkdXJhdGlvbiBhbmQgYW5pbWF0aW9uc1xuJHRyYW5zaXRpb24tZHVyYXRpb246IC4yMnM7XG5cbi8vIFBvc3NpYmxlIGtleWZyYW1lcyBoZXJlXG4vLyBAa2V5ZnJhbWVzXG4iLCJAbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmNvbnRlbnQge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gIH1cbn1cbiIsIi8vIEhlbHBlcnNcbi8vXG4vLyBNaXhpbnMgYW5kIG90aGVyIGVzc2VudGlhbHMgZm9yIGdsb2JhbCB0aGVtZSBkZXZlbG9wbWVudC5cblxuLy8gR2VuZXJhbFxuQG1peGluIGhpZGRlbnRleHQoKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xufVxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkdmFsdWUpIHtcbiAgQHJldHVybiAkdmFsdWUgLyAoJHZhbHVlICogMCArIDEpO1xufVxuIiwiLy8gQ1NTIEdyaWQgbWl4aW4gd2l0aCBmbGV4Ym94IGZhbGxiYWNrIGZvciBJRSBhbmQgRWRnZVxuQG1peGluIGdyaWQoJGNvbHVtbnMsICRtYXhfd2lkdGg6IDFmciwgJG1pbl93aWR0aDogMCwgJG1pbl9oZWlnaHQ6IDAsICRtYXhfaGVpZ2h0OiBhdXRvLCAkZ3V0dGVyX3g6IDE2cHgsICRndXR0ZXJfeTogMTZweCkge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWF1dG8tcm93czogbWlubWF4KCRtaW5faGVpZ2h0LCAkbWF4X2hlaWdodCk7XG4gIGdyaWQtZ2FwOiAkZ3V0dGVyX3g7XG4gIGdyaWQtcm93LWdhcDogJGd1dHRlcl95O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkY29sdW1ucywgbWlubWF4KCRtaW5fd2lkdGgsICRtYXhfd2lkdGgpKTtcblxuICAvLyBGb3IgYnJvd3NlciB2ZXJzaW9ucyB0aGF0IGRvIG5vdCBzdXBwb3J0IENTUyBncmlkXG4gIEBzdXBwb3J0cyBub3QgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgPiBkaXYge1xuICAgICAgJGdyaWRfd2lkdGg6IDEwMCUgLyAkY29sdW1ucztcbiAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXJfeTtcbiAgICAgIG1hcmdpbi1yaWdodDogJGd1dHRlcl94O1xuICAgICAgd2lkdGg6IGNhbGMoI3skZ3JpZF93aWR0aH0gLSAjeyRndXR0ZXJfeH0pO1xuXG4gICAgICAmOm50aC1jaGlsZCgjeyRjb2x1bW5zfW4rI3skY29sdW1uc30pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEludGVybmV0IEV4cGxvcmVyXG4gIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgID4gZGl2IHtcbiAgICAgICRncmlkX3dpZHRoOiAxMDAlIC8gJGNvbHVtbnM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyX3k7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRndXR0ZXJfeDtcbiAgICAgIHdpZHRoOiBjYWxjKCN7JGdyaWRfd2lkdGh9IC0gI3skZ3V0dGVyX3h9KTtcblxuICAgICAgJjpudGgtY2hpbGQoI3skY29sdW1uc31uKyN7JGNvbHVtbnN9KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBFZGdlXG4gIEBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICA+IGRpdiB7XG4gICAgICAkZ3JpZF93aWR0aDogMTAwJSAvICRjb2x1bW5zO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcl95O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZ3V0dGVyX3g7XG4gICAgICB3aWR0aDogY2FsYygjeyRncmlkX3dpZHRofSAtICN7JGd1dHRlcl94fSk7XG5cbiAgICAgICY6bnRoLWNoaWxkKCN7JGNvbHVtbnN9bisjeyRjb2x1bW5zfSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIENvbnZlcnQgaGV4IGNvbG9yIHRvIFJHQiBjb2xvciBmb3JtYXRcbiAqL1xuXG5AZnVuY3Rpb24gaGV4dG9yZ2IoJGhleCkge1xuICBAcmV0dXJuIHJlZCgkaGV4KSwgZ3JlZW4oJGhleCksIGJsdWUoJGhleCk7XG59XG4iLCIvLyBUeXBvZ3JhcGh5IGhlbHBlcnNcblxuLyogc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tcHJvcGVydHktdW5pdC1hbGxvd2VkLWxpc3QgKi9cbi8vIEhlbHBlciBtaXhpbiBmb3Igc2VsZi1ob3N0ZWQgZm9udHNcbkBtaXhpbiBmb250RmFjZSgkZmFtaWx5LCAkc3JjLCAkd2VpZ2h0OiBub3JtYWwsICRzdHlsZTogbm9ybWFsKSB7XG4gIEBmb250LWZhY2Uge1xuICAgIC8vIEBsaW5rIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vYWxtYW5hYy9wcm9wZXJ0aWVzL2YvZm9udC1kaXNwbGF5L1xuICAgIGZvbnQtZGlzcGxheTogYXV0bztcbiAgICBmb250LWZhbWlseTogJGZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICAvLyBTbGlnaHRseSBEZWVwZXIgQnJvd3NlciBTdXBwb3J0XG4gICAgLy8gQHNvdXJjZSBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL2Nzcy91c2luZy1mb250LWZhY2UvI3NsaWdodGx5LWRlZXBlci1icm93c2VyLXN1cHBvcnRcbiAgICBzcmM6IHVybCgnI3skc3JjfS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnI3skc3JjfS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgdXJsKCcjeyRzcmN9LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIGZvbnRzXG5AbWl4aW4gcmVzcG9uc2l2ZS1mb250KCRtaW4tZm9udC1zaXplLCAkbWF4LWZvbnQtc2l6ZSwgJG1pbi12dzogMzIwcHgsICRtYXgtdnc6IDE5MjBweCkge1xuICAkdTE6IHVuaXQoJG1pbi12dyk7XG4gICR1MjogdW5pdCgkbWF4LXZ3KTtcbiAgJHUzOiB1bml0KCRtaW4tZm9udC1zaXplKTtcbiAgJHU0OiB1bml0KCRtYXgtZm9udC1zaXplKTtcblxuICBAaWYgJHUxID09ICR1MiBhbmQgJHUxID09ICR1MyBhbmQgJHUxID09ICR1NCB7XG4gICAgZm9udC1zaXplOiAkbWluLWZvbnQtc2l6ZTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW4tdncpIHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYygjeyRtaW4tZm9udC1zaXplfSArICN7c3RyaXAtdW5pdCgkbWF4LWZvbnQtc2l6ZSAtICRtaW4tZm9udC1zaXplKX0gKiAoKDEwMHZ3IC0gI3skbWluLXZ3fSkgLyAje3N0cmlwLXVuaXQoJG1heC12dyAtICRtaW4tdncpfSkpO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYXgtdncpIHtcbiAgICAgIGZvbnQtc2l6ZTogJG1heC1mb250LXNpemU7XG4gICAgfVxuICB9XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlIGRlY2xhcmF0aW9uLXByb3BlcnR5LXVuaXQtYWxsb3dlZC1saXN0ICovXG4iLCIvLyBDU1MgdmFyaWFibGVzXG4vLyBEZWZpbmUgbmFtZXM6XG4vLyBGb3IgQUFBOiBodHRwczovL3d3dy5jb2xvci1ibGluZG5lc3MuY29tL2NvbG9yLW5hbWUtaHVlL1xuLy8gRm9yIEFBOiBodHRwczovL2NoaXIuYWcvcHJvamVjdHMvbmFtZS10aGF0LWNvbG9yL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG46cm9vdCB7XG4gIC8vIEJyYW5kIGNvbG9yIHBvb2xcbiAgLS1jb2xvci1ibGFjazogIzIyMjtcbiAgLS1jb2xvci1ibGFjay1yb2NrOiAjMmIzMDNjO1xuICAtLWNvbG9yLWJsdWUtY2hhbGs6ICNlY2U2ZjI7XG4gIC0tY29sb3ItZWFzdC1iYXk6ICM1NDU3NzM7XG4gIC0tY29sb3ItcGF0dGVucy1ibHVlOiAjZWFmMWY4O1xuICAtLWNvbG9yLXNjaWVuY2UtYmx1ZTogIzAwNDlkMTtcbiAgLS1jb2xvci12YWxoYWxsYTogIzJhMmQzZTtcbiAgLS1jb2xvci13aGl0ZTogI2ZmZjtcblxuICAvLyBNYWluIGVsZW1lbnQgY29sb3JzXG4gIC0tY29sb3ItaGVhZGluZzogdmFyKC0tY29sb3ItbWFpbik7XG4gIC0tY29sb3ItbWFpbjogdmFyKC0tY29sb3ItdmFsaGFsbGEpO1xuICAtLWNvbG9yLXBhcmFncmFwaDogdmFyKC0tY29sb3ItZWFzdC1iYXkpO1xuXG4gIC8vIE1vZGVybiBsaW5rIHRoYXQgaGFzIGJhY2tncm91bmQgZWZmZWN0IG9uIGhvdmVyXG4gIC0tY29sb3ItbGluay1ib3JkZXItYm90dG9tOiB2YXIoLS1jb2xvci1zY2llbmNlLWJsdWUpO1xuICAtLWNvbG9yLWxpbmstYm9yZGVyLWZvY3VzOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIC0tY29sb3ItbGluay1jb21tZW50OiAjNTU1O1xuICAtLWNvbG9yLWxpbmstY29tbWVudC10aW1lLWFuY2hvcjogdmFyKC0tY29sb3ItZWFzdC1iYXkpO1xuICAtLWNvbG9yLWxpbmstZWRpdC1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1jb2xvci1wYXR0ZW5zLWJsdWUpO1xuICAtLWNvbG9yLWxpbmstZWRpdC1ib3JkZXI6IHZhcigtLWNvbG9yLXBhdHRlbnMtYmx1ZSk7XG4gIC0tY29sb3ItbGluay1lZGl0LXRleHQ6IGRhcmtlbigjZWFmMWY4LCAyMCUpO1xuICAtLWNvbG9yLWxpbmstZWRpdC10ZXh0LWhvdmVyOiB2YXIoLS1jb2xvci1lYXN0LWJheSk7XG4gIC0tY29sb3ItbGluay10ZXh0OiB2YXIoLS1jb2xvci1zY2llbmNlLWJsdWUpO1xuICAtLWNvbG9yLWxpbmstdGV4dC1mb2N1czogdmFyKC0tY29sb3ItYmxhY2spO1xuICAtLWNvbG9yLWxpbmstdGV4dC1ob3ZlcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLWxpbmstYmFja2dyb3VuZC1ob3ZlcjogdmFyKC0tY29sb3ItbGluay10ZXh0KTtcblxuICAvLyBFbGVtZW50IGNvbG9yc1xuICAtLWNvbG9yLWJhY2tncm91bmQtY29kZS1ibG9jazogdmFyKC0tY29sb3ItYmxhY2stcm9jayk7XG4gIC0tY29sb3ItYmFja2dyb3VuZC1jb2RlLWlubGluZTogI2Y5ZjJmNDtcbiAgLS1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQ6ICNmMGYwZjA7XG4gIC0tY29sb3ItYmFja2dyb3VuZC1zaGFkZTogIzAzMDYxYjtcbiAgLS1jb2xvci1iYWNrZ3JvdW5kLXRhZzogdmFyKC0tY29sb3ItcGF0dGVucy1ibHVlKTtcbiAgLS1jb2xvci1ibG9ja3F1b3RlOiB2YXIoLS1jb2xvci1zY2llbmNlLWJsdWUpO1xuICAtLWNvbG9yLWNvbW1lbnQtdGV4dDogdmFyKC0tY29sb3ItZWFzdC1iYXkpO1xuICAtLWNvbG9yLWNvbW1lbnQtYXV0aG9yLXRleHQ6IHZhcigtLWNvbG9yLWVhc3QtYmF5KTtcbiAgLS1jb2xvci10YWctYm9yZGVyOiByZ2JhKDYsIDIyLCA0MSwgLjEpO1xuICAtLWNvbG9yLXRhZy1ib3JkZXItaG92ZXI6IHJnYmEoNiwgMjIsIDQxLCAuNCk7XG4gIC0tY29sb3ItdGFnLXRleHQ6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgLS1jb2xvci1jYXRlZ29yeS1ib3JkZXI6ICNjZGNmZDQ7XG4gIC0tY29sb3ItY2F0ZWdvcnktdGV4dDogdmFyKC0tY29sb3ItYmxhY2spO1xuICAtLWNvbG9yLWNhcHRpb246ICM1YzVjNmE7XG4gIC0tY29sb3ItY29kZS1ibG9jazogI2M3MjU0ZTtcbiAgLS1jb2xvci1jb2RlLXRleHQ6ICNmNWY1ZjU7XG4gIC0tY29sb3ItZXJyb3I6ICNlMWIzYjI7XG4gIC0tY29sb3Ita2JkLWJvcmRlcjogI2NjYztcbiAgLS1jb2xvci1rYmQtYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcGF0dGVucy1ibHVlKTtcbiAgLS1jb2xvci1vdXRsaW5lLW92ZXJsYXktaXRlbXM6ICNmZjg0OGE7XG4gIC0tY29sb3ItcGFnaW5hdGlvbi10ZXh0OiB2YXIoLS1jb2xvci12YWxoYWxsYSk7XG4gIC0tY29sb3ItcGFnaW5hdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1jb2xvci12YWxoYWxsYSk7XG4gIC0tY29sb3ItcGFnaW5hdGlvbi1ib3JkZXItaG92ZXI6IHZhcigtLWNvbG9yLXZhbGhhbGxhKTtcbiAgLS1jb2xvci1wYWdpbmF0aW9uLXRleHQtaG92ZXI6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1wYWdpbmF0aW9uLWJhY2tncm91bmQtY3VycmVudDogdmFyKC0tY29sb3ItdmFsaGFsbGEpO1xuICAtLWNvbG9yLXBhZ2luYXRpb24tYm9yZGVyLWN1cnJlbnQ6IHZhcigtLWNvbG9yLXZhbGhhbGxhKTtcbiAgLS1jb2xvci1wYWdpbmF0aW9uLXRleHQtY3VycmVudDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLXN1Y2Nlc3M6ICM4ZWQxODU7XG4gIC0tY29sb3ItdG9wLWFycm93LWRhcms6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgLS1jb2xvci10b3AtYXJyb3ctbGlnaHQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci13YXJuaW5nOiAjZjRhYTcxO1xufVxuIiwiLy8gTGF5b3V0IHdpZHRoc1xuJHdpZHRoLW1heC1sYXlvdXQ6IDEwMCU7XG4kd2lkdGgtbWF4LWFydGljbGU6IDgwMHB4O1xuJHdpZHRoLWdyaWQtYmFzZTogMTIwMHB4O1xuXG4vLyBUaGlzIGlzIHRoZSBicmVha3BvaW50IG5hdmlnYXRpb24gdHJhbnNmb3JtcyBpbnRvIG1vYmlsZSBtZW51XG4vLyBOQiEgSU1QT1JUQU5UISBSZW1lbWJlciB0byBjaGFuZ2UgaW4ganMvc3JjL25hdmlnYXRpb24uanM6XG4vLyBjb25zdCByZXNwb25zaXZlbmF2ID0gOTYwO1xuLy8gSWYgdGhlc2UgYXJlIG5vdCB0aGUgc2FtZSwgbmF2aWdhdGlvbiB0b2dnbGVzIHdpbGwgbm90IHdvcmsgcHJvcGVybHkuXG4kd2lkdGgtbWF4LW1vYmlsZTogOTYwcHg7XG5cbi8vIEJyZWFrcG9pbnRzIGZvciBjb21udGFpbmVyc1xuJGNvbnRhaW5lci1tb2JpbGU6IDQ4MHB4O1xuJGNvbnRhaW5lci1pcGFkOiA3NzBweDtcbiRjb250YWluZXItaXBhZC1sYW5kc2NhcGU6IDEwMjRweDtcbiRjb250YWluZXItZGVza3RvcDogMTIwMHB4O1xuIiwiLy8gQ1NTIFZhcmlhYmxlcyBmb3IgcmVzcG9uc2l2ZSBwYWRkaW5ncyBhbmQgbWFyZ2luc1xuOnJvb3Qge1xuICAvLyBQYWRkaW5nc1xuICAtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWw6IDJyZW07XG4gIC0tcGFkZGluZy1jb250YWluZXItdmVydGljYWw6IDYuNHJlbTtcbiAgLS1wYWRkaW5nLXNpdGUtaGVhZGVyLXZlcnRpY2FsOiAycmVtO1xuICAtLXBhZGRpbmctYmxvY2s6IDhyZW07XG5cbiAgLy8gTWFyZ2luc1xuICAtLW1hcmdpbi1iZXR3ZWVuLXRleHQtZWxlbWVudHM6IDRyZW07XG4gIC0tbWFyZ2luLXdwLWJsb2NrLWltYWdlOiA0cmVtO1xuICAtLW1hcmdpbi1iZXR3ZWVuLXBhcmFncmFwaHM6IDIuN3JlbTtcblxuICAvLyBNaWQtc2l6ZWQgc2NyZWVuc1xuICBAbWVkaWEgKG1heC13aWR0aDogJHdpZHRoLWdyaWQtYmFzZSArIDE1MHB4KSB7XG4gICAgLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsOiAycmVtO1xuICB9XG5cbiAgLy8gV2hlbiBuYXZpZ2F0aW9uIHRyYW5zZm9ybXMgdG8gYSByZXNwb25zaXZlIGhhbWJ1cmdlciBtZW51XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtbWF4LW1vYmlsZSkge1xuICAgIC0tcGFkZGluZy1zaXRlLWhlYWRlci12ZXJ0aWNhbDogMnJlbTtcbiAgfVxuXG4gIC8vIGlQYWRcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRjb250YWluZXItaXBhZCkge1xuICAgIC0tcGFkZGluZy1jb250YWluZXItdmVydGljYWw6IDVyZW07XG4gIH1cblxuICAvLyBCZXR3ZWVuIGlQYWQgYW5kIGEgbW9iaWxlIHBob25lXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC0tcGFkZGluZy1ibG9jazogNnJlbTtcbiAgfVxuXG4gIC8vIFZhcnMgaW4gbW9iaWxlXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgIC0tcGFkZGluZy1jb250YWluZXItdmVydGljYWw6IDRyZW07XG4gIH1cbn1cbiIsIi8vIFNlbGYtaG9zdGVkIGZvbnRzXG4vLyBSZW1lbWJlciB0byBhZGQgdGhlc2UgYWxzbyB0byBndXRlbmJlcmcvdmFyaWFibGVzL19mb250LWZhbWlseS5zY3NzXG4vLyB3aXRoIGNvcnJlY3QgcGF0aHNcbkBpbmNsdWRlIGZvbnRGYWNlKCdJbnRlcicsICcuLi8uLi9mb250cy9JbnRlci1SZWd1bGFyJywgNDAwKTtcbkBpbmNsdWRlIGZvbnRGYWNlKCdJbnRlcicsICcuLi8uLi9mb250cy9JbnRlci1JdGFsaWMnLCA0MDAsIGl0YWxpYyk7XG5AaW5jbHVkZSBmb250RmFjZSgnSW50ZXInLCAnLi4vLi4vZm9udHMvSW50ZXItQm9sZCcsIDcwMCk7XG4iLCIvLyBGb250IGZhbWlseSBzZXR0aW5nc1xuLy8gWW91IGNhbiBkZWZpbmUgeW91ciBvd24gZm9udCBmYW1pbGllcyBoZXJlLCBsaWtlIC0tZm9udC1iYXJsb3dcbi8vIGFuZCB0aGVuIGF0dGFjaCB0aGVtIHRvIGVsZW1lbnRzOiAtLWZvbnQtcGFyYWdyYXBoOiB2YXIoLS1mb250LWJhcmxvdylcbjpyb290IHtcbiAgLS1mb250LXNlcmlmOiBzYW5zLXNlcmlmO1xuICAtLWZvbnQtc2FuczogJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgJ0JsaW5rTWFjU3lzdGVtRm9udCcsICdTZWdvZSBVSScsICdSb2JvdG8nLCAnT3h5Z2VuLVNhbnMnLCAnVWJ1bnR1JywgJ0NhbnRhcmVsbCcsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWY7XG4gIC0tZm9udC1tb25vc3BhY2U6ICdJbmNvbnNvbGF0YScsICdNZW5sbycsICdNb25hY28nLCAnQ29uc29sYXMnLCAnQW5kYWxlIE1vbm8nLCAnQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlO1xuXG4gIC8vIEZvbnRzIGluIHVzZSBmb3IgY29udGVudFxuICAtLWZvbnQtcGFyYWdyYXBoOiB2YXIoLS1mb250LXNhbnMpO1xuICAtLWZvbnQtaGVhZGluZzogdmFyKC0tZm9udC1zYW5zKTtcbn1cbiIsIi8vIENTUyBWYXJpYWJsZXMgZm9yIHJlc3BvbnNpdmUgZm9udHNcbjpyb290IHtcbiAgLy8gSGVhZGluZyBmb250IHNpemVzXG4gIC0tZm9udC1zaXplLWhlcm86IDUycHg7XG4gIC0tZm9udC1zaXplLWgxOiA0MHB4O1xuICAtLWZvbnQtc2l6ZS1oMjogMzBweDtcbiAgLS1mb250LXNpemUtaDM6IDI0cHg7XG4gIC0tZm9udC1zaXplLWg0OiAyMHB4O1xuICAtLWZvbnQtc2l6ZS1oNTogMTZweDtcbiAgLS1mb250LXNpemUtaDY6IDE0cHg7XG5cbiAgLy8gSGVhZGluZyBmb250IHNpemVzIGluIG1vYmlsZVxuICBAbWVkaWEgKG1heC13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICAtLWZvbnQtc2l6ZS1oZXJvOiAzOHB4O1xuICAgIC0tZm9udC1zaXplLWgxOiAzMnB4O1xuICAgIC0tZm9udC1zaXplLWgyOiAyNHB4O1xuICAgIC0tZm9udC1zaXplLWgzOiAyMXB4O1xuICAgIC0tZm9udC1zaXplLWg0OiAxOHB4O1xuICAgIC0tZm9udC1zaXplLWg1OiAxNHB4O1xuICAgIC0tZm9udC1zaXplLWg2OiAxMnB4O1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoIGZvbnQgc2l6ZXNcbiAgLS1mb250LXNpemUtMTQ6IDE0cHg7XG4gIC0tZm9udC1zaXplLTE1OiAxNXB4O1xuICAtLWZvbnQtc2l6ZS0xNjogMTZweDtcbiAgLS1mb250LXNpemUtMTc6IDE3cHg7XG4gIC0tZm9udC1zaXplLTE4OiAxOHB4O1xuICAtLWZvbnQtc2l6ZS0yMDogMjBweDtcbiAgLS1mb250LXNpemUtMjI6IDIycHg7XG5cbiAgLy8gUGFyYWdyYXBoIGZvbnQgc2l6ZXMgaW4gdGlueSBwaG9uZXMgbGlrZSBpUGhvbmUgNVNcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQyMHB4KSB7XG4gICAgLS1mb250LXNpemUtMTY6IDE0cHg7XG4gIH1cblxuICAvLyBFbGVtZW50IGZvbnQgc2l6ZXNcbiAgLS1mb250LXNpemUtZGVmYXVsdDogdmFyKC0tZm9udC1zaXplLTE3KTtcbiAgLS1mb250LXNpemUtcGFyYWdyYXBoczogdmFyKC0tZm9udC1zaXplLTE4KTtcbiAgLS1mb250LXNpemUtbmF2LXRvZ2dsZS1sYWJlbDogMTVweDtcbiAgLS1mb250LXNpemUtY2FwdGlvbnM6IDE1cHg7XG5cbiAgLy8gRWxlbWVudCBmb250IHNpemVzIGluIG1vYmlsZVxuICBAbWVkaWEgKG1heC13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICAtLWZvbnQtc2l6ZS1wYXJhZ3JhcGhzOiAxNnB4O1xuICAgIC0tZm9udC1zaXplLWRlZmF1bHQ6IDE2cHg7XG4gIH1cblxuICAvLyBFbGVtZW50IGZvbnQgc2l6ZXMgaW4gdGlueSBwaG9uZXMgbGlrZSBpUGhvbmUgNVNcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQyMHB4KSB7XG4gICAgLS1mb250LXNpemUtbmF2LXRvZ2dsZS1sYWJlbDogMTNweDtcbiAgfVxuXG4gIC8vIExpbmUtaGVpZ2h0c1xuICAtLWxpbmUtaGVpZ2h0LWhlYWRpbmdzOiAxLjU7XG4gIC0tbGluZS1oZWlnaHQtY29yZS1oZWFkaW5nOiAxLjIzO1xuICAtLWxpbmUtaGVpZ2h0LXBhcmFncmFwaHM6IDEuNztcbiAgLS1saW5lLWhlaWdodC1wYXJhZ3JhcGhzLWJsb2c6IDEuNzc7XG5cbiAgLy8gRm9udCB3ZWlnaHRzXG4gIC0tZm9udC13ZWlnaHQtcmVndWxhcjogNDAwO1xuICAtLWZvbnQtd2VpZ2h0LW1lZGl1bTogNTAwO1xuICAtLWZvbnQtd2VpZ2h0LXNlbWlib2xkOiA2MDA7XG4gIC0tZm9udC13ZWlnaHQtYm9sZDogNzAwO1xuICAtLWZvbnQtd2VpZ2h0LXBhcmFncmFwaHM6IHZhcigtLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpO1xuICAtLWZvbnQtd2VpZ2h0LWhlYWRpbmdzOiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cbiIsIi8vIExpc3Qgb2YgY29tcG9uZW50cyBpbiB1c2VcbkBpbXBvcnQgJ2J1dHRvbic7XG5AaW1wb3J0ICdidXR0b24tc2l6ZS1zbWFsbCc7XG5AaW1wb3J0ICdidXR0b24tc2l6ZS1sYXJnZSc7XG5AaW1wb3J0ICdidXR0b24tc3R5bGUtZ2hvc3QnO1xuQGltcG9ydCAnbGluayc7XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBudW1iZXItbWF4LXByZWNpc2lvbiAqL1xuQG1peGluIGJ1dHRvbigkbWF4LXdpZHRoOiAyMzBweCwgJGNvbG9yOiB2YXIoLS1jb2xvci1idXR0b24pLCAkaG92ZXI6IHZhcigtLWNvbG9yLWJ1dHRvbi1ob3ZlciksICRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1idXR0b24tYmFja2dyb3VuZCksICRiYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1jb2xvci1idXR0b24tYmFja2dyb3VuZC1ob3ZlciksICRyYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtaW5wdXQtZmllbGQpLCAkYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpIHNvbGlkIHZhcigtLWNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kKSwgJGJvcmRlci1ob3ZlcjogdmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSBzb2xpZCAkYmFja2dyb3VuZC1ob3ZlciwgJHdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpLCAkYXJyb3c6IGZhbHNlLCAkdHJhbnNpdGlvbjogYWxsIC4wOHMgY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCkpIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXBhcmFncmFwaCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE2KTtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxOS42MzY0cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMTRweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDIxcHggLSBjYWxjKHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgKiAyKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMjFweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcGFkZGluZy10b3A6IGNhbGMoMTRweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IGF1dG87XG5cbiAgLy8gQnV0dG9ucyB1c3VhbGx5IGFscmVhZHkgaGF2ZSBhcnJvd3NcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbiAgJi5pcy1leHRlcm5hbC1saW5rOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbiAgLy8gQXJyb3cgaWNvblxuICBAaWYgJGFycm93IHtcbiAgICBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgfVxuICB9XG5cbiAgJi5mb2N1cyxcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgYm9yZGVyOiAkYm9yZGVyLWhvdmVyO1xuICAgIGNvbG9yOiAkaG92ZXI7XG4gIH1cbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIG51bWJlci1tYXgtcHJlY2lzaW9uICovXG5AbWl4aW4gYnV0dG9uLXNpemUtc21hbGwoKSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE2KTtcbiAgbGluZS1oZWlnaHQ6IDIwLjkwOTFweDtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMTBweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDIxcHggLSBjYWxjKHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgKiAyKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMjFweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcGFkZGluZy10b3A6IGNhbGMoMTBweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIG51bWJlci1tYXgtcHJlY2lzaW9uICovXG5AbWl4aW4gYnV0dG9uLXNpemUtbGFyZ2UoKSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE4KTtcbiAgbGluZS1oZWlnaHQ6IDIzLjA5MDlweDtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMTdweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDIxcHggLSBjYWxjKHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgKiAyKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMjFweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcGFkZGluZy10b3A6IGNhbGMoMTdweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbn1cbiIsIkBtaXhpbiBidXR0b24tc3R5bGUtZ2hvc3QoJGJhY2tncm91bmQ6IHRyYW5zcGFyZW50LCAkYmFja2dyb3VuZC1ob3ZlcjogdmFyKC0tY29sb3ItYnV0dG9uLWJhY2tncm91bmQpLCAkY29sb3I6IHZhcigtLWNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kKSwgJGhvdmVyOiB2YXIoLS1jb2xvci13aGl0ZSksICRyYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtaW5wdXQtZmllbGQpLCAkYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpIHNvbGlkIHZhcigtLWNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kKSwgJHRyYW5zaXRpb246IGFsbCAuMDhzIGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuXG4gICYuZm9jdXMsXG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRob3ZlcjtcbiAgfVxufVxuIiwiLy8gTGlua3Mgd2l0aGluIGNvbnRlbnQgbXVzdCBiZSB2aXN1YWxseSB1bmRlcmxpbmVkXG4vLyBAbGluayBodHRwczovL21ha2Uud29yZHByZXNzLm9yZy90aGVtZXMvaGFuZGJvb2svcmV2aWV3L2FjY2Vzc2liaWxpdHkvcmVxdWlyZWQvI2NvbnRlbnQtbGlua3NcbkBtaXhpbiBsaW5rKCkge1xuICAvLyBDcmVhdGUgeW91ciBvd24gZGVmYXVsdCBjb250ZW50IGxpbmsgc3R5bGVzIGhlcmVcbiAgLy8gZm9yIHBhZ2VzIGFuZCBHdXRlbmJlcmdcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWxpbmstYm9yZGVyLWJvdHRvbSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIHZhcigtLWNvbG9yLWxpbmstYmFja2dyb3VuZC1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLXRleHQpO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMXMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKSwgY29sb3IgLjFzIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vc3ZnL2V4dGVybmFsLWxpbmstc3R5bGVkLWxpbmtzLnN2ZycpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0zLjNyZW0gMCB2YXIoLS1jb2xvci1saW5rLWJhY2tncm91bmQtaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLXRleHQtaG92ZXIpO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9zdmcvZXh0ZXJuYWwtbGluay13aGl0ZS5zdmcnKTtcbiAgICB9XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWxpbmstYm9yZGVyLWZvY3VzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay10ZXh0LWZvY3VzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL3N2Zy9leHRlcm5hbC1saW5rLWJsYWNrLnN2ZycpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQWNjZXNzaWJpbGl0eVxuLy9cbi8vIEEgaGlkZGVuIHNjcmVlbiByZWFkZXIgZm9yIHJlYWRlcnMsIGZvY3VzIGVsZW1lbnRzIGZvclxuLy8gdmlzaW9uIGltcGFpcmVkIGFuZCBvdGhlciB1c2VmdWwgYTExeSBDU1MgaGFja3MuXG5cbi8vIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMuXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xuICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50OyAvLyBNYW55IHNjcmVlbiByZWFkZXIgYW5kIGJyb3dzZXIgY29tYmluYXRpb25zIGFubm91bmNlIGJyb2tlbiB3b3JkcyBhcyB0aGV5IHdvdWxkIGFwcGVhciB2aXN1YWxseS5cbiAgLyogc3R5bGVsaW50LWVuYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi9cblxuICAmLnNraXAtbGluayB7XG4gICAgbWFyZ2luOiA1cHg7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgyMiwgMjIsIDIyLCAuNik7XG4gICAgY2xpcDogYXV0bztcbiAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdG9wOiA1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgei1pbmRleDogMTAwMDAwOyAvLyBBYm92ZSBXUCB0b29sYmFyLlxuICB9XG59XG5cbi8vIFN1cHByZXNzIGZvY3VzIHJpbmcgb24gZm9yIG1vdXNlIGFuZCB0b3VjaCB1c2VycyBmb3IgdmlzdWFsIHJlYXNvbnNcbi8qIHN0eWxlbGludC1kaXNhYmxlIGExMXkvbm8tb3V0bGluZS1ub25lICovXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSAqOmZvY3VzLFxuW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0gKjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlIGExMXkvbm8tb3V0bGluZS1ub25lICovXG5cbi8vIFZpc3VhbGx5IGRpc3RpbmN0IGZvY3VzIGNvbG9yIG9uIGtleWJvYXJkXG5bZGF0YS13aGF0aW5wdXQ9XCJrZXlib2FyZFwiXSB7XG4gIGE6Zm9jdXMsXG4gIGlucHV0OmZvY3VzLFxuICBidXR0b246Zm9jdXMsXG4gIHNlbGVjdDpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMsXG4gIGRpdlt0YWJpbmRleF06Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuZ2xvYmFsLWxpbmsge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBBIGJpdCBiZXR0ZXIgZm9jdXMgZm9yIGxhcmdlIGVsZW1lbnRzXG4gIGEuZ2xvYmFsLWxpbms6Zm9jdXMge1xuICAgIG91dGxpbmUtY29sb3I6IHZhcigtLWNvbG9yLW91dGxpbmUtb3ZlcmxheS1pdGVtcyk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gICAgb3V0bGluZS13aWR0aDogNHB4O1xuICB9XG59XG5cbi8vIEFkZCBpY29uIHRvIGV4dGVybmFsIGxpbmtzXG5hLmlzLWV4dGVybmFsLWxpbmsge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL3N2Zy9leHRlcm5hbC1saW5rLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTRweCAxNHB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xOHMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDE0cHg7XG4gIH1cbn1cblxuLy8gRG8gbm90IHVzZSBleHRlcm5hbCBsaW5rcyBpbmRpY2F0b3JzIGluIGFyZWFzIHRoYXQgdGhleSBkb24ndCBsb29rIGdvb2Qgb3IgZml0XG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBhMTF5L25vLWRpc3BsYXktbm9uZSAqL1xuYS5pcy1leHRlcm5hbC1saW5rLmdsb2JhbC1saW5rOjphZnRlcixcbmEuaXMtZXh0ZXJuYWwtbGluay5uby1leHRlcm5hbC1saW5rLWluZGljYXRvcjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSBhMTF5L25vLWRpc3BsYXktbm9uZSAqL1xuXG4vLyBBY2Nlc3NpYmlsaXR5OiBEaXNhYmxlIGFuaW1hdGlvbiBpZiByZWR1Y2UgbW90aW9uIGlzIGVuYWJsZWRcbkBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpLCAodXBkYXRlOiBzbG93KSB7XG4gIC8vIFlvdXIgYW5pbWF0aW9ucyBoZXJlXG59XG5cbi8vIERlZmluZSBoZXJlIHRoZSB1cHNlbGwgYmxvY2tzIHRoYXQgaGF2ZSBvdmVybGF5IGxpbmsgYXJlYXNcbi8vIGluc2lkZSB0aGVtXG4vLyBUaGVzZSBzaG91bGQgYWx3YXlzIGhhdmUgb3ZlcmZsb3cgdmlzaWJsZSwgYmVjYXVzZSBvdGhlcndpc2Vcbi8vIHRoZSBvdXRsaW5lIHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSB0aGUgZWxlbWVudFxuLy8gLmJsb2NrLmJsb2NrLXRocmVlLXVwc2VsbHMgLmNvbnRhaW5lcixcbi8vIGJvZHkgLmJsb2NrIC5jb250YWluZXIgLmNvbCB7XG4vLyAgIG92ZXJmbG93OiB2aXNpYmxlO1xuLy8gfVxuIiwiLy8gU2l0ZSBuYXZpZ2F0aW9uIGRlc2t0b3AgbGF5b3V0XG4vLyBUaGUgbWFpbiBsYXlvdXQgZm9yIHRoZSB3ZWJzaXRlIG5hdmlnYXRpb24sIGZvciBhIGRlc2t0b3AgZGV2aWNlcyBvbmx5LlxuXG4vLyBTZXR0aW5nc1xuJGFic29sdXRlLW5hdmlnYXRpb246IHRydWU7XG4kdXNlLWRyb3Bkb3duLWJ1YmJsZTogdHJ1ZTtcbiR1c2UtZHJvcGRvd24tdG9nZ2xlLWFuaW1hdGlvbjogdHJ1ZTtcblxuLy8gQ1NTIHZhcmlhYmxlc1xuLy8gVGhlc2UgY2FuIGJlIGFkanVzdGVkIHdpdGggbWVkaWEgcXVlcmllcyBmb3IgaW4tYmV0d2VlbiBicmVha3BvaW50c1xuOnJvb3Qge1xuICAvLyBEaW1lbnNpb25zLCBnYXBzIGFuZCBzcGFjaW5nc1xuICAtLWJvcmRlci1yYWRpdXMtc3ViLW1lbnU6IDA7XG4gIC0tYm94LXNoYWRvdy1uYXZpZ2F0aW9uLXN0YXRpYzogMCAwIDEwcHggcmdiYSg4NCwgODcsIDExNSwgLjEpO1xuICAtLWRyb3Bkb3duLXRvZ2dsZS1zaXplOiAxMnB4O1xuICAtLWdhcC1kcm9wZG93bjogMXJlbTtcbiAgLS1nYXAtYmV0d2Vlbi1kcm9wZG93bi10b2dnbGU6IDEuNXJlbTtcbiAgLS1wYWRkaW5nLW1haW4tbGV2ZWwtdmVydGljYWw6IC42cmVtO1xuICAtLXBhZGRpbmctbWFpbi1sZXZlbC1ob3Jpem9udGFsOiAycmVtO1xuICAtLXBhZGRpbmctc3ViLW1lbnUtdmVydGljYWw6IC42cmVtO1xuICAtLXBhZGRpbmctc3ViLW1lbnUtaG9yaXpvbnRhbDogMS41cmVtO1xuICAtLXdpZHRoLXN1Yi1tZW51OiAyMnJlbTtcblxuICAvLyBDb2xvcnNcbiAgLS1jb2xvci1iYWNrZ3JvdW5kLW5hdi1kZXNrdG9wOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIC0tY29sb3ItYmFja2dyb3VuZC1zdWItbWVudTogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLWJvcmRlci1zdWItbWVudTogcmdiYSg0MSwgNDQsIDYxLCAuMDUpO1xuICAtLWNvbG9yLWRyb3Bkb3duLXRvZ2dsZTogdmFyKC0tY29sb3ItdmFsaGFsbGEpO1xuICAtLWNvbG9yLXN1Yi1tZW51OiB2YXIoLS1jb2xvci12YWxoYWxsYSk7XG4gIC0tY29sb3ItaG92ZXItbWFpbi1sZXZlbDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLWhvdmVyLXN1Yi1tZW51OiB2YXIoLS1jb2xvci12YWxoYWxsYSk7XG4gIC0tY29sb3ItbWFpbi1sZXZlbDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLWN1cnJlbnQ6IHZhcigtLWNvbG9yLW1haW4pO1xuXG4gIC8vIEZvbnQgc3R5bGVzXG4gIC0tZm9udC1zaXplLW1haW4tbGV2ZWw6IDE3cHg7XG4gIC0tZm9udC1zaXplLXN1Yi1tZW51OiAxNnB4O1xuICAtLWZvbnQtd2VpZ2h0LW1haW4tbGV2ZWw6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAtLWZvbnQtd2VpZ2h0LXN1Yi1tZW51OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbn1cblxuLy8gR2VuZXJhbCBuYXZpZ2F0aW9uIHJlc2V0c1xuLnNpdGUtaGVhZGVyIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkdGgtbWF4LW1vYmlsZSkge1xuICAubmF2LWNvbnRhaW5lciB7XG4gICAgQGlmICRhYnNvbHV0ZS1uYXZpZ2F0aW9uID09IGZhbHNlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtbmF2LWRlc2t0b3ApO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdy1uYXZpZ2F0aW9uLXN0YXRpYyk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyMjI7XG4gICAgfVxuXG4gICAgQGlmICRhYnNvbHV0ZS1uYXZpZ2F0aW9uID09IHRydWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR3aWR0aC1tYXgtbW9iaWxlKSB7XG4gICAgdWwgbGk6Zm9jdXMgPiB1bCxcbiAgICB1bCBsaTpob3ZlciA+IHVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGUgYW5pbWF0aW9ucyBvbiBJRTEwICsgSUUxMVxuICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgIC8vIEVuYWJsZSBob3ZlcnNcbiAgICB1bCBsaTpmb2N1cyA+IHVsLFxuICAgIHVsIGxpOmhvdmVyID4gdWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLy8gTmVlZCB0byB1c2UgZGlzcGxheTogbm9uZSBoZXJlIHRvIG1ha2Ugc3VyZSBtb2JpbGUgbmF2LXRvZ2dsZSBpcyB2aXN1YWxseSBoaWRkZW4gb24gZGVza3RvcFxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBhMTF5L25vLWRpc3BsYXktbm9uZSAqL1xuICAubmF2LXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbiAgLy8gTmF2aWdhdGlvbiB3cmFwcGVyXG4gIC5uYXYtcHJpbWFyeSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cblxuICAvLyBOYXZpZ2F0aW9uIHVub3JkZXJlZCBsaXN0IHdyYXBwZXIgZWxlbWVudFxuICAubWVudS1pdGVtcyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC8vIE5hdmlnYXRpb24gbGlzdCBpdGVtXG4gIC5tZW51LWl0ZW0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAvLyBNZW51IGl0ZW1zXG4gIC5tZW51LWl0ZW0gPiBhIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWxldmVsKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tYWluLWxldmVsKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWFpbi1sZXZlbCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXBhZGRpbmctbWFpbi1sZXZlbC12ZXJ0aWNhbCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLW1haW4tbGV2ZWwtaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1tYWluLWxldmVsLWhvcml6b250YWwpO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1wYWRkaW5nLW1haW4tbGV2ZWwtdmVydGljYWwpO1xuICB9XG5cbiAgLm1lbnUtaXRlbSAuc3ViLW1lbnUgYSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3ViLW1lbnUpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc3ViLW1lbnUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zdWItbWVudSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcGFkZGluZy1zdWItbWVudS12ZXJ0aWNhbCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWwpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZGRpbmctc3ViLW1lbnUtaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXBhZGRpbmctc3ViLW1lbnUtdmVydGljYWwpO1xuICB9XG5cbiAgLy8gQ3VycmVudCBtZW51IGl0ZW0gY29sb3JcbiAgLm1lbnUtaXRlbS5jdXJyZW50LW1lbnUtcGFyZW50ID4gYSxcbiAgLm1lbnUtaXRlbS5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1jdXJyZW50KTtcbiAgfVxuXG4gIC8vIExldCdzIG1ha2Ugc3BhY2UgZm9yIHRoZSBuYXYtdG9nZ2xlL2Fycm93XG4gIC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiBhIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtYmV0d2Vlbi1kcm9wZG93bi10b2dnbGUpO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgLjJzIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSksIGJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7XG4gIH1cblxuICAubWVudS1pdGVtID4gYTpob3ZlcixcbiAgLm1lbnUtaXRlbSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ob3Zlci1tYWluLWxldmVsKTtcbiAgfVxuXG4gIC5tZW51LWl0ZW0gLnN1Yi1tZW51IGE6aG92ZXIsXG4gIC5tZW51LWl0ZW0gLnN1Yi1tZW51IGE6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ob3Zlci1zdWItbWVudSk7XG4gIH1cblxuICAvLyBDcmVhdGUgYW5pbWF0aW9uIGlsbHVzaW9uXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cbiAgLnN1Yi1tZW51LnRvZ2dsZWQtb24gYSxcbiAgLnN1Yi1tZW51LnRvZ2dsZWQtb24gLnN1Yi1tZW51IGEsXG4gIC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlciAuc3ViLW1lbnUgYSxcbiAgLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmZvY3VzIC5zdWItbWVudSBhIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcGFkZGluZy1zdWItbWVudS12ZXJ0aWNhbCk7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXBhZGRpbmctc3ViLW1lbnUtdmVydGljYWwpO1xuICB9XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuICAubmF2LXByaW1hcnkgPiB1bDpmaXJzdC1vZi10eXBlID4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46Zm9jdXM6OmJlZm9yZSxcbiAgLm5hdi1wcmltYXJ5ID4gdWw6Zmlyc3Qtb2YtdHlwZSA+IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBjdWJpYy1iZXppZXIoLjE5LCAxLCAuMjIsIDEpO1xuICB9XG5cbiAgLy8gRHJvcGRvd25zXG4gIC5zdWItbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1zdWItbWVudSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWItbWVudSk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zdWItbWVudSk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc3ViLW1lbnUpO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1Yi1tZW51KTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3ViLW1lbnUpO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc3ViLW1lbnUpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXN1Yi1tZW51KTtcbiAgICBib3gtc2hhZG93OiAwIDI1cHggMjBweCAtMTBweCByZ2JhKDUsIDQsIDI1LCAuMDUpO1xuICAgIGxlZnQ6IDUlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWdhcC1kcm9wZG93bik7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAuNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtOTk5OXB4O1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgLjJzIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiB2YXIoLS13aWR0aC1zdWItbWVudSk7XG4gICAgei1pbmRleDogOTtcblxuICAgIC8vIEFsbCBkcm9wZG93bnMgaW4gbGV2ZWwgMiBhbmQgYWZ0ZXJcbiAgICAuc3ViLW1lbnUge1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogdmFyKC0td2lkdGgtc3ViLW1lbnUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgaXMgd2hlcmUgdGhlIG1hZ2ljIGhhcHBlbnNcbiAgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiAuc3ViLW1lbnUudG9nZ2xlZC1vbixcbiAgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46Zm9jdXMgPiAuc3ViLW1lbnUsXG4gIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyID4gLnN1Yi1tZW51IHtcbiAgICAvLyBJZiB5b3Ugd2FudCB0byB1c2UgXCJvdXRcIi1hbmltYXRpb24sIGFkZCB0aGlzOlxuICAgIC8vIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLmhvdmVyLWludGVudCA+IC5zdWItbWVudSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0b3A6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuc3ViLW1lbnUudG9nZ2xlZC1vbiAuc3ViLW1lbnUsXG4gIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5zdWItbWVudSAuc3ViLW1lbnUudG9nZ2xlZC1vbixcbiAgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46Zm9jdXMgLnN1Yi1tZW51IC5zdWItbWVudSxcbiAgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgLnN1Yi1tZW51IC5zdWItbWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTA7XG4gIH1cblxuICAvLyBTdWIgbWVudSBpdGVtcyB0aGF0IGhhdmUgaXRlbXMgdW5kZXIgdGhlbVxuICAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLXJpZ2h0OiAuOHJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBBZGQgYSBwc2V1ZG8gZWxlbWVudCB0byBmaWxsIHRoZSBnYXBcbiAgICAvLyBiZXR3ZWVuIG1lbnUgaXRlbSBhbmQgc3ViIG1lbnUgdG8gaGVscCBob3ZlcmluZ1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IHZhcigtLWdhcC1kcm9wZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAvLyBUb2dnbGUgaWNvbiBkaW1lbnNpb25zIG9uIGRlc2t0b3BcbiAgLmRyb3Bkb3duLXRvZ2dsZSBzdmcge1xuICAgIGhlaWdodDogdmFyKC0tZHJvcGRvd24tdG9nZ2xlLXNpemUpO1xuICAgIHdpZHRoOiB2YXIoLS1kcm9wZG93bi10b2dnbGUtc2l6ZSk7XG5cbiAgICBAaWYgJHVzZS1kcm9wZG93bi10b2dnbGUtYW5pbWF0aW9uID09IHRydWUge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zNXMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWluIGxldmVsIHRvZ2dsZSBpY29uXG4gIC5kcm9wZG93bi10b2dnbGUudG9nZ2xlZC1vbiBzdmcge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRyb3Bkb3duLXRvZ2dsZSk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFN1Yi1tZW51IHRvZ2dsZSBpY29uXG4gIC5zdWItbWVudSAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICB3aWR0aDogM3JlbTtcbiAgfVxuXG4gIC5zdWItbWVudSAuZHJvcGRvd24tdG9nZ2xlIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSByb3RhdGVYKDBkZWcpO1xuICB9XG5cbiAgLnN1Yi1tZW51IC5kcm9wZG93bi10b2dnbGUudG9nZ2xlZC1vbiBzdmcge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgcm90YXRlWCgxODBkZWcpO1xuICB9XG5cbiAgLy8gU21vb3RoIGFuaW1hdGlvblxuICBAaWYgJHVzZS1kcm9wZG93bi10b2dnbGUtYW5pbWF0aW9uID09IHRydWUge1xuICAgIC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IC5kcm9wZG93bi10b2dnbGUudG9nZ2xlZC1vbiBzdmcsXG4gICAgLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyID4gLmRyb3Bkb3duLXRvZ2dsZSBzdmcsXG4gICAgLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmZvY3VzID4gLmRyb3Bkb3duLXRvZ2dsZSBzdmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG5cbiAgICAvLyBTbW9vdGggYW5pbWF0aW9uXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbWF4LXNwZWNpZmljaXR5LCBzZWxlY3Rvci1tYXgtY2xhc3MgKi9cbiAgICAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gLmRyb3Bkb3duLXRvZ2dsZS50b2dnbGVkLW9uIHN2ZyxcbiAgICAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyID4gLmRyb3Bkb3duLXRvZ2dsZSBzdmcsXG4gICAgLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpmb2N1cyA+IC5kcm9wZG93bi10b2dnbGUgc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlKDkwZGVnKTtcbiAgICB9XG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICB9XG5cbiAgLy8gRG9uJ3QgdXNlIGdhcCBmaWxsZXIgaW4gc3ViIG1lbnUgaXRlbXNcbiAgLy8gQWNjZXB0YWJsZSB1c2Ugb2YgZGlzcGxheTogbm9uZSBoZXJlLCBmb3IgdmlzdWFsL3RlY2huaWNhbCBwdXJwb3Nlc1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBhMTF5L25vLWRpc3BsYXktbm9uZSAqL1xuICAuc3ViLW1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuICAvLyBEcm9wZG93biBidWJibGVcbiAgQGlmICR1c2UtZHJvcGRvd24tYnViYmxlID09IHRydWUge1xuICAgIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOjpiZWZvcmUge1xuICAgICAgLy8gVXNlIG9mIG5vbi12YXJpYWJsZSBpcyBhY2NlcHRhYmxlIGhlcmUgYmVjYXVzZSBidWJibGUgbmVlZHMgaXRcbiAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHNoLXdhcWFyL2RlY2xhcmF0aW9uLXVzZS12YXJpYWJsZSAqL1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDVweCA1cHg7XG4gICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gICAgICBib3R0b206IC0xMHB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cbiAgfVxufSAvLyBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWR0aC1tYXgtbW9iaWxlKVxuIiwiLy8gU2l0ZSBuYXZpZ2F0aW9uIG1vYmlsZSBsYXlvdXRcbi8vIFRoZSBtYWluIGxheW91dCBmb3IgdGhlIHdlYnNpdGUgbmF2aWdhdGlvbiwgZm9yIHRoZSBtb2JpbGUgdmVyc2lvbiBvbmx5LlxuXG4vLyBTZXR0aW5nc1xuJGFic29sdXRlLW5hdmlnYXRpb24tbW9iaWxlOiB0cnVlO1xuXG4vLyBTZXR0aW5ncyBmb3Igam9uc3VoL2hhbWJ1cmdlcnNcbi8vIFRoZXNlIG5lZWQgdG8gYmUgU0NTUyB2YXJpYWJsZXNcbiRoYW1idXJnZXItcGFkZGluZy14OiAxLjVyZW07XG4kaGFtYnVyZ2VyLXBhZGRpbmcteTogNHJlbTtcbiRoYW1idXJnZXItbGF5ZXItd2lkdGg6IDNyZW07XG4kaGFtYnVyZ2VyLWxheWVyLWhlaWdodDogLjJyZW07XG4kaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc6IC41cmVtO1xuJGhhbWJ1cmdlci1sYXllci1jb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyKTtcbiRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1czogMDtcbiRoYW1idXJnZXItaG92ZXItb3BhY2l0eTogLjg7XG4kaGFtYnVyZ2VyLWhvdmVyLXRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7XG4kaGFtYnVyZ2VyLWhvdmVyLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4kbmF2LW9wZW4tZnJvbS1kaXJlY3Rpb246IHRvcDtcblxuLy8gQ1NTIHZhcmlhYmxlc1xuLy8gVGhlc2UgY2FuIGJlIGFkanVzdGVkIHdpdGggbWVkaWEgcXVlcmllcyBmb3IgaW4tYmV0d2VlbiBicmVha3BvaW50c1xuOnJvb3Qge1xuICAvLyBEaW1lbnNpb25zLCBnYXBzIGFuZCBzcGFjaW5nc1xuICAtLWZvbnQtc2l6ZS1tYWluLWxldmVsLW1vYmlsZTogMTdweDtcbiAgLS1mb250LXNpemUtc3ViLW1lbnUtbW9iaWxlOiAxN3B4O1xuICAtLWZvbnQtd2VpZ2h0LW1haW4tbGV2ZWwtbW9iaWxlOiA2MDA7XG4gIC0tZm9udC13ZWlnaHQtc3ViLW1lbnUtbW9iaWxlOiA2MDA7XG4gIC0tZHJvcGRvd24tdG9nZ2xlLXNpemUtbW9iaWxlOiAxMnB4O1xuICAtLWhlaWdodC1uYXZpZ2F0aW9uLW1vYmlsZTogNzJweDtcbiAgLS1tYXJnaW4tbGVmdC1zdWItbWVudTogMnJlbTtcbiAgLS1wYWRkaW5nLXN1Yi1tZW51LXZlcnRpY2FsLW1vYmlsZTogMS4ycmVtO1xuICAtLXBhZGRpbmctc3ViLW1lbnUtaG9yaXpvbnRhbC1tb2JpbGU6IDIuNXJlbTtcblxuICAvLyBDb2xvcnNcbiAgLS1jb2xvci1hY3RpdmUtbWFpbi1sZXZlbC1tb2JpbGU6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1iYWNrZ3JvdW5kLW5hdi1tb2JpbGUtaGVhZGVyOiB2YXIoLS1jb2xvci1tYWluKTtcbiAgLS1jb2xvci1iYWNrZ3JvdW5kLW5hdi1tb2JpbGUtbGF5ZXI6IHZhcigtLWNvbG9yLW1haW4pO1xuICAtLWNvbG9yLWN1cnJlbnQtbW9iaWxlOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIC0tY29sb3ItZHJvcGRvd24tdG9nZ2xlLW1vYmlsZTogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLWhhbWJ1cmdlci1hY3RpdmU6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1oYW1idXJnZXI6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1tYWluLWxldmVsLW1vYmlsZTogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLXNlcGFyYXRvci1uYXYtbW9iaWxlOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKTtcbiAgLS1jb2xvci1zdWItbWVudS1tb2JpbGU6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjgpO1xufVxuXG4vLyBJbml0IFRhc3R5IEhhbWJ1cmdlciBuYXZpZ2F0aW9uIHRvZ2dsZVxuQGltcG9ydCAnaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL2hhbWJ1cmdlcnMnO1xuXG4vLyBJbml0IGhhbWJ1cmdlciBhbmltYXRpb25cbi8vIENob29zZSBmcm9tIGFuaW1hdGlvbnM6IGh0dHBzOi8vam9uc3VoLmNvbS9oYW1idXJnZXJzL1xuLmhhbWJ1cmdlciB7XG4gIEBleHRlbmQgLmhhbWJ1cmdlci0tY29sbGFwc2U7XG59XG5cbi8vIE5hdmlnYXRpb24gY29yZSBmdW5jdGlvbmFsaXR5XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR3aWR0aC1tYXgtbW9iaWxlKSB7XG4gIC8vIEZ1bmN0aW9uYWxpdHkgbmVlZHMgZGlzcGxheTogbm9uZSBoZXJlIGZvciB2aXN1YWwgcmVhc29uc1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBhMTF5L25vLWRpc3BsYXktbm9uZSAqL1xuICAuanMgLm1lbnUtaXRlbXMgdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR3aWR0aC1tYXgtbW9iaWxlKSB7XG4gIC5qcyB1bCAuc3ViLW1lbnUudG9nZ2xlZC1vbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8gTGV0J3MgZW5zdXJlIHNpdGUtaGVhZGVyIGxvYWRzIHByb3Blcmx5IGFuZCBkb2Vzbid0IGxlYXZlIGVtcHR5IHNwYWNlc1xuQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aC1tYXgtbW9iaWxlKSB7XG4gIC5uYXYtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLW5hdi1tb2JpbGUtaGVhZGVyKTtcblxuICAgIEBpZiAkYWJzb2x1dGUtbmF2aWdhdGlvbi1tb2JpbGUgPT0gZmFsc2Uge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjIyO1xuICAgIH1cblxuICAgIEBpZiAkYWJzb2x1dGUtbmF2aWdhdGlvbi1tb2JpbGUgPT0gdHJ1ZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYnNvbHV0ZS1uYXZpZ2F0aW9uLW1vYmlsZSA9PSB0cnVlIHtcbiAgICAuc2l0ZSB7XG4gICAgICBwYWRkaW5nLXRvcDogdmFyKC0taGVpZ2h0LW5hdmlnYXRpb24tbW9iaWxlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTW9iaWxlIHN0eWxlc1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHdpZHRoLW1heC1tb2JpbGUgLSAxcHgpIHtcbiAgLy8gR2VuZXJhbCBuYXZpZ2F0aW9uIHJlc2V0cyBmb3IgbW9iaWxlXG4gIC5zaXRlLWhlYWRlciB1bCxcbiAgLnNpdGUtaGVhZGVyIGxpLFxuICAuc2l0ZS1oZWFkZXIgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLm1haW4tbmF2aWdhdGlvbi13cmFwcGVyIHtcbiAgICBvcmRlcjogNjtcbiAgICB6LWluZGV4OiA5OTk7XG4gIH1cblxuICAvLyBVc2VycyB0aGF0IGRvbid0IGhhdmUgSmF2YXNjcmlwdCBlbmFibGVkXG4gIC5uby1qcyAuc2l0ZS1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtbmF2LW1vYmlsZS1oZWFkZXIpO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cblxuICAvLyBEaXNhYmxlIHNjcm9sbCBvbiBodG1sIGJvZHkgd2hlbiBtZW51IGlzIG9wZW5lZC5cbiAgLmRpc2FibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLm5hdi1wcmltYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1hcmdpbjogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG5cbiAgLm1lbnUtaXRlbXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6IDJyZW0gMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIE1haW4gbGV2ZWwgbW9iaWxlIG5hdmlnYXRpb24gbGlua3NcbiAgLm1lbnUtaXRlbSBhIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3Itc2VwYXJhdG9yLW5hdi1tb2JpbGUpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWxldmVsLW1vYmlsZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWFpbi1sZXZlbC1tb2JpbGUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tYWluLWxldmVsLW1vYmlsZSk7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LXZlcnRpY2FsLW1vYmlsZSk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWwtbW9iaWxlKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWwtbW9iaWxlKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkZGluZy1zdWItbWVudS12ZXJ0aWNhbC1tb2JpbGUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgei1pbmRleDogMDtcbiAgfVxuXG4gIC8vIFN1YiBtZW51IGl0ZW1zXG4gIC5zdWItbWVudSBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3ViLW1lbnUtbW9iaWxlKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zdWItbWVudS1tb2JpbGUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zdWItbWVudS1tb2JpbGUpO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWwtbW9iaWxlKSArIHZhcigtLW1hcmdpbi1sZWZ0LXN1Yi1tZW51KSk7XG4gIH1cblxuICAuc3ViLW1lbnUge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIC5zdWItbWVudSAuc3ViLW1lbnUgYSB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ViLW1lbnUtaG9yaXpvbnRhbC1tb2JpbGUpICsgdmFyKC0tbWFyZ2luLWxlZnQtc3ViLW1lbnUpICsgdmFyKC0tbWFyZ2luLWxlZnQtc3ViLW1lbnUpKTtcbiAgfVxuXG4gIC5tZW51LWl0ZW0gYTpob3ZlcixcbiAgLm1lbnUtaXRlbSBhOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWN0aXZlLW1haW4tbGV2ZWwtbW9iaWxlKTtcbiAgfVxuXG4gIC8vIEN1cnJlbnQgbWVudSBpdGVtIGNvbG9yXG4gIC5tZW51LWl0ZW0uY3VycmVudC1tZW51LXBhcmVudCA+IGEsXG4gIC5tZW51LWl0ZW0uY3VycmVudC1tZW51LWl0ZW0gPiBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItY3VycmVudC1tb2JpbGUpO1xuICB9XG5cbiAgLy8gRHJvcGRvd24gdG9nZ2xlXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAvLyBBbHRlcm5hdGl2ZSArIGFuZCBtaW51cyBlZmZlY3RcbiAgICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL3N2Zy9uYXYtb3Blbi5zdmcnKTtcbiAgICAvLyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgLy8gYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAvLyBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLWRyb3Bkb3duLXRvZ2dsZS1zaXplLW1vYmlsZSkgdmFyKC0tZHJvcGRvd24tdG9nZ2xlLXNpemUtbW9iaWxlKTtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRyb3Bkb3duLXRvZ2dsZS1tb2JpbGUpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWF4LWhlaWdodDogNTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LXZlcnRpY2FsLW1vYmlsZSk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWwtbW9iaWxlKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWwtbW9iaWxlKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkZGluZy1zdWItbWVudS12ZXJ0aWNhbC1tb2JpbGUpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDJweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgei1pbmRleDogOTk5OTtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICAgIHotaW5kZXg6IDEwMDAwO1xuICB9XG5cbiAgLnN1Yi1tZW51IC5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWItbWVudS1tb2JpbGUpO1xuICB9XG5cbiAgLy8gSGlkZSBkZXNrdG9wIHRvZ2dsZXNcbiAgLmRyb3Bkb3duLXRvZ2dsZSBzdmcge1xuICAgIGhlaWdodDogdmFyKC0tZHJvcGRvd24tdG9nZ2xlLXNpemUtbW9iaWxlKTtcbiAgICB3aWR0aDogdmFyKC0tZHJvcGRvd24tdG9nZ2xlLXNpemUtbW9iaWxlKTtcbiAgICAvLyBFbmFibGUgZm9yIGFsdGVybmF0aXZlICsgYW5kIG1pbnVzIGVmZmVjdFxuICAgIC8vIE5lZWQgdG8gdXNlIGRpc3BsYXk6IG5vbmUgaGVyZSB0byBtYWtlIHN1cmUgdGhlcmUgYXJlIHZpc3VhbGx5IG5vIGRvdWJsZSB0b2dnbGVzXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbiAgICAvLyBkaXNwbGF5OiBub25lO1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUudG9nZ2xlZC1vbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAvLyBBbHRlcm5hdGl2ZSArIGFuZCBtaW51cyBlZmZlY3RcbiAgICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL3N2Zy9uYXYtY2xvc2Uuc3ZnJyk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICB9XG5cbiAgLy8gTW9iaWxlIG5hdmlnYXRpb24gY29yZSBmdW5jdGlvbmFsaXR5XG4gIC5qcyAubmF2LXByaW1hcnkge1xuICAgIGxlZnQ6IDA7XG4gICAgLy8gSGlkZSBtb2JpbGUgbmF2aWdhdGlvbiBieSBkZWZhdWx0IHdoaWxlIGVuYWJsaW5nIHVzZSBvZiBhbmltYXRpb25zXG4gICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgLy8gRGVmYXVsdCBwb3NpdGlvbiwgc29tZSBicm93c2VycyBuZWVkIHRoaXNcbiAgICB0b3A6IHZhcigtLWhlaWdodC1uYXZpZ2F0aW9uLW1vYmlsZSk7XG4gICAgei1pbmRleDogNTtcblxuICAgIC5tZW51LWl0ZW1zIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtbmF2LW1vYmlsZS1sYXllcik7XG5cbiAgICAgIC8vIExldCdzIGtlZXAgdGhlIGNvbnRlbnQgYWx3YXlzIGZ1bGwgaGVpZ2h0XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAvLyBFbnN1cmUgbmF2IHN0YXlzIGluIHRoZSBzYW1lIHBvc2l0aW9uIHdoZW4gYWN0aXZhdGVkXG4gIC5qcy5qcy1uYXYtYWN0aXZlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLm5hdi1wcmltYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAubWVudS1pdGVtcyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4vLyBIYW1idXJnZXIgbWVudSBpY29uIHNwZWNpZmljXG4uaGFtYnVyZ2VyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyLFxuLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLFxuLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXItYWN0aXZlKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWhhbWJ1cmdlci1hY3RpdmUpO1xufVxuXG4ubmF2LXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXIpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHotaW5kZXg6IDEwMDAwMDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHdpZHRoLW1heC1tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gTW9kZXJuIHN0dWZmICg6OmFmdGVyIGlzIGZpcnN0IGxpbmUsIHdpdGhvdXQgOjphZnRlciBpcyBmaXJzdClcbiAgJjpub3QoLnRvZ2dsZWQtb24pIC5oYW1idXJnZXItaW5uZXIge1xuICAgIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgIHdpZHRoOiAxOHB4O1xuICB9XG5cbiAgJi5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcixcbiAgJjpob3ZlciAuaGFtYnVyZ2VyLWlubmVyLFxuICAmOmZvY3VzIC5oYW1idXJnZXItaW5uZXIge1xuICAgIHdpZHRoOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhhbWJ1cmdlcik7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgfVxuXG4gICYuaXMtYWN0aXZlIHNwYW4ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXItYWN0aXZlKTtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyKTtcblxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWhhbWJ1cmdlcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQWx0ZXJuYXRpdmUgZm9jdXMgZm9yIG1vYmlsZSBuYXZcbiAgJjpmb2N1cyB7XG4gICAgc3BhbiBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhhbWJ1cmdlcik7XG4gICAgfVxuXG4gICAgc3BhbiBzcGFuOjpiZWZvcmUsXG4gICAgc3BhbiBzcGFuOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdlIGFscmVhZHkgaGF2ZSBhcmlhLWxhYmVsIGZvciBidXR0b25cbiAgLy8gQnV0IHdlIHdhbnQgdG8gc2hvdyBuYXYtdG9nZ2xlIHZpc3VhbGx5IGZvciBzZWVpbmcgdXNlcnNcbiAgLy8gU28gd2UnbGwgYWRkIGhhcy12aXNpYmxlLWxhYmVsIHRvIG5hdi10b2dnbGUgaW4gaGVhZGVyLnBocFxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBhMTF5L25vLWRpc3BsYXktbm9uZSAqL1xuICAmOm5vdCguaGFzLXZpc2libGUtbGFiZWwpIC5uYXYtdG9nZ2xlLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHdpZHRoLW1heC1tb2JpbGUgLSAxcHgpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICYuaGFzLXZpc2libGUtbGFiZWwge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJi5oYXMtdmlzaWJsZS1sYWJlbCAubmF2LXRvZ2dsZS1sYWJlbCB7XG4gICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1uYXYtdG9nZ2xlLWxhYmVsKTtcblxuICAgICAgLy8gSGlkZSBvbiBzbWFsbGVzdCBwaG9uZXNcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MTBweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MTFweCkge1xuICAgICAgJi5oYXMtdmlzaWJsZS1sYWJlbCAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTZXBhcmF0ZSBhY3RpdmUgY29sb3JzIGZvciBvcGVuZWQgc3RhdGVcbiAgJi5pcy1hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXItYWN0aXZlKTtcbiAgfVxuXG4gICYuaXMtYWN0aXZlIC5oYW1idXJnZXItYm94IHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhhbWJ1cmdlci1hY3RpdmUpO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhhbWJ1cmdlci1hY3RpdmUpO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtYWN0aXZlIC5mb2N1cyxcbiAgJi5pcy1hY3RpdmUgc3Bhbjpmb2N1cyB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXItYWN0aXZlKTtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXItYWN0aXZlKTtcbiAgICB9XG4gIH1cblxuICAmLmlzLWFjdGl2ZSBzcGFuOmZvY3VzLFxuICAmLmlzLWFjdGl2ZSBzcGFuOmhvdmVyLFxuICAmLmlzLWFjdGl2ZSBzcGFuOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhhbWJ1cmdlci1hY3RpdmUpO1xuXG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyLWFjdGl2ZSk7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vKiFcbiAqIEhhbWJ1cmdlcnNcbiAqIEBkZXNjcmlwdGlvbiBUYXN0eSBDU1MtYW5pbWF0ZWQgaGFtYnVyZ2Vyc1xuICogQGF1dGhvciBKb25hdGhhbiBTdWggQGpvbnN1aFxuICogQHNpdGUgaHR0cHM6Ly9qb25zdWguY29tL2hhbWJ1cmdlcnNcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zdWgvaGFtYnVyZ2Vyc1xuICovXG5cbi8vIFNldHRpbmdzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGhhbWJ1cmdlci1wYWRkaW5nLXggICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItcGFkZGluZy15ICAgICAgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLXdpZHRoICAgICAgICAgOiA0MHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgICAgICAgIDogNHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICAgICAgIDogNnB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1jb2xvciAgICAgICAgIDogIzAwMCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1cyA6IDRweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItb3BhY2l0eSAgICAgICA6IDAuNyAhZGVmYXVsdDtcbiRoYW1idXJnZXItYWN0aXZlLWxheWVyLWNvbG9yICA6ICRoYW1idXJnZXItbGF5ZXItY29sb3IgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWFjdGl2ZS1ob3Zlci1vcGFjaXR5OiAkaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHkgIWRlZmF1bHQ7XG5cbi8vIFRvIHVzZSBDU1MgZmlsdGVycyBhcyB0aGUgaG92ZXIgZWZmZWN0IGluc3RlYWQgb2Ygb3BhY2l0eSxcbi8vIHNldCAkaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgYXMgdHJ1ZSBhbmRcbi8vIGNoYW5nZSB0aGUgdmFsdWUgb2YgJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXIgYWNjb3JkaW5nbHkuXG4kaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgICA6IGZhbHNlICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXIgICAgICAgOiBvcGFjaXR5KDUwJSkgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWFjdGl2ZS1ob3Zlci1maWx0ZXI6ICRoYW1idXJnZXItaG92ZXItZmlsdGVyICFkZWZhdWx0O1xuXG4vLyBUeXBlcyAoUmVtb3ZlIG9yIGNvbW1lbnQgb3V0IHdoYXQgeW91IGRvbuKAmXQgbmVlZClcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kaGFtYnVyZ2VyLXR5cGVzOiAoXG4gIDNkeCxcbiAgM2R4LXIsXG4gIDNkeSxcbiAgM2R5LXIsXG4gIDNkeHksXG4gIDNkeHktcixcbiAgYXJyb3csXG4gIGFycm93LXIsXG4gIGFycm93YWx0LFxuICBhcnJvd2FsdC1yLFxuICBhcnJvd3R1cm4sXG4gIGFycm93dHVybi1yLFxuICBib3JpbmcsXG4gIGNvbGxhcHNlLFxuICBjb2xsYXBzZS1yLFxuICBlbGFzdGljLFxuICBlbGFzdGljLXIsXG4gIGVtcGhhdGljLFxuICBlbXBoYXRpYy1yLFxuICBtaW51cyxcbiAgc2xpZGVyLFxuICBzbGlkZXItcixcbiAgc3BpbixcbiAgc3Bpbi1yLFxuICBzcHJpbmcsXG4gIHNwcmluZy1yLFxuICBzdGFuZCxcbiAgc3RhbmQtcixcbiAgc3F1ZWV6ZSxcbiAgdm9ydGV4LFxuICB2b3J0ZXgtclxuKSAhZGVmYXVsdDtcblxuLy8gQmFzZSBIYW1idXJnZXIgKFdlIG5lZWQgdGhpcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AaW1wb3J0IFwiYmFzZVwiO1xuXG4vLyBIYW1idXJnZXIgdHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AaW1wb3J0IFwidHlwZXMvM2R4XCI7XG5AaW1wb3J0IFwidHlwZXMvM2R4LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHlcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHktclwiO1xuQGltcG9ydCBcInR5cGVzLzNkeHlcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHh5LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd1wiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd2FsdFwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93YWx0LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd3R1cm5cIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd3R1cm4tclwiO1xuQGltcG9ydCBcInR5cGVzL2JvcmluZ1wiO1xuQGltcG9ydCBcInR5cGVzL2NvbGxhcHNlXCI7XG5AaW1wb3J0IFwidHlwZXMvY29sbGFwc2UtclwiO1xuQGltcG9ydCBcInR5cGVzL2VsYXN0aWNcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbGFzdGljLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbXBoYXRpY1wiO1xuQGltcG9ydCBcInR5cGVzL2VtcGhhdGljLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9taW51c1wiO1xuQGltcG9ydCBcInR5cGVzL3NsaWRlclwiO1xuQGltcG9ydCBcInR5cGVzL3NsaWRlci1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc3BpblwiO1xuQGltcG9ydCBcInR5cGVzL3NwaW4tclwiO1xuQGltcG9ydCBcInR5cGVzL3NwcmluZ1wiO1xuQGltcG9ydCBcInR5cGVzL3NwcmluZy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc3RhbmRcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zdGFuZC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc3F1ZWV6ZVwiO1xuQGltcG9ydCBcInR5cGVzL3ZvcnRleFwiO1xuQGltcG9ydCBcInR5cGVzL3ZvcnRleC1yXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb29raW5nIHVwIGFkZGl0aW9uYWwgdHlwZXM6XG4vL1xuLy8gVGhlIFNhc3MgZm9yIGVhY2ggaGFtYnVyZ2VyIHR5cGUgc2hvdWxkIGJlIG5lc3RlZFxuLy8gaW5zaWRlIGFuIEBpZiBkaXJlY3RpdmUgdG8gY2hlY2sgd2hldGhlciBvciBub3Rcbi8vIGl0IGV4aXN0cyBpbiAkaGFtYnVyZ2VyLXR5cGVzIHNvIG9ubHkgdGhlIENTUyBmb3Jcbi8vIGluY2x1ZGVkIHR5cGVzIGFyZSBnZW5lcmF0ZWQuXG4vL1xuLy8gZS5nLiBoYW1idXJnZXJzL3R5cGVzL19uZXctdHlwZS5zY3NzXG4vL1xuLy8gQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIG5ldy10eXBlKSB7XG4vLyAgIC5oYW1idXJnZXItLW5ldy10eXBlIHtcbi8vICAgICAuLi5cbi8vICAgfVxuLy8gfVxuIiwiLy8gSGFtYnVyZ2VyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLmhhbWJ1cmdlciB7XG4gIHBhZGRpbmc6ICRoYW1idXJnZXItcGFkZGluZy15ICRoYW1idXJnZXItcGFkZGluZy14O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBmaWx0ZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuXG4gIC8vIE5vcm1hbGl6ZSAoPGJ1dHRvbj4pXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAmOmhvdmVyIHtcbiAgICBAaWYgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyID09IHRydWUge1xuICAgICAgZmlsdGVyOiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgb3BhY2l0eTogJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpZiAkaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgPT0gdHJ1ZSB7XG4gICAgICAgIGZpbHRlcjogJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItZmlsdGVyO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBvcGFjaXR5OiAkaGFtYnVyZ2VyLWFjdGl2ZS1ob3Zlci1vcGFjaXR5O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIsXG4gICAgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLFxuICAgIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItYWN0aXZlLWxheWVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uaGFtYnVyZ2VyLWJveCB7XG4gIHdpZHRoOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoO1xuICBoZWlnaHQ6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMyArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaGFtYnVyZ2VyLWlubmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIC0yO1xuXG4gICYsXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoO1xuICAgIGhlaWdodDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1sYXllci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXM7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgfVxuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xO1xuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R4KSB7XG4gIC8qXG4gICAqIDNEWFxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R4IHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCAzZHgtcikge1xuICAvKlxuICAgKiAzRFggUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R4LXIge1xuICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgIHBlcnNwZWN0aXZlOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKC0xODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCAzZHkpIHtcbiAgLypcbiAgICogM0RZXG4gICAqL1xuICAuaGFtYnVyZ2VyLS0zZHkge1xuICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgIHBlcnNwZWN0aXZlOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKC0xODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCAzZHktcikge1xuICAvKlxuICAgKiAzRFkgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R5LXIge1xuICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgIHBlcnNwZWN0aXZlOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeHkpIHtcbiAgLypcbiAgICogM0RYWVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R4eSB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGVZKDE4MGRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeHktcikge1xuICAvKlxuICAgKiAzRFhZIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeHktciB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGVZKDE4MGRlZykgcm90YXRlWigtMTgwZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYXJyb3cpIHtcbiAgLypcbiAgICogQXJyb3dcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93LmlzLWFjdGl2ZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMC4yLCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjIsIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBhcnJvdy1yKSB7XG4gIC8qXG4gICAqIEFycm93IFJpZ2h0XG4gICAqL1xuICAuaGFtYnVyZ2VyLS1hcnJvdy1yLmlzLWFjdGl2ZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAwLjIsIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAwLjIsIDAsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYXJyb3dhbHQpIHtcbiAgLypcbiAgICogQXJyb3cgQWx0XG4gICAqL1xuICAuaGFtYnVyZ2VyLS1hcnJvd2FsdCB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMC4yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMjUsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMC4yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMC4yNSwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgMC4xcyBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93YWx0LXIpIHtcbiAgLypcbiAgICogQXJyb3cgQWx0IFJpZ2h0XG4gICAqL1xuICAuaGFtYnVyZ2VyLS1hcnJvd2FsdC1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjI1LCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAwLjIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAwLjI1LCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgMC4xcyBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93dHVybikge1xuICAvKlxuICAgKiBBcnJvdyBUdXJuXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1hcnJvd3R1cm4uaXMtYWN0aXZlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDhweCwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoOHB4LCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93dHVybi1yKSB7XG4gIC8qXG4gICAqIEFycm93IFR1cm4gUmlnaHRcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93dHVybi1yLmlzLWFjdGl2ZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtOHB4LCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLThweCwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGJvcmluZykge1xuICAvKlxuICAgKiBCb3JpbmdcbiAgICovXG4gIC5oYW1idXJnZXItLWJvcmluZyB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAmLFxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGNvbGxhcHNlKSB7XG4gIC8qXG4gICAqIENvbGxhcHNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjEzcztcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTNzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICogLTE7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgbGluZWFyO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjIycztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIDAuMjJzIGxpbmVhcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyAwLjI1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGNvbGxhcHNlLXIpIHtcbiAgLypcbiAgICogQ29sbGFwc2UgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tY29sbGFwc2UtciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjEzcztcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTNzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICogLTE7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgbGluZWFyO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTEsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgMC4yMnMgbGluZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMTZzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgMC4yNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBlbGFzdGljKSB7XG4gIC8qXG4gICAqIEVsYXN0aWNcbiAgICovXG4gIC5oYW1idXJnZXItLWVsYXN0aWMge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIDI7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI3NXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xMjVzIDAuMjc1cyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMik7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI3NXMgY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICR5LW9mZnNldDogJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQsIDApIHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA3NXM7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0ICogLTIsIDApIHJvdGF0ZSgtMjcwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA3NXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBlbGFzdGljLXIpIHtcbiAgLypcbiAgICogRWxhc3RpYyBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1lbGFzdGljLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIDI7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI3NXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xMjVzIDAuMjc1cyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMik7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI3NXMgY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICR5LW9mZnNldDogJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQsIDApIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCAqIC0yLCAwKSByb3RhdGUoMjcwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA3NXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBlbXBoYXRpYykge1xuICAvKlxuICAgKiBFbXBoYXRpY1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tZW1waGF0aWMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xMjVzIDAuMTc1cyBlYXNlLWluO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSxcbiAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQgMC4xMjVzIDAuMTc1cyBlYXNlLWluO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTI1cyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksXG4gICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICByaWdodCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDIsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjEyNXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTI1cyAwLjE3NXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDIsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuMTI1cyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGVtcGhhdGljLXIpIHtcbiAgLypcbiAgICogRW1waGF0aWMgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tZW1waGF0aWMtciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjEyNXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpLFxuICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgbGVmdCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSxcbiAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0IDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMiwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjEyNXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTI1cyAwLjE3NXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTIsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogcmlnaHQgMC4xMjVzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEyNXMgMC4xNzVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgbWludXMpIHtcbiAgLypcbiAgICogTWludXNcbiAgICovXG4gIC5oYW1idXJnZXItLW1pbnVzIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDhzIDBzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICB0b3AgMC4wOHMgMHMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMHMgbGluZWFyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA4cyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0b3AgMC4wOHMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwcyAwLjA4cyBsaW5lYXI7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc2xpZGVyKSB7XG4gIC8qXG4gICAqIFNsaWRlclxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc2xpZGVyIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAkeS1vZmZzZXQ6ICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0LCAwKSByb3RhdGUoNDVkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoIC8gLTcsICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIC0xLCAwKTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0ICogLTIsIDApIHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc2xpZGVyLXIpIHtcbiAgLypcbiAgICogU2xpZGVyIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLXNsaWRlci1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAkeS1vZmZzZXQ6ICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0LCAwKSByb3RhdGUoLTQ1ZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoIC8gNywgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogLTEsIDApO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQgKiAtMiwgMCkgcm90YXRlKDkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNwaW4pIHtcbiAgLypcbiAgICogU3BpblxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3BpbiB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjIycztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4yNXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIGVhc2UtaW47XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgMC4yNXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMjJzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEycztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIDAuMTJzIGVhc2Utb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjIycyAwLjEycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNwaW4tcikge1xuICAvKlxuICAgKiBTcGluIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLXNwaW4tciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjIycztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4yNXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIGVhc2UtaW47XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgMC4yNXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMjJzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjI1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyAwLjEycyBlYXNlLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjIycyAwLjEycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNwcmluZykge1xuICAvKlxuICAgKiBTcHJpbmdcbiAgICovXG4gIC5oYW1idXJnZXItLXNwcmluZyB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gMjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMHMgMC4xM3MgbGluZWFyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMik7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMTVzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgMC4yMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0LCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNwcmluZy1yKSB7XG4gIC8qXG4gICAqIFNwcmluZyBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zcHJpbmctciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjEzcztcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICogLTE7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDBzIGxpbmVhcjtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjIycztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwcyAwLjIycyBsaW5lYXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHN0YW5kKSB7XG4gIC8qXG4gICAqIFN0YW5kXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zdGFuZCB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjA3NXMgbGluZWFyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMDc1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgMC4wNzVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMTVzIGxpbmVhcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzdGFuZC1yKSB7XG4gIC8qXG4gICAqIFN0YW5kIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLXN0YW5kLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4wNzVzIGxpbmVhcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjA3NXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMDc1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xNXMgbGluZWFyO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNxdWVlemUpIHtcbiAgLypcbiAgICogU3F1ZWV6ZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3F1ZWV6ZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjA3NXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xMnMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjA3NXMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMTJzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMDc1cyAwLjEycyBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgdm9ydGV4KSB7XG4gIC8qXG4gICAqIFZvcnRleFxuICAgKi9cbiAgLmhhbWJ1cmdlci0tdm9ydGV4IHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIG9wYWNpdHk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm90dG9tLCB0cmFuc2Zvcm07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDc2NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCB2b3J0ZXgtcikge1xuICAvKlxuICAgKiBWb3J0ZXggUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tdm9ydGV4LXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHM7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgb3BhY2l0eTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3R0b20sIHRyYW5zZm9ybTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTc2NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBEZW1vIGNvbnRlbnRcbi8vXG4vLyBQbGVhc2Ugbm90ZTogVGhlc2UgYXJlIG1vc3RseSBmb3IgZGVtbyBwdXJwb3Nlc1xuLy8gc28gZmVlbCBmcmVlIHRvIHJlbW92ZSBldmVyeXRoaW5nIGluIHRoaXMgZmlsZVxuLy8gYW5kIHN0YXJ0IG92ZXIuXG5cbi8vIFRoaXMgaXMganVzdCBmb3IgZGVtb2luZyBwdXJwb3NlcyBzbyBsZXQncyBnaXZlIGl0IHNvbWUgc2xhY2tcbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG5cbi8vIERlbW8gdmFyaWFibGVzXG4kY29sb3Itd2lsZC1ibHVlLXlvbmRlcjogIzczN2ZiZjtcblxuOnJvb3Qge1xuICAtLWNvbG9yLWJhYnktYmx1ZTogIzYwZjRlYTtcbiAgLS1jb2xvci1oZWxpb3Ryb3BlOiAjODY2Y2ZmO1xuICAtLWNvbG9yLXdpbGQtYmx1ZS15b25kZXI6ICN7JGNvbG9yLXdpbGQtYmx1ZS15b25kZXJ9O1xuICAtLWNvbG9yLXdpbGQtYmx1ZS15b25kZXItcmdiOiAje2hleHRvcmdiKCRjb2xvci13aWxkLWJsdWUteW9uZGVyKX07XG4gIC0tY29sb3ItYm9yZGVyLWRlbW8taGVhZGVyOiByZ2JhKHZhcigtLWNvbG9yLXdpbGQtYmx1ZS15b25kZXItcmdiKSwgLjUpO1xufVxuXG4vLyBEZW1vIG5hdmlnYXRpb24gYmFja2dyb3VuZCBvbiBzdWIgcGFnZXNcbkBtZWRpYSAobWluLXdpZHRoOiAkd2lkdGgtbWF4LW1vYmlsZSkge1xuICBib2R5IC5uYXYtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluKTtcbiAgfVxufVxuXG4uc2l0ZS1oZWFkZXIge1xuICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDRyZW07XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aC1tYXgtbW9iaWxlKSB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIH1cblxuICAuc2l0ZS10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgc3ZnIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyBlYXNlLWluO1xuXG4gICAgICAvLyBBY2Nlc3NpYmlsaXR5OiBEaXNhYmxlIGFuaW1hdGlvbiBpZiByZWR1Y2UgbW90aW9uIGlzIGVuYWJsZWRcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpLCAodXBkYXRlOiBzbG93KSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNsci1pLXNvbGlkLXBhdGgtMiB7XG4gICAgICBmaWxsOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmFieS1ibHVlKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIGE6aG92ZXIgc3ZnIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNHMgY3ViaWMtYmV6aWVyKC42LCAtLjY4LCAuNzMsIC4wNCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyNjAlLCAtMjIwJSk7XG5cbiAgICAgIC8vIEFjY2Vzc2liaWxpdHk6IERpc2FibGUgYW5pbWF0aW9uIGlmIHJlZHVjZSBtb3Rpb24gaXMgZW5hYmxlZFxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSksICh1cGRhdGU6IHNsb3cpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuXG4gICAgICAuY2xyLWktc29saWQtcGF0aC0yIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgZmlsbDogdmFyKC0tY29sb3ItYmFieS1ibHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubG9nby1uYW1lIHtcbiAgICAgIGNvbnRlbnQ6ICdBaXInO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4xZW07XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtcGFyYWdyYXBocyk7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgbWFyZ2luLWxlZnQ6IC43NXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgIH1cbiAgfVxufVxuXG4vLyBEZW1vIHN0cnVjdHVyZVxuLmJsb2NrLmJsb2NrLWVudHJ5LWhlYWRlci1kZW1vIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdmFsaGFsbGEpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtaGVpZ2h0OiA4MHJlbTtcbiAgaGVpZ2h0OiA2MHZoO1xuICBtYXgtd2lkdGg6ICR3aWR0aC1tYXgtbGF5b3V0O1xuICBtYXJnaW46IDAgYXV0bztcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICBtaW4taGVpZ2h0OiA2MHJlbTtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgIHBhZGRpbmctdG9wOiA2cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA2cmVtO1xuICB9XG5cbiAgLnNoYWRlIHtcbiAgICBvcGFjaXR5OiAuNDtcbiAgfVxuXG4gIC5pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxZnI7XG5cbiAgICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICBtYXgtd2lkdGg6ICRjb250YWluZXItZGVza3RvcDtcbiAgICBtYXJnaW4tdG9wOiAxNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRjb250YWluZXItaXBhZCkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IG5vbmU7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDNmciA1ZnI7XG4gICAgICBtYXgtd2lkdGg6ICR3aWR0aC1tYXgtYXJ0aWNsZTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIHBsYW5lLWNvbnRhaW5lciB7XG4gICAgMCUge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgODAlIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC5sb2dvIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmFieS1ibHVlKTtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRlbW8taGVhZGVyKTtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG9yZGVyOiAyO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGFuaW1hdGlvbjogcGxhbmUtY29udGFpbmVyIDEwcyBsaW5lYXIgMXMgaW5maW5pdGU7XG5cbiAgICAubG9nby1uYW1lIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBwbGFuZSB7XG4gICAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMDAlLCAxNDAlKTtcbiAgICAgIH1cblxuICAgICAgMTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgIDg1JSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICA5NSUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNDAlLCAtMTAwJSk7XG4gICAgICB9XG5cbiAgICAgIDk3JSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgMTAwJSk7XG4gICAgICBhbmltYXRpb246IHBsYW5lIDVzIGN1YmljLWJlemllciguODYsIDAsIC4wNywgMSkgMXMgaW5maW5pdGU7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IC01cztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDY7XG5cbiAgICAgIC8vIEFjY2Vzc2liaWxpdHk6IERpc2FibGUgYW5pbWF0aW9uIGlmIHJlZHVjZSBtb3Rpb24gaXMgZW5hYmxlZFxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSksICh1cGRhdGU6IHNsb3cpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgICAgICBtYXgtd2lkdGg6IDE1cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkY29udGFpbmVyLWlwYWQpIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItZGVtby1oZWFkZXIpO1xuICAgICAgb3JkZXI6IDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgcGFkZGluZzogMnJlbSA0cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oZWFkaW5nLWhlcm8ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjIzO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRjb250YWluZXItaXBhZCkge1xuICAgICAgcGFkZGluZzogMnJlbSA0cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLmFjY2VudCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWgzKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogLjA1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aWxkLWJsdWUteW9uZGVyKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICR3aWR0aC1tYXgtbW9iaWxlKSB7XG4gIC5kcm9wZG93bi10b2dnbGUsXG4gIC5tZW51LWl0ZW0uY3VycmVudC1tZW51LWl0ZW0gPiBhLFxuICAubWVudS1pdGVtLmN1cnJlbnQtbWVudS1wYXJlbnQgPiBhLFxuICAuc2l0ZS1oZWFkZXIgLnNpdGUtYnJhbmRpbmcgLnNpdGUtdGl0bGUgYSxcbiAgLnNpdGUtaGVhZGVyIC5uYXYtcHJpbWFyeSAubWVudS1pdGVtcy5uYXYtbWVudSAubWVudS1pdGVtID4gLmRyb3Bkb3duLXRvZ2dsZSxcbiAgLnNpdGUtaGVhZGVyIC5uYXYtcHJpbWFyeSAubWVudS1pdGVtcyAuY3VycmVudC1tZW51LXBhcmVudCA+IGEsXG4gIC5zaXRlLWhlYWRlciAubmF2LXByaW1hcnkgLm1lbnUtaXRlbXMgLmN1cnJlbnQtbWVudS1pdGVtID4gYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJhYnktYmx1ZSk7XG4gIH1cblxuICAuc2l0ZS1oZWFkZXIgLm5hdi1wcmltYXJ5IC5tZW51LWl0ZW1zIC5zdWItbWVudSAuY3VycmVudC1tZW51LXBhcmVudCA+IGEsXG4gIC5zaXRlLWhlYWRlciAubmF2LXByaW1hcnkgLm1lbnUtaXRlbXMgLnN1Yi1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGEsXG4gIC5zaXRlLWhlYWRlciAubmF2LXByaW1hcnkgLm1lbnUtaXRlbXMgLnN1Yi1tZW51IC5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1jdXJyZW50KTtcbiAgfVxuXG4gIC5zaXRlLWhlYWRlciAubmF2LXByaW1hcnkgLm1lbnUtaXRlbXMubmF2LW1lbnUgLnN1Yi1tZW51IC5tZW51LWl0ZW0gPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdmFsaGFsbGEpO1xuICB9XG59XG5cbi5ibG9jay5ibG9jay1lbnRyeS1oZWFkZXItZGVtbyArIC5ibG9jayAuY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAkd2lkdGgtbWF4LWFydGljbGU7XG5cbiAgJi5ndXRlbmJlcmctY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vIEJ1aWxkIHRoZXNlIHRvIHZpZXdzL19pbmRleC5zY3NzIGZvciBleGFtcGxlXG4uYmxvY2suYmxvY2stYmxvZyBhcnRpY2xlLFxuLmJsb2NrLmJsb2NrLWJsb2cgbmF2IHtcbiAgbWF4LXdpZHRoOiAkd2lkdGgtbWF4LWFydGljbGU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5ibG9jay1ibG9nIGFydGljbGUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1wYWRkaW5nLWJsb2NrKTtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmJsb2NrLWJsb2cgdWwudGFncyB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICR3aWR0aC1tYXgtbW9iaWxlKSB7XG4gIC5ibG9jayB7XG4gICAgbWluLWhlaWdodDogNzhweDtcbiAgfVxufVxuXG4uc2l0ZS1mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci12YWxoYWxsYSk7XG59XG5cbi8vIERlbW8gY29tcG9uZW50c1xuLmNvbXBvbmVudHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDZyZW07XG4gIG1hcmdpbi1ib3R0b206IC00cmVtO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmhlYWRpbmctZGVtbyB7XG4gIG1hcmdpbi10b3A6IDZyZW07XG59XG5cbi5saW5rLWRlbW8ge1xuICBAaW5jbHVkZSBsaW5rKCk7XG59XG5cbi5zaXRlLW1haW4gLmNvbXBvbmVudCB7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1jb2xvci1oZWxpb3Ryb3BlKTtcbiAgcGFkZGluZzogMTlweDtcbiAgbWFyZ2luLXJpZ2h0OiA0cmVtO1xuICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuXG4gIC5jb21wb25lbnQtbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oZWxpb3Ryb3BlKTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi10b3A6IC00MnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vYWlyd3B0aGVtZS5jb20vZGVtby9maWdtYS1jb21wb25lbnQuc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTFweDtcbiAgICAgIGhlaWdodDogMTFweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMCAycmVtO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBHZW5lcmFsXG4vL1xuLy8gVGhpcyBmaWxlIGlzIG1lYW50IGZvciBnZW5lcmFsIHN0eWxlcyBhbmQgY29udGFpbmVyc1xuLy8gdGhhdCBhcHBseSBldmVyeXdoZXJlIHRocm91Z2hvdXQgdGhlIHdlYnNpdGUuIEFkZCBtb3JlXG4vLyBhbHdheXMgcmVwZWF0aW5nIGVsZW1lbnRzIHJpZ2h0IGJlbG93LlxuXG4vLyBEZWZhdWx0IHN0cnVjdHVyYWwgZWxlbWVudFxuLmJsb2NrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6ICR3aWR0aC1tYXgtbGF5b3V0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vIERlZmF1bHQgc2hhZGUgb24gdG9wIG9mIGJsb2Nrc1xuLnNoYWRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1zaGFkZSk7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogLjM1O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDA7XG59XG5cbi8vIEdsb2JhbCBsaW5rIGhlbHBlclxuLy8gVGhpcyBpcyB1c2VmdWwgaW4gc2VydmljZXMgLXR5cGUgb2YgYXJlYXMgd2hlcmUgdGhlIHdob2xlIGJsb2NrIGlzIGEgbGlua1xuLy8gUmVtZW1iZXIgdG8gZGVmaW5lIGFyaWEtbGFiZWwgb3Igc2NyZWVuLXJlYWRlci10ZXh0IGZvciBhY2Nlc3NpYmlsaXR5XG4uZ2xvYmFsLWxpbmsge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMztcbn1cblxuLy8gU2l0ZSB3cmFwcGVyXG4uc2l0ZSB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLyBDb250YWluZXJzXG4uY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogJHdpZHRoLWdyaWQtYmFzZTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXBhZGRpbmctY29udGFpbmVyLXZlcnRpY2FsKTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci12ZXJ0aWNhbCk7XG59XG5cbi8vIENsZWFyIGJsb2NrIGNvbnRhaW5lcnMgYnkgZGVmYXVsdFxuLnNpdGUtbWFpbiAuY29udGFpbmVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIE1ldGEgYWN0aW9uc1xuLmVudHJ5LWZvb3RlciB7XG4gIGNsZWFyOiBib3RoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi10b3A6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLXZlcnRpY2FsKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gQmV0dGVyIGVkaXQgbGlua1xuLmVkaXQtbGluayB7XG4gIGNsZWFyOiBib3RoO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1saW5rLWVkaXQtYm9yZGVyKTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1lZGl0LXRleHQpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGluay1lZGl0LWJhY2tncm91bmQtaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWVkaXQtdGV4dC1ob3Zlcik7XG4gIH1cbn1cblxuLy8gSGlkZS9zaG93IGhlbHBlcnNcbi5oaWRlLW9uLWRlc2t0b3Age1xuICBAbWVkaWEgKG1pbi13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICAvLyBGb3JjZWQgdG8gdXNlIGltcG9ydGFudCBoZXJlLCBiZWNhdXNlIG1ha2VzIG5vIHNlbnNlIHRvIHdyaXRlIHRvbyBzcGVjaWZpYyBzZWxlY3RvcnMgaGVyZVxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIH1cbn1cblxuLy8gRm9yY2VkIHRvIHVzZSBpbXBvcnRhbnQgaGVyZSwgYmVjYXVzZSBtYWtlcyBubyBzZW5zZSB0byB3cml0ZSB0b28gc3BlY2lmaWMgc2VsZWN0b3JzIGhlcmVcbi8qIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbi5oaWRlLW9uLW1vYmlsZSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG4vLyBPbmx5IGZ1bmN0aW9uIG9mIHRoZXNlIGlzIHRvIGZvcmNlIGhpZGUgY29udGVudCBiYXNlZCBvbiB0aGUgdmlld1xuLy8gRm9yY2VkIHRvIHVzZSBpbXBvcnRhbnQgaGVyZSwgYmVjYXVzZSBtYWtlcyBubyBzZW5zZSB0byB3cml0ZSB0b28gc3BlY2lmaWMgc2VsZWN0b3JzIGhlcmVcbi8qIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbi5oaWRlLW9uLW1vYmlsZS1uYXYtdmlldyB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtbWF4LW1vYmlsZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLy8gRm9yY2VkIHRvIHVzZSBpbXBvcnRhbnQgaGVyZSwgYmVjYXVzZSBtYWtlcyBubyBzZW5zZSB0byB3cml0ZSB0b28gc3BlY2lmaWMgc2VsZWN0b3JzIGhlcmVcbi8qIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbi5oaWRlLW9uLWRlc2t0b3AtbmF2LXZpZXcge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHdpZHRoLW1heC1tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuLy8gRm9yY2VkIHRvIHVzZSBpbXBvcnRhbnQgaGVyZSwgYmVjYXVzZSBtYWtlcyBubyBzZW5zZSB0byB3cml0ZSB0b28gc3BlY2lmaWMgc2VsZWN0b3JzIGhlcmVcbi8qIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbi5oaWRlLWNvbXBsZXRlbHkge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvLyBJdCBpcyBhY2NlcHRhYmxlIHRvIGhpZGUgdGhpbmdzIGZvciBwcmludFxuLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbkBtZWRpYSBwcmludCB7XG4gIC5uYXYtY29udGFpbmVyLFxuICAuc2l0ZS1mb290ZXIsXG4gIC5zaWRlLW5hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCBjb2xvcnMsIGRpc2FibGUgc3BhY2luZ3Mgb3IgaW1hZ2VzLFxuICAvLyBldGMuIGRlZmluZSBoZXJlXG4gIC8vICoge1xuICAvLyAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaykgIWltcG9ydGFudDtcbiAgLy8gfVxufVxuIiwiLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEV2ZXJ5dGhpbmcgYXJvdW5kIGZvbnRzLCBmb250IHNpemUgZGVmaW5pdGlvbnMgYW5kIHR5cGVzZXRcbi8vIHByZXNldHMuIE5vIG1vZHVsYXIgc2NhbGUsIGJ1dCBhIHNvcGhpc3RpY2F0ZWQgdmlld3BvcnRcbi8vIGJhc2VkIHJlc3BvbnNpdmUgbWl4aW4gY2FuIGJlIGZvdW5kIGluIF9oZWxwZXJzLnNjc3NcblxuLy8gU2V0IHJvb3Qgc2l6ZSBmb3IgcmVtc1xuLyogc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tcHJvcGVydHktdW5pdC1hbGxvd2VkLWxpc3QgKi9cbjpyb290IHtcbiAgZm9udC1zaXplOiA2Mi41JTtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgZGVjbGFyYXRpb24tcHJvcGVydHktdW5pdC1hbGxvd2VkLWxpc3QgKi9cblxuLy8gU3RhcnQgdHlwb2dyYXBoeSBzZXR0aW5nc1xuYm9keSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wYXJhZ3JhcGgpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1wYXJhZ3JhcGgpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1kZWZhdWx0KTtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1wYXJhZ3JhcGhzKTtcbiAgdGV4dC1yZW5kZXJpbmc6IGdlb21ldHJpY1ByZWNpc2lvbjtcbn1cblxuLy8gRGVmYXVsdHNcbnAsXG5kZCxcbmR0LFxuZmlnY2FwdGlvbixcbmhyLFxuc21hbGwsXG5vbCxcbnVsLFxubGksXG5ibG9ja3F1b3RlLFxua2JkLFxucHJlLFxuc2FtcCxcbmNvZGUsXG50aCxcbnRkLFxudGFibGUsXG50cixcbiVkZWZhdWx0IHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcGFyYWdyYXBocyk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1wYXJhZ3JhcGhzKTtcbn1cblxuLy8gSGVhZGluZyBkZWZhdWx0c1xuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWhlYWRpbmcpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWhlYWRpbmdzKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbWFyZ2luLWJldHdlZW4tcGFyYWdyYXBocyk7XG4gIG1hcmdpbi10b3A6IHZhcigtLW1hcmdpbi1iZXR3ZWVuLXBhcmFncmFwaHMpO1xufVxuXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWhlYWRpbmdzKTtcbn1cblxuLy8gRGVmaW5lIGhlYWRpbmcgc2NhbGVzXG4vLyBDdXJyZW50OiBQZXJmZWN0IGZvdXJ0aDogaHR0cHM6Ly90eXBlLXNjYWxlLmNvbS9cbmgxIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDEpO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWgyKTtcbn1cblxuaDMge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMyk7XG59XG5cbmg0IHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDQpO1xufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWg1KTtcbn1cblxuaDYge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oNik7XG59XG5cbmgxOmZpcnN0LWNoaWxkLFxuaDI6Zmlyc3QtY2hpbGQsXG5oMzpmaXJzdC1jaGlsZCxcbmg0OmZpcnN0LWNoaWxkLFxuaDU6Zmlyc3QtY2hpbGQsXG5oNjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi8vIExpc3RzXG51bCB7XG4gIGxpc3Qtc3R5bGU6IGRpc2Mgb3V0c2lkZTtcbiAgcGFkZGluZy1sZWZ0OiAxLjlyZW07XG5cbiAgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5vbCB7XG4gIHBhZGRpbmctbGVmdDogMS45cmVtO1xufVxuXG4vLyBCb2xkLlxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLy8gSXRhbGljLlxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vLyBJbmxpbmUgc21hbGwgdGV4dC5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiAuODdlbTtcbn1cblxuLy8gRGVmYXVsdCBwYXJhZ3JhcGhzXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMi45cmVtO1xuICBtYXJnaW4tdG9wOiAyLjlyZW07XG59XG5cbi8vIFF1b3Rlcy5cbmJsb2NrcXVvdGUge1xuICBib3JkZXI6IDAgbm9uZTtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxvY2txdW90ZSk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRjb250YWluZXItaXBhZCkge1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDRyZW07XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxNDdweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRjb250YWluZXItbW9iaWxlKSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgIH1cbiAgfVxufVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLy8gTm8gbWFyZ2luIHRvcCBvbiBmaXJzdCBwYXJhZ3JhcGhcbnA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vLyBObyBtYXJnaW4gYm90dG9tIG9uIGxhc3QgcGFyYWdyYXBoXG5wOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLyBpbWFnZXNcbmltZyB7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vLyBGaWd1cmVzIGFuZCBjYXB0aW9uc1xuZmlndXJlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLyBGaWdjYXB0aW9uLlxuZmlnY2FwdGlvbiB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXBhcmFncmFwaHMpO1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcbn1cblxuLy8gQ29kZSBibG9jay5cbmNvZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWNvZGUtaW5saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogLjNyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1jb2RlLWJsb2NrKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcbiAgZm9udC1zaXplOiBpbmhlcml0OyAvLyBub3JtYWxpemUuY3NzIHNldHMgdGhpcyBhcyAxZW0gYnkgZGVmYXVsdFxuICBwYWRkaW5nOiAuMzdyZW0gLjVyZW07XG5cbiAgcHJlICYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAxLjE1cmVtIDFyZW0gLjg1cmVtO1xuICB9XG59XG5cbi8vIFByZWZvcm1hdHRlZCB0ZXh0LlxucHJlIHtcbiAgYm9yZGVyLXJhZGl1czogLjNyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuIiwiLy8gU2l0ZSBoZWFkZXJcbi8vXG4vLyBUaGUgdmVyeSB0b3Agb2YgdGhlIHNpdGUsIGVsZW1lbnQgdGhhdCB1c3VhbGx5IGluY2x1ZGVzXG4vLyB0aGUgc2l0ZSBuYXZpZ2F0aW9uIGFuZCBzZWFyY2ggZm9yIGV4YW1wbGUuXG5cbi5zaXRlLWhlYWRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcGFkZGluZy1zaXRlLWhlYWRlci12ZXJ0aWNhbCk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkZGluZy1zaXRlLWhlYWRlci12ZXJ0aWNhbCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTU7XG59XG5cbi5zaXRlLXRpdGxlIHtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcblxuICBhIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLy8gTmF2IGNvbnRhaW5lciB2aXNpYmlsaXR5IGZpeFxuLm5hdi1jb250YWluZXIge1xuICB6LWluZGV4OiAxMDtcbn1cbiIsIi8vIFNpdGUgZm9vdGVyXG4vL1xuLy8gVGhlIHZlcnkgYm90dG9tIG9mIHRoZSBzaXRlLiBVc3VhbGx5IGNvbnRhaW5zIHN1cHBvcnRpbmdcbi8vIG9yIHNlY29uZGFyeSBuYXZpZ2F0aW9uLCBzb2NpYWwgbWVkaWEgaWNvbnMsIGNvbnRhY3QgZGV0YWlsc1xuLy8gYW5kIHN1Y2guXG4vL1xuLy8gUGxlYXNlIG5vdGU6IFRoZXNlIGFyZSBtb3N0bHkgZm9yIGRlbW8gcHVycG9zZXNcbi8vIHNvIGZlZWwgZnJlZSB0byByZW1vdmUgZXZlcnl0aGluZyBpbiB0aGlzIGZpbGVcbi8vIGFuZCBzdGFydCBvdmVyLlxuXG4uc2l0ZS1mb290ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogNnJlbSAycmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgcCxcbiAgc3BhbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgfVxuXG4gIC53b3JkcHJlc3MtbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC8vIEhpZGluZyBmb3IgYWVzdGhldGljIHJlYXNvbnNcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbiAgLmlzLWV4dGVybmFsLWxpbms6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuICAucG93ZXJlZC1ieS13b3JkcHJlc3Mge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmdpdGh1Yi1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJi5pcy1leHRlcm5hbC1saW5rOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBvcGFjaXR5OiAuNDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24tZHVyYXRpb247XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgIG9wYWNpdHk6IC41O1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IC4yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50aGVtZS1pbmZvIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaSB7XG4gICAgICBtYXJnaW46IDAgNXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm9ybXMgYW5kIGlucHV0IGZpZWxkc1xuLy9cbi8vIEFsbCB0aGUgZm9ybXMgb24gdGhlIHNpdGUuIEdlbmVyYWwgc3R5bGVzLiBTdXBwb3J0cyBtb3N0IG9mXG4vLyB0aGUgR3Jhdml0eSBGb3JtcyBzdHlsZXMgb3V0IG9mIHRoZSBib3guXG5cbi8vIENTUyBWYXJpYWJsZXMgZm9yIHJhZGlvcyBhbmQgY2hlY2tib3hlc1xuOnJvb3Qge1xuICAvLyBGb3JtIGVsZW1lbnQgY29sb3JzXG4gIC0tY29sb3ItYmFja2dyb3VuZC1pbnB1dC1maWVsZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLWJvcmRlci1mb3JtczogI2Q5ZDlkOTtcbiAgLS1jb2xvci1ib3JkZXItZm9ybXMtZm9jdXM6IHJnYmEoNDIsIDQ1LCA2MiwgLjMpO1xuICAtLWNvbG9yLWJ1dHRvbjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLWJ1dHRvbi1ob3ZlcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1lYXN0LWJheSk7XG4gIC0tY29sb3ItYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHZhcigtLWNvbG9yLXZhbGhhbGxhKTtcbiAgLS1jb2xvci1jaGVja2JveDogdmFyKC0tY29sb3ItZWFzdC1iYXkpO1xuICAtLWNvbG9yLWNoZWNrYm94LW91dGxpbmU6IDAgMCAwIDNweCByZ2JhKDg0LCA4NywgMTE1LCAuMik7XG4gIC0tY29sb3ItY2hlY2tib3gtYm9yZGVyLWhvdmVyOiBsaWdodGVuKCM1NDU3NzMsIDE1JSk7XG4gIC0tY29sb3ItcGxhY2Vob2xkZXI6IHZhcigtLWNvbG9yLXBhcmFncmFwaCk7XG4gIC0tY29sb3ItcGxhY2Vob2xkZXItZm9jdXM6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgLS1vcGFjaXR5LXBsYWNlaG9sZGVyOiAuNDtcbiAgLS1vcGFjaXR5LXBsYWNlaG9sZGVyLWZvY3VzOiAuODtcblxuICAvLyBGb3JtIGVsZW1lbnQgc2V0dGluZ3NcbiAgLS1ib3JkZXItcmFkaXVzLWNoZWNrYm94OiA0cHg7XG4gIC0tYm9yZGVyLXJhZGl1cy1pbnB1dC1maWVsZDogNHB4O1xuICAtLWJvcmRlci1yYWRpdXMtc2VsZWN0OiAwO1xuICAtLWJvcmRlci13aWR0aC1jaGVja2JveDogMnB4O1xuICAtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZDogMnB4O1xuICAtLWdhcC1jaGVja2JveDogMTBweDtcbiAgLS1saW5lLWhlaWdodC1jaGVja2JveDogdmFyKC0tbGluZS1oZWlnaHQtcGFyYWdyYXBocyk7XG4gIC0tc2l6ZS1jaGVja2JveC1tYXJrZXI6IDEycHg7XG4gIC0tc2l6ZS1yYWRpby1idXR0b246IDE2cHg7XG4gIC0tc2l6ZS1yYWRpby1idXR0b24tbWFya2VyOiA4cHg7XG59XG5cbi8vIEJ1dHRvbnNcbi5idXR0b24td3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8vIEJ1dHRvbnNcbi5zaXRlLW1haW4sXG4uc2l0ZS1mb290ZXIge1xuICBidXR0b24sXG4gIC5idXR0b24sXG4gIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKCk7XG5cbiAgICAvLyBCdXR0b24gc2l6ZXNcbiAgICAmLmJ1dHRvbi1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tc2l6ZS1zbWFsbCgpO1xuICAgIH1cblxuICAgICYuYnV0dG9uLWxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zaXplLWxhcmdlKCk7XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHN0eWxlc1xuICAgICYuYnV0dG9uLWdob3N0IHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS1naG9zdCgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTZWxlY3QgZHJvcCBkb3duc1xuc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9zdmcvc2VsZWN0LnN2ZycpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA0MHB4IGF1dG87XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWZvcm1zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zZWxlY3QpO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wYXJhZ3JhcGgpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNyk7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMDtcbiAgcGFkZGluZzogMTVweDtcbiAgdGV4dC1pbmRlbnQ6IDFweDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIEZvcm0gaW5wdXQgZWxlbWVudHMgYW5kIHRleHRhcmVhc1xudGV4dGFyZWEsXG5zZWxlY3QsXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwidXJsXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSxcbmlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIEBleHRlbmQgJWRlZmF1bHQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtaW5wdXQtZmllbGQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1mb3Jtcyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtaW5wdXQtZmllbGQpO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXBhcmFncmFwaCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE3KTtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC41NXM7XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wbGFjZWhvbGRlcik7XG4gICAgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS1wbGFjZWhvbGRlcik7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWlucHV0LWZpZWxkKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1mb3Jtcy1mb2N1cyk7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItcGxhY2Vob2xkZXItZm9jdXMpO1xuICAgICAgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS1wbGFjZWhvbGRlci1mb2N1cyk7XG4gICAgfVxuICB9XG59XG5cbi8vIFJhZGlvIGJ1dHRvbnMgYW5kIGNoZWNrYm94ZXNcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGhlaWdodDogdmFyKC0tc2l6ZS1yYWRpby1idXR0b24pO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi10b3A6IGNhbGMoKDFlbSAqIHZhcigtLWxpbmUtaGVpZ2h0LWNoZWNrYm94KSAtIHZhcigtLXNpemUtcmFkaW8tYnV0dG9uKSkgLyAyKTtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC8vIEhpZGUgbmF0aXZlIGJ1dHRvbnNcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogdmFyKC0tc2l6ZS1yYWRpby1idXR0b24pO1xufVxuXG4vLyBMYWJlbHMgZm9yIHJhZGlvIGJ1dHRvbnMgYW5kIGNoZWNrYm94ZXNcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWNoZWNrYm94KTtcbn1cblxuLy8gQ3VzdG9tIGJ1dHRvbnMgLSBiYXNpYyBzdHlsZVxuaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6OmJlZm9yZSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOjpiZWZvcmUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWNoZWNrYm94KTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtY2hlY2tib3gpO1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBoZWlnaHQ6IHZhcigtLXNpemUtcmFkaW8tYnV0dG9uKTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1nYXAtY2hlY2tib3gpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogY2FsYyh2YXIoLS1ib3JkZXItd2lkdGgtY2hlY2tib3gpIC8gMik7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMsIGJvcmRlciAuMnM7XG4gIHdpZHRoOiB2YXIoLS1zaXplLXJhZGlvLWJ1dHRvbik7XG59XG5cbi8vIFJhZGlvIG9ubHkgc3R5bGVcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi8vIENoZWNrYm94IG9ubHkgc3R5bGVcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNoZWNrYm94KTtcbn1cblxuLy8gUmFkaW8gYnV0dG9uIGFuZCBjaGVja2JveCBjaGVja2VkIHN0YXRlc1xuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItY2hlY2tib3gpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWNoZWNrYm94KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycztcbn1cblxuLy8gUmFkaW8gYnV0dG9uIGFuZCBjaGVja2JveCBhY3RpdmUgc3RhdGVzXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06YWN0aXZlICsgbGFiZWw6OmJlZm9yZSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTphY3RpdmUgKyBsYWJlbDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSguOCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnM7XG59XG5cbi8vIFJhZGlvIGJ1dHRvbiBpY29uXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCAlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDZyBjbGFzcz0nbmMtaWNvbi13cmFwcGVyJyBmaWxsPSclMjNmZmZmZmYnJTNFJTNDY2lyY2xlIGN4PSc4JyBjeT0nOCcgcj0nOCcgZmlsbD0nJTIzZmZmZmZmJyUzRSUzQy9jaXJjbGUlM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tc2l6ZS1yYWRpby1idXR0b24tbWFya2VyKTtcbn1cblxuLy8gQ2hlY2tib3ggYnV0dG9uIGljb25cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwgJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PScwIDAgMTIgMTInJTNFJTNDcG9seWxpbmUgcG9pbnRzPScxIDYuNSA0IDkuNSAxMSAyLjUnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzRkZGRkZGJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS1zaXplLWNoZWNrYm94LW1hcmtlcik7XG59XG5cbi8vIFJhZGlvIGJ1dHRvbiBhbmQgY2hlY2tib3ggZm9jdXMgc3RhdGVzXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMgKyBsYWJlbDo6YmVmb3JlLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzICsgbGFiZWw6OmJlZm9yZSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkOmFjdGl2ZSArIGxhYmVsOjpiZWZvcmUsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZDphY3RpdmUgKyBsYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1jaGVja2JveCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWNvbG9yLWNoZWNrYm94LW91dGxpbmUpO1xufVxuXG4vLyBSYWRpbyBidXR0b24gYW5kIGNoZWNrYm94IGNoZWNrZWQgKyBhY3RpdmUgc3RhdGVzXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZDphY3RpdmUgKyBsYWJlbDo6YmVmb3JlLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6YWN0aXZlICsgbGFiZWw6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLy8gUmFkaW8gYnV0dG9uIGFuZCBjaGVja2JveCBob3ZlcnNcbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC1wc2V1ZG8tY2xhc3MgKi9cbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpOm5vdCg6Zm9jdXMpICsgbGFiZWw6aG92ZXI6OmJlZm9yZSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpOm5vdCg6Zm9jdXMpICsgbGFiZWw6aG92ZXI6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItY2hlY2tib3gtYm9yZGVyLWhvdmVyKTtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItbWF4LXBzZXVkby1jbGFzcyAqL1xuIiwiLy8gR2VuZXJhbCBibG9nIGluZGV4IGFuZCBzaW5nbGUgc3R5bGVzXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG4vLyBDYXRlZ29yeSBsaXN0aW5nIHN0eWxlc1xuLmNhdCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tdG9wOiA0cmVtO1xuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItY2F0ZWdvcnktYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMnB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWNhdGVnb3J5LXRleHQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNik7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xuICAgIHBhZGRpbmc6IC4yZW0gLjZlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tZHVyYXRpb247XG4gIH1cblxuICBhOmhvdmVyLFxuICBhOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXRhZy1ib3JkZXItaG92ZXIpO1xuICB9XG59XG5cbi8vIEJsb2cgcG9zdCB0YWcgc3R5bGVzXG4udGFncyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLW1hcmdpbi1iZXR3ZWVuLXRleHQtZWxlbWVudHMpO1xuICBtYXJnaW4tdG9wOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItdGFnLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDJweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10YWctdGV4dCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE0KTtcbiAgICBtYXJnaW4tcmlnaHQ6IC40ZW07XG4gICAgcGFkZGluZzogLjJlbSAuNmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgfVxuXG4gIGE6aG92ZXIsXG4gIGE6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItdGFnLWJvcmRlci1ob3Zlcik7XG4gIH1cbn1cblxuLy8gTmV4dC9QcmV2aW91cyBzaW5nbGUgcG9zdCBuYXZpZ2F0aW9uXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtbGlua3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbiIsIi8vIFRoZXNlIHN0eWxlcyBhcmUgcmVxdWlyZWQgYnkgV29yZFByZXNzLm9yZyBUaGVtZSBDaGVja1xuLy8gUkVRVUlSRUQ6IC5zdGlja3kgY3NzIGNsYXNzIGlzIG5lZWRlZCBpbiB5b3VyIHRoZW1lIGNzcy5cbi8vIFJFUVVJUkVEOiAuYnlwb3N0YXV0aG9yIGNzcyBjbGFzcyBpcyBuZWVkZWQgaW4geW91ciB0aGVtZSBjc3MuXG46cm9vdCB7XG4gIC0tY29sb3ItYm9yZGVyLXN0aWNreTogI2Q3ZTRmMjtcbiAgLS1jb2xvci1ieXBvc3RhdXRob3I6IHJnYmEoNDIsIDQ1LCA2MiwgLjUpO1xufVxuXG4uc3RpY2t5IHtcbiAgYm9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1zdGlja3kpO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBwYWRkaW5nOiAycmVtO1xufVxuXG4uY29tbWVudC1saXN0IGxpLmJ5cG9zdGF1dGhvcixcbi5ieXBvc3RhdXRob3Ige1xuICBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYnlwb3N0YXV0aG9yKTtcbiAgcGFkZGluZzogMnJlbTtcbn1cblxuLy8gV29yZFByZXNzIGNhcHRpb25zXG4vLyBSRVFVSVJFRDogLndwLWNhcHRpb24gY3NzIGNsYXNzIGlzIG5lZWRlZCBpbiB5b3VyIHRoZW1lIGNzcy5cbi8vIFJFUVVJUkVEOiAud3AtY2FwdGlvbi10ZXh0IGNzcyBjbGFzcyBpcyBuZWVkZWQgaW4geW91ciB0aGVtZSBjc3MuXG4ud3AtY2FwdGlvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcblxuICBpbWdbY2xhc3MqPVwid3AtaW1hZ2UtXCJdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIC53cC1jYXB0aW9uLXRleHQge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG4iLCIvLyBCYWNrIHRvIHRvcCBsaW5rXG4vL1xuLy8gVGhlIG9uZSBhbmQgb25seSBhbmNob3IgbGluayB0aGF0IGJyaW5ncyB1c2VyIGJhY2sgdG8gdG9wXG4vLyB3aGVuIGhpdHRpbmcgdGhlIHJvY2sgYm90dG9tLlxuXG4uc2l0ZS1mb290ZXIgLnRvcCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIC8vIE1ha2VzIGl0IDUweDUwXG4gIHBhZGRpbmc6IDE2cHg7XG5cbiAgc3ZnIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmlsbDogdmFyKC0tY29sb3ItdG9wLWFycm93LWRhcmspO1xuICAgIGhlaWdodDogMThweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgb3BhY2l0eTogLjg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuICAgIHdpZHRoOiAxOHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRjb250YWluZXItbW9iaWxlKSB7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLS41cmVtKTtcbiAgICB9XG4gIH1cbn1cblxuLnNpdGUtZm9vdGVyIC5iYWNrLXRvLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMXJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLWR1cmF0aW9uIDBzLCB2aXNpYmlsaXR5IDBzICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICB6LWluZGV4OiA5OTk5O1xuXG4gIC8vIEFjY2Vzc2liaWxpdHk6IENoYW5nZSBjb2xvciBiYXNlZCBvbiBiYWNrZ3JvdW5kIGNvbG9yIHRoZSBlbGVtZW50IGlzIG9uXG4gICYuaGFzLWxpZ2h0LWJnIHN2ZyB7XG4gICAgZmlsbDogdmFyKC0tY29sb3ItdG9wLWFycm93LWRhcmspO1xuICB9XG5cbiAgJi5oYXMtZGFyay1iZyBzdmcge1xuICAgIGZpbGw6IHZhcigtLWNvbG9yLXRvcC1hcnJvdy1saWdodCk7XG4gIH1cblxuICAmLmlzLXZpc2libGUsXG4gICYuZmFkZS1vdXQge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24tZHVyYXRpb24gMHMsIHZpc2liaWxpdHkgMHMgMHM7XG4gIH1cblxuICAmLmlzLXZpc2libGUgeyAvLyBUaGUgYnV0dG9uIGJlY29tZXMgdmlzaWJsZVxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLmZhZGUtb3V0IHsgLy8gSWYgdGhlIHVzZXIga2VlcHMgc2Nyb2xsaW5nIGRvd24sIHRoZSBidXR0b24gaXMgb3V0IG9mIGZvY3VzIGFuZCBiZWNvbWVzIGxlc3MgdmlzaWJsZVxuICAgIG9wYWNpdHk6IDE7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENsYXNzaWMgV29yZFByZXNzIGdhbGxlcmllc1xuLy8gQHNvdXJjZSBodHRwczovL2dpdGh1Yi5jb20vQXV0b21hdHRpYy9fcy9ibG9iLzUwY2U5M2M3Y2Q0Nzg4NzFjOWFlNzUwNGYwZWY0NzQ4ZjVkZTQ0OWYvc2Fzcy9tZWRpYS9fZ2FsbGVyaWVzLnNjc3Ncbi5nYWxsZXJ5IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IDEuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbn1cblxuLmdhbGxlcnktaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuQGZvciAkaSBmcm9tIDIgdGhyb3VnaCA5IHtcbiAgLmdhbGxlcnktY29sdW1ucy0jeyRpfSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJGksIDFmcik7XG4gIH1cbn1cblxuLmdhbGxlcnktY2FwdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLy8gU3R5bGluZyBsYXp5IGxvYWRpbmcgZGl2XG4vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vdmVybG9rL3ZhbmlsbGEtbGF6eWxvYWQjbGF6eS1iYWNrZ3JvdW5kLWltYWdlXG5kaXYubGF6eSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDA7XG59XG5cbi8vIEdlbmVyYWwgY2xhc3MgZm9yIGFueSBsYXp5IGxvYWQgY29udGFpbmVyXG4uaGFzLWxhenlsb2FkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuIiwiLy8gQWx0ZXJuYXRpdmUgc3R5bGU6IGh0dHBzOi8vaS5pbWd1ci5jb20vQThnVXl1Mi5wbmdcbi8qIHN0eWxlbGludC1kaXNhYmxlIGExMXkvZm9udC1zaXplLWlzLXJlYWRhYmxlICovXG4ubmF2aWdhdGlvbjpub3QoLnBvc3QtbmF2aWdhdGlvbikgLm5hdi1saW5rcyB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi10b3A6IDRyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG4ucGFnZS1udW1iZXJzIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tY29sb3ItYmx1ZS1jaGFsayk7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYmx1ZS1jaGFsayk7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJsdWUtY2hhbGspO1xuICBib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tY29sb3ItYmx1ZS1jaGFsayk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wYWdpbmF0aW9uLXRleHQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgaGVpZ2h0OiAzNXB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICB3aWR0aDogMzVweDtcblxuICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgd2lkdGg6IDI2cHg7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG59XG5cbmEucGFnZS1udW1iZXJzOmhvdmVyLFxuYS5wYWdlLW51bWJlcnM6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wYWdpbmF0aW9uLWJhY2tncm91bmQtaG92ZXIpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXBhZ2luYXRpb24tYm9yZGVyLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXBhZ2luYXRpb24tdGV4dC1ob3Zlcik7XG59XG5cbi5wYWdlLW51bWJlcnMuY3VycmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXBhZ2luYXRpb24tYmFja2dyb3VuZC1jdXJyZW50KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wYWdpbmF0aW9uLWJvcmRlci1jdXJyZW50KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXBhZ2luYXRpb24tdGV4dC1jdXJyZW50KTtcbn1cblxuLy8gUmVtb3ZlIHRoaXMgaWYgeW91IGFyZSB1c2luZyB2ZXJzaW9uIHdpdGggbmV4dC9wcmV2XG4ucGFnZS1udW1iZXJzLm5leHQsXG4ucGFnZS1udW1iZXJzLnByZXYge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHdpZHRoOiBhdXRvO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB9XG59XG4iLCIvLyBHcmF2aXR5IGZvcm1zXG4vLyBQbGVhc2UgZGlzYWJsZSBDU1MgaW4gL2FkbWluLnBocD9wYWdlPWdmX3NldHRpbmdzXG5cbi8vIFdDQUcgMi4wIGVycm9yc1xuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiAqL1xuZGl2LnZhbGlkYXRpb25fZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE3KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBwYWRkaW5nOiAycmVtO1xuXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIH1cbn1cblxuYm9keSAqW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE2KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpO1xufVxuXG4udmFsaWRhdGlvbl9saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICBsaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIH1cbn1cblxuLy8gR3Jhdml0eSBmb3JtcyBtaW5pbWFsIGRlZmF1bHQgc3R5bGVzXG4uZ2Zvcm1fYm9keSB7XG4gIC8vIFJlcXVpcmVkIHN0YXIgY29sb3JcbiAgLmdmaWVsZF9yZXF1aXJlZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTIyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAzcHg7XG4gIH1cblxuICAvLyBIaWRlIGhvbmV5cG90IGZpZWxkXG4gIC5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lciB7XG4gICAgQGV4dGVuZCAuc2NyZWVuLXJlYWRlci10ZXh0O1xuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZ2Zvcm1fZmllbGRzIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cblxuICAuZ2ZpZWxkX3JhZGlvIGxpLFxuICAuZ2ZpZWxkX2NoZWNrYm94IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAuZ2ZpZWxkc2V0IGxpIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmdmb3JtX2ZpZWxkcyBsaTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdmaWVsZF9sYWJlbCxcbiAgLmdpbnB1dF9jb250YWluZXIgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgfVxuXG4gIC5nZmllbGRfcmFkaW8gbGkgbGFiZWwsXG4gIC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJjaGVja2JveFwiXSksXG4gIHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgIC8vIENvbXBsZXggZmllbGRzXG4gICAgLmdpbnB1dF9mdWxsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmdpbnB1dF9jb21wbGV4IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW4tbGVmdDogLS41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtLjVyZW07XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogLjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdpbnB1dF9sZWZ0LFxuICAgIC5naW5wdXRfcmlnaHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTtcblxuICAgICAgPiBsYWJlbCxcbiAgICAgIGlucHV0IHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTYpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiAqL1xuIiwiLy8gRnJvbnQgcGFnZVxuLy9cbi8vIFRoZSBtb3N0IGltcG9ydGFudCBwYWdlIG9uIHRoZSB3ZWJzaXRlIGdvZXMgaGVyZS5cbi8vIFlvdSBjYW4gZm9yY2UgdGhlIHN0eWxlcyBieSBkZWZpbmluZyB0aGVtIGluc2lkZVxuLy8gdGhlIGJvZHkuXG4iLCIvLyBTZWFyY2hcblxuLmJsb2NrLXNlYXJjaCxcbi5ibG9jay1zZWFyY2gtcmVzdWx0cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLmJsb2NrLXNlYXJjaCBmb3JtIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgZ3JpZC1nYXA6IDFyZW07XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogOWZyIDFmcjtcblxuICBpbnB1dCxcbiAgbGFiZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5ibG9jay1zZWFyY2gtcmVzdWx0cyB7XG4gID4gLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGNvbnRhaW5lci1pcGFkLWxhbmRzY2FwZSkge1xuICAgICAgLy8gQ2hhbmdlIHRoaXMgdG8gMiBpZiB5b3UgdXNlIG90aGVyIHBvc3QgdHlwZSByZXN1bHRzXG4gICAgICBAaW5jbHVkZSBncmlkKDEpO1xuICAgIH1cbiAgfVxuXG4gIC5yb3ctcmVzdWx0IHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWZvcm1zKTtcbiAgICBwYWRkaW5nOiAycmVtIDA7XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWZvcm1zKTtcbiAgICB9XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDQpO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICB9XG5cbiAgLnRhZ3MgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC10YWcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXRhZyk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBFcnJvciA0MDQgdGl0bGVcbi5ibG9jay1lcnJvci00MDQge1xuICAuY29udGFpbmVyIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMCU7XG4gICAgICBwYWRkaW5nLXRvcDogMTAlO1xuICAgIH1cbiAgfVxuXG4gIGgxIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQoNDJweCwgMjAwcHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cbn1cbiIsIi8vIENvbW1lbnRzXG4vL1xuLy8gV29yZFByZXNzIGJ1aWx0LWluIGNvbW1lbnRzIHdpdGggY29tbWVudF9mb3JtKCkuXG4vLyBDdXN0b20gY29tbWVudCB0ZW1wbGF0ZSBjYW4gYmUgZm91bmQgaW4gaW5jL2NvbW1lbnRzLnBocFxuLyogc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuLmNvbW1lbnRzLWFyZWEge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLmNvbW1lbnQtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICBsaSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTQpO1xuICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgcCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWNvbW1lbnQtdGV4dCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTQpO1xuICB9XG5cbiAgLmF2YXRhciB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuXG4gIC5jb21tZW50LWF1dGhvciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWNvbW1lbnQtYXV0aG9yLXRleHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWg0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIGEsXG4gIC5jb21tZW50cy1saW5rIGEge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstY29tbWVudCk7XG4gIH1cblxuICAuY29tbWVudC1hdXRob3IgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBhcmFncmFwaCk7XG4gIH1cblxuICAuY29tbWVudC10aW1lIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNCk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWNvbW1lbnQtdGltZS1hbmNob3IpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIC5jb21tZW50LXRpbWUgc3ZnIHtcbiAgICBmaWxsOiB2YXIoLS1jb2xvci1saW5rLWNvbW1lbnQtdGltZS1hbmNob3IpO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDJweDtcbiAgfVxufVxuXG4uY29tbWVudHMtbGluayB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNCk7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWNvbW1lbnQpO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgYTpob3ZlcixcbiAgYTpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgfVxufVxuXG4vLyBDb21tZW50IGZvcm0gZ3JpZFxuLmNvbW1lbnQtZm9ybSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1nYXA6IDFlbTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG5cbiAgICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgLy8gTWFrZSB0aGVzZSBmdWxsIHdpZHRoXG4gICAgLmNvbW1lbnQtbm90ZXMsXG4gICAgLmNvbW1lbnQtZm9ybS1jb21tZW50LFxuICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICB9XG4gIH1cbn1cblxuLmNvbW1lbnQtcmVzcG9uZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gIGlucHV0IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5jb21tZW50LWZvcm0tYXV0aG9yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICBpbnB1dCB7XG4gICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuY29tbWVudC1mb3JtLWVtYWlsIHtcbiAgICBjbGVhcjogcmlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcblxuICAgIGlucHV0IHtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5jb21tZW50LWZvcm0tdXJsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaW5wdXQge1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tc3VibWl0IHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAuY29tbWVudC1mb3JtLWNvbW1lbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbi8qIHN0eWxlbGludC1lbmFibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuIiwiLy8gR3V0ZW5iZXJnIGNvbnRlbnRcbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIsXG4uZ3V0ZW5iZXJnLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1wYWRkaW5nLWJsb2NrKTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkZGluZy1ibG9jayk7XG59XG5cbi8vIEd1dGVuYmVyZyBjb3JlIG1hZ2ljXG4uZ3V0ZW5iZXJnLWNvbnRlbnQgPiAqIHtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXBhcmFncmFwaHMtYmxvZyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogJHdpZHRoLW1heC1hcnRpY2xlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtbWF4LWFydGljbGUgKyA0MHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTtcblxuICAgICYuYWxpZ25mdWxsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gTGlzdCBvZiBhbGwgYmxvY2tzOiBodHRwczovL3dvcmRwcmVzcy5vcmcvc3VwcG9ydC9hcnRpY2xlL2Jsb2Nrcy9cbi8vIERlZmF1bHQgR3V0ZW5iZXJnIGNvcmUgYmxvY2sgc3R5bGVzXG5AaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2NvcmUtYmxvY2txdW90ZSc7XG5AaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2NvcmUtY29kZSc7XG5AaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2NvcmUtY29sdW1ucyc7XG5AaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2NvcmUtY292ZXInO1xuQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9jb3JlLWVtYmVkJztcbkBpbXBvcnQgJ2d1dGVuYmVyZy9ibG9ja3MvY29yZS1nYWxsZXJ5JztcbkBpbXBvcnQgJ2d1dGVuYmVyZy9ibG9ja3MvY29yZS1zZXBhcmF0b3InO1xuQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9jb3JlLWhlYWRpbmcnO1xuQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9jb3JlLWltYWdlJztcbkBpbXBvcnQgJ2d1dGVuYmVyZy9ibG9ja3MvY29yZS1saXN0JztcbkBpbXBvcnQgJ2d1dGVuYmVyZy9ibG9ja3MvY29yZS1wYXJhZ3JhcGgnO1xuQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9jb3JlLXByZWZvcm1hdHRlZCc7XG5AaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2NvcmUtcHVsbHF1b3RlJztcbkBpbXBvcnQgJ2d1dGVuYmVyZy9ibG9ja3MvY29yZS10YWJsZSc7XG5AaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2NvcmUtdGV4dC1jb2x1bW5zJztcbkBpbXBvcnQgJ2d1dGVuYmVyZy9ibG9ja3MvY29yZS12ZXJzZSc7XG5AaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2NvcmUtdmlkZW8nO1xuXG4vLyBDdXN0b20gR3V0ZW5iZXJnIGJsb2NrIHN0eWxlc1xuQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9ib3hlZCc7XG5AaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2J1dHRvbic7XG5AaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2J1dHRvbi1maWxlJztcbiIsIi8vIENvcmUvYmxvY2txdW90ZSBibG9ja1xuLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5ndXRlbmJlcmctY29udGVudCB7XG4gIGJsb2NrcXVvdGUgKyBjaXRlLFxuICBibG9ja3F1b3RlICsgcCA+IGNpdGUge1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gIH1cblxuICA+IGJsb2NrcXVvdGUsXG4gID4gYmxvY2txdW90ZS53cC1ibG9jay1xdW90ZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1ibG9ja3F1b3RlKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtcGFyYWdyYXBocy1ibG9nKTtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgIHBhZGRpbmc6IDMuNXJlbSA2cmVtO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnJlbSk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHdpZHRoLW1heC1hcnRpY2xlICsgNDBweCkge1xuICAgICAgcGFkZGluZzogMy41cmVtIDJyZW07XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNHJlbSk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRjb250YWluZXItbW9iaWxlKSB7XG4gICAgICBwYWRkaW5nOiA0cmVtIDRyZW0gNHJlbSAycmVtO1xuICAgIH1cblxuICAgID4gcCB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxvY2txdW90ZSk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtcGFyYWdyYXBocy1ibG9nKTtcbiAgICB9XG4gIH1cblxuICAud3AtYmxvY2stYmxvY2txdW90ZS5hbGlnbndpZGUsXG4gIC53cC1ibG9jay1ibG9ja3F1b3RlLmFsaWduZnVsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTtcbiAgfVxuXG4gIC53cC1ibG9jay1ibG9ja3F1b3RlIGJsb2NrcXVvdGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG4iLCIvLyBQcmVmb3JtYXR0ZWQgdGV4dC5cbnByZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtY29kZS1ibG9jayk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJhY2tncm91bmQtY29kZS1ibG9jayk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWNvZGUtdGV4dCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNik7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1wYXJhZ3JhcGhzLWJsb2cpO1xuICBtYXJnaW46IDNyZW0gMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBhZGRpbmc6IDE1cHggMTZweCAxNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICBjb2RlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWNvZGUtdGV4dCk7XG4gIH1cbn1cblxuLy8gQ29yZS9jb2RlIGJsb2NrXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyLFxuLmd1dGVuYmVyZy1jb250ZW50IHtcbiAgLndwLWJsb2NrLWNvZGUge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlICsgNDBweCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogNCkpO1xuICAgIH1cbiAgfVxuXG4gIHByZSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgfVxufVxuIiwiLy8gQ29yZS9jb2x1bW5zIGJsb2NrXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyLFxuLmd1dGVuYmVyZy1jb250ZW50IHtcbiAgLndwLWJsb2NrLWNvbHVtbnMuYWxpZ25mdWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICB9XG5cbiAgLy8gTG9vcHMgdG8gZW51bWVyYXRlIHRoZSBjbGFzc2VzIGZvciBjb2x1bW5zLlxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDkge1xuICAgIC53cC1ibG9jay1jb2x1bW5zLmNvbHVtbnMtI3skaX0uYWxpZ25mdWxsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpO1xuICAgIH1cblxuICAgIC53cC1ibG9jay1jb2x1bW5zLmNvbHVtbnMtI3skaX0ge1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtZ2FwOiAxZW07XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpO1xuXG4gICAgICAgIC53cC1ibG9jay1jb2x1bW4ge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvcmUvY292ZXIgYmxvY2tcbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIsXG4uZ3V0ZW5iZXJnLWNvbnRlbnQge1xuICAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcblxuICAgIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWNvcmUtaGVhZGluZyk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb3JlL2VtYmVkIGJsb2NrXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyLFxuLmd1dGVuYmVyZy1jb250ZW50IHtcbiAgLndwLWJsb2NrLWVtYmVkIGlmcmFtZSxcbiAgLndwLWJsb2NrLWVtYmVkIHZpZGVvIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHdpZHRoLWdyaWQtYmFzZSArIDQwcHgpIHtcbiAgICAud3AtYmxvY2stZW1iZWQuYWxpZ253aWRlLFxuICAgIC53cC1ibG9jay1lbWJlZC5hbGlnbmZ1bGwge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIGNhbGModmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCkgKiAyKSk7XG4gICAgfVxuICB9XG5cbiAgLndwLWJsb2NrLWVtYmVkLmFsaWduZnVsbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gQ29yZS9nYWxsZXJ5IGJsb2NrXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyLFxuLmd1dGVuYmVyZy1jb250ZW50IHtcbiAgLmlzLWdyaWQsXG4gIC53cC1ibG9jay1nYWxsZXJ5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTYpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tYXJnaW4tYmV0d2Vlbi10ZXh0LWVsZW1lbnRzKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICYuYWxpZ253aWRlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAmLmFsaWduZnVsbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTtcbiAgICB9XG4gIH1cblxuICAuaXMtZ3JpZCxcbiAgLmJsb2Nrcy1nYWxsZXJ5LWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW0ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLy8gTG9vcHMgdG8gZW51bWVyYXRlIHRoZSBjbGFzc2VzIGZvciBjb2x1bW5zLlxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDkge1xuICAgIC5pcy1ncmlkLmNvbHVtbnMtI3skaX0sXG4gICAgLmNvbHVtbnMtI3skaX0gLmJsb2Nrcy1nYWxsZXJ5LWdyaWQge1xuICAgICAgZ3JpZC1nYXA6IDNyZW07XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkaSwgMWZyKTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjcwcHgpIHtcbiAgICAgICAgZ3JpZC1nYXA6IDJyZW07XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW0gPiBmaWd1cmUgZmlnY2FwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiLy8gQ29yZS9zZXBhcmF0b3IgYmxvY2tcbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIsXG4uZ3V0ZW5iZXJnLWNvbnRlbnQge1xuICBocixcbiAgLndwLWJsb2NrLXNlcGFyYXRvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1tYXJnaW4tYmV0d2Vlbi1wYXJhZ3JhcGhzKSAqIDIpO1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tbWFyZ2luLWJldHdlZW4tcGFyYWdyYXBocykgKiAyKTtcbiAgfVxuXG4gIC53cC1ibG9jay1zZXBhcmF0b3IuaXMtc3R5bGUtZGVmYXVsdCB7XG4gICAgbWF4LXdpZHRoOiAkd2lkdGgtbWF4LWFydGljbGU7XG4gIH1cbn1cbiIsIi8vIENvcmUvaGVhZGluZyBibG9ja1xuLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5ndXRlbmJlcmctY29udGVudCB7XG4gIC8vIFRpdGxlIGxpbmUtaGVpZ2h0c1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUge1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1jb3JlLWhlYWRpbmcpO1xuICB9XG5cbiAgLy8gRG9uJ3QgYWRkIGV4dHJhIG1hcmdpbiBvbiB0b3Agb2YgZmlyc3QgdGl0bGVcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ29yZS9oZWFkaW5nIGJsb2NrXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyLFxuLmd1dGVuYmVyZy1jb250ZW50IHtcbiAgLy8gSW1hZ2UgYmxvY2tcbiAgLndwLWJsb2NrLWltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tYXJnaW4td3AtYmxvY2staW1hZ2UpO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLW1hcmdpbi13cC1ibG9jay1pbWFnZSk7XG5cbiAgICAmLmFsaWduZnVsbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlICsgNDBweCkge1xuICAgICAgJi5hbGlnbndpZGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aC1ncmlkLWJhc2UgKyA0MHB4KSB7XG4gICAgICAmLmFsaWdud2lkZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hbGlnbndpZGUgaW1nLFxuICAgIC5hbGlnbmZ1bGwgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIE5vIGJvcmRlciByYWRpdXMgb24gZnVsbCB3aWR0aCBpbWFnZSBhbmQgd2lkZSBvbiBzbWFsbCBzY3JlZW5zXG4gICAgLmFsaWduZnVsbCBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICA+IGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAmLmFsaWdubGVmdCxcbiAgICAgICYuYWxpZ25yaWdodCB7XG4gICAgICAgIC8vIEhhY2sgZm9yIGtlZXBpbmcgZmlnY2FwdGlvbiBmcm9tIGZsb3dpbmcgb3ZlciBmbG9hdGVkIGltYWdlLCB0aGlzIHZhcmlhYmxlIGlzIHNldCBpbmxpbmUgdG8gdGhlIGNvcnJlc3BvbmRpbmcgZmlndXJlIHdpdGggZ3V0ZW5iZXJnLWhlbHBlcnMuanNcbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgY3NzdG9vbHMvdmFsdWUtbm8tdW5rbm93bi1jdXN0b20tcHJvcGVydGllcyAqL1xuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLXdpZHRoLWNoaWxkLWltZyk7XG4gICAgICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRjb250YWluZXItbW9iaWxlKSB7XG4gICAgICAmLmFsaWdubGVmdCBpbWcsXG4gICAgICAmLmFsaWducmlnaHQgaW1nLFxuICAgICAgJi5hbGlnbmNlbnRlciBpbWcge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWxpZ25jZW50ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5hbGlnbmNlbnRlciBpbWcge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0IGJsb2NrXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyLFxuLmd1dGVuYmVyZy1jb250ZW50IHtcbiAgLndwLWJsb2NrLWNhdGVnb3JpZXMtbGlzdCxcbiAgb2w6bm90KFtjbGFzc10pLFxuICB1bDpub3QoW2NsYXNzXSkge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygycmVtICsgdmFyKC0tbWFyZ2luLWJldHdlZW4tcGFyYWdyYXBocykpO1xuICB9XG59XG4iLCIvLyBDb3JlL3BhcmFncmFwaCBibG9ja1xuLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5ndXRlbmJlcmctY29udGVudCB7XG4gIHAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wYXJhZ3JhcGgpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1wYXJhZ3JhcGhzLWJsb2cpO1xuICB9XG5cbiAgLmhhcy1sYXJnZXItZm9udC1zaXplLFxuICAuaGFzLWxhcmdlLWZvbnQtc2l6ZSB7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWhlYWRpbmdzKTtcbiAgfVxuXG4gIC5oYXMtbGFyZ2UtZm9udC1zaXplIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE4KTtcbiAgICB9XG4gIH1cblxuICAuaGFzLWxhcmdlci1mb250LXNpemUge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMjIpO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlICsgNDBweCkge1xuICAgIC5oYXMtYmFja2dyb3VuZCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYygyLjM3NWVtICogMikpO1xuICAgIH1cbiAgfVxufVxuIiwiLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5ndXRlbmJlcmctY29udGVudCB7XG4gIC53cC1ibG9jay1wcmVmb3JtYXR0ZWQge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlICsgNDBweCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogNCkpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ29yZS9wdWxscXVvdGUgYmxvY2tcbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIsXG4uZ3V0ZW5iZXJnLWNvbnRlbnQge1xuICAud3AtYmxvY2stcHVsbHF1b3RlLmFsaWdud2lkZSxcbiAgLndwLWJsb2NrLXB1bGxxdW90ZS5hbGlnbmZ1bGwge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aC1ncmlkLWJhc2UgKyA0MHB4KSB7XG4gICAgICBtYXJnaW4tbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIGNhbGModmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCkgKiAyKSk7XG4gICAgfVxuICB9XG5cbiAgLndwLWJsb2NrLXB1bGxxdW90ZS5hbGlnbmZ1bGwge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpO1xuICB9XG59XG4iLCIvLyBDb3JlL3RhYmxlIGJsb2NrXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtcGFyYWdyYXBoKTtcbiAgaGVpZ2h0OiAzcmVtO1xuICBwYWRkaW5nOiAxcmVtO1xufVxuXG4vLyBUYWJsZSBoZWFkaW5nIGNlbGxzXG50aCB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5ndXRlbmJlcmctY29udGVudCB7XG4gIC53cC1ibG9jay10YWJsZS5hbGlnbmZ1bGwge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aC1ncmlkLWJhc2UgKyA0MHB4KSB7XG4gICAgLndwLWJsb2NrLXRhYmxlLmFsaWdud2lkZSB7XG4gICAgICBtYXJnaW4tbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIGNhbGModmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCkgKiAyKSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb3JlL3RleHQtY29sdW1ucyBibG9ja1xuLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5ndXRlbmJlcmctY29udGVudCB7XG4gIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuYWxpZ25mdWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICB9XG5cbiAgLy8gTG9vcHMgdG8gZW51bWVyYXRlIHRoZSBjbGFzc2VzIGZvciBjb2x1bW5zLlxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDkge1xuICAgIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy0jeyRpfS5hbGlnbmZ1bGwge1xuICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIGNhbGModmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCkgKiAyKSk7XG4gICAgfVxuXG4gICAgLndwLWJsb2NrLXRleHQtY29sdW1ucy5jb2x1bW5zLSN7JGl9IHtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWdhcDogMWVtO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTtcblxuICAgICAgICAud3AtYmxvY2stY29sdW1uIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRjb250YWluZXItbW9iaWxlKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZWRpdG9yLXN0eWxlcy13cmFwcGVyLFxuLmd1dGVuYmVyZy1jb250ZW50IHtcbiAgLndwLWJsb2NrLXZlcnNlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHdpZHRoLWdyaWQtYmFzZSArIDQwcHgpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDQpKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvcmUvdmlkZW8gYmxvY2tcbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIsXG4uZ3V0ZW5iZXJnLWNvbnRlbnQge1xuICAud3AtYmxvY2stdmlkZW8gdmlkZW8ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlICsgNDBweCkge1xuICAgIC53cC1ibG9jay12aWRlby5hbGlnbndpZGUsXG4gICAgLndwLWJsb2NrLXZpZGVvLmFsaWduZnVsbCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTtcbiAgICB9XG4gIH1cblxuICAud3AtYmxvY2stdmlkZW8uYWxpZ25mdWxsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBCb3hlZCBibG9jayBzdHlsZVxuLndwLWJsb2NrLmlzLXN0eWxlLWJveGVkLFxuLmlzLXN0eWxlLWJveGVkIHtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItcGFyYWdyYXBoKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXBhcmFncmFwaCk7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXBhcmFncmFwaHMtYmxvZyk7XG4gIHBhZGRpbmc6IDJyZW07XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA0cmVtKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICR3aWR0aC1tYXgtYXJ0aWNsZSArIDQwcHgpIHtcbiAgLmd1dGVuYmVyZy1jb250ZW50IC5pcy1zdHlsZS1ib3hlZCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMnJlbSwgMCk7XG4gIH1cbn1cbiIsIi53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICBAaW5jbHVkZSBidXR0b24oKTtcbn1cbiIsIi53cC1ibG9jay1maWxlIC53cC1ibG9jay1maWxlX19idXR0b24ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZS1zbWFsbCgpO1xuICBmb250LXNpemU6IC44ZW07XG4gIHBhZGRpbmc6IC4zZW0gLjhlbTtcbn1cbiIsIi8vIEZvcm1hdHRpbmdcbkBpbXBvcnQgJ2d1dGVuYmVyZy9mb3JtYXR0aW5nL2FsaWduJztcbkBpbXBvcnQgJ2d1dGVuYmVyZy9mb3JtYXR0aW5nL2NhcHRpb24nO1xuQGltcG9ydCAnZ3V0ZW5iZXJnL2Zvcm1hdHRpbmcvaW1nJztcbkBpbXBvcnQgJ2d1dGVuYmVyZy9mb3JtYXR0aW5nL2tiZCc7XG5AaW1wb3J0ICdndXRlbmJlcmcvZm9ybWF0dGluZy9saW5rJztcbiIsIi8vIEFsaWdubWVudHNcbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIsXG4uZ3V0ZW5iZXJnLWNvbnRlbnQge1xuICAuYWxpZ25sZWZ0ID4gKiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICAuYWxpZ25yaWdodCA+ICoge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuXG4gIC5hbGlnbmxlZnQgPiBpbWcge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLW1hcmdpbi1iZXR3ZWVuLXBhcmFncmFwaHMpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tbWFyZ2luLWJldHdlZW4tcGFyYWdyYXBocyk7XG5cbiAgICArIGZpZ2NhcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuYWxpZ25yaWdodCA+IGltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbWFyZ2luLWJldHdlZW4tcGFyYWdyYXBocyk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLW1hcmdpbi1iZXR3ZWVuLXBhcmFncmFwaHMpO1xuXG4gICAgKyBmaWdjYXB0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLmFsaWdud2lkZSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICR3aWR0aC1ncmlkLWJhc2UgKyA0MHB4KSB7XG4gICAgICBtYXgtd2lkdGg6ICR3aWR0aC1ncmlkLWJhc2U7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuYWxpZ25mdWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHdpZHRoLWdyaWQtYmFzZSArIDQwcHgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXBhZGRpbmctYmxvY2spO1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tcGFkZGluZy1ibG9jayk7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLndwLWJsb2NrLWltYWdlIGltZyB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ2FwdGlvbnNcbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC1jb21iaW5hdG9ycywgc2VsZWN0b3ItbWF4LWNvbXBvdW5kLXNlbGVjdG9ycyAqL1xuLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5ndXRlbmJlcmctY29udGVudCB7XG4gIGZpZ2NhcHRpb24sXG4gIGNpdGUsXG4gIHNtYWxsIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWNhcHRpb24pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWNhcHRpb25zKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogNnJlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICBtYXgtd2lkdGg6ICR3aWR0aC1tYXgtYXJ0aWNsZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuICB9XG5cbiAgLndwLWJsb2NrLWltYWdlIGZpZ2NhcHRpb24sXG4gIC53cC1ibG9jay1pbWFnZSAuYWxpZ25yaWdodCA+IGZpZ2NhcHRpb24sXG4gIC53cC1ibG9jay1pbWFnZSAuYWxpZ25jZW50ZXIgPiBmaWdjYXB0aW9uLFxuICAud3AtYmxvY2staW1hZ2UuaXMtcmVzaXplZCA+IGZpZ2NhcHRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgY2l0ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiLy8gSW1hZ2UgZm9ybWF0dGluZyBvcHRpb25zXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyLFxuLmd1dGVuYmVyZy1jb250ZW50IHtcbiAgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIH1cbn1cbiIsImtiZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWtiZC1iYWNrZ3JvdW5kKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3Ita2JkLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMCAxcHggMCByZ2JhKDIyLCAyMiwgMjIsIC4yKSwgMCAwIDAgMnB4IHZhcigtLWNvbG9yLXdoaXRlKSBpbnNldDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXBhcmFncmFwaCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgcGFkZGluZzogMCAuNXJlbTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgdmFyKC0tY29sb3Itd2hpdGUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1kaXNwbGF5LW5vbmUsIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHksIHNlbGVjdG9yLW1heC1wc2V1ZG8tY2xhc3MgKi9cbi8vIERlZmF1bHQgbGlua3MgZXZlcnl3aGVyZVxuYSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLXRleHQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstdGV4dCk7XG4gICAgLy8gdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuLy8gTGlua3Mgd2l0aGluIGNvbnRlbnRcbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIsXG4uZ3V0ZW5iZXJnLWNvbnRlbnQge1xuICAvLyBTdHlsZSBjaG9pY2Ugbm90IHRvIGhhdmUgZXh0ZXJuYWwgbGluayBpbmRpY2F0b3JzIGluIGEgbGlzdFxuICBsaSA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgW2RhdGEtdHlwZT1cImNvcmUvcGFyYWdyYXBoXCJdID4gYSxcbiAgbGkgPiBhLFxuICBwID4gc3Ryb25nID4gYSxcbiAgcCA+IGVtID4gYSxcbiAgcDpub3QoW2NsYXNzXSkgPiBhOm5vdChbY2xhc3NdKSxcbiAgcC5oYXMtdGV4dC1hbGlnbi1sZWZ0ID4gYSxcbiAgcC5oYXMtdGV4dC1hbGlnbi1jZW50ZXIgPiBhLFxuICBwLmhhcy10ZXh0LWFsaWduLXJpZ2h0ID4gYSxcbiAgcC5oYXMtc21hbGwtZm9udC1zaXplID4gYSxcbiAgZmlnY2FwdGlvbiA+IGEsXG4gIHA6bm90KFtjbGFzc10pID4gYS5pcy1leHRlcm5hbC1saW5rIHtcbiAgICBAaW5jbHVkZSBsaW5rKCk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUNBQSw0RUFBNEU7QUFDNUUsMkhBQTJIO0FBRTNIOytFQUMrRTtBQUUvRTs7O0dBR0c7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNILFdBQVcsRUFBRSxJQUFJLEdBQ2xCOztBQUVEOytFQUMrRTtBQUUvRTs7R0FFRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFFRDs7R0FFRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxHQUFHO0VBQ2QsTUFBTSxFQUFFLE9BQU8sR0FDaEI7O0FBRUQ7K0VBQytFO0FBRS9FOzs7R0FHRztBQUVILEFBQUEsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLFdBQVc7RUFDdkIsTUFBTSxFQUFFLENBQUM7RUFDVCxRQUFRLEVBQUUsT0FBTyxHQUNsQjs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLEdBQUcsQ0FBQztFQUNGLFdBQVcsRUFBRSxTQUFTO0VBQ3RCLFNBQVMsRUFBRSxHQUFHLEdBQ2Y7O0FBRUQ7K0VBQytFO0FBRS9FOztHQUVHO0FBRUgsQUFBQSxDQUFDLENBQUM7RUFDQSxnQkFBZ0IsRUFBRSxXQUFXLEdBQzlCOztBQUVEOzs7R0FHRztBQUVILEFBQUEsSUFBSSxDQUFBLEFBQUEsS0FBQyxBQUFBLEVBQU87RUFDVixhQUFhLEVBQUUsQ0FBQztFQUNoQixlQUFlLEVBQUUsZ0JBQWdCLEdBQ2xDOztBQUVEOzs7R0FHRztBQUVILEFBQUEsSUFB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 */