/*! 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-scropion: #5f5f5f; --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: var(--color-scropion); --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-table-cell-odd: var(--color-white); --color-background-table-cell-even: #f3f3f3; --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 */ .heading-hero { font-size: var(--font-size-hero); } .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)); } /* stylelint-disable no-descending-specificity */ th { backface-visibility: hidden; background-color: var(--color-scropion); color: var(--color-white); font-weight: var(--font-weight-bold); overflow: hidden; text-align: left; } td { color: var(--color-black); } td, th, .wp-block-table td, .wp-block-table th { border: 0; font-family: var(--font-paragraph); font-size: var(--font-size-14); height: 2rem; padding: .6rem 1.5rem; } tr:nth-child(even) { background-color: var(--color-background-table-cell-even); } tr:nth-child(odd) { background-color: var(--color-background-table-cell-odd); } thead, .wp-block-table thead { border: 0; } thead th:first-child, .wp-block-table thead th:first-child { border-top-left-radius: 8px; } thead th:last-child, .wp-block-table thead th:last-child { border-top-right-radius: 8px; } table { border-collapse: collapse; border-spacing: 0; } .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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLmNzcyIsInNvdXJjZXMiOlsiZ2xvYmFsLnNjc3MiLCJiYXNlL19ub3JtYWxpemUuc2NzcyIsImhlbHBlcnMvX2FuaW1hdGlvbnMuc2NzcyIsImhlbHBlcnMvX2FzcGVjdC1yYXRpby5zY3NzIiwiaGVscGVycy9fZ2VuZXJhbC5zY3NzIiwiaGVscGVycy9fZ3JpZC5zY3NzIiwiaGVscGVycy9faGV4LXRvLXJnYi5zY3NzIiwiaGVscGVycy9fdHlwb2dyYXBoeS5zY3NzIiwidmFyaWFibGVzL19jb2xvcnMuc2NzcyIsInZhcmlhYmxlcy9fYnJlYWtwb2ludHMuc2NzcyIsInZhcmlhYmxlcy9fc3BhY2luZ3Muc2NzcyIsInZhcmlhYmxlcy9fZm9udC1mYWNlLnNjc3MiLCJ2YXJpYWJsZXMvX2ZvbnQtZmFtaWx5LnNjc3MiLCJ2YXJpYWJsZXMvX2ZvbnQtc2l6ZXMuc2NzcyIsImNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9uLXNpemUtc21hbGwuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbi1zaXplLWxhcmdlLnNjc3MiLCJjb21wb25lbnRzL19idXR0b24tc3R5bGUtZ2hvc3Quc2NzcyIsImNvbXBvbmVudHMvX2hlYWRpbmctaGVyby5zY3NzIiwiY29tcG9uZW50cy9fbGluay5zY3NzIiwiYmFzZS9fYWNjZXNzaWJpbGl0eS5zY3NzIiwibmF2aWdhdGlvbi9fbmF2LWRlc2t0b3Auc2NzcyIsIm5hdmlnYXRpb24vX25hdi1tb2JpbGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvaGFtYnVyZ2Vycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy9fYmFzZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fM2R4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL18zZHgtci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fM2R5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL18zZHktci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fM2R4eS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fM2R4eS1yLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19hcnJvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3ctci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3dhbHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93YWx0LXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93dHVybi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3d0dXJuLXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2JvcmluZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fY29sbGFwc2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2NvbGxhcHNlLXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2VsYXN0aWMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2VsYXN0aWMtci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fZW1waGF0aWMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2VtcGhhdGljLXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX21pbnVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zbGlkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3NsaWRlci1yLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zcGluLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zcGluLXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3NwcmluZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3ByaW5nLXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3N0YW5kLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zdGFuZC1yLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zcXVlZXplLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL192b3J0ZXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3ZvcnRleC1yLnNjc3MiLCJsYXlvdXQvX2RlbW8tY29udGVudC5zY3NzIiwibGF5b3V0L19nZW5lcmFsLnNjc3MiLCJsYXlvdXQvX3ByaW50LnNjc3MiLCJsYXlvdXQvX3R5cG9ncmFwaHkuc2NzcyIsImxheW91dC9fc2l0ZS1oZWFkZXIuc2NzcyIsImxheW91dC9fc2l0ZS1mb290ZXIuc2NzcyIsImxheW91dC9fZm9ybXMuc2NzcyIsImxheW91dC9fYmxvZy5zY3NzIiwibGF5b3V0L193b3JkcHJlc3Muc2NzcyIsImZlYXR1cmVzL190b3Auc2NzcyIsImZlYXR1cmVzL19nYWxsZXJ5LnNjc3MiLCJmZWF0dXJlcy9fbGF6eWxvYWQuc2NzcyIsImZlYXR1cmVzL19wYWdpbmF0aW9uLnNjc3MiLCJmZWF0dXJlcy9fZ3Jhdml0eS1mb3Jtcy5zY3NzIiwidmlld3MvX2Zyb250LXBhZ2Uuc2NzcyIsInZpZXdzL19zZWFyY2guc2NzcyIsInZpZXdzL180MDQuc2NzcyIsInZpZXdzL19jb21tZW50cy5zY3NzIiwiZ3V0ZW5iZXJnL2xheW91dC9fY29udGVudC5zY3NzIiwiZ3V0ZW5iZXJnL19ibG9ja3Muc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2NvcmUtYmxvY2txdW90ZS5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fY29yZS1jb2RlLnNjc3MiLCJndXRlbmJlcmcvYmxvY2tzL19jb3JlLWNvbHVtbnMuc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2NvcmUtY292ZXIuc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2NvcmUtZW1iZWQuc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2NvcmUtZ2FsbGVyeS5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fY29yZS1zZXBhcmF0b3Iuc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2NvcmUtaGVhZGluZy5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fY29yZS1pbWFnZS5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fY29yZS1saXN0LnNjc3MiLCJndXRlbmJlcmcvYmxvY2tzL19jb3JlLXBhcmFncmFwaC5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fY29yZS1wcmVmb3JtYXR0ZWQuc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2NvcmUtcHVsbHF1b3RlLnNjc3MiLCJndXRlbmJlcmcvYmxvY2tzL19jb3JlLXRhYmxlLnNjc3MiLCJndXRlbmJlcmcvYmxvY2tzL19jb3JlLXRleHQtY29sdW1ucy5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fY29yZS12ZXJzZS5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fY29yZS12aWRlby5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fYm94ZWQuc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2J1dHRvbi5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fYnV0dG9uLWZpbGUuc2NzcyIsImd1dGVuYmVyZy9fZm9ybWF0dGluZy5zY3NzIiwiZ3V0ZW5iZXJnL2Zvcm1hdHRpbmcvX2FsaWduLnNjc3MiLCJndXRlbmJlcmcvZm9ybWF0dGluZy9fY2FwdGlvbi5zY3NzIiwiZ3V0ZW5iZXJnL2Zvcm1hdHRpbmcvX2ltZy5zY3NzIiwiZ3V0ZW5iZXJnL2Zvcm1hdHRpbmcvX2tiZC5zY3NzIiwiZ3V0ZW5iZXJnL2Zvcm1hdHRpbmcvX2xpbmsuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCAndXRmLTgnO1xuXG4vLyBSZXNldCAmIGdyaWRcbkBpbXBvcnQgJ2Jhc2Uvbm9ybWFsaXplJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnaGVscGVycy9hbmltYXRpb25zJztcbkBpbXBvcnQgJ2hlbHBlcnMvYXNwZWN0LXJhdGlvJztcbkBpbXBvcnQgJ2hlbHBlcnMvZ2VuZXJhbCc7XG5AaW1wb3J0ICdoZWxwZXJzL2dyaWQnO1xuQGltcG9ydCAnaGVscGVycy9oZXgtdG8tcmdiJztcbkBpbXBvcnQgJ2hlbHBlcnMvdHlwb2dyYXBoeSc7XG5cbi8vIFZhcmlhYmxlc1xuQGltcG9ydCAndmFyaWFibGVzL2NvbG9ycyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAndmFyaWFibGVzL3NwYWNpbmdzJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcy9mb250LWZhY2UnO1xuQGltcG9ydCAndmFyaWFibGVzL2ZvbnQtZmFtaWx5JztcbkBpbXBvcnQgJ3ZhcmlhYmxlcy9mb250LXNpemVzJztcblxuLy8gU3R5bGUgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9jb21wb25lbnRzJztcblxuLy8gQWNjZXNzaWJpbGl0eVxuQGltcG9ydCAnYmFzZS9hY2Nlc3NpYmlsaXR5JztcblxuLy8gTmF2aWdhdGlvblxuQGltcG9ydCAnbmF2aWdhdGlvbi9uYXYtZGVza3RvcCc7XG5AaW1wb3J0ICduYXZpZ2F0aW9uL25hdi1tb2JpbGUnO1xuXG4vLyBTdHJ1Y3R1cmVcbkBpbXBvcnQgJ2xheW91dC9kZW1vLWNvbnRlbnQnO1xuQGltcG9ydCAnbGF5b3V0L2dlbmVyYWwnO1xuQGltcG9ydCAnbGF5b3V0L3ByaW50JztcbkBpbXBvcnQgJ2xheW91dC90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2xheW91dC9zaXRlLWhlYWRlcic7XG5AaW1wb3J0ICdsYXlvdXQvc2l0ZS1mb290ZXInO1xuQGltcG9ydCAnbGF5b3V0L2Zvcm1zJztcbkBpbXBvcnQgJ2xheW91dC9ibG9nJztcbkBpbXBvcnQgJ2xheW91dC93b3JkcHJlc3MnO1xuXG4vLyBHbG9iYWwgZmVhdHVyZXNcbkBpbXBvcnQgJ2ZlYXR1cmVzL3RvcCc7XG5AaW1wb3J0ICdmZWF0dXJlcy9nYWxsZXJ5JztcbkBpbXBvcnQgJ2ZlYXR1cmVzL2xhenlsb2FkJztcbkBpbXBvcnQgJ2ZlYXR1cmVzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnZmVhdHVyZXMvZ3Jhdml0eS1mb3Jtcyc7XG5cbi8vIFZpZXdzXG5AaW1wb3J0ICd2aWV3cy9mcm9udC1wYWdlJztcbkBpbXBvcnQgJ3ZpZXdzL3NlYXJjaCc7XG5AaW1wb3J0ICd2aWV3cy80MDQnO1xuQGltcG9ydCAndmlld3MvY29tbWVudHMnO1xuXG4vLyBHdXRlbmJlcmcgbGF5b3V0IG91dHNpZGUgYmxvY2tzXG5AaW1wb3J0ICdndXRlbmJlcmcvbGF5b3V0L2NvbnRlbnQnO1xuXG4vLyBHdXRlbmJlcmcgYmxvY2tzXG5AaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzJztcblxuLy8gR3V0ZW5iZXJnIGZvcm1hdHRpbmdcbkBpbXBvcnQgJ2d1dGVuYmVyZy9mb3JtYXR0aW5nJztcblxuLy8gTW9kdWxlc1xuLy8gQGltcG9ydCAnbW9kdWxlcy9zb21lLW1vZHVsZSc7XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1wcm9wZXJ0eS11bml0LWFsbG93ZWQtbGlzdCwgYTExeS9saW5lLWhlaWdodC1pcy12ZXJ0aWNhbC1yaHl0aG1lZCwgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cblxuLyogRG9jdW1lbnRcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xufVxuXG4vKiBTZWN0aW9uc1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3Ncblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IC4zNWVtIC43NWVtIC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICpcdFx0YGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyogSW50ZXJhY3RpdmVcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlIGRlY2xhcmF0aW9uLXByb3BlcnR5LXVuaXQtYWxsb3dlZC1saXN0ICovXG4iLCIvLyBUcmFuc2l0aW9uIGR1cmF0aW9uIGFuZCBhbmltYXRpb25zXG4kdHJhbnNpdGlvbi1kdXJhdGlvbjogLjIycztcblxuLy8gUG9zc2libGUga2V5ZnJhbWVzIGhlcmVcbi8vIEBrZXlmcmFtZXNcbiIsIkBtaXhpbiBhc3BlY3QtcmF0aW8oJHdpZHRoLCAkaGVpZ2h0KSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAoJGhlaWdodCAvICR3aWR0aCkgKiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuY29udGVudCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgfVxufVxuIiwiLy8gSGVscGVyc1xuLy9cbi8vIE1peGlucyBhbmQgb3RoZXIgZXNzZW50aWFscyBmb3IgZ2xvYmFsIHRoZW1lIGRldmVsb3BtZW50LlxuXG4vLyBHZW5lcmFsXG5AbWl4aW4gaGlkZGVudGV4dCgpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG59XG5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCR2YWx1ZSkge1xuICBAcmV0dXJuICR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSk7XG59XG4iLCIvLyBDU1MgR3JpZCBtaXhpbiB3aXRoIGZsZXhib3ggZmFsbGJhY2sgZm9yIElFIGFuZCBFZGdlXG5AbWl4aW4gZ3JpZCgkY29sdW1ucywgJG1heF93aWR0aDogMWZyLCAkbWluX3dpZHRoOiAwLCAkbWluX2hlaWdodDogMCwgJG1heF9oZWlnaHQ6IGF1dG8sICRndXR0ZXJfeDogMTZweCwgJGd1dHRlcl95OiAxNnB4KSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtYXV0by1yb3dzOiBtaW5tYXgoJG1pbl9oZWlnaHQsICRtYXhfaGVpZ2h0KTtcbiAgZ3JpZC1nYXA6ICRndXR0ZXJfeDtcbiAgZ3JpZC1yb3ctZ2FwOiAkZ3V0dGVyX3k7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCRjb2x1bW5zLCBtaW5tYXgoJG1pbl93aWR0aCwgJG1heF93aWR0aCkpO1xuXG4gIC8vIEZvciBicm93c2VyIHZlcnNpb25zIHRoYXQgZG8gbm90IHN1cHBvcnQgQ1NTIGdyaWRcbiAgQHN1cHBvcnRzIG5vdCAoZGlzcGxheTogZ3JpZCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICA+IGRpdiB7XG4gICAgICAkZ3JpZF93aWR0aDogMTAwJSAvICRjb2x1bW5zO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcl95O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZ3V0dGVyX3g7XG4gICAgICB3aWR0aDogY2FsYygjeyRncmlkX3dpZHRofSAtICN7JGd1dHRlcl94fSk7XG5cbiAgICAgICY6bnRoLWNoaWxkKCN7JGNvbHVtbnN9bisjeyRjb2x1bW5zfSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW50ZXJuZXQgRXhwbG9yZXJcbiAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgPiBkaXYge1xuICAgICAgJGdyaWRfd2lkdGg6IDEwMCUgLyAkY29sdW1ucztcbiAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXJfeTtcbiAgICAgIG1hcmdpbi1yaWdodDogJGd1dHRlcl94O1xuICAgICAgd2lkdGg6IGNhbGMoI3skZ3JpZF93aWR0aH0gLSAjeyRndXR0ZXJfeH0pO1xuXG4gICAgICAmOm50aC1jaGlsZCgjeyRjb2x1bW5zfW4rI3skY29sdW1uc30pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEVkZ2VcbiAgQHN1cHBvcnRzICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgID4gZGl2IHtcbiAgICAgICRncmlkX3dpZHRoOiAxMDAlIC8gJGNvbHVtbnM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyX3k7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRndXR0ZXJfeDtcbiAgICAgIHdpZHRoOiBjYWxjKCN7JGdyaWRfd2lkdGh9IC0gI3skZ3V0dGVyX3h9KTtcblxuICAgICAgJjpudGgtY2hpbGQoI3skY29sdW1uc31uKyN7JGNvbHVtbnN9KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogQ29udmVydCBoZXggY29sb3IgdG8gUkdCIGNvbG9yIGZvcm1hdFxuICovXG5cbkBmdW5jdGlvbiBoZXh0b3JnYigkaGV4KSB7XG4gIEByZXR1cm4gcmVkKCRoZXgpLCBncmVlbigkaGV4KSwgYmx1ZSgkaGV4KTtcbn1cbiIsIi8vIFR5cG9ncmFwaHkgaGVscGVyc1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1wcm9wZXJ0eS11bml0LWFsbG93ZWQtbGlzdCAqL1xuLy8gSGVscGVyIG1peGluIGZvciBzZWxmLWhvc3RlZCBmb250c1xuQG1peGluIGZvbnRGYWNlKCRmYW1pbHksICRzcmMsICR3ZWlnaHQ6IG5vcm1hbCwgJHN0eWxlOiBub3JtYWwpIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgLy8gQGxpbmsgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9hbG1hbmFjL3Byb3BlcnRpZXMvZi9mb250LWRpc3BsYXkvXG4gICAgZm9udC1kaXNwbGF5OiBhdXRvO1xuICAgIGZvbnQtZmFtaWx5OiAkZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcblxuICAgIC8vIFNsaWdodGx5IERlZXBlciBCcm93c2VyIFN1cHBvcnRcbiAgICAvLyBAc291cmNlIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvY3NzL3VzaW5nLWZvbnQtZmFjZS8jc2xpZ2h0bHktZGVlcGVyLWJyb3dzZXItc3VwcG9ydFxuICAgIHNyYzogdXJsKCcjeyRzcmN9LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCcjeyRzcmN9LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJyN7JHNyY30udHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICB9XG59XG5cbi8vIFJlc3BvbnNpdmUgZm9udHNcbkBtaXhpbiByZXNwb25zaXZlLWZvbnQoJG1pbi1mb250LXNpemUsICRtYXgtZm9udC1zaXplLCAkbWluLXZ3OiAzMjBweCwgJG1heC12dzogMTkyMHB4KSB7XG4gICR1MTogdW5pdCgkbWluLXZ3KTtcbiAgJHUyOiB1bml0KCRtYXgtdncpO1xuICAkdTM6IHVuaXQoJG1pbi1mb250LXNpemUpO1xuICAkdTQ6IHVuaXQoJG1heC1mb250LXNpemUpO1xuXG4gIEBpZiAkdTEgPT0gJHUyIGFuZCAkdTEgPT0gJHUzIGFuZCAkdTEgPT0gJHU0IHtcbiAgICBmb250LXNpemU6ICRtaW4tZm9udC1zaXplO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbi12dykge1xuICAgICAgZm9udC1zaXplOiBjYWxjKCN7JG1pbi1mb250LXNpemV9ICsgI3tzdHJpcC11bml0KCRtYXgtZm9udC1zaXplIC0gJG1pbi1mb250LXNpemUpfSAqICgoMTAwdncgLSAjeyRtaW4tdnd9KSAvICN7c3RyaXAtdW5pdCgkbWF4LXZ3IC0gJG1pbi12dyl9KSk7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1heC12dykge1xuICAgICAgZm9udC1zaXplOiAkbWF4LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cbn1cbi8qIHN0eWxlbGludC1lbmFibGUgZGVjbGFyYXRpb24tcHJvcGVydHktdW5pdC1hbGxvd2VkLWxpc3QgKi9cbiIsIi8vIENTUyB2YXJpYWJsZXNcbi8vIERlZmluZSBuYW1lczpcbi8vIEZvciBBQUE6IGh0dHBzOi8vd3d3LmNvbG9yLWJsaW5kbmVzcy5jb20vY29sb3ItbmFtZS1odWUvXG4vLyBGb3IgQUE6IGh0dHBzOi8vY2hpci5hZy9wcm9qZWN0cy9uYW1lLXRoYXQtY29sb3IvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjpyb290IHtcbiAgLy8gQnJhbmQgY29sb3IgcG9vbFxuICAtLWNvbG9yLWJsYWNrOiAjMjIyO1xuICAtLWNvbG9yLWJsYWNrLXJvY2s6ICMyYjMwM2M7XG4gIC0tY29sb3ItYmx1ZS1jaGFsazogI2VjZTZmMjtcbiAgLS1jb2xvci1lYXN0LWJheTogIzU0NTc3MztcbiAgLS1jb2xvci1wYXR0ZW5zLWJsdWU6ICNlYWYxZjg7XG4gIC0tY29sb3Itc2NpZW5jZS1ibHVlOiAjMDA0OWQxO1xuICAtLWNvbG9yLXNjcm9waW9uOiAjNWY1ZjVmO1xuICAtLWNvbG9yLXZhbGhhbGxhOiAjMmEyZDNlO1xuICAtLWNvbG9yLXdoaXRlOiAjZmZmO1xuXG4gIC8vIE1haW4gZWxlbWVudCBjb2xvcnNcbiAgLS1jb2xvci1oZWFkaW5nOiB2YXIoLS1jb2xvci1tYWluKTtcbiAgLS1jb2xvci1tYWluOiB2YXIoLS1jb2xvci12YWxoYWxsYSk7XG4gIC0tY29sb3ItcGFyYWdyYXBoOiB2YXIoLS1jb2xvci1lYXN0LWJheSk7XG5cbiAgLy8gTW9kZXJuIGxpbmsgdGhhdCBoYXMgYmFja2dyb3VuZCBlZmZlY3Qgb24gaG92ZXJcbiAgLS1jb2xvci1saW5rLWJvcmRlci1ib3R0b206IHZhcigtLWNvbG9yLXNjaWVuY2UtYmx1ZSk7XG4gIC0tY29sb3ItbGluay1ib3JkZXItZm9jdXM6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgLS1jb2xvci1saW5rLWNvbW1lbnQ6IHZhcigtLWNvbG9yLXNjcm9waW9uKTtcbiAgLS1jb2xvci1saW5rLWNvbW1lbnQtdGltZS1hbmNob3I6IHZhcigtLWNvbG9yLWVhc3QtYmF5KTtcbiAgLS1jb2xvci1saW5rLWVkaXQtYmFja2dyb3VuZC1ob3ZlcjogdmFyKC0tY29sb3ItcGF0dGVucy1ibHVlKTtcbiAgLS1jb2xvci1saW5rLWVkaXQtYm9yZGVyOiB2YXIoLS1jb2xvci1wYXR0ZW5zLWJsdWUpO1xuICAtLWNvbG9yLWxpbmstZWRpdC10ZXh0OiBkYXJrZW4oI2VhZjFmOCwgMjAlKTtcbiAgLS1jb2xvci1saW5rLWVkaXQtdGV4dC1ob3ZlcjogdmFyKC0tY29sb3ItZWFzdC1iYXkpO1xuICAtLWNvbG9yLWxpbmstdGV4dDogdmFyKC0tY29sb3Itc2NpZW5jZS1ibHVlKTtcbiAgLS1jb2xvci1saW5rLXRleHQtZm9jdXM6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgLS1jb2xvci1saW5rLXRleHQtaG92ZXI6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1saW5rLWJhY2tncm91bmQtaG92ZXI6IHZhcigtLWNvbG9yLWxpbmstdGV4dCk7XG5cbiAgLy8gRWxlbWVudCBjb2xvcnNcbiAgLS1jb2xvci1iYWNrZ3JvdW5kLWNvZGUtYmxvY2s6IHZhcigtLWNvbG9yLWJsYWNrLXJvY2spO1xuICAtLWNvbG9yLWJhY2tncm91bmQtY29kZS1pbmxpbmU6ICNmOWYyZjQ7XG4gIC0tY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0OiAjZjBmMGYwO1xuICAtLWNvbG9yLWJhY2tncm91bmQtc2hhZGU6ICMwMzA2MWI7XG4gIC0tY29sb3ItYmFja2dyb3VuZC10YWJsZS1jZWxsLW9kZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLWJhY2tncm91bmQtdGFibGUtY2VsbC1ldmVuOiAjZjNmM2YzO1xuICAtLWNvbG9yLWJhY2tncm91bmQtdGFnOiB2YXIoLS1jb2xvci1wYXR0ZW5zLWJsdWUpO1xuICAtLWNvbG9yLWJsb2NrcXVvdGU6IHZhcigtLWNvbG9yLXNjaWVuY2UtYmx1ZSk7XG4gIC0tY29sb3ItY29tbWVudC10ZXh0OiB2YXIoLS1jb2xvci1lYXN0LWJheSk7XG4gIC0tY29sb3ItY29tbWVudC1hdXRob3ItdGV4dDogdmFyKC0tY29sb3ItZWFzdC1iYXkpO1xuICAtLWNvbG9yLXRhZy1ib3JkZXI6IHJnYmEoNiwgMjIsIDQxLCAuMSk7XG4gIC0tY29sb3ItdGFnLWJvcmRlci1ob3ZlcjogcmdiYSg2LCAyMiwgNDEsIC40KTtcbiAgLS1jb2xvci10YWctdGV4dDogdmFyKC0tY29sb3ItYmxhY2spO1xuICAtLWNvbG9yLWNhdGVnb3J5LWJvcmRlcjogI2NkY2ZkNDtcbiAgLS1jb2xvci1jYXRlZ29yeS10ZXh0OiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIC0tY29sb3ItY2FwdGlvbjogIzVjNWM2YTtcbiAgLS1jb2xvci1jb2RlLWJsb2NrOiAjYzcyNTRlO1xuICAtLWNvbG9yLWNvZGUtdGV4dDogI2Y1ZjVmNTtcbiAgLS1jb2xvci1lcnJvcjogI2UxYjNiMjtcbiAgLS1jb2xvci1rYmQtYm9yZGVyOiAjY2NjO1xuICAtLWNvbG9yLWtiZC1iYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wYXR0ZW5zLWJsdWUpO1xuICAtLWNvbG9yLW91dGxpbmUtb3ZlcmxheS1pdGVtczogI2ZmODQ4YTtcbiAgLS1jb2xvci1wYWdpbmF0aW9uLXRleHQ6IHZhcigtLWNvbG9yLXZhbGhhbGxhKTtcbiAgLS1jb2xvci1wYWdpbmF0aW9uLWJhY2tncm91bmQtaG92ZXI6IHZhcigtLWNvbG9yLXZhbGhhbGxhKTtcbiAgLS1jb2xvci1wYWdpbmF0aW9uLWJvcmRlci1ob3ZlcjogdmFyKC0tY29sb3ItdmFsaGFsbGEpO1xuICAtLWNvbG9yLXBhZ2luYXRpb24tdGV4dC1ob3ZlcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLXBhZ2luYXRpb24tYmFja2dyb3VuZC1jdXJyZW50OiB2YXIoLS1jb2xvci12YWxoYWxsYSk7XG4gIC0tY29sb3ItcGFnaW5hdGlvbi1ib3JkZXItY3VycmVudDogdmFyKC0tY29sb3ItdmFsaGFsbGEpO1xuICAtLWNvbG9yLXBhZ2luYXRpb24tdGV4dC1jdXJyZW50OiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIC0tY29sb3Itc3VjY2VzczogIzhlZDE4NTtcbiAgLS1jb2xvci10b3AtYXJyb3ctZGFyazogdmFyKC0tY29sb3ItYmxhY2spO1xuICAtLWNvbG9yLXRvcC1hcnJvdy1saWdodDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLXdhcm5pbmc6ICNmNGFhNzE7XG59XG4iLCIvLyBMYXlvdXQgd2lkdGhzXG4kd2lkdGgtbWF4LWxheW91dDogMTAwJTtcbiR3aWR0aC1tYXgtYXJ0aWNsZTogODAwcHg7XG4kd2lkdGgtZ3JpZC1iYXNlOiAxMjAwcHg7XG5cbi8vIFRoaXMgaXMgdGhlIGJyZWFrcG9pbnQgbmF2aWdhdGlvbiB0cmFuc2Zvcm1zIGludG8gbW9iaWxlIG1lbnVcbi8vIE5CISBJTVBPUlRBTlQhIFJlbWVtYmVyIHRvIGNoYW5nZSBpbiBqcy9zcmMvbmF2aWdhdGlvbi5qczpcbi8vIGNvbnN0IHJlc3BvbnNpdmVuYXYgPSA5NjA7XG4vLyBJZiB0aGVzZSBhcmUgbm90IHRoZSBzYW1lLCBuYXZpZ2F0aW9uIHRvZ2dsZXMgd2lsbCBub3Qgd29yayBwcm9wZXJseS5cbiR3aWR0aC1tYXgtbW9iaWxlOiA5NjBweDtcblxuLy8gQnJlYWtwb2ludHMgZm9yIGNvbW50YWluZXJzXG4kY29udGFpbmVyLW1vYmlsZTogNDgwcHg7XG4kY29udGFpbmVyLWlwYWQ6IDc3MHB4O1xuJGNvbnRhaW5lci1pcGFkLWxhbmRzY2FwZTogMTAyNHB4O1xuJGNvbnRhaW5lci1kZXNrdG9wOiAxMjAwcHg7XG4iLCIvLyBDU1MgVmFyaWFibGVzIGZvciByZXNwb25zaXZlIHBhZGRpbmdzIGFuZCBtYXJnaW5zXG46cm9vdCB7XG4gIC8vIFBhZGRpbmdzXG4gIC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbDogMnJlbTtcbiAgLS1wYWRkaW5nLWNvbnRhaW5lci12ZXJ0aWNhbDogNi40cmVtO1xuICAtLXBhZGRpbmctc2l0ZS1oZWFkZXItdmVydGljYWw6IDJyZW07XG4gIC0tcGFkZGluZy1ibG9jazogOHJlbTtcblxuICAvLyBNYXJnaW5zXG4gIC0tbWFyZ2luLWJldHdlZW4tdGV4dC1lbGVtZW50czogNHJlbTtcbiAgLS1tYXJnaW4td3AtYmxvY2staW1hZ2U6IDRyZW07XG4gIC0tbWFyZ2luLWJldHdlZW4tcGFyYWdyYXBoczogMi43cmVtO1xuXG4gIC8vIE1pZC1zaXplZCBzY3JlZW5zXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlICsgMTUwcHgpIHtcbiAgICAtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWw6IDJyZW07XG4gIH1cblxuICAvLyBXaGVuIG5hdmlnYXRpb24gdHJhbnNmb3JtcyB0byBhIHJlc3BvbnNpdmUgaGFtYnVyZ2VyIG1lbnVcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aC1tYXgtbW9iaWxlKSB7XG4gICAgLS1wYWRkaW5nLXNpdGUtaGVhZGVyLXZlcnRpY2FsOiAycmVtO1xuICB9XG5cbiAgLy8gaVBhZFxuICBAbWVkaWEgKG1heC13aWR0aDogJGNvbnRhaW5lci1pcGFkKSB7XG4gICAgLS1wYWRkaW5nLWNvbnRhaW5lci12ZXJ0aWNhbDogNXJlbTtcbiAgfVxuXG4gIC8vIEJldHdlZW4gaVBhZCBhbmQgYSBtb2JpbGUgcGhvbmVcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLS1wYWRkaW5nLWJsb2NrOiA2cmVtO1xuICB9XG5cbiAgLy8gVmFycyBpbiBtb2JpbGVcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRjb250YWluZXItbW9iaWxlKSB7XG4gICAgLS1wYWRkaW5nLWNvbnRhaW5lci12ZXJ0aWNhbDogNHJlbTtcbiAgfVxufVxuIiwiLy8gU2VsZi1ob3N0ZWQgZm9udHNcbi8vIFJlbWVtYmVyIHRvIGFkZCB0aGVzZSBhbHNvIHRvIGd1dGVuYmVyZy92YXJpYWJsZXMvX2ZvbnQtZmFtaWx5LnNjc3Ncbi8vIHdpdGggY29ycmVjdCBwYXRoc1xuQGluY2x1ZGUgZm9udEZhY2UoJ0ludGVyJywgJy4uLy4uL2ZvbnRzL0ludGVyLVJlZ3VsYXInLCA0MDApO1xuQGluY2x1ZGUgZm9udEZhY2UoJ0ludGVyJywgJy4uLy4uL2ZvbnRzL0ludGVyLUl0YWxpYycsIDQwMCwgaXRhbGljKTtcbkBpbmNsdWRlIGZvbnRGYWNlKCdJbnRlcicsICcuLi8uLi9mb250cy9JbnRlci1Cb2xkJywgNzAwKTtcbiIsIi8vIEZvbnQgZmFtaWx5IHNldHRpbmdzXG4vLyBZb3UgY2FuIGRlZmluZSB5b3VyIG93biBmb250IGZhbWlsaWVzIGhlcmUsIGxpa2UgLS1mb250LWJhcmxvd1xuLy8gYW5kIHRoZW4gYXR0YWNoIHRoZW0gdG8gZWxlbWVudHM6IC0tZm9udC1wYXJhZ3JhcGg6IHZhcigtLWZvbnQtYmFybG93KVxuOnJvb3Qge1xuICAtLWZvbnQtc2VyaWY6IHNhbnMtc2VyaWY7XG4gIC0tZm9udC1zYW5zOiAnSW50ZXInLCAtYXBwbGUtc3lzdGVtLCAnQmxpbmtNYWNTeXN0ZW1Gb250JywgJ1NlZ29lIFVJJywgJ1JvYm90bycsICdPeHlnZW4tU2FucycsICdVYnVudHUnLCAnQ2FudGFyZWxsJywgJ0hlbHZldGljYSBOZXVlJywgc2Fucy1zZXJpZjtcbiAgLS1mb250LW1vbm9zcGFjZTogJ0luY29uc29sYXRhJywgJ01lbmxvJywgJ01vbmFjbycsICdDb25zb2xhcycsICdBbmRhbGUgTW9ubycsICdCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8nLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7XG5cbiAgLy8gRm9udHMgaW4gdXNlIGZvciBjb250ZW50XG4gIC0tZm9udC1wYXJhZ3JhcGg6IHZhcigtLWZvbnQtc2Fucyk7XG4gIC0tZm9udC1oZWFkaW5nOiB2YXIoLS1mb250LXNhbnMpO1xufVxuIiwiLy8gQ1NTIFZhcmlhYmxlcyBmb3IgcmVzcG9uc2l2ZSBmb250c1xuOnJvb3Qge1xuICAvLyBIZWFkaW5nIGZvbnQgc2l6ZXNcbiAgLS1mb250LXNpemUtaGVybzogNTJweDtcbiAgLS1mb250LXNpemUtaDE6IDQwcHg7XG4gIC0tZm9udC1zaXplLWgyOiAzMHB4O1xuICAtLWZvbnQtc2l6ZS1oMzogMjRweDtcbiAgLS1mb250LXNpemUtaDQ6IDIwcHg7XG4gIC0tZm9udC1zaXplLWg1OiAxNnB4O1xuICAtLWZvbnQtc2l6ZS1oNjogMTRweDtcblxuICAvLyBIZWFkaW5nIGZvbnQgc2l6ZXMgaW4gbW9iaWxlXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgIC0tZm9udC1zaXplLWhlcm86IDM4cHg7XG4gICAgLS1mb250LXNpemUtaDE6IDMycHg7XG4gICAgLS1mb250LXNpemUtaDI6IDI0cHg7XG4gICAgLS1mb250LXNpemUtaDM6IDIxcHg7XG4gICAgLS1mb250LXNpemUtaDQ6IDE4cHg7XG4gICAgLS1mb250LXNpemUtaDU6IDE0cHg7XG4gICAgLS1mb250LXNpemUtaDY6IDEycHg7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGggZm9udCBzaXplc1xuICAtLWZvbnQtc2l6ZS0xNDogMTRweDtcbiAgLS1mb250LXNpemUtMTU6IDE1cHg7XG4gIC0tZm9udC1zaXplLTE2OiAxNnB4O1xuICAtLWZvbnQtc2l6ZS0xNzogMTdweDtcbiAgLS1mb250LXNpemUtMTg6IDE4cHg7XG4gIC0tZm9udC1zaXplLTIwOiAyMHB4O1xuICAtLWZvbnQtc2l6ZS0yMjogMjJweDtcblxuICAvLyBQYXJhZ3JhcGggZm9udCBzaXplcyBpbiB0aW55IHBob25lcyBsaWtlIGlQaG9uZSA1U1xuICBAbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICAtLWZvbnQtc2l6ZS0xNjogMTRweDtcbiAgfVxuXG4gIC8vIEVsZW1lbnQgZm9udCBzaXplc1xuICAtLWZvbnQtc2l6ZS1kZWZhdWx0OiB2YXIoLS1mb250LXNpemUtMTcpO1xuICAtLWZvbnQtc2l6ZS1wYXJhZ3JhcGhzOiB2YXIoLS1mb250LXNpemUtMTgpO1xuICAtLWZvbnQtc2l6ZS1uYXYtdG9nZ2xlLWxhYmVsOiAxNXB4O1xuICAtLWZvbnQtc2l6ZS1jYXB0aW9uczogMTVweDtcblxuICAvLyBFbGVtZW50IGZvbnQgc2l6ZXMgaW4gbW9iaWxlXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgIC0tZm9udC1zaXplLXBhcmFncmFwaHM6IDE2cHg7XG4gICAgLS1mb250LXNpemUtZGVmYXVsdDogMTZweDtcbiAgfVxuXG4gIC8vIEVsZW1lbnQgZm9udCBzaXplcyBpbiB0aW55IHBob25lcyBsaWtlIGlQaG9uZSA1U1xuICBAbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICAtLWZvbnQtc2l6ZS1uYXYtdG9nZ2xlLWxhYmVsOiAxM3B4O1xuICB9XG5cbiAgLy8gTGluZS1oZWlnaHRzXG4gIC0tbGluZS1oZWlnaHQtaGVhZGluZ3M6IDEuNTtcbiAgLS1saW5lLWhlaWdodC1jb3JlLWhlYWRpbmc6IDEuMjM7XG4gIC0tbGluZS1oZWlnaHQtcGFyYWdyYXBoczogMS43O1xuICAtLWxpbmUtaGVpZ2h0LXBhcmFncmFwaHMtYmxvZzogMS43NztcblxuICAvLyBGb250IHdlaWdodHNcbiAgLS1mb250LXdlaWdodC1yZWd1bGFyOiA0MDA7XG4gIC0tZm9udC13ZWlnaHQtbWVkaXVtOiA1MDA7XG4gIC0tZm9udC13ZWlnaHQtc2VtaWJvbGQ6IDYwMDtcbiAgLS1mb250LXdlaWdodC1ib2xkOiA3MDA7XG4gIC0tZm9udC13ZWlnaHQtcGFyYWdyYXBoczogdmFyKC0tZm9udC13ZWlnaHQtcmVndWxhcik7XG4gIC0tZm9udC13ZWlnaHQtaGVhZGluZ3M6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuIiwiLy8gTGlzdCBvZiBjb21wb25lbnRzIGluIHVzZVxuQGltcG9ydCAnYnV0dG9uJztcbkBpbXBvcnQgJ2J1dHRvbi1zaXplLXNtYWxsJztcbkBpbXBvcnQgJ2J1dHRvbi1zaXplLWxhcmdlJztcbkBpbXBvcnQgJ2J1dHRvbi1zdHlsZS1naG9zdCc7XG5AaW1wb3J0ICdoZWFkaW5nLWhlcm8nO1xuQGltcG9ydCAnbGluayc7XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBudW1iZXItbWF4LXByZWNpc2lvbiAqL1xuQG1peGluIGJ1dHRvbigkbWF4LXdpZHRoOiAyMzBweCwgJGNvbG9yOiB2YXIoLS1jb2xvci1idXR0b24pLCAkaG92ZXI6IHZhcigtLWNvbG9yLWJ1dHRvbi1ob3ZlciksICRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1idXR0b24tYmFja2dyb3VuZCksICRiYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1jb2xvci1idXR0b24tYmFja2dyb3VuZC1ob3ZlciksICRyYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtaW5wdXQtZmllbGQpLCAkYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpIHNvbGlkIHZhcigtLWNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kKSwgJGJvcmRlci1ob3ZlcjogdmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSBzb2xpZCAkYmFja2dyb3VuZC1ob3ZlciwgJHdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpLCAkYXJyb3c6IGZhbHNlLCAkdHJhbnNpdGlvbjogYWxsIC4wOHMgY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCkpIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXBhcmFncmFwaCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE2KTtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxOS42MzY0cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMTRweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDIxcHggLSBjYWxjKHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgKiAyKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMjFweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcGFkZGluZy10b3A6IGNhbGMoMTRweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IGF1dG87XG5cbiAgLy8gQnV0dG9ucyB1c3VhbGx5IGFscmVhZHkgaGF2ZSBhcnJvd3NcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbiAgJi5pcy1leHRlcm5hbC1saW5rOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbiAgLy8gQXJyb3cgaWNvblxuICBAaWYgJGFycm93IHtcbiAgICBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgfVxuICB9XG5cbiAgJi5mb2N1cyxcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgYm9yZGVyOiAkYm9yZGVyLWhvdmVyO1xuICAgIGNvbG9yOiAkaG92ZXI7XG4gIH1cbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIG51bWJlci1tYXgtcHJlY2lzaW9uICovXG5AbWl4aW4gYnV0dG9uLXNpemUtc21hbGwoKSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE2KTtcbiAgbGluZS1oZWlnaHQ6IDIwLjkwOTFweDtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMTBweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDIxcHggLSBjYWxjKHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgKiAyKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMjFweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcGFkZGluZy10b3A6IGNhbGMoMTBweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIG51bWJlci1tYXgtcHJlY2lzaW9uICovXG5AbWl4aW4gYnV0dG9uLXNpemUtbGFyZ2UoKSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE4KTtcbiAgbGluZS1oZWlnaHQ6IDIzLjA5MDlweDtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMTdweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDIxcHggLSBjYWxjKHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgKiAyKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMjFweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcGFkZGluZy10b3A6IGNhbGMoMTdweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbn1cbiIsIkBtaXhpbiBidXR0b24tc3R5bGUtZ2hvc3QoJGJhY2tncm91bmQ6IHRyYW5zcGFyZW50LCAkYmFja2dyb3VuZC1ob3ZlcjogdmFyKC0tY29sb3ItYnV0dG9uLWJhY2tncm91bmQpLCAkY29sb3I6IHZhcigtLWNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kKSwgJGhvdmVyOiB2YXIoLS1jb2xvci13aGl0ZSksICRyYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtaW5wdXQtZmllbGQpLCAkYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpIHNvbGlkIHZhcigtLWNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kKSwgJHRyYW5zaXRpb246IGFsbCAuMDhzIGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuXG4gICYuZm9jdXMsXG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRob3ZlcjtcbiAgfVxufVxuIiwiQG1peGluIGhlYWRpbmctaGVybygpIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaGVybyk7XG59XG5cbi5oZWFkaW5nLWhlcm8ge1xuICBAaW5jbHVkZSBoZWFkaW5nLWhlcm8oKTtcbn1cbiIsIi8vIExpbmtzIHdpdGhpbiBjb250ZW50IG11c3QgYmUgdmlzdWFsbHkgdW5kZXJsaW5lZFxuLy8gQGxpbmsgaHR0cHM6Ly9tYWtlLndvcmRwcmVzcy5vcmcvdGhlbWVzL2hhbmRib29rL3Jldmlldy9hY2Nlc3NpYmlsaXR5L3JlcXVpcmVkLyNjb250ZW50LWxpbmtzXG5AbWl4aW4gbGluaygpIHtcbiAgLy8gQ3JlYXRlIHlvdXIgb3duIGRlZmF1bHQgY29udGVudCBsaW5rIHN0eWxlcyBoZXJlXG4gIC8vIGZvciBwYWdlcyBhbmQgR3V0ZW5iZXJnXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1saW5rLWJvcmRlci1ib3R0b20pO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCB2YXIoLS1jb2xvci1saW5rLWJhY2tncm91bmQtaG92ZXIpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItbGluay10ZXh0KTtcbiAgZGlzcGxheTogaW5saW5lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgLjFzIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSksIGNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjE5LCAxLCAuMjIsIDEpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL3N2Zy9leHRlcm5hbC1saW5rLXN0eWxlZC1saW5rcy5zdmcnKTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMy4zcmVtIDAgdmFyKC0tY29sb3ItbGluay1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay10ZXh0LWhvdmVyKTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vc3ZnL2V4dGVybmFsLWxpbmstd2hpdGUuc3ZnJyk7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWJvcmRlci1mb2N1cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstdGV4dC1mb2N1cyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9zdmcvZXh0ZXJuYWwtbGluay1ibGFjay5zdmcnKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEFjY2Vzc2liaWxpdHlcbi8vXG4vLyBBIGhpZGRlbiBzY3JlZW4gcmVhZGVyIGZvciByZWFkZXJzLCBmb2N1cyBlbGVtZW50cyBmb3Jcbi8vIHZpc2lvbiBpbXBhaXJlZCBhbmQgb3RoZXIgdXNlZnVsIGExMXkgQ1NTIGhhY2tzLlxuXG4vLyBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLlxuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi9cbiAgd29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDsgLy8gTWFueSBzY3JlZW4gcmVhZGVyIGFuZCBicm93c2VyIGNvbWJpbmF0aW9ucyBhbm5vdW5jZSBicm9rZW4gd29yZHMgYXMgdGhleSB3b3VsZCBhcHBlYXIgdmlzdWFsbHkuXG4gIC8qIHN0eWxlbGludC1lbmFibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovXG5cbiAgJi5za2lwLWxpbmsge1xuICAgIG1hcmdpbjogNXB4O1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMjIsIDIyLCAyMiwgLjYpO1xuICAgIGNsaXA6IGF1dG87XG4gICAgY2xpcC1wYXRoOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRvcDogNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHotaW5kZXg6IDEwMDAwMDsgLy8gQWJvdmUgV1AgdG9vbGJhci5cbiAgfVxufVxuXG4vLyBTdXBwcmVzcyBmb2N1cyByaW5nIG9uIGZvciBtb3VzZSBhbmQgdG91Y2ggdXNlcnMgZm9yIHZpc3VhbCByZWFzb25zXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBhMTF5L25vLW91dGxpbmUtbm9uZSAqL1xuW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdICo6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSBhMTF5L25vLW91dGxpbmUtbm9uZSAqL1xuXG4vLyBWaXN1YWxseSBkaXN0aW5jdCBmb2N1cyBjb2xvciBvbiBrZXlib2FyZFxuW2RhdGEtd2hhdGlucHV0PVwia2V5Ym9hcmRcIl0ge1xuICBhOmZvY3VzLFxuICBpbnB1dDpmb2N1cyxcbiAgYnV0dG9uOmZvY3VzLFxuICBzZWxlY3Q6Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzLFxuICBkaXZbdGFiaW5kZXhdOmZvY3VzIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmdsb2JhbC1saW5rIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gQSBiaXQgYmV0dGVyIGZvY3VzIGZvciBsYXJnZSBlbGVtZW50c1xuICBhLmdsb2JhbC1saW5rOmZvY3VzIHtcbiAgICBvdXRsaW5lLWNvbG9yOiB2YXIoLS1jb2xvci1vdXRsaW5lLW92ZXJsYXktaXRlbXMpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICAgIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICAgIG91dGxpbmUtd2lkdGg6IDRweDtcbiAgfVxufVxuXG4vLyBBZGQgaWNvbiB0byBleHRlcm5hbCBsaW5rc1xuYS5pcy1leHRlcm5hbC1saW5rIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9zdmcvZXh0ZXJuYWwtbGluay5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHggMTRweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMThzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAxNHB4O1xuICB9XG59XG5cbi8vIERvIG5vdCB1c2UgZXh0ZXJuYWwgbGlua3MgaW5kaWNhdG9ycyBpbiBhcmVhcyB0aGF0IHRoZXkgZG9uJ3QgbG9vayBnb29kIG9yIGZpdFxuLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbmEuaXMtZXh0ZXJuYWwtbGluay5nbG9iYWwtbGluazo6YWZ0ZXIsXG5hLmlzLWV4dGVybmFsLWxpbmsubm8tZXh0ZXJuYWwtbGluay1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cblxuLy8gQWNjZXNzaWJpbGl0eTogRGlzYWJsZSBhbmltYXRpb24gaWYgcmVkdWNlIG1vdGlvbiBpcyBlbmFibGVkXG5AbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSwgKHVwZGF0ZTogc2xvdykge1xuICAvLyBZb3VyIGFuaW1hdGlvbnMgaGVyZVxufVxuXG4vLyBEZWZpbmUgaGVyZSB0aGUgdXBzZWxsIGJsb2NrcyB0aGF0IGhhdmUgb3ZlcmxheSBsaW5rIGFyZWFzXG4vLyBpbnNpZGUgdGhlbVxuLy8gVGhlc2Ugc2hvdWxkIGFsd2F5cyBoYXZlIG92ZXJmbG93IHZpc2libGUsIGJlY2F1c2Ugb3RoZXJ3aXNlXG4vLyB0aGUgb3V0bGluZSB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgdGhlIGVsZW1lbnRcbi8vIC5ibG9jay5ibG9jay10aHJlZS11cHNlbGxzIC5jb250YWluZXIsXG4vLyBib2R5IC5ibG9jayAuY29udGFpbmVyIC5jb2wge1xuLy8gICBvdmVyZmxvdzogdmlzaWJsZTtcbi8vIH1cbiIsIi8vIFNpdGUgbmF2aWdhdGlvbiBkZXNrdG9wIGxheW91dFxuLy8gVGhlIG1haW4gbGF5b3V0IGZvciB0aGUgd2Vic2l0ZSBuYXZpZ2F0aW9uLCBmb3IgYSBkZXNrdG9wIGRldmljZXMgb25seS5cblxuLy8gU2V0dGluZ3NcbiRhYnNvbHV0ZS1uYXZpZ2F0aW9uOiB0cnVlO1xuJHVzZS1kcm9wZG93bi1idWJibGU6IHRydWU7XG4kdXNlLWRyb3Bkb3duLXRvZ2dsZS1hbmltYXRpb246IHRydWU7XG5cbi8vIENTUyB2YXJpYWJsZXNcbi8vIFRoZXNlIGNhbiBiZSBhZGp1c3RlZCB3aXRoIG1lZGlhIHF1ZXJpZXMgZm9yIGluLWJldHdlZW4gYnJlYWtwb2ludHNcbjpyb290IHtcbiAgLy8gRGltZW5zaW9ucywgZ2FwcyBhbmQgc3BhY2luZ3NcbiAgLS1ib3JkZXItcmFkaXVzLXN1Yi1tZW51OiAwO1xuICAtLWJveC1zaGFkb3ctbmF2aWdhdGlvbi1zdGF0aWM6IDAgMCAxMHB4IHJnYmEoODQsIDg3LCAxMTUsIC4xKTtcbiAgLS1kcm9wZG93bi10b2dnbGUtc2l6ZTogMTJweDtcbiAgLS1nYXAtZHJvcGRvd246IDFyZW07XG4gIC0tZ2FwLWJldHdlZW4tZHJvcGRvd24tdG9nZ2xlOiAxLjVyZW07XG4gIC0tcGFkZGluZy1tYWluLWxldmVsLXZlcnRpY2FsOiAuNnJlbTtcbiAgLS1wYWRkaW5nLW1haW4tbGV2ZWwtaG9yaXpvbnRhbDogMnJlbTtcbiAgLS1wYWRkaW5nLXN1Yi1tZW51LXZlcnRpY2FsOiAuNnJlbTtcbiAgLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWw6IDEuNXJlbTtcbiAgLS13aWR0aC1zdWItbWVudTogMjJyZW07XG5cbiAgLy8gQ29sb3JzXG4gIC0tY29sb3ItYmFja2dyb3VuZC1uYXYtZGVza3RvcDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLWJhY2tncm91bmQtc3ViLW1lbnU6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1ib3JkZXItc3ViLW1lbnU6IHJnYmEoNDEsIDQ0LCA2MSwgLjA1KTtcbiAgLS1jb2xvci1kcm9wZG93bi10b2dnbGU6IHZhcigtLWNvbG9yLXZhbGhhbGxhKTtcbiAgLS1jb2xvci1zdWItbWVudTogdmFyKC0tY29sb3ItdmFsaGFsbGEpO1xuICAtLWNvbG9yLWhvdmVyLW1haW4tbGV2ZWw6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1ob3Zlci1zdWItbWVudTogdmFyKC0tY29sb3ItdmFsaGFsbGEpO1xuICAtLWNvbG9yLW1haW4tbGV2ZWw6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1jdXJyZW50OiB2YXIoLS1jb2xvci1tYWluKTtcblxuICAvLyBGb250IHN0eWxlc1xuICAtLWZvbnQtc2l6ZS1tYWluLWxldmVsOiAxN3B4O1xuICAtLWZvbnQtc2l6ZS1zdWItbWVudTogMTZweDtcbiAgLS1mb250LXdlaWdodC1tYWluLWxldmVsOiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgLS1mb250LXdlaWdodC1zdWItbWVudTogdmFyKC0tZm9udC13ZWlnaHQtcmVndWxhcik7XG59XG5cbi8vIEdlbmVyYWwgbmF2aWdhdGlvbiByZXNldHNcbi5zaXRlLWhlYWRlciB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZHRoLW1heC1tb2JpbGUpIHtcbiAgLm5hdi1jb250YWluZXIge1xuICAgIEBpZiAkYWJzb2x1dGUtbmF2aWdhdGlvbiA9PSBmYWxzZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLW5hdi1kZXNrdG9wKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWJveC1zaGFkb3ctbmF2aWdhdGlvbi1zdGF0aWMpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjIyO1xuICAgIH1cblxuICAgIEBpZiAkYWJzb2x1dGUtbmF2aWdhdGlvbiA9PSB0cnVlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkd2lkdGgtbWF4LW1vYmlsZSkge1xuICAgIHVsIGxpOmZvY3VzID4gdWwsXG4gICAgdWwgbGk6aG92ZXIgPiB1bCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlIGFuaW1hdGlvbnMgb24gSUUxMCArIElFMTFcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAvLyBFbmFibGUgaG92ZXJzXG4gICAgdWwgbGk6Zm9jdXMgPiB1bCxcbiAgICB1bCBsaTpob3ZlciA+IHVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5lZWQgdG8gdXNlIGRpc3BsYXk6IG5vbmUgaGVyZSB0byBtYWtlIHN1cmUgbW9iaWxlIG5hdi10b2dnbGUgaXMgdmlzdWFsbHkgaGlkZGVuIG9uIGRlc2t0b3BcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbiAgLm5hdi10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG4gIC8vIE5hdmlnYXRpb24gd3JhcHBlclxuICAubmF2LXByaW1hcnkge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG5cbiAgLy8gTmF2aWdhdGlvbiB1bm9yZGVyZWQgbGlzdCB3cmFwcGVyIGVsZW1lbnRcbiAgLm1lbnUtaXRlbXMge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAvLyBOYXZpZ2F0aW9uIGxpc3QgaXRlbVxuICAubWVudS1pdGVtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLy8gTWVudSBpdGVtc1xuICAubWVudS1pdGVtID4gYSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi1sZXZlbCk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWFpbi1sZXZlbCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1haW4tbGV2ZWwpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1wYWRkaW5nLW1haW4tbGV2ZWwtdmVydGljYWwpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1tYWluLWxldmVsLWhvcml6b250YWwpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZGRpbmctbWFpbi1sZXZlbC1ob3Jpem9udGFsKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkZGluZy1tYWluLWxldmVsLXZlcnRpY2FsKTtcbiAgfVxuXG4gIC5tZW51LWl0ZW0gLnN1Yi1tZW51IGEge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1Yi1tZW51KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXN1Yi1tZW51KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc3ViLW1lbnUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXBhZGRpbmctc3ViLW1lbnUtdmVydGljYWwpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1zdWItbWVudS1ob3Jpem9udGFsKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWwpO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LXZlcnRpY2FsKTtcbiAgfVxuXG4gIC8vIEN1cnJlbnQgbWVudSBpdGVtIGNvbG9yXG4gIC5tZW51LWl0ZW0uY3VycmVudC1tZW51LXBhcmVudCA+IGEsXG4gIC5tZW51LWl0ZW0uY3VycmVudC1tZW51LWl0ZW0gPiBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItY3VycmVudCk7XG4gIH1cblxuICAvLyBMZXQncyBtYWtlIHNwYWNlIGZvciB0aGUgbmF2LXRvZ2dsZS9hcnJvd1xuICAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gYSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLWJldHdlZW4tZHJvcGRvd24tdG9nZ2xlKTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIC4ycyBjdWJpYy1iZXppZXIoLjE5LCAxLCAuMjIsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjE5LCAxLCAuMjIsIDEpO1xuICB9XG5cbiAgLm1lbnUtaXRlbSA+IGE6aG92ZXIsXG4gIC5tZW51LWl0ZW0gPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaG92ZXItbWFpbi1sZXZlbCk7XG4gIH1cblxuICAubWVudS1pdGVtIC5zdWItbWVudSBhOmhvdmVyLFxuICAubWVudS1pdGVtIC5zdWItbWVudSBhOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaG92ZXItc3ViLW1lbnUpO1xuICB9XG5cbiAgLy8gQ3JlYXRlIGFuaW1hdGlvbiBpbGx1c2lvblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG4gIC5zdWItbWVudS50b2dnbGVkLW9uIGEsXG4gIC5zdWItbWVudS50b2dnbGVkLW9uIC5zdWItbWVudSBhLFxuICAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgLnN1Yi1tZW51IGEsXG4gIC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpmb2N1cyAuc3ViLW1lbnUgYSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXBhZGRpbmctc3ViLW1lbnUtdmVydGljYWwpO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LXZlcnRpY2FsKTtcbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbiAgLm5hdi1wcmltYXJ5ID4gdWw6Zmlyc3Qtb2YtdHlwZSA+IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmZvY3VzOjpiZWZvcmUsXG4gIC5uYXYtcHJpbWFyeSA+IHVsOmZpcnN0LW9mLXR5cGUgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3Zlcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKTtcbiAgfVxuXG4gIC8vIERyb3Bkb3duc1xuICAuc3ViLW1lbnUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtc3ViLW1lbnUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3ViLW1lbnUpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc3ViLW1lbnUpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXN1Yi1tZW51KTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWItbWVudSk7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1Yi1tZW51KTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXN1Yi1tZW51KTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zdWItbWVudSk7XG4gICAgYm94LXNoYWRvdzogMCAyNXB4IDIwcHggLTEwcHggcmdiYSg1LCA0LCAyNSwgLjA1KTtcbiAgICBsZWZ0OiA1JTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1nYXAtZHJvcGRvd24pO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXRvcDogLjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTk5OTlweDtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIC4ycyBjdWJpYy1iZXppZXIoLjE5LCAxLCAuMjIsIDEpO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB3aWR0aDogdmFyKC0td2lkdGgtc3ViLW1lbnUpO1xuICAgIHotaW5kZXg6IDk7XG5cbiAgICAvLyBBbGwgZHJvcGRvd25zIGluIGxldmVsIDIgYW5kIGFmdGVyXG4gICAgLnN1Yi1tZW51IHtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IHZhcigtLXdpZHRoLXN1Yi1tZW51KTtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIGlzIHdoZXJlIHRoZSBtYWdpYyBoYXBwZW5zXG4gIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gLnN1Yi1tZW51LnRvZ2dsZWQtb24sXG4gIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmZvY3VzID4gLnN1Yi1tZW51LFxuICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlciA+IC5zdWItbWVudSB7XG4gICAgLy8gSWYgeW91IHdhbnQgdG8gdXNlIFwib3V0XCItYW5pbWF0aW9uLCBhZGQgdGhpczpcbiAgICAvLyAubWVudS1pdGVtLWhhcy1jaGlsZHJlbi5ob3Zlci1pbnRlbnQgPiAuc3ViLW1lbnUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdG9wOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLnN1Yi1tZW51LnRvZ2dsZWQtb24gLnN1Yi1tZW51LFxuICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuc3ViLW1lbnUgLnN1Yi1tZW51LnRvZ2dsZWQtb24sXG4gIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmZvY3VzIC5zdWItbWVudSAuc3ViLW1lbnUsXG4gIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyIC5zdWItbWVudSAuc3ViLW1lbnUge1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG5cbiAgLy8gU3ViIG1lbnUgaXRlbXMgdGhhdCBoYXZlIGl0ZW1zIHVuZGVyIHRoZW1cbiAgLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi1yaWdodDogLjhyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gQWRkIGEgcHNldWRvIGVsZW1lbnQgdG8gZmlsbCB0aGUgZ2FwXG4gICAgLy8gYmV0d2VlbiBtZW51IGl0ZW0gYW5kIHN1YiBtZW51IHRvIGhlbHAgaG92ZXJpbmdcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1nYXAtZHJvcGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLy8gVG9nZ2xlIGljb24gZGltZW5zaW9ucyBvbiBkZXNrdG9wXG4gIC5kcm9wZG93bi10b2dnbGUgc3ZnIHtcbiAgICBoZWlnaHQ6IHZhcigtLWRyb3Bkb3duLXRvZ2dsZS1zaXplKTtcbiAgICB3aWR0aDogdmFyKC0tZHJvcGRvd24tdG9nZ2xlLXNpemUpO1xuXG4gICAgQGlmICR1c2UtZHJvcGRvd24tdG9nZ2xlLWFuaW1hdGlvbiA9PSB0cnVlIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMzVzIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFpbiBsZXZlbCB0b2dnbGUgaWNvblxuICAuZHJvcGRvd24tdG9nZ2xlLnRvZ2dsZWQtb24gc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kcm9wZG93bi10b2dnbGUpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBTdWItbWVudSB0b2dnbGUgaWNvblxuICAuc3ViLW1lbnUgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgd2lkdGg6IDNyZW07XG4gIH1cblxuICAuc3ViLW1lbnUgLmRyb3Bkb3duLXRvZ2dsZSBzdmcge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgcm90YXRlWCgwZGVnKTtcbiAgfVxuXG4gIC5zdWItbWVudSAuZHJvcGRvd24tdG9nZ2xlLnRvZ2dsZWQtb24gc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHJvdGF0ZVgoMTgwZGVnKTtcbiAgfVxuXG4gIC8vIFNtb290aCBhbmltYXRpb25cbiAgQGlmICR1c2UtZHJvcGRvd24tdG9nZ2xlLWFuaW1hdGlvbiA9PSB0cnVlIHtcbiAgICAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiAuZHJvcGRvd24tdG9nZ2xlLnRvZ2dsZWQtb24gc3ZnLFxuICAgIC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlciA+IC5kcm9wZG93bi10b2dnbGUgc3ZnLFxuICAgIC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpmb2N1cyA+IC5kcm9wZG93bi10b2dnbGUgc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuXG4gICAgLy8gU21vb3RoIGFuaW1hdGlvblxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC1zcGVjaWZpY2l0eSwgc2VsZWN0b3ItbWF4LWNsYXNzICovXG4gICAgLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IC5kcm9wZG93bi10b2dnbGUudG9nZ2xlZC1vbiBzdmcsXG4gICAgLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlciA+IC5kcm9wZG93bi10b2dnbGUgc3ZnLFxuICAgIC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46Zm9jdXMgPiAuZHJvcGRvd24tdG9nZ2xlIHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgfVxuXG4gIC8vIERvbid0IHVzZSBnYXAgZmlsbGVyIGluIHN1YiBtZW51IGl0ZW1zXG4gIC8vIEFjY2VwdGFibGUgdXNlIG9mIGRpc3BsYXk6IG5vbmUgaGVyZSwgZm9yIHZpc3VhbC90ZWNobmljYWwgcHVycG9zZXNcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbiAgLnN1Yi1tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbiAgLy8gRHJvcGRvd24gYnViYmxlXG4gIEBpZiAkdXNlLWRyb3Bkb3duLWJ1YmJsZSA9PSB0cnVlIHtcbiAgICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbjo6YmVmb3JlIHtcbiAgICAgIC8vIFVzZSBvZiBub24tdmFyaWFibGUgaXMgYWNjZXB0YWJsZSBoZXJlIGJlY2F1c2UgYnViYmxlIG5lZWRzIGl0XG4gICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBzaC13YXFhci9kZWNsYXJhdGlvbi11c2UtdmFyaWFibGUgKi9cbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogMCA1cHggNXB4O1xuICAgICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB3aWR0aDogMDtcbiAgICB9XG4gIH1cbn0gLy8gQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkdGgtbWF4LW1vYmlsZSlcbiIsIi8vIFNpdGUgbmF2aWdhdGlvbiBtb2JpbGUgbGF5b3V0XG4vLyBUaGUgbWFpbiBsYXlvdXQgZm9yIHRoZSB3ZWJzaXRlIG5hdmlnYXRpb24sIGZvciB0aGUgbW9iaWxlIHZlcnNpb24gb25seS5cblxuLy8gU2V0dGluZ3NcbiRhYnNvbHV0ZS1uYXZpZ2F0aW9uLW1vYmlsZTogdHJ1ZTtcblxuLy8gU2V0dGluZ3MgZm9yIGpvbnN1aC9oYW1idXJnZXJzXG4vLyBUaGVzZSBuZWVkIHRvIGJlIFNDU1MgdmFyaWFibGVzXG4kaGFtYnVyZ2VyLXBhZGRpbmcteDogMS41cmVtO1xuJGhhbWJ1cmdlci1wYWRkaW5nLXk6IDRyZW07XG4kaGFtYnVyZ2VyLWxheWVyLXdpZHRoOiAzcmVtO1xuJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ6IC4ycmVtO1xuJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nOiAuNXJlbTtcbiRoYW1idXJnZXItbGF5ZXItY29sb3I6IHZhcigtLWNvbG9yLWhhbWJ1cmdlcik7XG4kaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXM6IDA7XG4kaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHk6IC44O1xuJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTVzO1xuJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuJG5hdi1vcGVuLWZyb20tZGlyZWN0aW9uOiB0b3A7XG5cbi8vIENTUyB2YXJpYWJsZXNcbi8vIFRoZXNlIGNhbiBiZSBhZGp1c3RlZCB3aXRoIG1lZGlhIHF1ZXJpZXMgZm9yIGluLWJldHdlZW4gYnJlYWtwb2ludHNcbjpyb290IHtcbiAgLy8gRGltZW5zaW9ucywgZ2FwcyBhbmQgc3BhY2luZ3NcbiAgLS1mb250LXNpemUtbWFpbi1sZXZlbC1tb2JpbGU6IDE3cHg7XG4gIC0tZm9udC1zaXplLXN1Yi1tZW51LW1vYmlsZTogMTdweDtcbiAgLS1mb250LXdlaWdodC1tYWluLWxldmVsLW1vYmlsZTogNjAwO1xuICAtLWZvbnQtd2VpZ2h0LXN1Yi1tZW51LW1vYmlsZTogNjAwO1xuICAtLWRyb3Bkb3duLXRvZ2dsZS1zaXplLW1vYmlsZTogMTJweDtcbiAgLS1oZWlnaHQtbmF2aWdhdGlvbi1tb2JpbGU6IDcycHg7XG4gIC0tbWFyZ2luLWxlZnQtc3ViLW1lbnU6IDJyZW07XG4gIC0tcGFkZGluZy1zdWItbWVudS12ZXJ0aWNhbC1tb2JpbGU6IDEuMnJlbTtcbiAgLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWwtbW9iaWxlOiAyLjVyZW07XG5cbiAgLy8gQ29sb3JzXG4gIC0tY29sb3ItYWN0aXZlLW1haW4tbGV2ZWwtbW9iaWxlOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIC0tY29sb3ItYmFja2dyb3VuZC1uYXYtbW9iaWxlLWhlYWRlcjogdmFyKC0tY29sb3ItbWFpbik7XG4gIC0tY29sb3ItYmFja2dyb3VuZC1uYXYtbW9iaWxlLWxheWVyOiB2YXIoLS1jb2xvci1tYWluKTtcbiAgLS1jb2xvci1jdXJyZW50LW1vYmlsZTogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLWRyb3Bkb3duLXRvZ2dsZS1tb2JpbGU6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1oYW1idXJnZXItYWN0aXZlOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIC0tY29sb3ItaGFtYnVyZ2VyOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIC0tY29sb3ItbWFpbi1sZXZlbC1tb2JpbGU6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1zZXBhcmF0b3ItbmF2LW1vYmlsZTogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMSk7XG4gIC0tY29sb3Itc3ViLW1lbnUtbW9iaWxlOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC44KTtcbn1cblxuLy8gSW5pdCBUYXN0eSBIYW1idXJnZXIgbmF2aWdhdGlvbiB0b2dnbGVcbkBpbXBvcnQgJ2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy9oYW1idXJnZXJzJztcblxuLy8gSW5pdCBoYW1idXJnZXIgYW5pbWF0aW9uXG4vLyBDaG9vc2UgZnJvbSBhbmltYXRpb25zOiBodHRwczovL2pvbnN1aC5jb20vaGFtYnVyZ2Vycy9cbi5oYW1idXJnZXIge1xuICBAZXh0ZW5kIC5oYW1idXJnZXItLWNvbGxhcHNlO1xufVxuXG4vLyBOYXZpZ2F0aW9uIGNvcmUgZnVuY3Rpb25hbGl0eVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkd2lkdGgtbWF4LW1vYmlsZSkge1xuICAvLyBGdW5jdGlvbmFsaXR5IG5lZWRzIGRpc3BsYXk6IG5vbmUgaGVyZSBmb3IgdmlzdWFsIHJlYXNvbnNcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbiAgLmpzIC5tZW51LWl0ZW1zIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkd2lkdGgtbWF4LW1vYmlsZSkge1xuICAuanMgdWwgLnN1Yi1tZW51LnRvZ2dsZWQtb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vIExldCdzIGVuc3VyZSBzaXRlLWhlYWRlciBsb2FkcyBwcm9wZXJseSBhbmQgZG9lc24ndCBsZWF2ZSBlbXB0eSBzcGFjZXNcbkBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtbWF4LW1vYmlsZSkge1xuICAubmF2LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1uYXYtbW9iaWxlLWhlYWRlcik7XG5cbiAgICBAaWYgJGFic29sdXRlLW5hdmlnYXRpb24tbW9iaWxlID09IGZhbHNlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDIyMjtcbiAgICB9XG5cbiAgICBAaWYgJGFic29sdXRlLW5hdmlnYXRpb24tbW9iaWxlID09IHRydWUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJzb2x1dGUtbmF2aWdhdGlvbi1tb2JpbGUgPT0gdHJ1ZSB7XG4gICAgLnNpdGUge1xuICAgICAgcGFkZGluZy10b3A6IHZhcigtLWhlaWdodC1uYXZpZ2F0aW9uLW1vYmlsZSk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1vYmlsZSBzdHlsZXNcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR3aWR0aC1tYXgtbW9iaWxlIC0gMXB4KSB7XG4gIC8vIEdlbmVyYWwgbmF2aWdhdGlvbiByZXNldHMgZm9yIG1vYmlsZVxuICAuc2l0ZS1oZWFkZXIgdWwsXG4gIC5zaXRlLWhlYWRlciBsaSxcbiAgLnNpdGUtaGVhZGVyIGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5tYWluLW5hdmlnYXRpb24td3JhcHBlciB7XG4gICAgb3JkZXI6IDY7XG4gICAgei1pbmRleDogOTk5O1xuICB9XG5cbiAgLy8gVXNlcnMgdGhhdCBkb24ndCBoYXZlIEphdmFzY3JpcHQgZW5hYmxlZFxuICAubm8tanMgLnNpdGUtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLW5hdi1tb2JpbGUtaGVhZGVyKTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG5cbiAgLy8gRGlzYWJsZSBzY3JvbGwgb24gaHRtbCBib2R5IHdoZW4gbWVudSBpcyBvcGVuZWQuXG4gIC5kaXNhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5uYXYtcHJpbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuXG4gIC5tZW51LWl0ZW1zIHtcbiAgICBtYXJnaW46IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBNYWluIGxldmVsIG1vYmlsZSBuYXZpZ2F0aW9uIGxpbmtzXG4gIC5tZW51LWl0ZW0gYSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXNlcGFyYXRvci1uYXYtbW9iaWxlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi1sZXZlbC1tb2JpbGUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1haW4tbGV2ZWwtbW9iaWxlKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWFpbi1sZXZlbC1tb2JpbGUpO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcGFkZGluZy1zdWItbWVudS12ZXJ0aWNhbC1tb2JpbGUpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1zdWItbWVudS1ob3Jpem9udGFsLW1vYmlsZSk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1zdWItbWVudS1ob3Jpem9udGFsLW1vYmlsZSk7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXBhZGRpbmctc3ViLW1lbnUtdmVydGljYWwtbW9iaWxlKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHotaW5kZXg6IDA7XG4gIH1cblxuICAvLyBTdWIgbWVudSBpdGVtc1xuICAuc3ViLW1lbnUgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1Yi1tZW51LW1vYmlsZSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc3ViLW1lbnUtbW9iaWxlKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc3ViLW1lbnUtbW9iaWxlKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGFkZGluZy1zdWItbWVudS1ob3Jpem9udGFsLW1vYmlsZSkgKyB2YXIoLS1tYXJnaW4tbGVmdC1zdWItbWVudSkpO1xuICB9XG5cbiAgLnN1Yi1tZW51IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAuc3ViLW1lbnUgLnN1Yi1tZW51IGEge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWwtbW9iaWxlKSArIHZhcigtLW1hcmdpbi1sZWZ0LXN1Yi1tZW51KSArIHZhcigtLW1hcmdpbi1sZWZ0LXN1Yi1tZW51KSk7XG4gIH1cblxuICAubWVudS1pdGVtIGE6aG92ZXIsXG4gIC5tZW51LWl0ZW0gYTpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjdGl2ZS1tYWluLWxldmVsLW1vYmlsZSk7XG4gIH1cblxuICAvLyBDdXJyZW50IG1lbnUgaXRlbSBjb2xvclxuICAubWVudS1pdGVtLmN1cnJlbnQtbWVudS1wYXJlbnQgPiBhLFxuICAubWVudS1pdGVtLmN1cnJlbnQtbWVudS1pdGVtID4gYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWN1cnJlbnQtbW9iaWxlKTtcbiAgfVxuXG4gIC8vIERyb3Bkb3duIHRvZ2dsZVxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgLy8gQWx0ZXJuYXRpdmUgKyBhbmQgbWludXMgZWZmZWN0XG4gICAgLy8gYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9zdmcvbmF2LW9wZW4uc3ZnJyk7XG4gICAgLy8gYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIC8vIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgLy8gYmFja2dyb3VuZC1zaXplOiB2YXIoLS1kcm9wZG93bi10b2dnbGUtc2l6ZS1tb2JpbGUpIHZhcigtLWRyb3Bkb3duLXRvZ2dsZS1zaXplLW1vYmlsZSk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kcm9wZG93bi10b2dnbGUtbW9iaWxlKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1heC1oZWlnaHQ6IDUycHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcGFkZGluZy1zdWItbWVudS12ZXJ0aWNhbC1tb2JpbGUpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1zdWItbWVudS1ob3Jpem9udGFsLW1vYmlsZSk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1zdWItbWVudS1ob3Jpem9udGFsLW1vYmlsZSk7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXBhZGRpbmctc3ViLW1lbnUtdmVydGljYWwtbW9iaWxlKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAycHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgICB6LWluZGV4OiAxMDAwMDtcbiAgfVxuXG4gIC5zdWItbWVudSAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3ViLW1lbnUtbW9iaWxlKTtcbiAgfVxuXG4gIC8vIEhpZGUgZGVza3RvcCB0b2dnbGVzXG4gIC5kcm9wZG93bi10b2dnbGUgc3ZnIHtcbiAgICBoZWlnaHQ6IHZhcigtLWRyb3Bkb3duLXRvZ2dsZS1zaXplLW1vYmlsZSk7XG4gICAgd2lkdGg6IHZhcigtLWRyb3Bkb3duLXRvZ2dsZS1zaXplLW1vYmlsZSk7XG4gICAgLy8gRW5hYmxlIGZvciBhbHRlcm5hdGl2ZSArIGFuZCBtaW51cyBlZmZlY3RcbiAgICAvLyBOZWVkIHRvIHVzZSBkaXNwbGF5OiBub25lIGhlcmUgdG8gbWFrZSBzdXJlIHRoZXJlIGFyZSB2aXN1YWxseSBubyBkb3VibGUgdG9nZ2xlc1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIGExMXkvbm8tZGlzcGxheS1ub25lICovXG4gICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlLnRvZ2dsZWQtb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgLy8gQWx0ZXJuYXRpdmUgKyBhbmQgbWludXMgZWZmZWN0XG4gICAgLy8gYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9zdmcvbmF2LWNsb3NlLnN2ZycpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgfVxuXG4gIC8vIE1vYmlsZSBuYXZpZ2F0aW9uIGNvcmUgZnVuY3Rpb25hbGl0eVxuICAuanMgLm5hdi1wcmltYXJ5IHtcbiAgICBsZWZ0OiAwO1xuICAgIC8vIEhpZGUgbW9iaWxlIG5hdmlnYXRpb24gYnkgZGVmYXVsdCB3aGlsZSBlbmFibGluZyB1c2Ugb2YgYW5pbWF0aW9uc1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcblxuICAgIC8vIERlZmF1bHQgcG9zaXRpb24sIHNvbWUgYnJvd3NlcnMgbmVlZCB0aGlzXG4gICAgdG9wOiB2YXIoLS1oZWlnaHQtbmF2aWdhdGlvbi1tb2JpbGUpO1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICAubWVudS1pdGVtcyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLW5hdi1tb2JpbGUtbGF5ZXIpO1xuXG4gICAgICAvLyBMZXQncyBrZWVwIHRoZSBjb250ZW50IGFsd2F5cyBmdWxsIGhlaWdodFxuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRW5zdXJlIG5hdiBzdGF5cyBpbiB0aGUgc2FtZSBwb3NpdGlvbiB3aGVuIGFjdGl2YXRlZFxuICAuanMuanMtbmF2LWFjdGl2ZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5uYXYtcHJpbWFyeSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLm1lbnUtaXRlbXMge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGFtYnVyZ2VyIG1lbnUgaWNvbiBzcGVjaWZpY1xuLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcixcbi5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbi5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyLWFjdGl2ZSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXItYWN0aXZlKTtcbn1cblxuLm5hdi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDA7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB6LWluZGV4OiAxMDAwMDA7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICR3aWR0aC1tYXgtbW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIE1vZGVybiBzdHVmZiAoOjphZnRlciBpcyBmaXJzdCBsaW5lLCB3aXRob3V0IDo6YWZ0ZXIgaXMgZmlyc3QpXG4gICY6bm90KC50b2dnbGVkLW9uKSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICB3aWR0aDogMThweDtcbiAgfVxuXG4gICYuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIsXG4gICY6aG92ZXIgLmhhbWJ1cmdlci1pbm5lcixcbiAgJjpmb2N1cyAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXIpO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gIH1cblxuICAmLmlzLWFjdGl2ZSBzcGFuIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyLWFjdGl2ZSk7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhhbWJ1cmdlcik7XG5cbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFsdGVybmF0aXZlIGZvY3VzIGZvciBtb2JpbGUgbmF2XG4gICY6Zm9jdXMge1xuICAgIHNwYW4gc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXIpO1xuICAgIH1cblxuICAgIHNwYW4gc3Bhbjo6YmVmb3JlLFxuICAgIHNwYW4gc3Bhbjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyKTtcbiAgICB9XG4gIH1cblxuICAvLyBXZSBhbHJlYWR5IGhhdmUgYXJpYS1sYWJlbCBmb3IgYnV0dG9uXG4gIC8vIEJ1dCB3ZSB3YW50IHRvIHNob3cgbmF2LXRvZ2dsZSB2aXN1YWxseSBmb3Igc2VlaW5nIHVzZXJzXG4gIC8vIFNvIHdlJ2xsIGFkZCBoYXMtdmlzaWJsZS1sYWJlbCB0byBuYXYtdG9nZ2xlIGluIGhlYWRlci5waHBcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbiAgJjpub3QoLmhhcy12aXNpYmxlLWxhYmVsKSAubmF2LXRvZ2dsZS1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aC1tYXgtbW9iaWxlIC0gMXB4KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmLmhhcy12aXNpYmxlLWxhYmVsIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgICYuaGFzLXZpc2libGUtbGFiZWwgLm5hdi10b2dnbGUtbGFiZWwge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbmF2LXRvZ2dsZS1sYWJlbCk7XG5cbiAgICAgIC8vIEhpZGUgb24gc21hbGxlc3QgcGhvbmVzXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDEwcHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDExcHgpIHtcbiAgICAgICYuaGFzLXZpc2libGUtbGFiZWwgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2VwYXJhdGUgYWN0aXZlIGNvbG9ycyBmb3Igb3BlbmVkIHN0YXRlXG4gICYuaXMtYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyLWFjdGl2ZSk7XG4gIH1cblxuICAmLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWJveCB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXItYWN0aXZlKTtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXItYWN0aXZlKTtcbiAgICB9XG4gIH1cblxuICAmLmlzLWFjdGl2ZSAuZm9jdXMsXG4gICYuaXMtYWN0aXZlIHNwYW46Zm9jdXMge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyLWFjdGl2ZSk7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1hY3RpdmUgc3Bhbjpmb2N1cyxcbiAgJi5pcy1hY3RpdmUgc3Bhbjpob3ZlcixcbiAgJi5pcy1hY3RpdmUgc3BhbjphY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXItYWN0aXZlKTtcblxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWhhbWJ1cmdlci1hY3RpdmUpO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyohXG4gKiBIYW1idXJnZXJzXG4gKiBAZGVzY3JpcHRpb24gVGFzdHkgQ1NTLWFuaW1hdGVkIGhhbWJ1cmdlcnNcbiAqIEBhdXRob3IgSm9uYXRoYW4gU3VoIEBqb25zdWhcbiAqIEBzaXRlIGh0dHBzOi8vam9uc3VoLmNvbS9oYW1idXJnZXJzXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vam9uc3VoL2hhbWJ1cmdlcnNcbiAqL1xuXG4vLyBTZXR0aW5nc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRoYW1idXJnZXItcGFkZGluZy14ICAgICAgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLXBhZGRpbmcteSAgICAgICAgICAgOiAxNXB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci13aWR0aCAgICAgICAgIDogNDBweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICAgICAgICA6IDRweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAgICAgICA6IDZweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItY29sb3IgICAgICAgICA6ICMwMDAgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXMgOiA0cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHkgICAgICAgOiAwLjcgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWFjdGl2ZS1sYXllci1jb2xvciAgOiAkaGFtYnVyZ2VyLWxheWVyLWNvbG9yICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItb3BhY2l0eTogJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5ICFkZWZhdWx0O1xuXG4vLyBUbyB1c2UgQ1NTIGZpbHRlcnMgYXMgdGhlIGhvdmVyIGVmZmVjdCBpbnN0ZWFkIG9mIG9wYWNpdHksXG4vLyBzZXQgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyIGFzIHRydWUgYW5kXG4vLyBjaGFuZ2UgdGhlIHZhbHVlIG9mICRoYW1idXJnZXItaG92ZXItZmlsdGVyIGFjY29yZGluZ2x5LlxuJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItZmlsdGVyICAgICAgIDogb3BhY2l0eSg1MCUpICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItZmlsdGVyOiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciAhZGVmYXVsdDtcblxuLy8gVHlwZXMgKFJlbW92ZSBvciBjb21tZW50IG91dCB3aGF0IHlvdSBkb27igJl0IG5lZWQpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGhhbWJ1cmdlci10eXBlczogKFxuICAzZHgsXG4gIDNkeC1yLFxuICAzZHksXG4gIDNkeS1yLFxuICAzZHh5LFxuICAzZHh5LXIsXG4gIGFycm93LFxuICBhcnJvdy1yLFxuICBhcnJvd2FsdCxcbiAgYXJyb3dhbHQtcixcbiAgYXJyb3d0dXJuLFxuICBhcnJvd3R1cm4tcixcbiAgYm9yaW5nLFxuICBjb2xsYXBzZSxcbiAgY29sbGFwc2UtcixcbiAgZWxhc3RpYyxcbiAgZWxhc3RpYy1yLFxuICBlbXBoYXRpYyxcbiAgZW1waGF0aWMtcixcbiAgbWludXMsXG4gIHNsaWRlcixcbiAgc2xpZGVyLXIsXG4gIHNwaW4sXG4gIHNwaW4tcixcbiAgc3ByaW5nLFxuICBzcHJpbmctcixcbiAgc3RhbmQsXG4gIHN0YW5kLXIsXG4gIHNxdWVlemUsXG4gIHZvcnRleCxcbiAgdm9ydGV4LXJcbikgIWRlZmF1bHQ7XG5cbi8vIEJhc2UgSGFtYnVyZ2VyIChXZSBuZWVkIHRoaXMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcImJhc2VcIjtcblxuLy8gSGFtYnVyZ2VyIHR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcInR5cGVzLzNkeFwiO1xuQGltcG9ydCBcInR5cGVzLzNkeC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvM2R5XCI7XG5AaW1wb3J0IFwidHlwZXMvM2R5LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHh5XCI7XG5AaW1wb3J0IFwidHlwZXMvM2R4eS1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3dcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvdy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3dhbHRcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd2FsdC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3d0dXJuXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3d0dXJuLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9ib3JpbmdcIjtcbkBpbXBvcnQgXCJ0eXBlcy9jb2xsYXBzZVwiO1xuQGltcG9ydCBcInR5cGVzL2NvbGxhcHNlLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbGFzdGljXCI7XG5AaW1wb3J0IFwidHlwZXMvZWxhc3RpYy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvZW1waGF0aWNcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbXBoYXRpYy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvbWludXNcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zbGlkZXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zbGlkZXItclwiO1xuQGltcG9ydCBcInR5cGVzL3NwaW5cIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcGluLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcHJpbmdcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcHJpbmctclwiO1xuQGltcG9ydCBcInR5cGVzL3N0YW5kXCI7XG5AaW1wb3J0IFwidHlwZXMvc3RhbmQtclwiO1xuQGltcG9ydCBcInR5cGVzL3NxdWVlemVcIjtcbkBpbXBvcnQgXCJ0eXBlcy92b3J0ZXhcIjtcbkBpbXBvcnQgXCJ0eXBlcy92b3J0ZXgtclwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29va2luZyB1cCBhZGRpdGlvbmFsIHR5cGVzOlxuLy9cbi8vIFRoZSBTYXNzIGZvciBlYWNoIGhhbWJ1cmdlciB0eXBlIHNob3VsZCBiZSBuZXN0ZWRcbi8vIGluc2lkZSBhbiBAaWYgZGlyZWN0aXZlIHRvIGNoZWNrIHdoZXRoZXIgb3Igbm90XG4vLyBpdCBleGlzdHMgaW4gJGhhbWJ1cmdlci10eXBlcyBzbyBvbmx5IHRoZSBDU1MgZm9yXG4vLyBpbmNsdWRlZCB0eXBlcyBhcmUgZ2VuZXJhdGVkLlxuLy9cbi8vIGUuZy4gaGFtYnVyZ2Vycy90eXBlcy9fbmV3LXR5cGUuc2Nzc1xuLy9cbi8vIEBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBuZXctdHlwZSkge1xuLy8gICAuaGFtYnVyZ2VyLS1uZXctdHlwZSB7XG4vLyAgICAgLi4uXG4vLyAgIH1cbi8vIH1cbiIsIi8vIEhhbWJ1cmdlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5oYW1idXJnZXIge1xuICBwYWRkaW5nOiAkaGFtYnVyZ2VyLXBhZGRpbmcteSAkaGFtYnVyZ2VyLXBhZGRpbmcteDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcblxuICAvLyBOb3JtYWxpemUgKDxidXR0b24+KVxuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgJjpob3ZlciB7XG4gICAgQGlmICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciA9PSB0cnVlIHtcbiAgICAgIGZpbHRlcjogJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG9wYWNpdHk6ICRoYW1idXJnZXItaG92ZXItb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAaWYgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyID09IHRydWUge1xuICAgICAgICBmaWx0ZXI6ICRoYW1idXJnZXItYWN0aXZlLWhvdmVyLWZpbHRlcjtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgb3BhY2l0eTogJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItb3BhY2l0eTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyLFxuICAgIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbiAgICAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWFjdGl2ZS1sYXllci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmhhbWJ1cmdlci1ib3gge1xuICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcbiAgaGVpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDMgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhhbWJ1cmdlci1pbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAtMjtcblxuICAmLFxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcbiAgICBoZWlnaHQ6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItbGF5ZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIH1cblxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBib3R0b206ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMTtcbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeCkge1xuICAvKlxuICAgKiAzRFhcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeCB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R4LXIpIHtcbiAgLypcbiAgICogM0RYIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeC1yIHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgtMTgwZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R5KSB7XG4gIC8qXG4gICAqIDNEWVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R5IHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgtMTgwZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R5LXIpIHtcbiAgLypcbiAgICogM0RZIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeS1yIHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCAzZHh5KSB7XG4gIC8qXG4gICAqIDNEWFlcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeHkge1xuICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgIHBlcnNwZWN0aXZlOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgcm90YXRlWSgxODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCAzZHh5LXIpIHtcbiAgLypcbiAgICogM0RYWSBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS0zZHh5LXIge1xuICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgIHBlcnNwZWN0aXZlOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgcm90YXRlWSgxODBkZWcpIHJvdGF0ZVooLTE4MGRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93KSB7XG4gIC8qXG4gICAqIEFycm93XG4gICAqL1xuICAuaGFtYnVyZ2VyLS1hcnJvdy5pcy1hY3RpdmUge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMiwgMCwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMC4yLCAwLCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYXJyb3ctcikge1xuICAvKlxuICAgKiBBcnJvdyBSaWdodFxuICAgKi9cbiAgLmhhbWJ1cmdlci0tYXJyb3ctci5pcy1hY3RpdmUge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMC4yLCAwLCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMC4yLCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93YWx0KSB7XG4gIC8qXG4gICAqIEFycm93IEFsdFxuICAgKi9cbiAgLmhhbWJ1cmdlci0tYXJyb3dhbHQge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjI1LCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgMC4xcyBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMjUsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIDAuMXMgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBhcnJvd2FsdC1yKSB7XG4gIC8qXG4gICAqIEFycm93IEFsdCBSaWdodFxuICAgKi9cbiAgLmhhbWJ1cmdlci0tYXJyb3dhbHQtciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAwLjIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMC4yNSwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgMC4xcyBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMC4yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMC4yNSwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIDAuMXMgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBhcnJvd3R1cm4pIHtcbiAgLypcbiAgICogQXJyb3cgVHVyblxuICAgKi9cbiAgLmhhbWJ1cmdlci0tYXJyb3d0dXJuLmlzLWFjdGl2ZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4cHgsIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDhweCwgMCwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBhcnJvd3R1cm4tcikge1xuICAvKlxuICAgKiBBcnJvdyBUdXJuIFJpZ2h0XG4gICAqL1xuICAuaGFtYnVyZ2VyLS1hcnJvd3R1cm4tci5pcy1hY3RpdmUge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLThweCwgMCwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC04cHgsIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBib3JpbmcpIHtcbiAgLypcbiAgICogQm9yaW5nXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1ib3Jpbmcge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgJixcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBjb2xsYXBzZSkge1xuICAvKlxuICAgKiBDb2xsYXBzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tY29sbGFwc2Uge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xM3M7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEzcztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSAqIC0xO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIGxpbmVhcjtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMTJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyAwLjIycyBsaW5lYXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMTZzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgMC4yNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBjb2xsYXBzZS1yKSB7XG4gIC8qXG4gICAqIENvbGxhcHNlIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLWNvbGxhcHNlLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xM3M7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEzcztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSAqIC0xO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIGxpbmVhcjtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMTJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjIycztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIDAuMjJzIGxpbmVhcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE2cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIDAuMjVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgZWxhc3RpYykge1xuICAvKlxuICAgKiBFbGFzdGljXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1lbGFzdGljIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAyO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yNzVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTI1cyAwLjI3NXMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNzVzIGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAkeS1vZmZzZXQ6ICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0LCAwKSByb3RhdGUoMTM1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCAqIC0yLCAwKSByb3RhdGUoLTI3MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgZWxhc3RpYy1yKSB7XG4gIC8qXG4gICAqIEVsYXN0aWMgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tZWxhc3RpYy1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAyO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yNzVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTI1cyAwLjI3NXMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNzVzIGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAkeS1vZmZzZXQ6ICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0LCAwKSByb3RhdGUoLTEzNWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1cztcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQgKiAtMiwgMCkgcm90YXRlKDI3MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgZW1waGF0aWMpIHtcbiAgLypcbiAgICogRW1waGF0aWNcbiAgICovXG4gIC5oYW1idXJnZXItLWVtcGhhdGljIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTI1cyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksXG4gICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0IDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjEyNXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpLFxuICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQgMC4xMjVzIDAuMTc1cyBlYXNlLWluO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yO1xuICAgICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4xMjVzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEyNXMgMC4xNzVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAwLjEyNXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTI1cyAwLjE3NXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBlbXBoYXRpYy1yKSB7XG4gIC8qXG4gICAqIEVtcGhhdGljIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLWVtcGhhdGljLXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xMjVzIDAuMTc1cyBlYXNlLWluO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSxcbiAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQgMC4xMjVzIDAuMTc1cyBlYXNlLWluO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTI1cyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksXG4gICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICByaWdodCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTIsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4xMjVzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEyNXMgMC4xNzVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuMTI1cyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIG1pbnVzKSB7XG4gIC8qXG4gICAqIE1pbnVzXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1taW51cyB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA4cyAwcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDhzIDBzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDBzIGxpbmVhcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wOHMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDhzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMHMgMC4wOHMgbGluZWFyO1xuICAgICAgICB9XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNsaWRlcikge1xuICAvKlxuICAgKiBTbGlkZXJcbiAgICovXG4gIC5oYW1idXJnZXItLXNsaWRlciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gMjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZztcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJHktb2Zmc2V0OiAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCwgMCkgcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAvIC03LCAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAtMSwgMCk7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCAqIC0yLCAwKSByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNsaWRlci1yKSB7XG4gIC8qXG4gICAqIFNsaWRlciBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zbGlkZXItciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gMjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZztcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJHktb2Zmc2V0OiAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCwgMCkgcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAvIDcsICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIC0xLCAwKTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0ICogLTIsIDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcGluKSB7XG4gIC8qXG4gICAqIFNwaW5cbiAgICovXG4gIC5oYW1idXJnZXItLXNwaW4ge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yMnM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMjVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBlYXNlLWluO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMjVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjIycyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyAwLjEycyBlYXNlLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4yMnMgMC4xMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcGluLXIpIHtcbiAgLypcbiAgICogU3BpbiBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zcGluLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yMnM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMjVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBlYXNlLWluO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMjVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjIycyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTIyNWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgMC4xMnMgZWFzZS1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4yMnMgMC4xMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcHJpbmcpIHtcbiAgLypcbiAgICogU3ByaW5nXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zcHJpbmcge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIDI7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMTNzIGxpbmVhcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZztcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjIycztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE1cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIDAuMjJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgMC4yMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcHJpbmctcikge1xuICAvKlxuICAgKiBTcHJpbmcgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3ByaW5nLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xM3M7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSAqIC0xO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwcyBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMHMgMC4yMnMgbGluZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMTVzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgMC4yMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzdGFuZCkge1xuICAvKlxuICAgKiBTdGFuZFxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3RhbmQge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4wNzVzIGxpbmVhcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjA3NXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMDc1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3RhbmQtcikge1xuICAvKlxuICAgKiBTdGFuZCBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zdGFuZC1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMDc1cyBsaW5lYXI7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4wNzVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjA3NXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMTVzIGxpbmVhcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcXVlZXplKSB7XG4gIC8qXG4gICAqIFNxdWVlemVcbiAgICovXG4gIC5oYW1idXJnZXItLXNxdWVlemUge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wNzVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMTJzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4wNzVzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjEycyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjA3NXMgMC4xMnMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwLjEycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHZvcnRleCkge1xuICAvKlxuICAgKiBWb3J0ZXhcbiAgICovXG4gIC5oYW1idXJnZXItLXZvcnRleCB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLCBvcGFjaXR5O1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvdHRvbSwgdHJhbnNmb3JtO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3NjVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgdm9ydGV4LXIpIHtcbiAgLypcbiAgICogVm9ydGV4IFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLXZvcnRleC1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIG9wYWNpdHk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm90dG9tLCB0cmFuc2Zvcm07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC03NjVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRGVtbyBjb250ZW50XG4vL1xuLy8gUGxlYXNlIG5vdGU6IFRoZXNlIGFyZSBtb3N0bHkgZm9yIGRlbW8gcHVycG9zZXNcbi8vIHNvIGZlZWwgZnJlZSB0byByZW1vdmUgZXZlcnl0aGluZyBpbiB0aGlzIGZpbGVcbi8vIGFuZCBzdGFydCBvdmVyLlxuXG4vLyBUaGlzIGlzIGp1c3QgZm9yIGRlbW9pbmcgcHVycG9zZXMgc28gbGV0J3MgZ2l2ZSBpdCBzb21lIHNsYWNrXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuXG4vLyBEZW1vIHZhcmlhYmxlc1xuJGNvbG9yLXdpbGQtYmx1ZS15b25kZXI6ICM3MzdmYmY7XG5cbjpyb290IHtcbiAgLS1jb2xvci1iYWJ5LWJsdWU6ICM2MGY0ZWE7XG4gIC0tY29sb3ItaGVsaW90cm9wZTogIzg2NmNmZjtcbiAgLS1jb2xvci13aWxkLWJsdWUteW9uZGVyOiAjeyRjb2xvci13aWxkLWJsdWUteW9uZGVyfTtcbiAgLS1jb2xvci13aWxkLWJsdWUteW9uZGVyLXJnYjogI3toZXh0b3JnYigkY29sb3Itd2lsZC1ibHVlLXlvbmRlcil9O1xuICAtLWNvbG9yLWJvcmRlci1kZW1vLWhlYWRlcjogcmdiYSh2YXIoLS1jb2xvci13aWxkLWJsdWUteW9uZGVyLXJnYiksIC41KTtcbn1cblxuLy8gRGVtbyBuYXZpZ2F0aW9uIGJhY2tncm91bmQgb24gc3ViIHBhZ2VzXG5AbWVkaWEgKG1pbi13aWR0aDogJHdpZHRoLW1heC1tb2JpbGUpIHtcbiAgYm9keSAubmF2LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbik7XG4gIH1cbn1cblxuLnNpdGUtaGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDRyZW07XG4gIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtbWF4LW1vYmlsZSkge1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICB9XG5cbiAgLnNpdGUtdGl0bGUge1xuICAgIG1hcmdpbjogMDtcblxuICAgIHN2ZyB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgZWFzZS1pbjtcblxuICAgICAgLy8gQWNjZXNzaWJpbGl0eTogRGlzYWJsZSBhbmltYXRpb24gaWYgcmVkdWNlIG1vdGlvbiBpcyBlbmFibGVkXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSwgKHVwZGF0ZTogc2xvdykge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jbHItaS1zb2xpZC1wYXRoLTIge1xuICAgICAgZmlsbDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJhYnktYmx1ZSk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICBhOmhvdmVyIHN2ZyB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzIGN1YmljLWJlemllciguNiwgLS42OCwgLjczLCAuMDQpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjYwJSwgLTIyMCUpO1xuXG4gICAgICAvLyBBY2Nlc3NpYmlsaXR5OiBEaXNhYmxlIGFuaW1hdGlvbiBpZiByZWR1Y2UgbW90aW9uIGlzIGVuYWJsZWRcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpLCAodXBkYXRlOiBzbG93KSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmNsci1pLXNvbGlkLXBhdGgtMiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIGZpbGw6IHZhcigtLWNvbG9yLWJhYnktYmx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ28tbmFtZSB7XG4gICAgICBjb250ZW50OiAnQWlyJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMWVtO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXBhcmFncmFwaHMpO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNzVyZW07XG4gICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRGVtbyBzdHJ1Y3R1cmVcbi5ibG9jay5ibG9jay1lbnRyeS1oZWFkZXItZGVtbyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXZhbGhhbGxhKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LWhlaWdodDogODByZW07XG4gIGhlaWdodDogNjB2aDtcbiAgbWF4LXdpZHRoOiAkd2lkdGgtbWF4LWxheW91dDtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRjb250YWluZXItbW9iaWxlKSB7XG4gICAgbWluLWhlaWdodDogNjByZW07XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICBwYWRkaW5nLXRvcDogNnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNnJlbTtcbiAgfVxuXG4gIC5zaGFkZSB7XG4gICAgb3BhY2l0eTogLjQ7XG4gIH1cblxuICAuaW5uZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgMWZyO1xuXG4gICAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLWRlc2t0b3A7XG4gICAgbWFyZ2luLXRvcDogMTQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkY29udGFpbmVyLWlwYWQpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBub25lO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzZnIgNWZyO1xuICAgICAgbWF4LXdpZHRoOiAkd2lkdGgtbWF4LWFydGljbGU7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBwbGFuZS1jb250YWluZXIge1xuICAgIDAlIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIDgwJSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAubG9nbyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJhYnktYmx1ZSk7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1kZW1vLWhlYWRlcik7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvcmRlcjogMjtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBhbmltYXRpb246IHBsYW5lLWNvbnRhaW5lciAxMHMgbGluZWFyIDFzIGluZmluaXRlO1xuXG4gICAgLmxvZ28tbmFtZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgcGxhbmUge1xuICAgICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjAwJSwgMTQwJSk7XG4gICAgICB9XG5cbiAgICAgIDEwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICA4NSUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgOTUlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTQwJSwgLTEwMCUpO1xuICAgICAgfVxuXG4gICAgICA5NyUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMjByZW07XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDEwMCUpO1xuICAgICAgYW5pbWF0aW9uOiBwbGFuZSA1cyBjdWJpYy1iZXppZXIoLjg2LCAwLCAuMDcsIDEpIDFzIGluZmluaXRlO1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtNXM7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA2O1xuXG4gICAgICAvLyBBY2Nlc3NpYmlsaXR5OiBEaXNhYmxlIGFuaW1hdGlvbiBpZiByZWR1Y2UgbW90aW9uIGlzIGVuYWJsZWRcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpLCAodXBkYXRlOiBzbG93KSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGNvbnRhaW5lci1pcGFkKSB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRlbW8taGVhZGVyKTtcbiAgICAgIG9yZGVyOiAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gNHJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaGVhZGluZy1oZXJvIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMS4yMztcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkY29udGFpbmVyLWlwYWQpIHtcbiAgICAgIHBhZGRpbmc6IDJyZW0gNHJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi5hY2NlbnQge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2lsZC1ibHVlLXlvbmRlcik7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkd2lkdGgtbWF4LW1vYmlsZSkge1xuICAuZHJvcGRvd24tdG9nZ2xlLFxuICAubWVudS1pdGVtLmN1cnJlbnQtbWVudS1pdGVtID4gYSxcbiAgLm1lbnUtaXRlbS5jdXJyZW50LW1lbnUtcGFyZW50ID4gYSxcbiAgLnNpdGUtaGVhZGVyIC5zaXRlLWJyYW5kaW5nIC5zaXRlLXRpdGxlIGEsXG4gIC5zaXRlLWhlYWRlciAubmF2LXByaW1hcnkgLm1lbnUtaXRlbXMubmF2LW1lbnUgLm1lbnUtaXRlbSA+IC5kcm9wZG93bi10b2dnbGUsXG4gIC5zaXRlLWhlYWRlciAubmF2LXByaW1hcnkgLm1lbnUtaXRlbXMgLmN1cnJlbnQtbWVudS1wYXJlbnQgPiBhLFxuICAuc2l0ZS1oZWFkZXIgLm5hdi1wcmltYXJ5IC5tZW51LWl0ZW1zIC5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1iYWJ5LWJsdWUpO1xuICB9XG5cbiAgLnNpdGUtaGVhZGVyIC5uYXYtcHJpbWFyeSAubWVudS1pdGVtcyAuc3ViLW1lbnUgLmN1cnJlbnQtbWVudS1wYXJlbnQgPiBhLFxuICAuc2l0ZS1oZWFkZXIgLm5hdi1wcmltYXJ5IC5tZW51LWl0ZW1zIC5zdWItbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhLFxuICAuc2l0ZS1oZWFkZXIgLm5hdi1wcmltYXJ5IC5tZW51LWl0ZW1zIC5zdWItbWVudSAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItY3VycmVudCk7XG4gIH1cblxuICAuc2l0ZS1oZWFkZXIgLm5hdi1wcmltYXJ5IC5tZW51LWl0ZW1zLm5hdi1tZW51IC5zdWItbWVudSAubWVudS1pdGVtID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXZhbGhhbGxhKTtcbiAgfVxufVxuXG4uYmxvY2suYmxvY2stZW50cnktaGVhZGVyLWRlbW8gKyAuYmxvY2sgLmNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogJHdpZHRoLW1heC1hcnRpY2xlO1xuXG4gICYuZ3V0ZW5iZXJnLWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBCdWlsZCB0aGVzZSB0byB2aWV3cy9faW5kZXguc2NzcyBmb3IgZXhhbXBsZVxuLmJsb2NrLmJsb2NrLWJsb2cgYXJ0aWNsZSxcbi5ibG9jay5ibG9jay1ibG9nIG5hdiB7XG4gIG1heC13aWR0aDogJHdpZHRoLW1heC1hcnRpY2xlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uYmxvY2stYmxvZyBhcnRpY2xlIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGFkZGluZy1ibG9jayk7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5ibG9jay1ibG9nIHVsLnRhZ3Mge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkd2lkdGgtbWF4LW1vYmlsZSkge1xuICAuYmxvY2sge1xuICAgIG1pbi1oZWlnaHQ6IDc4cHg7XG4gIH1cbn1cblxuLnNpdGUtZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdmFsaGFsbGEpO1xufVxuXG4vLyBEZW1vIGNvbXBvbmVudHNcbi5jb21wb25lbnRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tdG9wOiA2cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtNHJlbTtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5oZWFkaW5nLWRlbW8ge1xuICBtYXJnaW4tdG9wOiA2cmVtO1xufVxuXG4ubGluay1kZW1vIHtcbiAgQGluY2x1ZGUgbGluaygpO1xufVxuXG4uc2l0ZS1tYWluIC5jb21wb25lbnQge1xuICBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItaGVsaW90cm9wZSk7XG4gIHBhZGRpbmc6IDE5cHg7XG4gIG1hcmdpbi1yaWdodDogNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNHJlbTtcblxuICAuY29tcG9uZW50LWxhYmVsIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGVsaW90cm9wZSk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW4tdG9wOiAtNDJweDtcbiAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2FpcndwdGhlbWUuY29tL2RlbW8vZmlnbWEtY29tcG9uZW50LnN2ZycpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDExcHg7XG4gICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgMnJlbTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gR2VuZXJhbFxuLy9cbi8vIFRoaXMgZmlsZSBpcyBtZWFudCBmb3IgZ2VuZXJhbCBzdHlsZXMgYW5kIGNvbnRhaW5lcnNcbi8vIHRoYXQgYXBwbHkgZXZlcnl3aGVyZSB0aHJvdWdob3V0IHRoZSB3ZWJzaXRlLiBBZGQgbW9yZVxuLy8gYWx3YXlzIHJlcGVhdGluZyBlbGVtZW50cyByaWdodCBiZWxvdy5cblxuLy8gRGVmYXVsdCBzdHJ1Y3R1cmFsIGVsZW1lbnRcbi5ibG9jayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAkd2lkdGgtbWF4LWxheW91dDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLyBEZWZhdWx0IHNoYWRlIG9uIHRvcCBvZiBibG9ja3Ncbi5zaGFkZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtc2hhZGUpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IC4zNTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAwO1xufVxuXG4vLyBHbG9iYWwgbGluayBoZWxwZXJcbi8vIFRoaXMgaXMgdXNlZnVsIGluIHNlcnZpY2VzIC10eXBlIG9mIGFyZWFzIHdoZXJlIHRoZSB3aG9sZSBibG9jayBpcyBhIGxpbmtcbi8vIFJlbWVtYmVyIHRvIGRlZmluZSBhcmlhLWxhYmVsIG9yIHNjcmVlbi1yZWFkZXItdGV4dCBmb3IgYWNjZXNzaWJpbGl0eVxuLmdsb2JhbC1saW5rIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDM7XG59XG5cbi8vIFNpdGUgd3JhcHBlclxuLnNpdGUge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8gQ29udGFpbmVyc1xuLmNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6ICR3aWR0aC1ncmlkLWJhc2U7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci12ZXJ0aWNhbCk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkZGluZy1jb250YWluZXItdmVydGljYWwpO1xufVxuXG4vLyBDbGVhciBibG9jayBjb250YWluZXJzIGJ5IGRlZmF1bHRcbi5zaXRlLW1haW4gLmNvbnRhaW5lciB7XG4gIGNsZWFyOiBib3RoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBNZXRhIGFjdGlvbnNcbi5lbnRyeS1mb290ZXIge1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci12ZXJ0aWNhbCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIEJldHRlciBlZGl0IGxpbmtcbi5lZGl0LWxpbmsge1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tZHVyYXRpb247XG4gIHdpZHRoOiAxMDAlO1xuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICBib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItbGluay1lZGl0LWJvcmRlcik7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstZWRpdC10ZXh0KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpbmstZWRpdC1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1lZGl0LXRleHQtaG92ZXIpO1xuICB9XG59XG5cbi8vIEhpZGUvc2hvdyBoZWxwZXJzXG4uaGlkZS1vbi1kZXNrdG9wIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRjb250YWluZXItbW9iaWxlKSB7XG4gICAgLy8gRm9yY2VkIHRvIHVzZSBpbXBvcnRhbnQgaGVyZSwgYmVjYXVzZSBtYWtlcyBubyBzZW5zZSB0byB3cml0ZSB0b28gc3BlY2lmaWMgc2VsZWN0b3JzIGhlcmVcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi9cbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICB9XG59XG5cbi8vIEZvcmNlZCB0byB1c2UgaW1wb3J0YW50IGhlcmUsIGJlY2F1c2UgbWFrZXMgbm8gc2Vuc2UgdG8gd3JpdGUgdG9vIHNwZWNpZmljIHNlbGVjdG9ycyBoZXJlXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIGExMXkvbm8tZGlzcGxheS1ub25lICovXG4uaGlkZS1vbi1tb2JpbGUge1xuICBAbWVkaWEgKG1heC13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuLy8gT25seSBmdW5jdGlvbiBvZiB0aGVzZSBpcyB0byBmb3JjZSBoaWRlIGNvbnRlbnQgYmFzZWQgb24gdGhlIHZpZXdcbi8vIEZvcmNlZCB0byB1c2UgaW1wb3J0YW50IGhlcmUsIGJlY2F1c2UgbWFrZXMgbm8gc2Vuc2UgdG8gd3JpdGUgdG9vIHNwZWNpZmljIHNlbGVjdG9ycyBoZXJlXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIGExMXkvbm8tZGlzcGxheS1ub25lICovXG4uaGlkZS1vbi1tb2JpbGUtbmF2LXZpZXcge1xuICBAbWVkaWEgKG1heC13aWR0aDogJHdpZHRoLW1heC1tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8vIEZvcmNlZCB0byB1c2UgaW1wb3J0YW50IGhlcmUsIGJlY2F1c2UgbWFrZXMgbm8gc2Vuc2UgdG8gd3JpdGUgdG9vIHNwZWNpZmljIHNlbGVjdG9ycyBoZXJlXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIGExMXkvbm8tZGlzcGxheS1ub25lICovXG4uaGlkZS1vbi1kZXNrdG9wLW5hdi12aWV3IHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICR3aWR0aC1tYXgtbW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbi8vIEZvcmNlZCB0byB1c2UgaW1wb3J0YW50IGhlcmUsIGJlY2F1c2UgbWFrZXMgbm8gc2Vuc2UgdG8gd3JpdGUgdG9vIHNwZWNpZmljIHNlbGVjdG9ycyBoZXJlXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIGExMXkvbm8tZGlzcGxheS1ub25lICovXG4uaGlkZS1jb21wbGV0ZWx5IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLy8gSXQgaXMgYWNjZXB0YWJsZSB0byBoaWRlIHRoaW5ncyBmb3IgcHJpbnRcbi8qIHN0eWxlbGludC1kaXNhYmxlIGExMXkvbm8tZGlzcGxheS1ub25lICovXG5AbWVkaWEgcHJpbnQge1xuICAubmF2LWNvbnRhaW5lcixcbiAgLnNpdGUtZm9vdGVyLFxuICAuc2lkZS1uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgY29sb3JzLCBkaXNhYmxlIHNwYWNpbmdzIG9yIGltYWdlcyxcbiAgLy8gZXRjLiBkZWZpbmUgaGVyZVxuICAvLyAqIHtcbiAgLy8gICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spICFpbXBvcnRhbnQ7XG4gIC8vIH1cbn1cbiIsIi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBFdmVyeXRoaW5nIGFyb3VuZCBmb250cywgZm9udCBzaXplIGRlZmluaXRpb25zIGFuZCB0eXBlc2V0XG4vLyBwcmVzZXRzLiBObyBtb2R1bGFyIHNjYWxlLCBidXQgYSBzb3BoaXN0aWNhdGVkIHZpZXdwb3J0XG4vLyBiYXNlZCByZXNwb25zaXZlIG1peGluIGNhbiBiZSBmb3VuZCBpbiBfaGVscGVycy5zY3NzXG5cbi8vIFNldCByb290IHNpemUgZm9yIHJlbXNcbi8qIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLXByb3BlcnR5LXVuaXQtYWxsb3dlZC1saXN0ICovXG46cm9vdCB7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlIGRlY2xhcmF0aW9uLXByb3BlcnR5LXVuaXQtYWxsb3dlZC1saXN0ICovXG5cbi8vIFN0YXJ0IHR5cG9ncmFwaHkgc2V0dGluZ3NcbmJvZHkge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcGFyYWdyYXBoKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtcGFyYWdyYXBoKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtZGVmYXVsdCk7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtcGFyYWdyYXBocyk7XG4gIHRleHQtcmVuZGVyaW5nOiBnZW9tZXRyaWNQcmVjaXNpb247XG59XG5cbi8vIERlZmF1bHRzXG5wLFxuZGQsXG5kdCxcbmZpZ2NhcHRpb24sXG5ocixcbnNtYWxsLFxub2wsXG51bCxcbmxpLFxuYmxvY2txdW90ZSxcbmtiZCxcbnByZSxcbnNhbXAsXG5jb2RlLFxudGgsXG50ZCxcbnRhYmxlLFxudHIsXG4lZGVmYXVsdCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXBhcmFncmFwaHMpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtcGFyYWdyYXBocyk7XG59XG5cbi8vIEhlYWRpbmcgZGVmYXVsdHNcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1oZWFkaW5nKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1oZWFkaW5ncyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLW1hcmdpbi1iZXR3ZWVuLXBhcmFncmFwaHMpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1tYXJnaW4tYmV0d2Vlbi1wYXJhZ3JhcGhzKTtcbn1cblxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1oZWFkaW5ncyk7XG59XG5cbi8vIERlZmluZSBoZWFkaW5nIHNjYWxlc1xuLy8gQ3VycmVudDogUGVyZmVjdCBmb3VydGg6IGh0dHBzOi8vdHlwZS1zY2FsZS5jb20vXG5oMSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWgxKTtcbn1cblxuaDIge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMik7XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDMpO1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWg0KTtcbn1cblxuaDUge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oNSk7XG59XG5cbmg2IHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDYpO1xufVxuXG5oMTpmaXJzdC1jaGlsZCxcbmgyOmZpcnN0LWNoaWxkLFxuaDM6Zmlyc3QtY2hpbGQsXG5oNDpmaXJzdC1jaGlsZCxcbmg1OmZpcnN0LWNoaWxkLFxuaDY6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vLyBMaXN0c1xudWwge1xuICBsaXN0LXN0eWxlOiBkaXNjIG91dHNpZGU7XG4gIHBhZGRpbmctbGVmdDogMS45cmVtO1xuXG4gIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxub2wge1xuICBwYWRkaW5nLWxlZnQ6IDEuOXJlbTtcbn1cblxuLy8gQm9sZC5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi8vIEl0YWxpYy5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLy8gSW5saW5lIHNtYWxsIHRleHQuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogLjg3ZW07XG59XG5cbi8vIERlZmF1bHQgcGFyYWdyYXBoc1xucCB7XG4gIG1hcmdpbi1ib3R0b206IDIuOXJlbTtcbiAgbWFyZ2luLXRvcDogMi45cmVtO1xufVxuXG4vLyBRdW90ZXMuXG5ibG9ja3F1b3RlIHtcbiAgYm9yZGVyOiAwIG5vbmU7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgcCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJsb2NrcXVvdGUpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkY29udGFpbmVyLWlwYWQpIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBsZWZ0OiAwO1xuICAgIG1heC13aWR0aDogMTQ3cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICB9XG4gIH1cbn1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vIE5vIG1hcmdpbiB0b3Agb24gZmlyc3QgcGFyYWdyYXBoXG5wOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLy8gTm8gbWFyZ2luIGJvdHRvbSBvbiBsYXN0IHBhcmFncmFwaFxucDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLy8gaW1hZ2VzXG5pbWcge1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLy8gRmlndXJlcyBhbmQgY2FwdGlvbnNcbmZpZ3VyZSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8gRmlnY2FwdGlvbi5cbmZpZ2NhcHRpb24ge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1wYXJhZ3JhcGhzKTtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG59XG5cbi8vIENvZGUgYmxvY2suXG5jb2RlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1jb2RlLWlubGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IC4zcmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItY29kZS1ibG9jayk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgLy8gbm9ybWFsaXplLmNzcyBzZXRzIHRoaXMgYXMgMWVtIGJ5IGRlZmF1bHRcbiAgcGFkZGluZzogLjM3cmVtIC41cmVtO1xuXG4gIHByZSAmIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMS4xNXJlbSAxcmVtIC44NXJlbTtcbiAgfVxufVxuXG4vLyBQcmVmb3JtYXR0ZWQgdGV4dC5cbnByZSB7XG4gIGJvcmRlci1yYWRpdXM6IC4zcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbiIsIi8vIFNpdGUgaGVhZGVyXG4vL1xuLy8gVGhlIHZlcnkgdG9wIG9mIHRoZSBzaXRlLCBlbGVtZW50IHRoYXQgdXN1YWxseSBpbmNsdWRlc1xuLy8gdGhlIHNpdGUgbmF2aWdhdGlvbiBhbmQgc2VhcmNoIGZvciBleGFtcGxlLlxuXG4uc2l0ZS1oZWFkZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogJHdpZHRoLWdyaWQtYmFzZTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXBhZGRpbmctc2l0ZS1oZWFkZXItdmVydGljYWwpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgcGFkZGluZy10b3A6IHZhcigtLXBhZGRpbmctc2l0ZS1oZWFkZXItdmVydGljYWwpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE1O1xufVxuXG4uc2l0ZS10aXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG5cbiAgYSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbi8vIE5hdiBjb250YWluZXIgdmlzaWJpbGl0eSBmaXhcbi5uYXYtY29udGFpbmVyIHtcbiAgei1pbmRleDogMTA7XG59XG4iLCIvLyBTaXRlIGZvb3RlclxuLy9cbi8vIFRoZSB2ZXJ5IGJvdHRvbSBvZiB0aGUgc2l0ZS4gVXN1YWxseSBjb250YWlucyBzdXBwb3J0aW5nXG4vLyBvciBzZWNvbmRhcnkgbmF2aWdhdGlvbiwgc29jaWFsIG1lZGlhIGljb25zLCBjb250YWN0IGRldGFpbHNcbi8vIGFuZCBzdWNoLlxuLy9cbi8vIFBsZWFzZSBub3RlOiBUaGVzZSBhcmUgbW9zdGx5IGZvciBkZW1vIHB1cnBvc2VzXG4vLyBzbyBmZWVsIGZyZWUgdG8gcmVtb3ZlIGV2ZXJ5dGhpbmcgaW4gdGhpcyBmaWxlXG4vLyBhbmQgc3RhcnQgb3Zlci5cblxuLnNpdGUtZm9vdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDZyZW0gMnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIHAsXG4gIHNwYW4ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIH1cblxuICAud29yZHByZXNzLWxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAvLyBIaWRpbmcgZm9yIGFlc3RoZXRpYyByZWFzb25zXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIGExMXkvbm8tZGlzcGxheS1ub25lICovXG4gIC5pcy1leHRlcm5hbC1saW5rOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbiAgLnBvd2VyZWQtYnktd29yZHByZXNzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5naXRodWItbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYuaXMtZXh0ZXJuYWwtbGluazo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICBvcGFjaXR5OiAuNTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAuMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGhlbWUtaW5mbyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGkge1xuICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvcm1zIGFuZCBpbnB1dCBmaWVsZHNcbi8vXG4vLyBBbGwgdGhlIGZvcm1zIG9uIHRoZSBzaXRlLiBHZW5lcmFsIHN0eWxlcy4gU3VwcG9ydHMgbW9zdCBvZlxuLy8gdGhlIEdyYXZpdHkgRm9ybXMgc3R5bGVzIG91dCBvZiB0aGUgYm94LlxuXG4vLyBDU1MgVmFyaWFibGVzIGZvciByYWRpb3MgYW5kIGNoZWNrYm94ZXNcbjpyb290IHtcbiAgLy8gRm9ybSBlbGVtZW50IGNvbG9yc1xuICAtLWNvbG9yLWJhY2tncm91bmQtaW5wdXQtZmllbGQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1ib3JkZXItZm9ybXM6ICNkOWQ5ZDk7XG4gIC0tY29sb3ItYm9yZGVyLWZvcm1zLWZvY3VzOiByZ2JhKDQyLCA0NSwgNjIsIC4zKTtcbiAgLS1jb2xvci1idXR0b246IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1idXR0b24taG92ZXI6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1idXR0b24tYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZWFzdC1iYXkpO1xuICAtLWNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1jb2xvci12YWxoYWxsYSk7XG4gIC0tY29sb3ItY2hlY2tib3g6IHZhcigtLWNvbG9yLWVhc3QtYmF5KTtcbiAgLS1jb2xvci1jaGVja2JveC1vdXRsaW5lOiAwIDAgMCAzcHggcmdiYSg4NCwgODcsIDExNSwgLjIpO1xuICAtLWNvbG9yLWNoZWNrYm94LWJvcmRlci1ob3ZlcjogbGlnaHRlbigjNTQ1NzczLCAxNSUpO1xuICAtLWNvbG9yLXBsYWNlaG9sZGVyOiB2YXIoLS1jb2xvci1wYXJhZ3JhcGgpO1xuICAtLWNvbG9yLXBsYWNlaG9sZGVyLWZvY3VzOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIC0tb3BhY2l0eS1wbGFjZWhvbGRlcjogLjQ7XG4gIC0tb3BhY2l0eS1wbGFjZWhvbGRlci1mb2N1czogLjg7XG5cbiAgLy8gRm9ybSBlbGVtZW50IHNldHRpbmdzXG4gIC0tYm9yZGVyLXJhZGl1cy1jaGVja2JveDogNHB4O1xuICAtLWJvcmRlci1yYWRpdXMtaW5wdXQtZmllbGQ6IDRweDtcbiAgLS1ib3JkZXItcmFkaXVzLXNlbGVjdDogMDtcbiAgLS1ib3JkZXItd2lkdGgtY2hlY2tib3g6IDJweDtcbiAgLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQ6IDJweDtcbiAgLS1nYXAtY2hlY2tib3g6IDEwcHg7XG4gIC0tbGluZS1oZWlnaHQtY2hlY2tib3g6IHZhcigtLWxpbmUtaGVpZ2h0LXBhcmFncmFwaHMpO1xuICAtLXNpemUtY2hlY2tib3gtbWFya2VyOiAxMnB4O1xuICAtLXNpemUtcmFkaW8tYnV0dG9uOiAxNnB4O1xuICAtLXNpemUtcmFkaW8tYnV0dG9uLW1hcmtlcjogOHB4O1xufVxuXG4vLyBCdXR0b25zXG4uYnV0dG9uLXdyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLyBCdXR0b25zXG4uc2l0ZS1tYWluLFxuLnNpdGUtZm9vdGVyIHtcbiAgYnV0dG9uLFxuICAuYnV0dG9uLFxuICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4gIGlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbigpO1xuXG4gICAgLy8gQnV0dG9uIHNpemVzXG4gICAgJi5idXR0b24tc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXNpemUtc21hbGwoKTtcbiAgICB9XG5cbiAgICAmLmJ1dHRvbi1sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tc2l6ZS1sYXJnZSgpO1xuICAgIH1cblxuICAgIC8vIEJ1dHRvbiBzdHlsZXNcbiAgICAmLmJ1dHRvbi1naG9zdCB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUtZ2hvc3QoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gU2VsZWN0IGRyb3AgZG93bnNcbnNlbGVjdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vc3ZnL3NlbGVjdC5zdmcnKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNDBweCBhdXRvO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1mb3Jtcyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc2VsZWN0KTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcGFyYWdyYXBoKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTcpO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHRleHQtaW5kZW50OiAxcHg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBGb3JtIGlucHV0IGVsZW1lbnRzIGFuZCB0ZXh0YXJlYXNcbnRleHRhcmVhLFxuc2VsZWN0LFxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0sXG5pbnB1dFt0eXBlPVwid2Vla1wiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICBAZXh0ZW5kICVkZWZhdWx0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWlucHV0LWZpZWxkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItZm9ybXMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWlucHV0LWZpZWxkKTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1wYXJhZ3JhcGgpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNyk7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuNTVzO1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcGxhY2Vob2xkZXIpO1xuICAgIG9wYWNpdHk6IHZhcigtLW9wYWNpdHktcGxhY2Vob2xkZXIpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1pbnB1dC1maWVsZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItZm9ybXMtZm9jdXMpO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXBsYWNlaG9sZGVyLWZvY3VzKTtcbiAgICAgIG9wYWNpdHk6IHZhcigtLW9wYWNpdHktcGxhY2Vob2xkZXItZm9jdXMpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSYWRpbyBidXR0b25zIGFuZCBjaGVja2JveGVzXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBoZWlnaHQ6IHZhcigtLXNpemUtcmFkaW8tYnV0dG9uKTtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tdG9wOiBjYWxjKCgxZW0gKiB2YXIoLS1saW5lLWhlaWdodC1jaGVja2JveCkgLSB2YXIoLS1zaXplLXJhZGlvLWJ1dHRvbikpIC8gMik7XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAvLyBIaWRlIG5hdGl2ZSBidXR0b25zXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IHZhcigtLXNpemUtcmFkaW8tYnV0dG9uKTtcbn1cblxuLy8gTGFiZWxzIGZvciByYWRpbyBidXR0b25zIGFuZCBjaGVja2JveGVzXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1jaGVja2JveCk7XG59XG5cbi8vIEN1c3RvbSBidXR0b25zIC0gYmFzaWMgc3R5bGVcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOjpiZWZvcmUsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDo6YmVmb3JlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1jaGVja2JveCk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLWNoZWNrYm94KTtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgaGVpZ2h0OiB2YXIoLS1zaXplLXJhZGlvLWJ1dHRvbik7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tZ2FwLWNoZWNrYm94KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWNoZWNrYm94KSAvIDIpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzLCBib3JkZXIgLjJzO1xuICB3aWR0aDogdmFyKC0tc2l6ZS1yYWRpby1idXR0b24pO1xufVxuXG4vLyBSYWRpbyBvbmx5IHN0eWxlXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vLyBDaGVja2JveCBvbmx5IHN0eWxlXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaGVja2JveCk7XG59XG5cbi8vIFJhZGlvIGJ1dHRvbiBhbmQgY2hlY2tib3ggY2hlY2tlZCBzdGF0ZXNcbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWNoZWNrYm94KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1jaGVja2JveCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnM7XG59XG5cbi8vIFJhZGlvIGJ1dHRvbiBhbmQgY2hlY2tib3ggYWN0aXZlIHN0YXRlc1xuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmFjdGl2ZSArIGxhYmVsOjpiZWZvcmUsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06YWN0aXZlICsgbGFiZWw6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzO1xufVxuXG4vLyBSYWRpbyBidXR0b24gaWNvblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwgJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2cgY2xhc3M9J25jLWljb24td3JhcHBlcicgZmlsbD0nJTIzZmZmZmZmJyUzRSUzQ2NpcmNsZSBjeD0nOCcgY3k9JzgnIHI9JzgnIGZpbGw9JyUyM2ZmZmZmZiclM0UlM0MvY2lyY2xlJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLXNpemUtcmFkaW8tYnV0dG9uLW1hcmtlcik7XG59XG5cbi8vIENoZWNrYm94IGJ1dHRvbiBpY29uXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsICUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nMCAwIDEyIDEyJyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMSA2LjUgNCA5LjUgMTEgMi41JyBmaWxsPSdub25lJyBzdHJva2U9JyUyM0ZGRkZGRicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tc2l6ZS1jaGVja2JveC1tYXJrZXIpO1xufVxuXG4vLyBSYWRpbyBidXR0b24gYW5kIGNoZWNrYm94IGZvY3VzIHN0YXRlc1xuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzICsgbGFiZWw6OmJlZm9yZSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyArIGxhYmVsOjpiZWZvcmUsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZDphY3RpdmUgKyBsYWJlbDo6YmVmb3JlLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6YWN0aXZlICsgbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItY2hlY2tib3gpO1xuICBib3gtc2hhZG93OiB2YXIoLS1jb2xvci1jaGVja2JveC1vdXRsaW5lKTtcbn1cblxuLy8gUmFkaW8gYnV0dG9uIGFuZCBjaGVja2JveCBjaGVja2VkICsgYWN0aXZlIHN0YXRlc1xuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQ6YWN0aXZlICsgbGFiZWw6OmJlZm9yZSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmFjdGl2ZSArIGxhYmVsOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi8vIFJhZGlvIGJ1dHRvbiBhbmQgY2hlY2tib3ggaG92ZXJzXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtcHNldWRvLWNsYXNzICovXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKTpub3QoOmZvY3VzKSArIGxhYmVsOmhvdmVyOjpiZWZvcmUsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKTpub3QoOmZvY3VzKSArIGxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWNoZWNrYm94LWJvcmRlci1ob3Zlcik7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW1heC1wc2V1ZG8tY2xhc3MgKi9cbiIsIi8vIEdlbmVyYWwgYmxvZyBpbmRleCBhbmQgc2luZ2xlIHN0eWxlc1xuLyogc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuLy8gQ2F0ZWdvcnkgbGlzdGluZyBzdHlsZXNcbi5jYXQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLXRvcDogNHJlbTtcblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWNhdGVnb3J5LWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDJweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1jYXRlZ29yeS10ZXh0KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTYpO1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLjVlbTtcbiAgICBwYWRkaW5nOiAuMmVtIC42ZW07XG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICB9XG5cbiAgYTpob3ZlcixcbiAgYTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci10YWctYm9yZGVyLWhvdmVyKTtcbiAgfVxufVxuXG4vLyBCbG9nIHBvc3QgdGFnIHN0eWxlc1xuLnRhZ3Mge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tYXJnaW4tYmV0d2Vlbi10ZXh0LWVsZW1lbnRzKTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXRhZy1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAycHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGFnLXRleHQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNGVtO1xuICAgIHBhZGRpbmc6IC4yZW0gLjZlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tZHVyYXRpb247XG4gIH1cblxuICBhOmhvdmVyLFxuICBhOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXRhZy1ib3JkZXItaG92ZXIpO1xuICB9XG59XG5cbi8vIE5leHQvUHJldmlvdXMgc2luZ2xlIHBvc3QgbmF2aWdhdGlvblxuLnBvc3QtbmF2aWdhdGlvbiAubmF2LWxpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4iLCIvLyBUaGVzZSBzdHlsZXMgYXJlIHJlcXVpcmVkIGJ5IFdvcmRQcmVzcy5vcmcgVGhlbWUgQ2hlY2tcbi8vIFJFUVVJUkVEOiAuc3RpY2t5IGNzcyBjbGFzcyBpcyBuZWVkZWQgaW4geW91ciB0aGVtZSBjc3MuXG4vLyBSRVFVSVJFRDogLmJ5cG9zdGF1dGhvciBjc3MgY2xhc3MgaXMgbmVlZGVkIGluIHlvdXIgdGhlbWUgY3NzLlxuOnJvb3Qge1xuICAtLWNvbG9yLWJvcmRlci1zdGlja3k6ICNkN2U0ZjI7XG4gIC0tY29sb3ItYnlwb3N0YXV0aG9yOiByZ2JhKDQyLCA0NSwgNjIsIC41KTtcbn1cblxuLnN0aWNreSB7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1jb2xvci1ib3JkZXItc3RpY2t5KTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgcGFkZGluZzogMnJlbTtcbn1cblxuLmNvbW1lbnQtbGlzdCBsaS5ieXBvc3RhdXRob3IsXG4uYnlwb3N0YXV0aG9yIHtcbiAgYm9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJ5cG9zdGF1dGhvcik7XG4gIHBhZGRpbmc6IDJyZW07XG59XG5cbi8vIFdvcmRQcmVzcyBjYXB0aW9uc1xuLy8gUkVRVUlSRUQ6IC53cC1jYXB0aW9uIGNzcyBjbGFzcyBpcyBuZWVkZWQgaW4geW91ciB0aGVtZSBjc3MuXG4vLyBSRVFVSVJFRDogLndwLWNhcHRpb24tdGV4dCBjc3MgY2xhc3MgaXMgbmVlZGVkIGluIHlvdXIgdGhlbWUgY3NzLlxuLndwLWNhcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgaW1nW2NsYXNzKj1cIndwLWltYWdlLVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuIiwiLy8gQmFjayB0byB0b3AgbGlua1xuLy9cbi8vIFRoZSBvbmUgYW5kIG9ubHkgYW5jaG9yIGxpbmsgdGhhdCBicmluZ3MgdXNlciBiYWNrIHRvIHRvcFxuLy8gd2hlbiBoaXR0aW5nIHRoZSByb2NrIGJvdHRvbS5cblxuLnNpdGUtZm9vdGVyIC50b3Age1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAvLyBNYWtlcyBpdCA1MHg1MFxuICBwYWRkaW5nOiAxNnB4O1xuXG4gIHN2ZyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZpbGw6IHZhcigtLWNvbG9yLXRvcC1hcnJvdy1kYXJrKTtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIG9wYWNpdHk6IC44O1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcbiAgICB3aWR0aDogMThweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICBzdmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0uNXJlbSk7XG4gICAgfVxuICB9XG59XG5cbi5zaXRlLWZvb3RlciAuYmFjay10by10b3Age1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3R0b206IDFyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDFyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbi1kdXJhdGlvbiAwcywgdmlzaWJpbGl0eSAwcyAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgei1pbmRleDogOTk5OTtcblxuICAvLyBBY2Nlc3NpYmlsaXR5OiBDaGFuZ2UgY29sb3IgYmFzZWQgb24gYmFja2dyb3VuZCBjb2xvciB0aGUgZWxlbWVudCBpcyBvblxuICAmLmhhcy1saWdodC1iZyBzdmcge1xuICAgIGZpbGw6IHZhcigtLWNvbG9yLXRvcC1hcnJvdy1kYXJrKTtcbiAgfVxuXG4gICYuaGFzLWRhcmstYmcgc3ZnIHtcbiAgICBmaWxsOiB2YXIoLS1jb2xvci10b3AtYXJyb3ctbGlnaHQpO1xuICB9XG5cbiAgJi5pcy12aXNpYmxlLFxuICAmLmZhZGUtb3V0IHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLWR1cmF0aW9uIDBzLCB2aXNpYmlsaXR5IDBzIDBzO1xuICB9XG5cbiAgJi5pcy12aXNpYmxlIHsgLy8gVGhlIGJ1dHRvbiBiZWNvbWVzIHZpc2libGVcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5mYWRlLW91dCB7IC8vIElmIHRoZSB1c2VyIGtlZXBzIHNjcm9sbGluZyBkb3duLCB0aGUgYnV0dG9uIGlzIG91dCBvZiBmb2N1cyBhbmQgYmVjb21lcyBsZXNzIHZpc2libGVcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDbGFzc2ljIFdvcmRQcmVzcyBnYWxsZXJpZXNcbi8vIEBzb3VyY2UgaHR0cHM6Ly9naXRodWIuY29tL0F1dG9tYXR0aWMvX3MvYmxvYi81MGNlOTNjN2NkNDc4ODcxYzlhZTc1MDRmMGVmNDc0OGY1ZGU0NDlmL3Nhc3MvbWVkaWEvX2dhbGxlcmllcy5zY3NzXG4uZ2FsbGVyeSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAxLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG59XG5cbi5nYWxsZXJ5LWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBmb3IgJGkgZnJvbSAyIHRocm91Z2ggOSB7XG4gIC5nYWxsZXJ5LWNvbHVtbnMtI3skaX0ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCRpLCAxZnIpO1xuICB9XG59XG5cbi5nYWxsZXJ5LWNhcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIi8vIFN0eWxpbmcgbGF6eSBsb2FkaW5nIGRpdlxuLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Zlcmxvay92YW5pbGxhLWxhenlsb2FkI2xhenktYmFja2dyb3VuZC1pbWFnZVxuZGl2Lmxhenkge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAwO1xufVxuXG4vLyBHZW5lcmFsIGNsYXNzIGZvciBhbnkgbGF6eSBsb2FkIGNvbnRhaW5lclxuLmhhcy1sYXp5bG9hZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiIsIi8vIEFsdGVybmF0aXZlIHN0eWxlOiBodHRwczovL2kuaW1ndXIuY29tL0E4Z1V5dTIucG5nXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBhMTF5L2ZvbnQtc2l6ZS1pcy1yZWFkYWJsZSAqL1xuLm5hdmlnYXRpb246bm90KC5wb3N0LW5hdmlnYXRpb24pIC5uYXYtbGlua3Mge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tdG9wOiA0cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcblxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuLnBhZ2UtbnVtYmVycyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJsdWUtY2hhbGspO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJsdWUtY2hhbGspO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ibHVlLWNoYWxrKTtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJsdWUtY2hhbGspO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcGFnaW5hdGlvbi10ZXh0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gIGhlaWdodDogMzVweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgd2lkdGg6IDM1cHg7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIHdpZHRoOiAyNnB4O1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxufVxuXG5hLnBhZ2UtbnVtYmVyczpob3ZlcixcbmEucGFnZS1udW1iZXJzOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcGFnaW5hdGlvbi1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wYWdpbmF0aW9uLWJvcmRlci1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wYWdpbmF0aW9uLXRleHQtaG92ZXIpO1xufVxuXG4ucGFnZS1udW1iZXJzLmN1cnJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wYWdpbmF0aW9uLWJhY2tncm91bmQtY3VycmVudCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcGFnaW5hdGlvbi1ib3JkZXItY3VycmVudCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wYWdpbmF0aW9uLXRleHQtY3VycmVudCk7XG59XG5cbi8vIFJlbW92ZSB0aGlzIGlmIHlvdSBhcmUgdXNpbmcgdmVyc2lvbiB3aXRoIG5leHQvcHJldlxuLnBhZ2UtbnVtYmVycy5uZXh0LFxuLnBhZ2UtbnVtYmVycy5wcmV2IHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB3aWR0aDogYXV0bztcblxuICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgfVxufVxuIiwiLy8gR3Jhdml0eSBmb3Jtc1xuLy8gUGxlYXNlIGRpc2FibGUgQ1NTIGluIC9hZG1pbi5waHA/cGFnZT1nZl9zZXR0aW5nc1xuXG4vLyBXQ0FHIDIuMCBlcnJvcnNcbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4gKi9cbmRpdi52YWxpZGF0aW9uX2Vycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNyk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgcGFkZGluZzogMnJlbTtcblxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICB9XG59XG5cbmJvZHkgKlthcmlhLWludmFsaWQ9XCJ0cnVlXCJdIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbn1cblxuLnZhbGlkYXRpb25fbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgbGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG59XG5cbi8vIEdyYXZpdHkgZm9ybXMgbWluaW1hbCBkZWZhdWx0IHN0eWxlc1xuLmdmb3JtX2JvZHkge1xuICAvLyBSZXF1aXJlZCBzdGFyIGNvbG9yXG4gIC5nZmllbGRfcmVxdWlyZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yMik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogM3B4O1xuICB9XG5cbiAgLy8gSGlkZSBob25leXBvdCBmaWVsZFxuICAuZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIge1xuICAgIEBleHRlbmQgLnNjcmVlbi1yZWFkZXItdGV4dDtcbiAgfVxuXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmdmb3JtX2ZpZWxkcyBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICB9XG5cbiAgLmdmaWVsZF9yYWRpbyBsaSxcbiAgLmdmaWVsZF9jaGVja2JveCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLmdmaWVsZHNldCBsaSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5nZm9ybV9maWVsZHMgbGk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nZmllbGRfbGFiZWwsXG4gIC5naW5wdXRfY29udGFpbmVyIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIH1cblxuICAuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsLFxuICAuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICBpbnB1dDpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pLFxuICB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICAvLyBDb21wbGV4IGZpZWxkc1xuICAgIC5naW5wdXRfZnVsbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5naW5wdXRfY29tcGxleCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0uNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLS41cmVtO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5naW5wdXRfbGVmdCxcbiAgICAuZ2lucHV0X3JpZ2h0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7XG5cbiAgICAgID4gbGFiZWwsXG4gICAgICBpbnB1dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE2KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4gKi9cbiIsIi8vIEZyb250IHBhZ2Vcbi8vXG4vLyBUaGUgbW9zdCBpbXBvcnRhbnQgcGFnZSBvbiB0aGUgd2Vic2l0ZSBnb2VzIGhlcmUuXG4vLyBZb3UgY2FuIGZvcmNlIHRoZSBzdHlsZXMgYnkgZGVmaW5pbmcgdGhlbSBpbnNpZGVcbi8vIHRoZSBib2R5LlxuIiwiLy8gU2VhcmNoXG5cbi5ibG9jay1zZWFyY2gsXG4uYmxvY2stc2VhcmNoLXJlc3VsdHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG5cbi5ibG9jay1zZWFyY2ggZm9ybSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gIGdyaWQtZ2FwOiAxcmVtO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDlmciAxZnI7XG5cbiAgaW5wdXQsXG4gIGxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uYmxvY2stc2VhcmNoLXJlc3VsdHMge1xuICA+IC5jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRjb250YWluZXItaXBhZC1sYW5kc2NhcGUpIHtcbiAgICAgIC8vIENoYW5nZSB0aGlzIHRvIDIgaWYgeW91IHVzZSBvdGhlciBwb3N0IHR5cGUgcmVzdWx0c1xuICAgICAgQGluY2x1ZGUgZ3JpZCgxKTtcbiAgICB9XG4gIH1cblxuICAucm93LXJlc3VsdCB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1mb3Jtcyk7XG4gICAgcGFkZGluZzogMnJlbSAwO1xuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1mb3Jtcyk7XG4gICAgfVxuICB9XG5cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWg0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxuXG4gIC50YWdzIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtdGFnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbik7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbik7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC10YWcpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRXJyb3IgNDA0IHRpdGxlXG4uYmxvY2stZXJyb3ItNDA0IHtcbiAgLmNvbnRhaW5lciB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRjb250YWluZXItbW9iaWxlKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTAlO1xuICAgICAgcGFkZGluZy10b3A6IDEwJTtcbiAgICB9XG4gIH1cblxuICBoMSB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250KDQycHgsIDIwMHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB9XG59XG4iLCIvLyBDb21tZW50c1xuLy9cbi8vIFdvcmRQcmVzcyBidWlsdC1pbiBjb21tZW50cyB3aXRoIGNvbW1lbnRfZm9ybSgpLlxuLy8gQ3VzdG9tIGNvbW1lbnQgdGVtcGxhdGUgY2FuIGJlIGZvdW5kIGluIGluYy9jb21tZW50cy5waHBcbi8qIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cbi5jb21tZW50cy1hcmVhIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogNTBweDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5jb21tZW50LWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE0KTtcbiAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIHAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1jb21tZW50LXRleHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE0KTtcbiAgfVxuXG4gIC5hdmF0YXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxuICAuY29tbWVudC1hdXRob3Ige1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1jb21tZW50LWF1dGhvci10ZXh0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICBhLFxuICAuY29tbWVudHMtbGluayBhIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWNvbW1lbnQpO1xuICB9XG5cbiAgLmNvbW1lbnQtYXV0aG9yIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wYXJhZ3JhcGgpO1xuICB9XG5cbiAgLmNvbW1lbnQtdGltZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTQpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1jb21tZW50LXRpbWUtYW5jaG9yKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAuY29tbWVudC10aW1lIHN2ZyB7XG4gICAgZmlsbDogdmFyKC0tY29sb3ItbGluay1jb21tZW50LXRpbWUtYW5jaG9yKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAycHg7XG4gIH1cbn1cblxuLmNvbW1lbnRzLWxpbmsge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTQpO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1jb21tZW50KTtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gIGE6aG92ZXIsXG4gIGE6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIH1cblxuICBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7XG4gIH1cbn1cblxuLy8gQ29tbWVudCBmb3JtIGdyaWRcbi5jb21tZW50LWZvcm0ge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiAxZW07XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuXG4gICAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIC8vIE1ha2UgdGhlc2UgZnVsbCB3aWR0aFxuICAgIC5jb21tZW50LW5vdGVzLFxuICAgIC5jb21tZW50LWZvcm0tY29tbWVudCxcbiAgICAuZm9ybS1zdWJtaXQge1xuICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgfVxuICB9XG59XG5cbi5jb21tZW50LXJlc3BvbmQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICBpbnB1dCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRjb250YWluZXItbW9iaWxlKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuY29tbWVudC1mb3JtLWF1dGhvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgaW5wdXQge1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmNvbW1lbnQtZm9ybS1lbWFpbCB7XG4gICAgY2xlYXI6IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICBpbnB1dCB7XG4gICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuY29tbWVudC1mb3JtLXVybCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGlucHV0IHtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLXN1Ym1pdCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLmNvbW1lbnQtZm9ybS1jb21tZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cbiIsIi8vIEd1dGVuYmVyZyBjb250ZW50XG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyLFxuLmd1dGVuYmVyZy1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcGFkZGluZy1ibG9jayk7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy10b3A6IHZhcigtLXBhZGRpbmctYmxvY2spO1xufVxuXG4vLyBHdXRlbmJlcmcgY29yZSBtYWdpY1xuLmd1dGVuYmVyZy1jb250ZW50ID4gKiB7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1wYXJhZ3JhcGhzLWJsb2cpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6ICR3aWR0aC1tYXgtYXJ0aWNsZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcblxuICBAbWVkaWEgKG1heC13aWR0aDogJHdpZHRoLW1heC1hcnRpY2xlICsgNDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIGNhbGModmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCkgKiAyKSk7XG5cbiAgICAmLmFsaWduZnVsbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIExpc3Qgb2YgYWxsIGJsb2NrczogaHR0cHM6Ly93b3JkcHJlc3Mub3JnL3N1cHBvcnQvYXJ0aWNsZS9ibG9ja3MvXG4vLyBEZWZhdWx0IEd1dGVuYmVyZyBjb3JlIGJsb2NrIHN0eWxlc1xuQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9jb3JlLWJsb2NrcXVvdGUnO1xuQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9jb3JlLWNvZGUnO1xuQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9jb3JlLWNvbHVtbnMnO1xuQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9jb3JlLWNvdmVyJztcbkBpbXBvcnQgJ2d1dGVuYmVyZy9ibG9ja3MvY29yZS1lbWJlZCc7XG5AaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2NvcmUtZ2FsbGVyeSc7XG5AaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2NvcmUtc2VwYXJhdG9yJztcbkBpbXBvcnQgJ2d1dGVuYmVyZy9ibG9ja3MvY29yZS1oZWFkaW5nJztcbkBpbXBvcnQgJ2d1dGVuYmVyZy9ibG9ja3MvY29yZS1pbWFnZSc7XG5AaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2NvcmUtbGlzdCc7XG5AaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2NvcmUtcGFyYWdyYXBoJztcbkBpbXBvcnQgJ2d1dGVuYmVyZy9ibG9ja3MvY29yZS1wcmVmb3JtYXR0ZWQnO1xuQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9jb3JlLXB1bGxxdW90ZSc7XG5AaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2NvcmUtdGFibGUnO1xuQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9jb3JlLXRleHQtY29sdW1ucyc7XG5AaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2NvcmUtdmVyc2UnO1xuQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9jb3JlLXZpZGVvJztcblxuLy8gQ3VzdG9tIEd1dGVuYmVyZyBibG9jayBzdHlsZXNcbkBpbXBvcnQgJ2d1dGVuYmVyZy9ibG9ja3MvYm94ZWQnO1xuQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9idXR0b24nO1xuQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9idXR0b24tZmlsZSc7XG4iLCIvLyBDb3JlL2Jsb2NrcXVvdGUgYmxvY2tcbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIsXG4uZ3V0ZW5iZXJnLWNvbnRlbnQge1xuICBibG9ja3F1b3RlICsgY2l0ZSxcbiAgYmxvY2txdW90ZSArIHAgPiBjaXRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICB9XG5cbiAgPiBibG9ja3F1b3RlLFxuICA+IGJsb2NrcXVvdGUud3AtYmxvY2stcXVvdGUge1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tY29sb3ItYmxvY2txdW90ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXBhcmFncmFwaHMtYmxvZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICBwYWRkaW5nOiAzLjVyZW0gNnJlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTJyZW0pO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aC1tYXgtYXJ0aWNsZSArIDQwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDMuNXJlbSAycmVtO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDRyZW0pO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgICAgcGFkZGluZzogNHJlbSA0cmVtIDRyZW0gMnJlbTtcbiAgICB9XG5cbiAgICA+IHAge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsb2NrcXVvdGUpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXBhcmFncmFwaHMtYmxvZyk7XG4gICAgfVxuICB9XG5cbiAgLndwLWJsb2NrLWJsb2NrcXVvdGUuYWxpZ253aWRlLFxuICAud3AtYmxvY2stYmxvY2txdW90ZS5hbGlnbmZ1bGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIGNhbGModmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCkgKiAyKSk7XG4gIH1cblxuICAud3AtYmxvY2stYmxvY2txdW90ZSBibG9ja3F1b3RlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiLy8gUHJlZm9ybWF0dGVkIHRleHQuXG5wcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWNvZGUtYmxvY2spO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWNvZGUtYmxvY2spO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1jb2RlLXRleHQpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTYpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtcGFyYWdyYXBocy1ibG9nKTtcbiAgbWFyZ2luOiAzcmVtIDA7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBwYWRkaW5nOiAxNXB4IDE2cHggMTRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgY29kZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1jb2RlLXRleHQpO1xuICB9XG59XG5cbi8vIENvcmUvY29kZSBibG9ja1xuLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5ndXRlbmJlcmctY29udGVudCB7XG4gIC53cC1ibG9jay1jb2RlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHdpZHRoLWdyaWQtYmFzZSArIDQwcHgpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDQpKTtcbiAgICB9XG4gIH1cblxuICBwcmUge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gIH1cbn1cbiIsIi8vIENvcmUvY29sdW1ucyBibG9ja1xuLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5ndXRlbmJlcmctY29udGVudCB7XG4gIC53cC1ibG9jay1jb2x1bW5zLmFsaWduZnVsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgfVxuXG4gIC8vIExvb3BzIHRvIGVudW1lcmF0ZSB0aGUgY2xhc3NlcyBmb3IgY29sdW1ucy5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA5IHtcbiAgICAud3AtYmxvY2stY29sdW1ucy5jb2x1bW5zLSN7JGl9LmFsaWduZnVsbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTtcbiAgICB9XG5cbiAgICAud3AtYmxvY2stY29sdW1ucy5jb2x1bW5zLSN7JGl9IHtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWdhcDogMWVtO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTtcblxuICAgICAgICAud3AtYmxvY2stY29sdW1uIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRjb250YWluZXItbW9iaWxlKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb3JlL2NvdmVyIGJsb2NrXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyLFxuLmd1dGVuYmVyZy1jb250ZW50IHtcbiAgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG5cbiAgICBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1jb3JlLWhlYWRpbmcpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ29yZS9lbWJlZCBibG9ja1xuLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5ndXRlbmJlcmctY29udGVudCB7XG4gIC53cC1ibG9jay1lbWJlZCBpZnJhbWUsXG4gIC53cC1ibG9jay1lbWJlZCB2aWRlbyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aC1ncmlkLWJhc2UgKyA0MHB4KSB7XG4gICAgLndwLWJsb2NrLWVtYmVkLmFsaWdud2lkZSxcbiAgICAud3AtYmxvY2stZW1iZWQuYWxpZ25mdWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpO1xuICAgIH1cbiAgfVxuXG4gIC53cC1ibG9jay1lbWJlZC5hbGlnbmZ1bGwge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIENvcmUvZ2FsbGVyeSBibG9ja1xuLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5ndXRlbmJlcmctY29udGVudCB7XG4gIC5pcy1ncmlkLFxuICAud3AtYmxvY2stZ2FsbGVyeSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbWFyZ2luLWJldHdlZW4tdGV4dC1lbGVtZW50cyk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmLmFsaWdud2lkZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgJi5hbGlnbmZ1bGwge1xuICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIGNhbGModmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCkgKiAyKSk7XG4gICAgfVxuICB9XG5cbiAgLmlzLWdyaWQsXG4gIC5ibG9ja3MtZ2FsbGVyeS1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgIC5ibG9ja3MtZ2FsbGVyeS1pdGVtIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC8vIExvb3BzIHRvIGVudW1lcmF0ZSB0aGUgY2xhc3NlcyBmb3IgY29sdW1ucy5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCA5IHtcbiAgICAuaXMtZ3JpZC5jb2x1bW5zLSN7JGl9LFxuICAgIC5jb2x1bW5zLSN7JGl9IC5ibG9ja3MtZ2FsbGVyeS1ncmlkIHtcbiAgICAgIGdyaWQtZ2FwOiAzcmVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJGksIDFmcik7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY3MHB4KSB7XG4gICAgICAgIGdyaWQtZ2FwOiAycmVtO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ibG9ja3MtZ2FsbGVyeS1pdGVtID4gZmlndXJlIGZpZ2NhcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi8vIENvcmUvc2VwYXJhdG9yIGJsb2NrXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyLFxuLmd1dGVuYmVyZy1jb250ZW50IHtcbiAgaHIsXG4gIC53cC1ibG9jay1zZXBhcmF0b3Ige1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tbWFyZ2luLWJldHdlZW4tcGFyYWdyYXBocykgKiAyKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLW1hcmdpbi1iZXR3ZWVuLXBhcmFncmFwaHMpICogMik7XG4gIH1cblxuICAud3AtYmxvY2stc2VwYXJhdG9yLmlzLXN0eWxlLWRlZmF1bHQge1xuICAgIG1heC13aWR0aDogJHdpZHRoLW1heC1hcnRpY2xlO1xuICB9XG59XG4iLCIvLyBDb3JlL2hlYWRpbmcgYmxvY2tcbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIsXG4uZ3V0ZW5iZXJnLWNvbnRlbnQge1xuICAvLyBUaXRsZSBsaW5lLWhlaWdodHNcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1IHtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtY29yZS1oZWFkaW5nKTtcbiAgfVxuXG4gIC8vIERvbid0IGFkZCBleHRyYSBtYXJnaW4gb24gdG9wIG9mIGZpcnN0IHRpdGxlXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvcmUvaGVhZGluZyBibG9ja1xuLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5ndXRlbmJlcmctY29udGVudCB7XG4gIC8vIEltYWdlIGJsb2NrXG4gIC53cC1ibG9jay1pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbWFyZ2luLXdwLWJsb2NrLWltYWdlKTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1tYXJnaW4td3AtYmxvY2staW1hZ2UpO1xuXG4gICAgJi5hbGlnbmZ1bGwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHdpZHRoLWdyaWQtYmFzZSArIDQwcHgpIHtcbiAgICAgICYuYWxpZ253aWRlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlICsgNDBweCkge1xuICAgICAgJi5hbGlnbndpZGUge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWxpZ253aWRlIGltZyxcbiAgICAuYWxpZ25mdWxsIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBObyBib3JkZXIgcmFkaXVzIG9uIGZ1bGwgd2lkdGggaW1hZ2UgYW5kIHdpZGUgb24gc21hbGwgc2NyZWVuc1xuICAgIC5hbGlnbmZ1bGwgaW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgPiBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bztcblxuICAgICAgJi5hbGlnbmxlZnQsXG4gICAgICAmLmFsaWducmlnaHQge1xuICAgICAgICAvLyBIYWNrIGZvciBrZWVwaW5nIGZpZ2NhcHRpb24gZnJvbSBmbG93aW5nIG92ZXIgZmxvYXRlZCBpbWFnZSwgdGhpcyB2YXJpYWJsZSBpcyBzZXQgaW5saW5lIHRvIHRoZSBjb3JyZXNwb25kaW5nIGZpZ3VyZSB3aXRoIGd1dGVuYmVyZy1oZWxwZXJzLmpzXG4gICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIGNzc3Rvb2xzL3ZhbHVlLW5vLXVua25vd24tY3VzdG9tLXByb3BlcnRpZXMgKi9cbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS13aWR0aC1jaGlsZC1pbWcpO1xuICAgICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gICAgICB9XG4gICAgfVxuXG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgICAgJi5hbGlnbmxlZnQgaW1nLFxuICAgICAgJi5hbGlnbnJpZ2h0IGltZyxcbiAgICAgICYuYWxpZ25jZW50ZXIgaW1nIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFsaWduY2VudGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuYWxpZ25jZW50ZXIgaW1nIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gTGlzdCBibG9ja1xuLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5ndXRlbmJlcmctY29udGVudCB7XG4gIC53cC1ibG9jay1jYXRlZ29yaWVzLWxpc3QsXG4gIG9sOm5vdChbY2xhc3NdKSxcbiAgdWw6bm90KFtjbGFzc10pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMnJlbSArIHZhcigtLW1hcmdpbi1iZXR3ZWVuLXBhcmFncmFwaHMpKTtcbiAgfVxufVxuIiwiLy8gQ29yZS9wYXJhZ3JhcGggYmxvY2tcbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIsXG4uZ3V0ZW5iZXJnLWNvbnRlbnQge1xuICBwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcGFyYWdyYXBoKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtcGFyYWdyYXBocy1ibG9nKTtcbiAgfVxuXG4gIC5oYXMtbGFyZ2VyLWZvbnQtc2l6ZSxcbiAgLmhhcy1sYXJnZS1mb250LXNpemUge1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1oZWFkaW5ncyk7XG4gIH1cblxuICAuaGFzLWxhcmdlLWZvbnQtc2l6ZSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRjb250YWluZXItbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xOCk7XG4gICAgfVxuICB9XG5cbiAgLmhhcy1sYXJnZXItZm9udC1zaXplIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTIyKTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHdpZHRoLWdyaWQtYmFzZSArIDQwcHgpIHtcbiAgICAuaGFzLWJhY2tncm91bmQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIGNhbGMoMi4zNzVlbSAqIDIpKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIsXG4uZ3V0ZW5iZXJnLWNvbnRlbnQge1xuICAud3AtYmxvY2stcHJlZm9ybWF0dGVkIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHdpZHRoLWdyaWQtYmFzZSArIDQwcHgpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDQpKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvcmUvcHVsbHF1b3RlIGJsb2NrXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyLFxuLmd1dGVuYmVyZy1jb250ZW50IHtcbiAgLndwLWJsb2NrLXB1bGxxdW90ZS5hbGlnbndpZGUsXG4gIC53cC1ibG9jay1wdWxscXVvdGUuYWxpZ25mdWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlICsgNDBweCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpO1xuICAgIH1cbiAgfVxuXG4gIC53cC1ibG9jay1wdWxscXVvdGUuYWxpZ25mdWxsIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTtcbiAgfVxufVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuLy8gQ29yZS90YWJsZSBibG9ja1xuLy8gVGFibGUgaGVhZGluZyBjZWxsc1xudGgge1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNjcm9waW9uKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG50ZCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG5cbnRkLFxudGgsXG4ud3AtYmxvY2stdGFibGUgdGQsXG4ud3AtYmxvY2stdGFibGUgdGgge1xuICBib3JkZXI6IDA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXBhcmFncmFwaCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE0KTtcbiAgaGVpZ2h0OiAycmVtO1xuICBwYWRkaW5nOiAuNnJlbSAxLjVyZW07XG59XG5cbnRyOm50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtdGFibGUtY2VsbC1ldmVuKTtcbn1cblxudHI6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXRhYmxlLWNlbGwtb2RkKTtcbn1cblxudGhlYWQsXG4ud3AtYmxvY2stdGFibGUgdGhlYWQge1xuICBib3JkZXI6IDA7XG5cbiAgdGg6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDtcbiAgfVxuXG4gIHRoOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA4cHg7XG4gIH1cbn1cblxuLy8gRGVmYXVsdHNcbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIsXG4uZ3V0ZW5iZXJnLWNvbnRlbnQge1xuICAud3AtYmxvY2stdGFibGUuYWxpZ25mdWxsIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlICsgNDBweCkge1xuICAgIC53cC1ibG9jay10YWJsZS5hbGlnbndpZGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ29yZS90ZXh0LWNvbHVtbnMgYmxvY2tcbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIsXG4uZ3V0ZW5iZXJnLWNvbnRlbnQge1xuICAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmFsaWduZnVsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgfVxuXG4gIC8vIExvb3BzIHRvIGVudW1lcmF0ZSB0aGUgY2xhc3NlcyBmb3IgY29sdW1ucy5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA5IHtcbiAgICAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtI3skaX0uYWxpZ25mdWxsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpO1xuICAgIH1cblxuICAgIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy0jeyRpfSB7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC1nYXA6IDFlbTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIGNhbGModmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCkgKiAyKSk7XG5cbiAgICAgICAgLndwLWJsb2NrLWNvbHVtbiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5ndXRlbmJlcmctY29udGVudCB7XG4gIC53cC1ibG9jay12ZXJzZSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aC1ncmlkLWJhc2UgKyA0MHB4KSB7XG4gICAgICBtYXJnaW4tbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIGNhbGModmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCkgKiA0KSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb3JlL3ZpZGVvIGJsb2NrXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyLFxuLmd1dGVuYmVyZy1jb250ZW50IHtcbiAgLndwLWJsb2NrLXZpZGVvIHZpZGVvIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHdpZHRoLWdyaWQtYmFzZSArIDQwcHgpIHtcbiAgICAud3AtYmxvY2stdmlkZW8uYWxpZ253aWRlLFxuICAgIC53cC1ibG9jay12aWRlby5hbGlnbmZ1bGwge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIGNhbGModmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCkgKiAyKSk7XG4gICAgfVxuICB9XG5cbiAgLndwLWJsb2NrLXZpZGVvLmFsaWduZnVsbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gQm94ZWQgYmxvY2sgc3R5bGVcbi53cC1ibG9jay5pcy1zdHlsZS1ib3hlZCxcbi5pcy1zdHlsZS1ib3hlZCB7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXBhcmFncmFwaCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wYXJhZ3JhcGgpO1xuICBmb250LXNpemU6IDE3cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1wYXJhZ3JhcGhzLWJsb2cpO1xuICBwYWRkaW5nOiAycmVtO1xuICB3aWR0aDogY2FsYygxMDAlIC0gNHJlbSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkd2lkdGgtbWF4LWFydGljbGUgKyA0MHB4KSB7XG4gIC5ndXRlbmJlcmctY29udGVudCAuaXMtc3R5bGUtYm94ZWQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDJyZW0sIDApO1xuICB9XG59XG4iLCIud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgQGluY2x1ZGUgYnV0dG9uKCk7XG59XG4iLCIud3AtYmxvY2stZmlsZSAud3AtYmxvY2stZmlsZV9fYnV0dG9uIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUtc21hbGwoKTtcbiAgZm9udC1zaXplOiAuOGVtO1xuICBwYWRkaW5nOiAuM2VtIC44ZW07XG59XG4iLCIvLyBGb3JtYXR0aW5nXG5AaW1wb3J0ICdndXRlbmJlcmcvZm9ybWF0dGluZy9hbGlnbic7XG5AaW1wb3J0ICdndXRlbmJlcmcvZm9ybWF0dGluZy9jYXB0aW9uJztcbkBpbXBvcnQgJ2d1dGVuYmVyZy9mb3JtYXR0aW5nL2ltZyc7XG5AaW1wb3J0ICdndXRlbmJlcmcvZm9ybWF0dGluZy9rYmQnO1xuQGltcG9ydCAnZ3V0ZW5iZXJnL2Zvcm1hdHRpbmcvbGluayc7XG4iLCIvLyBBbGlnbm1lbnRzXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyLFxuLmd1dGVuYmVyZy1jb250ZW50IHtcbiAgLmFsaWdubGVmdCA+ICoge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgLmFsaWducmlnaHQgPiAqIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxuICAuYWxpZ25sZWZ0ID4gaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tYXJnaW4tYmV0d2Vlbi1wYXJhZ3JhcGhzKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLW1hcmdpbi1iZXR3ZWVuLXBhcmFncmFwaHMpO1xuXG4gICAgKyBmaWdjYXB0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLmFsaWducmlnaHQgPiBpbWcge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLW1hcmdpbi1iZXR3ZWVuLXBhcmFncmFwaHMpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1tYXJnaW4tYmV0d2Vlbi1wYXJhZ3JhcGhzKTtcblxuICAgICsgZmlnY2FwdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5hbGlnbndpZGUge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlICsgNDBweCkge1xuICAgICAgbWF4LXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmFsaWduZnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICR3aWR0aC1ncmlkLWJhc2UgKyA0MHB4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1wYWRkaW5nLWJsb2NrKTtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXBhZGRpbmctYmxvY2spO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi53cC1ibG9jay1pbWFnZSBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENhcHRpb25zXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtY29tYmluYXRvcnMsIHNlbGVjdG9yLW1heC1jb21wb3VuZC1zZWxlY3RvcnMgKi9cbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIsXG4uZ3V0ZW5iZXJnLWNvbnRlbnQge1xuICBmaWdjYXB0aW9uLFxuICBjaXRlLFxuICBzbWFsbCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1jYXB0aW9uKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1jYXB0aW9ucyk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDZyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgbWF4LXdpZHRoOiAkd2lkdGgtbWF4LWFydGljbGU7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRjb250YWluZXItbW9iaWxlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cbiAgfVxuXG4gIC53cC1ibG9jay1pbWFnZSBmaWdjYXB0aW9uLFxuICAud3AtYmxvY2staW1hZ2UgLmFsaWducmlnaHQgPiBmaWdjYXB0aW9uLFxuICAud3AtYmxvY2staW1hZ2UgLmFsaWduY2VudGVyID4gZmlnY2FwdGlvbixcbiAgLndwLWJsb2NrLWltYWdlLmlzLXJlc2l6ZWQgPiBmaWdjYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIGNpdGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi8vIEltYWdlIGZvcm1hdHRpbmcgb3B0aW9uc1xuLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5ndXRlbmJlcmctY29udGVudCB7XG4gIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB9XG59XG4iLCJrYmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1rYmQtYmFja2dyb3VuZCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWtiZC1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyMiwgMjIsIDIyLCAuMiksIDAgMCAwIDJweCB2YXIoLS1jb2xvci13aGl0ZSkgaW5zZXQ7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wYXJhZ3JhcGgpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIHBhZGRpbmc6IDAgLjVyZW07XG4gIHRleHQtc2hhZG93OiAwIDFweCAwIHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGExMXkvbm8tZGlzcGxheS1ub25lLCBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5LCBzZWxlY3Rvci1tYXgtcHNldWRvLWNsYXNzICovXG4vLyBEZWZhdWx0IGxpbmtzIGV2ZXJ5d2hlcmVcbmEge1xuICBjb2xvcjogdmFyKC0tY29sb3ItbGluay10ZXh0KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLXRleHQpO1xuICAgIC8vIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG5cbi8vIExpbmtzIHdpdGhpbiBjb250ZW50XG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyLFxuLmd1dGVuYmVyZy1jb250ZW50IHtcbiAgLy8gU3R5bGUgY2hvaWNlIG5vdCB0byBoYXZlIGV4dGVybmFsIGxpbmsgaW5kaWNhdG9ycyBpbiBhIGxpc3RcbiAgbGkgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIFtkYXRhLXR5cGU9XCJjb3JlL3BhcmFncmFwaFwiXSA+IGEsXG4gIGxpID4gYSxcbiAgcCA+IHN0cm9uZyA+IGEsXG4gIHAgPiBlbSA+IGEsXG4gIHA6bm90KFtjbGFzc10pID4gYTpub3QoW2NsYXNzXSksXG4gIHAuaGFzLXRleHQtYWxpZ24tbGVmdCA+IGEsXG4gIHAuaGFzLXRleHQtYWxpZ24tY2VudGVyID4gYSxcbiAgcC5oYXMtdGV4dC1hbGlnbi1yaWdodCA+IGEsXG4gIHAuaGFzLXNtYWxsLWZvbnQtc2l6ZSA+IGEsXG4gIGZpZ2NhcHRpb24gPiBhLFxuICBwOm5vdChbY2xhc3NdKSA+IGEuaXMtZXh0ZXJuYWwtbGluayB7XG4gICAgQGluY2x1ZGUgbGluaygpO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFDQUEsNEVBQTRFO0FBQzVFLDJIQUEySDtBQUUzSDsrRUFDK0U7QUFFL0U7OztHQUdHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSCxXQUFXLEVBQUUsSUFBSSxHQUNsQjs7QUFFRDsrRUFDK0U7QUFFL0U7O0dBRUc7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNILE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNILE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBRUQ7OztHQUdHO0FBRUgsQUFBQSxFQUFFLENBQUM7RUFDRCxTQUFTLEVBQUUsR0FBRztFQUNkLE1BQU0sRUFBRSxPQUFPLEdBQ2hCOztBQUVEOytFQUMrRTtBQUUvRTs7O0dBR0c7QUFFSCxBQUFBLEVBQUUsQ0FBQztFQUNELFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsUUFBUSxFQUFFLE9BQU8sR0FDbEI7O0FBRUQ7OztHQUdHO0FBRUgsQUFBQSxHQUFHLENBQUM7RUFDRixXQUFXLEVBQUUsU0FBUztFQUN0QixTQUFTLEVBQUUsR0FBRyxHQUNmOztBQUVEOytFQUMrRTtBQUUvRTs7R0FFRztBQUVILEFBQUEsQ0FBQyxDQUFDO0VBQ0EsZ0JBQWdCLEVBQUUsV0FBVyxHQUM5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 */