:root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width:768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: .18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{inset:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports (padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports (padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: env(safe-area-inset-top);--ion-safe-area-bottom: env(safe-area-inset-bottom);--ion-safe-area-left: env(safe-area-inset-left);--ion-safe-area-right: env(safe-area-inset-right)}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px #00000014}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px #00000014}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px #0000002e}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:.3s transform cubic-bezier(.25,.8,.5,1)}@media(prefers-reduced-motion:reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html:not(.hydrated) body{display:none}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}html{font-family:var(--ion-font-family)}@supports (-webkit-touch-callout: none){html{font:var(--ion-dynamic-font, 16px var(--ion-font-family))}}a{background-color:transparent;color:var(--ion-color-primary, #0054e9)}h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}h1{margin-top:20px;font-size:1.625rem}h2{margin-top:18px;font-size:1.5rem}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}.ion-hide,.ion-hide-up,.ion-hide-down{display:none!important}@media(min-width:576px){.ion-hide-sm-up{display:none!important}}@media(max-width:575.98px){.ion-hide-sm-down{display:none!important}}@media(min-width:768px){.ion-hide-md-up{display:none!important}}@media(max-width:767.98px){.ion-hide-md-down{display:none!important}}@media(min-width:992px){.ion-hide-lg-up{display:none!important}}@media(max-width:991.98px){.ion-hide-lg-down{display:none!important}}@media(min-width:1200px){.ion-hide-xl-up{display:none!important}}@media(max-width:1199.98px){.ion-hide-xl-down{display:none!important}}.ion-no-padding{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;padding:0}.ion-padding{--padding-start: var(--ion-padding, 16px);--padding-end: var(--ion-padding, 16px);--padding-top: var(--ion-padding, 16px);--padding-bottom: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-top{--padding-top: var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px)}.ion-padding-start{--padding-start: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px)}.ion-padding-end{--padding-end: var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px)}.ion-padding-bottom{--padding-bottom: var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-vertical{--padding-top: var(--ion-padding, 16px);--padding-bottom: var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-horizontal{--padding-start: var(--ion-padding, 16px);--padding-end: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px)}.ion-no-margin{--margin-start: 0;--margin-end: 0;--margin-top: 0;--margin-bottom: 0;margin:0}.ion-margin{--margin-start: var(--ion-margin, 16px);--margin-end: var(--ion-margin, 16px);--margin-top: var(--ion-margin, 16px);--margin-bottom: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-top{--margin-top: var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px)}.ion-margin-start{--margin-start: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px)}.ion-margin-end{--margin-end: var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px)}.ion-margin-bottom{--margin-bottom: var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-vertical{--margin-top: var(--ion-margin, 16px);--margin-bottom: var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-horizontal{--margin-start: var(--ion-margin, 16px);--margin-end: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px)}.ion-float-left{float:left!important}.ion-float-right{float:right!important}.ion-float-start{float:left!important}:host-context([dir=rtl]) .ion-float-start{float:right!important}[dir=rtl] .ion-float-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-start:dir(rtl){float:right!important}}.ion-float-end{float:right!important}:host-context([dir=rtl]) .ion-float-end{float:left!important}[dir=rtl] .ion-float-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-end:dir(rtl){float:left!important}}@media(min-width:576px){.ion-float-sm-left{float:left!important}.ion-float-sm-right{float:right!important}.ion-float-sm-start{float:left!important}:host-context([dir=rtl]) .ion-float-sm-start{float:right!important}[dir=rtl] .ion-float-sm-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-sm-start:dir(rtl){float:right!important}}.ion-float-sm-end{float:right!important}:host-context([dir=rtl]) .ion-float-sm-end{float:left!important}[dir=rtl] .ion-float-sm-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-sm-end:dir(rtl){float:left!important}}}@media(min-width:768px){.ion-float-md-left{float:left!important}.ion-float-md-right{float:right!important}.ion-float-md-start{float:left!important}:host-context([dir=rtl]) .ion-float-md-start{float:right!important}[dir=rtl] .ion-float-md-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-md-start:dir(rtl){float:right!important}}.ion-float-md-end{float:right!important}:host-context([dir=rtl]) .ion-float-md-end{float:left!important}[dir=rtl] .ion-float-md-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-md-end:dir(rtl){float:left!important}}}@media(min-width:992px){.ion-float-lg-left{float:left!important}.ion-float-lg-right{float:right!important}.ion-float-lg-start{float:left!important}:host-context([dir=rtl]) .ion-float-lg-start{float:right!important}[dir=rtl] .ion-float-lg-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-lg-start:dir(rtl){float:right!important}}.ion-float-lg-end{float:right!important}:host-context([dir=rtl]) .ion-float-lg-end{float:left!important}[dir=rtl] .ion-float-lg-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-lg-end:dir(rtl){float:left!important}}}@media(min-width:1200px){.ion-float-xl-left{float:left!important}.ion-float-xl-right{float:right!important}.ion-float-xl-start{float:left!important}:host-context([dir=rtl]) .ion-float-xl-start{float:right!important}[dir=rtl] .ion-float-xl-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-xl-start:dir(rtl){float:right!important}}.ion-float-xl-end{float:right!important}:host-context([dir=rtl]) .ion-float-xl-end{float:left!important}[dir=rtl] .ion-float-xl-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-xl-end:dir(rtl){float:left!important}}}.ion-text-center{text-align:center!important}.ion-text-justify{text-align:justify!important}.ion-text-start{text-align:start!important}.ion-text-end{text-align:end!important}.ion-text-left{text-align:left!important}.ion-text-right{text-align:right!important}.ion-text-nowrap{white-space:nowrap!important}.ion-text-wrap{white-space:normal!important}@media(min-width:576px){.ion-text-sm-center{text-align:center!important}.ion-text-sm-justify{text-align:justify!important}.ion-text-sm-start{text-align:start!important}.ion-text-sm-end{text-align:end!important}.ion-text-sm-left{text-align:left!important}.ion-text-sm-right{text-align:right!important}.ion-text-sm-nowrap{white-space:nowrap!important}.ion-text-sm-wrap{white-space:normal!important}}@media(min-width:768px){.ion-text-md-center{text-align:center!important}.ion-text-md-justify{text-align:justify!important}.ion-text-md-start{text-align:start!important}.ion-text-md-end{text-align:end!important}.ion-text-md-left{text-align:left!important}.ion-text-md-right{text-align:right!important}.ion-text-md-nowrap{white-space:nowrap!important}.ion-text-md-wrap{white-space:normal!important}}@media(min-width:992px){.ion-text-lg-center{text-align:center!important}.ion-text-lg-justify{text-align:justify!important}.ion-text-lg-start{text-align:start!important}.ion-text-lg-end{text-align:end!important}.ion-text-lg-left{text-align:left!important}.ion-text-lg-right{text-align:right!important}.ion-text-lg-nowrap{white-space:nowrap!important}.ion-text-lg-wrap{white-space:normal!important}}@media(min-width:1200px){.ion-text-xl-center{text-align:center!important}.ion-text-xl-justify{text-align:justify!important}.ion-text-xl-start{text-align:start!important}.ion-text-xl-end{text-align:end!important}.ion-text-xl-left{text-align:left!important}.ion-text-xl-right{text-align:right!important}.ion-text-xl-nowrap{white-space:nowrap!important}.ion-text-xl-wrap{white-space:normal!important}}.ion-text-uppercase{text-transform:uppercase!important}.ion-text-lowercase{text-transform:lowercase!important}.ion-text-capitalize{text-transform:capitalize!important}@media(min-width:576px){.ion-text-sm-uppercase{text-transform:uppercase!important}.ion-text-sm-lowercase{text-transform:lowercase!important}.ion-text-sm-capitalize{text-transform:capitalize!important}}@media(min-width:768px){.ion-text-md-uppercase{text-transform:uppercase!important}.ion-text-md-lowercase{text-transform:lowercase!important}.ion-text-md-capitalize{text-transform:capitalize!important}}@media(min-width:992px){.ion-text-lg-uppercase{text-transform:uppercase!important}.ion-text-lg-lowercase{text-transform:lowercase!important}.ion-text-lg-capitalize{text-transform:capitalize!important}}@media(min-width:1200px){.ion-text-xl-uppercase{text-transform:uppercase!important}.ion-text-xl-lowercase{text-transform:lowercase!important}.ion-text-xl-capitalize{text-transform:capitalize!important}}.ion-align-self-start{align-self:flex-start!important}.ion-align-self-end{align-self:flex-end!important}.ion-align-self-center{align-self:center!important}.ion-align-self-stretch{align-self:stretch!important}.ion-align-self-baseline{align-self:baseline!important}.ion-align-self-auto{align-self:auto!important}.ion-wrap{flex-wrap:wrap!important}.ion-nowrap{flex-wrap:nowrap!important}.ion-wrap-reverse{flex-wrap:wrap-reverse!important}.ion-justify-content-start{justify-content:flex-start!important}.ion-justify-content-center{justify-content:center!important}.ion-justify-content-end{justify-content:flex-end!important}.ion-justify-content-around{justify-content:space-around!important}.ion-justify-content-between{justify-content:space-between!important}.ion-justify-content-evenly{justify-content:space-evenly!important}.ion-align-items-start{align-items:flex-start!important}.ion-align-items-center{align-items:center!important}.ion-align-items-end{align-items:flex-end!important}.ion-align-items-stretch{align-items:stretch!important}.ion-align-items-baseline{align-items:baseline!important}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sc-ion-action-sheet-ios .action-sheet-title{font-size:12px;font-weight:400;color:#9b9b9b;border-bottom:1px solid #ccccd0}.sc-ion-action-sheet-ios .action-sheet-button{font-size:16px;font-weight:400;color:var(--color-primary-default)}.sc-ion-action-sheet-ios .action-sheet-destructive{color:var(--color-error-default)}.sc-ion-action-sheet-ios .action-sheet-cancel{font-weight:700}.sc-ion-action-sheet-md .action-sheet-destructive{color:var(--color-error-default)}@media screen and (min-width:768px){#evaluation-form-modal{--max-width: 720px;--width: 100%;--min-height: calc(100% - 120px) }}.modal-default{--backdrop-opacity: .6 !important}@media screen and (min-width:768px){.modal-normal{--max-width: 540px;--width: calc(100% - 120px) ;--min-height: calc(100% - 120px) }}.modal-datepicker{--width: calc(100% - 32px) ;--height: 350px;--border-radius: 12px}@media screen and (min-width:768px){.modal-datepicker{--width: 508px }}.bottomsheet-modal{--height: auto;--background: #f6f5fa;--ion-color-step-350: #dcd8e4}:host-context(:root.darkmode) .bottomsheet-modal{--background: #1f2023;--ion-color-step-350: #36353b}.bottomsheet-modal::part(handle){width:42px;height:4px;margin-top:8px;background-color:var(--color-grey-500)}@media screen and (min-width:768px){.bottomsheet-modal{--max-width: 540px;--max-height: calc(100% - 120px) ;--width: calc(100% - 120px) }}.bottomsheet-scrollable-modal{--height: auto;--background: #f6f5fa;--ion-color-step-350: #dcd8e4;--height: 40vh}:host-context(:root.darkmode) .bottomsheet-scrollable-modal{--background: #1f2023;--ion-color-step-350: #36353b}.bottomsheet-scrollable-modal::part(handle){width:42px;height:4px;margin-top:8px;background-color:var(--color-grey-500)}@media screen and (min-width:768px){.bottomsheet-scrollable-modal{--max-width: 540px;--max-height: calc(100% - 120px) ;--width: calc(100% - 120px) }}.bottomsheet-large-scrollable-modal{--height: auto;--background: #f6f5fa;--ion-color-step-350: #dcd8e4;--height: 80vh}:host-context(:root.darkmode) .bottomsheet-large-scrollable-modal{--background: #1f2023;--ion-color-step-350: #36353b}.bottomsheet-large-scrollable-modal::part(handle){width:42px;height:4px;margin-top:8px;background-color:var(--color-grey-500)}@media screen and (min-width:768px){.bottomsheet-large-scrollable-modal{--max-width: 540px;--max-height: calc(100% - 120px) ;--width: calc(100% - 120px) }}.modal-dialog{--height: auto;--max-height: 90vh;--border-radius: 12px 12px 0 0;--background: var(--delete-bckg-color)}@media(min-width:768px){.modal-dialog{--max-width: 540px;--border-radius: 12px}}.modal-dialog::part(content){position:absolute;bottom:0}@media(min-width:768px){.modal-dialog::part(content){position:initial}}.modal-confirm{--height: auto;--max-height: 90vh;--border-radius: 12px 12px 0 0;--background: var(--delete-bckg-color)}@media(min-width:768px){.modal-confirm{--max-width: 540px;--border-radius: 12px}}.modal-confirm::part(content){position:absolute;bottom:0}@media(min-width:768px){.modal-confirm::part(content){position:initial}}@media(min-width:768px){.modal-confirm{--width: auto;--max-width: auto}}.modal-prompt{--border-style: solid;--border-width: 1px;--border-color: var(--color-primary-default);--background: var(--color-primary-lightest);--border-radius: 12px;--width: auto;--height: auto;--max-width: 300px}:root.darkmode .modal-prompt{--background: #2e2f33}.modal-prompt::part(content){padding:16px}.mentions-dialog{--width: 0px;--height: 0px;justify-content:initial;align-items:initial;--background: #ffffff}:host-context(:root.darkmode) .mentions-dialog{--background: #000000}.mentions-dialog::part(content){overflow:visible}.template-field,.scheduler-link{font-size:22px;margin-left:2px;margin-right:2px;border-radius:8px}.template-field>span,.scheduler-link>span{-webkit-user-select:all!important;user-select:all!important;display:inline-flex;flex-direction:row;flex-wrap:nowrap;vertical-align:text-bottom;max-width:calc(100% - var(--label-indent, 0px));text-overflow:ellipsis;white-space:nowrap;overflow:hidden;border-radius:8px;padding:2px 8px;text-indent:0px;border:1px solid var(--color-primary-default);background:var(--list-bckg-color);transition:background-color .15s;align-items:center;font-size:16px;line-height:20px;letter-spacing:-.32px;font-weight:600;font-style:normal;cursor:pointer}@supports (color: light-dark(#4d465a,#c9cbcf)){.template-field>span,.scheduler-link>span{color:light-dark(#4d465a,#c9cbcf)}}@supports not (color: light-dark(#4d465a,#c9cbcf)){.template-field>span,.scheduler-link>span{color:#4d465a}:host-context(:root.darkmode) .template-field>span,:host-context(:root.darkmode) .scheduler-link>span{color:#c9cbcf}}.template-field>span .template-bracket,.scheduler-link>span .template-bracket{-webkit-user-select:none!important;user-select:none!important;color:var(--color-primary-default)}.template-field>span .icon-start,.scheduler-link>span .icon-start{-webkit-user-select:none!important;user-select:none!important;margin-right:2px;height:16px;width:16px;fill:var(--color-primary-default)}.template-field>span .icon-end,.scheduler-link>span .icon-end{-webkit-user-select:none!important;user-select:none!important;display:flex;margin-left:2px;height:16px;width:16px;fill:var(--color-primary-default)}.template-field>span .template-content,.scheduler-link>span .template-content{-webkit-user-select:none!important;user-select:none!important;flex:1;display:inline-block;vertical-align:text-bottom;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;margin-left:2px;margin-right:2px}.template-field>span:hover,.scheduler-link>span:hover,.template-field>span:focus,.scheduler-link>span:focus,.template-field>span.template-selected,.scheduler-link>span.template-selected{background-color:var(--color-primary-light)}@supports (background-color: light-dark(#e9e0f5,#3d2c56)){.template-field>span:hover,.scheduler-link>span:hover,.template-field>span:focus,.scheduler-link>span:focus,.template-field>span.template-selected,.scheduler-link>span.template-selected{background-color:light-dark(#e9e0f5,#3d2c56)}}@supports not (color: light-dark(#e9e0f5,#3d2c56)){.template-field>span:hover,.scheduler-link>span:hover,.template-field>span:focus,.scheduler-link>span:focus,.template-field>span.template-selected,.scheduler-link>span.template-selected{background-color:#e9e0f5}:host-context(:root.darkmode) .template-field>span:hover,:host-context(:root.darkmode) .scheduler-link>span:hover,:host-context(:root.darkmode) .template-field>span:focus,:host-context(:root.darkmode) .scheduler-link>span:focus,:host-context(:root.darkmode) .template-field>span.template-selected,:host-context(:root.darkmode) .scheduler-link>span.template-selected{background-color:#3d2c56}}@supports (color: light-dark(#4d465a,#f6f5fa)){.template-field>span:hover,.scheduler-link>span:hover,.template-field>span:focus,.scheduler-link>span:focus,.template-field>span.template-selected,.scheduler-link>span.template-selected{color:light-dark(#4d465a,#f6f5fa)}}@supports not (color: light-dark(#4d465a,#f6f5fa)){.template-field>span:hover,.scheduler-link>span:hover,.template-field>span:focus,.scheduler-link>span:focus,.template-field>span.template-selected,.scheduler-link>span.template-selected{color:#4d465a}:host-context(:root.darkmode) .template-field>span:hover,:host-context(:root.darkmode) .scheduler-link>span:hover,:host-context(:root.darkmode) .template-field>span:focus,:host-context(:root.darkmode) .scheduler-link>span:focus,:host-context(:root.darkmode) .template-field>span.template-selected,:host-context(:root.darkmode) .scheduler-link>span.template-selected{color:#f6f5fa}}.template-empty>span,.scheduler-link-error>span{border:1px solid var(--color-error-default);color:var(--color-error-default);background:var(--list-bckg-color)}.template-empty>span .template-bracket,.scheduler-link-error>span .template-bracket{color:var(--color-error-default)}.template-empty>span .icon-start,.scheduler-link-error>span .icon-start{fill:var(--color-error-default)}.template-empty>span .icon-end,.scheduler-link-error>span .icon-end{fill:var(--color-error-default)}.template-empty>span:hover,.scheduler-link-error>span:hover,.template-empty>span:focus,.scheduler-link-error>span:focus,.template-empty>span.template-selected,.scheduler-link-error>span.template-selected{background-color:var(--color-error-light)}:root.darkmode .template-empty>span:hover,:root.darkmode .scheduler-link-error>span:hover,:root.darkmode .template-empty>span:focus,:root.darkmode .scheduler-link-error>span:focus{color:var(--color-error-default)}.template-empty span.template-content{text-decoration:line-through}@supports (color: light-dark(#9e99a8,#75767b)){.template-empty span.template-content{color:light-dark(#9e99a8,#75767b)}}@supports not (color: light-dark(#9e99a8,#75767b)){.template-empty span.template-content{color:#9e99a8}:host-context(:root.darkmode) .template-empty span.template-content{color:#75767b}}.ProseMirror-selectednode{box-shadow:0 0 0 2px var(--color-primary-default)}.ProseMirror-selectednode.template-field,.ProseMirror-selectednode.scheduler-link{box-shadow:none}.ProseMirror-selectednode.template-field>span,.ProseMirror-selectednode.scheduler-link>span{box-shadow:0 0 0 2px var(--color-primary-default)}.ProseMirror-selectednode.template-field.template-empty>span,.ProseMirror-selectednode.scheduler-link.template-empty>span,.ProseMirror-selectednode.template-field.scheduler-link-error>span,.ProseMirror-selectednode.scheduler-link.scheduler-link-error>span{box-shadow:0 0 0 2px var(--color-error-default)}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";position:absolute;inset:-2px -2px -2px -32px;border:2px solid #8cf;pointer-events:none}ion-modal.modal-card ion-header ion-toolbar:first-of-type{padding-top:0}ion-modal.modal-card ion-header ion-toolbar:last-of-type{padding-bottom:0!important;padding-right:0;padding-left:0}ion-refresher{z-index:1}ion-refresher ion-spinner{--color: var(--color-primary-default)}ion-refresher .refresher-pulling{opacity:0}ion-infinite-scroll ion-spinner{--color: var(--color-primary-default)}cdk-virtual-scroll-viewport,.scroll-container{display:block;height:100%;overflow-y:scroll;-webkit-overflow-scrolling:touch;touch-action:pan-y;will-change:scroll-position;scrollbar-width:none}cdk-virtual-scroll-viewport::-webkit-scrollbar,.scroll-container::-webkit-scrollbar{display:none}.cdk-virtual-scroll-content-wrapper{width:100%;min-height:100%}.searchbar-input-container>.searchbar-input{font-weight:500}.searchbar-input-container>.searchbar-clear-button{margin-right:8px}.alert-wrapper.sc-ion-alert-ios{width:280px;min-width:280px;max-width:280px;background:var(--list-bckg-color)}.alert-title.sc-ion-alert-ios{font-size:20px;font-weight:500}@supports (color: light-dark(#28242e,#f7f8f9)){.alert-title.sc-ion-alert-ios{color:light-dark(#28242e,#f7f8f9)}}@supports not (color: light-dark(#28242e,#f7f8f9)){.alert-title.sc-ion-alert-ios{color:#28242e}:host-context(:root.darkmode) .alert-title.sc-ion-alert-ios{color:#f7f8f9}}@supports (color: light-dark(#28242e,#f7f8f9)){.alert-message.sc-ion-alert-ios{color:light-dark(#28242e,#f7f8f9)}}@supports not (color: light-dark(#28242e,#f7f8f9)){.alert-message.sc-ion-alert-ios{color:#28242e}:host-context(:root.darkmode) .alert-message.sc-ion-alert-ios{color:#f7f8f9}}.alert-checkbox-group.sc-ion-alert-ios,.alert-radio-group.sc-ion-alert-ios{border-top:1px solid var(--section-line)}.alert-tappable.sc-ion-alert-ios{height:51px}.alert-button.sc-ion-alert-ios{height:51px;border-top:1px solid var(--section-line);border-right:1px solid var(--section-line)}.alert-button.sc-ion-alert-ios{font-size:16px;color:var(--color-primary-default)}.alert-radio-label.sc-ion-alert-ios{font-size:16px;font-weight:400;line-height:18px;padding-top:16px;padding-bottom:17px;padding-left:18px}[aria-checked=true].sc-ion-alert-ios .alert-radio-label.sc-ion-alert-ios{color:var(--color-primary-default)}[aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{left:1px;border-color:var(--color-primary-default)}ion-spinner{display:flex;margin:auto;--color: var(--color-primary-default)}ion-toast{--background: #3a3543;--color: #ffffff;--button-color: #af80f4;--border-radius: 12px;--start: 8px;--end: 8px;font-size:16px;line-height:20px;letter-spacing:-.32px;font-weight:500;font-style:normal}:root.darkmode ion-toast{--background: #d1d3d6;--color: #1b1c1e;--button-color: #5a1cb7}ion-toast::part(button cancel){font-size:14px;--button-color: #ffffff}:root.darkmode ion-toast::part(button cancel){--button-color: #1b1c1e}ion-toast.toast-reload{--box-shadow: 0px 20px 25px rgba(0, 0, 0, .1), 0px 10px 10px prgba(0, 0, 0, .04);--border-radius: 20px;--height: 40px;--start: auto;--end: 16px;font-size:14px;line-height:20px}ion-toast.toast-reload::part(button){display:flex;align-items:center;font-size:14px;line-height:20px;padding-left:0}ion-toast.toast-reload::part(button):before{content:"";width:20px;height:20px;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="%23af80f4" d="M12,6V9L16,5L12,1V4C7.58,4 4,7.58 4,12C4,13.57 4.46,15.03 5.24,16.26L6.7,14.8C6.25,13.97 6,13 6,12C6,8.69 8.69,6 12,6M18.76,7.74L17.3,9.2C17.74,10.04 18,11 18,12C18,15.31 15.31,18 12,18V15L8,19L12,23V20C16.42,20 20,16.42 20,12C20,10.43 19.54,8.97 18.76,7.74Z" /></svg>');background-size:20px 20px;background-repeat:no-repeat;margin-right:6px}:root.darkmode ion-toast.toast-reload::part(button):before{background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="%235a1cb7" d="M12,6V9L16,5L12,1V4C7.58,4 4,7.58 4,12C4,13.57 4.46,15.03 5.24,16.26L6.7,14.8C6.25,13.97 6,13 6,12C6,8.69 8.69,6 12,6M18.76,7.74L17.3,9.2C17.74,10.04 18,11 18,12C18,15.31 15.31,18 12,18V15L8,19L12,23V20C16.42,20 20,16.42 20,12C20,10.43 19.54,8.97 18.76,7.74Z" /></svg>')}:root{color-scheme:light dark;--ion-font-family: system-ui, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}:root.plt-ios{--safe-area-inset-top: env(safe-area-inset-top);--safe-area-inset-bottom: env(safe-area-inset-bottom)}:root.plt-android{--safe-area-inset-top: max(env(safe-area-inset-top), 24px);--safe-area-inset-bottom: max(env(safe-area-inset-bottom), 48px)}:root.plt-android body{--ion-safe-area-top: var(--safe-area-inset-top);--ion-safe-area-bottom: var(--safe-area-inset-bottom)}ion-modal{--background: #f6f5fa;--ion-toolbar-background: var(--ion-color-step-150);--ion-toolbar-border-color: var(--ion-color-step-250);--ion-item-background: var(--ion-color-step-150)}:root.darkmode ion-modal{--background: #1f2023}.center{text-align:center}.question *{margin:0;padding:0}ion-item ion-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}ion-button{height:44px;min-height:fit-content;min-width:auto;letter-spacing:-.32px}ion-content{--background: #f6f5fa}:root.darkmode ion-content{--background: #1f2023}ion-col{padding:0}ion-grid{padding:16px}.input-clear-icon.sc-ion-input-ios{background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="grey" d="M405 136.798L375.202 107 256 226.202 136.798 107 107 136.798 226.202 256 107 375.202 136.798 405 256 285.798 375.202 405 405 375.202 285.798 256z"/></svg>')}@supports (color: light-dark(#28242e,#f7f8f9)){.alert-sub-title.sc-ion-alert-ios{color:light-dark(#28242e,#f7f8f9)}}@supports not (color: light-dark(#28242e,#f7f8f9)){.alert-sub-title.sc-ion-alert-ios{color:#28242e}:host-context(:root.darkmode) .alert-sub-title.sc-ion-alert-ios{color:#f7f8f9}}@supports (color: light-dark(#4d465a,#c9cbcf)){.alert-message.sc-ion-alert-md{color:light-dark(#4d465a,#c9cbcf)}}@supports not (color: light-dark(#4d465a,#c9cbcf)){.alert-message.sc-ion-alert-md{color:#4d465a}:host-context(:root.darkmode) .alert-message.sc-ion-alert-md{color:#c9cbcf}}[hidden]{display:none!important}ion-datetime.ios{--background: var(--card-bckg);--background-rgb: var(--card-bckg-rgb);border-radius:12px;--wheel-highlight-background: var(--section-line);--ion-color-step-300: var(--chevron-color)}@supports (color: light-dark(#28242e,#f7f8f9)){ion-datetime.ios{color:light-dark(#28242e,#f7f8f9)}}@supports not (color: light-dark(#28242e,#f7f8f9)){ion-datetime.ios{color:#28242e}:host-context(:root.darkmode) ion-datetime.ios{color:#f7f8f9}}ion-datetime.ios::part(calendar-day today){background-color:transparent;color:var(--color-primary-default)}ion-datetime.ios::part(calendar-day active),ion-datetime.ios::part(calendar-day focus){background-color:var(--color-primary-default);color:var(--color-basic-white)}@supports (background-color: light-dark(#ece8f3,#414045)){ion-datetime.ios::part(time-button){background-color:light-dark(#ece8f3,#414045)}}@supports not (color: light-dark(#ece8f3,#414045)){ion-datetime.ios::part(time-button){background-color:#ece8f3}:host-context(:root.darkmode) ion-datetime.ios::part(time-button){background-color:#414045}}@supports (color: light-dark(#28242e,#f7f8f9)){ion-datetime.ios::part(time-button){color:light-dark(#28242e,#f7f8f9)}}@supports not (color: light-dark(#28242e,#f7f8f9)){ion-datetime.ios::part(time-button){color:#28242e}:host-context(:root.darkmode) ion-datetime.ios::part(time-button){color:#f7f8f9}}ion-picker{--highlight-background: var(--section-line)}ion-item:has(>rtm-checkbox),ion-item:has(>rtm-toggle){--padding-start: 0 !important;--padding-end: 0 !important;--inner-padding-start: 0 !important;--inner-padding-end: 0 !important}ion-item:has(>rtm-checkbox) rtm-checkbox,ion-item:has(>rtm-toggle) rtm-checkbox,ion-item:has(>rtm-checkbox) rtm-toggle,ion-item:has(>rtm-toggle) rtm-toggle{padding:0 16px}@media only screen and (pointer:fine){.tappable:hover{opacity:.9}}.tappable{pointer-events:initial;cursor:pointer;transition:opacity .1s linear}.tappable:active{opacity:.6}.light-recruitee-palette{color-scheme:light;--color-basic-white: #ffffff;--color-basic-black: #000000;--color-grey-translucent: rgba(58, 53, 67, .025);--color-grey-100: #faf9fb;--color-grey-200: #f6f5fa;--color-grey-300: #f1eef6;--color-grey-400: #ece8f3;--color-grey-500: #dcd8e4;--color-grey-600: #9e99a8;--color-grey-700: #5d566c;--color-grey-800: #4d465a;--color-grey-900: #3a3543;--color-grey-1000: #28242e;--color-primary-lightest: #f5f0fa;--color-primary-light: #e9e0f5;--color-primary-medium: #9c77d4;--color-primary-default: #5a1cb7;--color-primary-dark: #481692;--color-primary-darker: #36116e;--color-primary-darkest: #240b49;--color-accent-default: #d91c7a;--color-accent-dark: #b61666;--color-info-lightest: #e1ecfe;--color-info-light: #bed9fd;--color-info-medium: #72a5ee;--color-info-default: #0661e1;--color-info-dark: #0551bd;--color-success-lightest: #dffce9;--color-success-light: #c3ead7;--color-success-medium: #75c7a1;--color-success-default: #009750;--color-success-dark: #008043;--color-warning-lightest: #ffeddb;--color-warning-light: #ffddbd;--color-warning-medium: #ebae75;--color-warning-default: #da6900;--color-warning-dark: #b85800;--color-error-lightest: #fae0e3;--color-error-light: #f4c7cc;--color-error-medium: #e87d88;--color-error-default: #d10015;--color-error-dark: #b20012;--color-private-lightest: #fffdf5;--color-private-light: #fffbe5;--color-private-default: #fff8d1;--color-private-dark: #eae2b8;--color-files-text-document: #2a86f1;--color-files-presentation: #ee592b;--color-files-spreadsheet: #509015;--color-files-pdf-document: #de2715;--color-files-other-document: #5b6d8c;--color-stages-no-type-light: #f5f1ef;--color-stages-no-type-default: #946a57;--color-stages-applied-light: #ece9f2;--color-stages-applied-default: #6d6976;--color-stages-screening-light: #e1ecfe;--color-stages-screening-default: #0551bd;--color-stages-interview-light: #e1ecfe;--color-stages-interview-default: #0661e1;--color-stages-evaluation-light: #dcf2f4;--color-stages-evaluation-default: #00a4ad;--color-stages-offer-light: #eae5fa;--color-stages-offer-default: #995ce0;--color-stages-hired-light: #dffce9;--color-stages-hired-default: #009750;--color-avatars-candidate: #7055aa;--color-avatars-team-member: #b7427c}.dark-recruitee-palette{color-scheme:dark;--color-basic-white: #ffffff;--color-basic-black: #000000;--color-grey-translucent: rgba(226, 219, 240, .05);--color-grey-100: #f7f8f9;--color-grey-200: #dfe0e2;--color-grey-300: #d1d3d6;--color-grey-400: #c9cbcf;--color-grey-500: #75767b;--color-grey-600: #414045;--color-grey-700: #36353b;--color-grey-800: #2e2f33;--color-grey-900: #1f2023;--color-grey-1000: #1b1c1e;--color-primary-lightest: #3d2c56;--color-primary-light: #543680;--color-primary-medium: #9c77d4;--color-primary-default: #af80f4;--color-primary-dark: #bf99f6;--color-primary-darker: #cfb3f8;--color-primary-darkest: #dfccfb;--color-accent-default: #fd62b0;--color-accent-dark: #fd81c0;--color-info-lightest: #152e51;--color-info-light: #1d3a63;--color-info-medium: #4880cf;--color-info-default: #5a9dfc;--color-info-dark: #7bb1fd;--color-success-lightest: #0b412b;--color-success-light: #0f5235;--color-success-medium: #1d9b66;--color-success-default: #23bd7d;--color-success-dark: #41c890;--color-warning-lightest: #512f10;--color-warning-light: #603915;--color-warning-medium: #c37730;--color-warning-default: #ed913b;--color-error-lightest: #4f1618;--color-error-light: #7b2d2f;--color-error-medium: #d35a5c;--color-error-default: #ff7073;--color-private-lightest: #22211b;--color-private-light: #343228;--color-private-default: #625b36;--color-private-dark: #78703f;--color-files-text-document: #2a86f1;--color-files-presentation: #ee592b;--color-files-spreadsheet: #509015;--color-files-pdf-document: #de2715;--color-files-other-document: #5b6d8c;--color-stages-no-type-light: #402e26;--color-stages-no-type-default: #946a57;--color-stages-applied-light: #35363b;--color-stages-applied-default: #8997a9;--color-stages-screening-light: #152e51;--color-stages-screening-default: #7bb1fd;--color-stages-interview-light: #152e51;--color-stages-interview-default: #5a9dfc;--color-stages-evaluation-light: #003a3d;--color-stages-evaluation-default: #00c1cc;--color-stages-offer-light: #432468;--color-stages-offer-default: #af7fe6;--color-stages-hired-light: #0b412b;--color-stages-hired-default: #23bd7d;--color-avatars-candidate: #ad94e0;--color-avatars-team-member: #bd6bb3}.light-recruitee-palette{color-scheme:light;--avatar-bckg-color: #5d566c;--avatar-label-color: #ffffff;--card-bckg: #ffffff;--card-bckg-rgb: 255, 255, 255;--card-bckg-color: rgba(250, 249, 251, .05);--card-bckg-overlay: linear-gradient(-180deg, rgba(255, 255, 255, 0) 40%, #ffffff 100%);--card-stacked-bckg: #faf9fb;--chevron-color: #9e99a8;--header-color: #4d465a;--info-border-color: #dcd8e4;--modal-header-color: #ffffff;--more-btn-color: #4d465a;--list-bckg-color: #ffffff;--pill-bckg: #f6f5fa;--placeholder-color: #9e99a8;--section-line: #dcd8e4;--segment-bckg-color: #f1eef6;--shadow-card-overlap: 0px 2px 4px rgba(0, 0, 0, .08), 0px 0px 6px rgba(0, 0, 0, .12);--tag-label-color: #4d465a;--tag-icon-color: #4d465a;--tag-border-color: #ece8f3;--chip-border-color: #dcd8e4;--stacked-card-shadow: 0px 1px 8px rgba(0, 0, 0, .04), 0px 1px 4px rgba(0, 0, 0, .04);--searchbar-bckg: #ece8f3;--button-bckg-color: #ffffff;--bckg-activated: #000000;--bckg-focused: #000000;--bckg-hover: #000000;--bckg-activated-opacity: .12;--bckg-focused-opacity: .15;--bckg-hover-opacity: .04;--button-bckg-hover: #faf9fb;--ion-color-primary: #5a1cb7;--ion-color-primary-rgb: 90, 28, 183;--ion-background-color: #f6f5fa;--ion-background-color-rgb: 246, 245, 250;--ion-text-color: #28242e;--ion-text-color-rgb: 40, 36, 46;--ion-color-step-50: #faf9fb;--ion-color-step-100: #faf9fb;--ion-color-step-150: #f6f5fa;--ion-color-step-200: #f6f5fa;--ion-color-step-250: #f1eef6;--ion-color-step-300: #f1eef6;--ion-color-step-350: #ece8f3;--ion-color-step-400: #ece8f3;--ion-color-step-450: #dcd8e4;--ion-color-step-500: #dcd8e4;--ion-color-step-550: #9e99a8;--ion-color-step-600: #9e99a8;--ion-color-step-650: #5d566c;--ion-color-step-700: #5d566c;--ion-color-step-750: #4d465a;--ion-color-step-800: #4d465a;--ion-color-step-850: #3a3543;--ion-color-step-900: #3a3543;--ion-color-step-950: #28242e}.dark-recruitee-palette{color-scheme:dark;--avatar-bckg-color: #75767b;--avatar-label-color: #f7f8f9;--card-bckg: #2e2f33;--card-bckg-rgb: 46, 47, 51;--card-stacked-bckg: #36353b;--card-bckg-overlay: linear-gradient(-180deg, rgba(46, 47, 51, 0) 40%, #2e2f33 80%);--chevron-color: #75767b;--header-color: #c9cbcf;--info-border-color: transparent;--modal-header-color: #1b1c1e;--more-btn-color: #dfe0e2;--list-bckg-color: #2e2f33;--pill-bckg: #414045;--placeholder-color: #c9cbcf;--section-line: #414045;--searchbar-bckg: #414045;--segment-bckg-color: #414045;--shadow-card-overlap: 0px 0px 6px 0px #0000007a, 0px 2px 4px 0px #0000003d;--stacked-card-shadow: 0px 1px 4px 0px #000000cc, 0px 1px 8px 0px #00000029;--tag-label-color: #c9cbcf;--tag-border-color: #75767b;--tag-icon-color: #c9cbcf;--chip-border-color: #75767b;--toast-bckg-color: #283542;--button-bckg-color: #36353b;--card-bckg-color: rgba(46, 47, 51, .7);--bckg-activated: var(--button-bckg-color);--bckg-focused: var(--button-bckg-color);--bckg-hover: var(--button-bckg-color);--bckg-activated-opacity: 1;--bckg-focused-opacity: 1;--bckg-hover-opacity: 1;--button-bckg-hover: #2e2f33;--ion-color-primary: #af80f4;--ion-color-primary-rgb: 175, 128, 244;--ion-background-color: #2e2f33;--ion-background-color-rgb: 46, 47, 51;--ion-text-color: #ffffff;--ion-text-color-rgb: 255, 255, 255;--ion-color-step-50: #1b1c1e;--ion-color-step-100: #1b1c1e;--ion-color-step-150: #1f2023;--ion-color-step-200: #1f2023;--ion-color-step-250: #2e2f33;--ion-color-step-300: #2e2f33;--ion-color-step-350: #36353b;--ion-color-step-400: #36353b;--ion-color-step-450: #414045;--ion-color-step-500: #414045;--ion-color-step-550: #75767b;--ion-color-step-600: #75767b;--ion-color-step-650: #c9cbcf;--ion-color-step-700: #c9cbcf;--ion-color-step-750: #d1d3d6;--ion-color-step-800: #d1d3d6;--ion-color-step-850: #dfe0e2;--ion-color-step-900: #dfe0e2;--ion-color-step-950: #f7f8f9}body{background-color:#f6f5fa}@media(prefers-color-scheme:dark){body{background-color:#000}}:root{--color-basic-white: #ffffff;--color-basic-black: #000000;--color-grey-translucent: rgba(58, 53, 67, .025);--color-grey-100: #faf9fb;--color-grey-200: #f6f5fa;--color-grey-300: #f1eef6;--color-grey-400: #ece8f3;--color-grey-500: #dcd8e4;--color-grey-600: #9e99a8;--color-grey-700: #5d566c;--color-grey-800: #4d465a;--color-grey-900: #3a3543;--color-grey-1000: #28242e;--color-primary-lightest: #f5f0fa;--color-primary-light: #e9e0f5;--color-primary-medium: #9c77d4;--color-primary-default: #5a1cb7;--color-primary-dark: #481692;--color-primary-darker: #36116e;--color-primary-darkest: #240b49;--color-accent-default: #d91c7a;--color-accent-dark: #b61666;--color-info-lightest: #e1ecfe;--color-info-light: #bed9fd;--color-info-medium: #72a5ee;--color-info-default: #0661e1;--color-info-dark: #0551bd;--color-success-lightest: #dffce9;--color-success-light: #c3ead7;--color-success-medium: #75c7a1;--color-success-default: #009750;--color-success-dark: #008043;--color-warning-lightest: #ffeddb;--color-warning-light: #ffddbd;--color-warning-medium: #ebae75;--color-warning-default: #da6900;--color-warning-dark: #b85800;--color-error-lightest: #fae0e3;--color-error-light: #f4c7cc;--color-error-medium: #e87d88;--color-error-default: #d10015;--color-error-dark: #b20012;--color-private-lightest: #fffdf5;--color-private-light: #fffbe5;--color-private-default: #fff8d1;--color-private-dark: #eae2b8;--color-files-text-document: #2a86f1;--color-files-presentation: #ee592b;--color-files-spreadsheet: #509015;--color-files-pdf-document: #de2715;--color-files-other-document: #5b6d8c;--color-stages-no-type-light: #f5f1ef;--color-stages-no-type-default: #946a57;--color-stages-applied-light: #ece9f2;--color-stages-applied-default: #6d6976;--color-stages-screening-light: #e1ecfe;--color-stages-screening-default: #0551bd;--color-stages-interview-light: #e1ecfe;--color-stages-interview-default: #0661e1;--color-stages-evaluation-light: #dcf2f4;--color-stages-evaluation-default: #00a4ad;--color-stages-offer-light: #eae5fa;--color-stages-offer-default: #995ce0;--color-stages-hired-light: #dffce9;--color-stages-hired-default: #009750;--color-avatars-candidate: #7055aa;--color-avatars-team-member: #b7427c;color-scheme:light;--avatar-bckg-color: #5d566c;--avatar-label-color: #ffffff;--card-bckg: #ffffff;--card-bckg-rgb: 255, 255, 255;--card-bckg-color: rgba(250, 249, 251, .05);--card-bckg-overlay: linear-gradient(-180deg, rgba(255, 255, 255, 0) 40%, #ffffff 100%);--card-stacked-bckg: #faf9fb;--chevron-color: #9e99a8;--header-color: #4d465a;--info-border-color: #dcd8e4;--modal-header-color: #ffffff;--more-btn-color: #4d465a;--list-bckg-color: #ffffff;--pill-bckg: #f6f5fa;--placeholder-color: #9e99a8;--section-line: #dcd8e4;--segment-bckg-color: #f1eef6;--shadow-card-overlap: 0px 2px 4px rgba(0, 0, 0, .08), 0px 0px 6px rgba(0, 0, 0, .12);--tag-label-color: #4d465a;--tag-icon-color: #4d465a;--tag-border-color: #ece8f3;--chip-border-color: #dcd8e4;--stacked-card-shadow: 0px 1px 8px rgba(0, 0, 0, .04), 0px 1px 4px rgba(0, 0, 0, .04);--searchbar-bckg: #ece8f3;--button-bckg-color: #ffffff;--bckg-activated: #000000;--bckg-focused: #000000;--bckg-hover: #000000;--bckg-activated-opacity: .12;--bckg-focused-opacity: .15;--bckg-hover-opacity: .04;--button-bckg-hover: #faf9fb;--ion-color-primary: #5a1cb7;--ion-color-primary-rgb: 90, 28, 183;--ion-background-color: #f6f5fa;--ion-background-color-rgb: 246, 245, 250;--ion-text-color: #28242e;--ion-text-color-rgb: 40, 36, 46;--ion-color-step-50: #faf9fb;--ion-color-step-100: #faf9fb;--ion-color-step-150: #f6f5fa;--ion-color-step-200: #f6f5fa;--ion-color-step-250: #f1eef6;--ion-color-step-300: #f1eef6;--ion-color-step-350: #ece8f3;--ion-color-step-400: #ece8f3;--ion-color-step-450: #dcd8e4;--ion-color-step-500: #dcd8e4;--ion-color-step-550: #9e99a8;--ion-color-step-600: #9e99a8;--ion-color-step-650: #5d566c;--ion-color-step-700: #5d566c;--ion-color-step-750: #4d465a;--ion-color-step-800: #4d465a;--ion-color-step-850: #3a3543;--ion-color-step-900: #3a3543;--ion-color-step-950: #28242e}:root.darkmode{--color-basic-white: #ffffff;--color-basic-black: #000000;--color-grey-translucent: rgba(226, 219, 240, .05);--color-grey-100: #f7f8f9;--color-grey-200: #dfe0e2;--color-grey-300: #d1d3d6;--color-grey-400: #c9cbcf;--color-grey-500: #75767b;--color-grey-600: #414045;--color-grey-700: #36353b;--color-grey-800: #2e2f33;--color-grey-900: #1f2023;--color-grey-1000: #1b1c1e;--color-primary-lightest: #3d2c56;--color-primary-light: #543680;--color-primary-medium: #9c77d4;--color-primary-default: #af80f4;--color-primary-dark: #bf99f6;--color-primary-darker: #cfb3f8;--color-primary-darkest: #dfccfb;--color-accent-default: #fd62b0;--color-accent-dark: #fd81c0;--color-info-lightest: #152e51;--color-info-light: #1d3a63;--color-info-medium: #4880cf;--color-info-default: #5a9dfc;--color-info-dark: #7bb1fd;--color-success-lightest: #0b412b;--color-success-light: #0f5235;--color-success-medium: #1d9b66;--color-success-default: #23bd7d;--color-success-dark: #41c890;--color-warning-lightest: #512f10;--color-warning-light: #603915;--color-warning-medium: #c37730;--color-warning-default: #ed913b;--color-error-lightest: #4f1618;--color-error-light: #7b2d2f;--color-error-medium: #d35a5c;--color-error-default: #ff7073;--color-private-lightest: #22211b;--color-private-light: #343228;--color-private-default: #625b36;--color-private-dark: #78703f;--color-files-text-document: #2a86f1;--color-files-presentation: #ee592b;--color-files-spreadsheet: #509015;--color-files-pdf-document: #de2715;--color-files-other-document: #5b6d8c;--color-stages-no-type-light: #402e26;--color-stages-no-type-default: #946a57;--color-stages-applied-light: #35363b;--color-stages-applied-default: #8997a9;--color-stages-screening-light: #152e51;--color-stages-screening-default: #7bb1fd;--color-stages-interview-light: #152e51;--color-stages-interview-default: #5a9dfc;--color-stages-evaluation-light: #003a3d;--color-stages-evaluation-default: #00c1cc;--color-stages-offer-light: #432468;--color-stages-offer-default: #af7fe6;--color-stages-hired-light: #0b412b;--color-stages-hired-default: #23bd7d;--color-avatars-candidate: #ad94e0;--color-avatars-team-member: #bd6bb3;color-scheme:dark;--avatar-bckg-color: #75767b;--avatar-label-color: #f7f8f9;--card-bckg: #2e2f33;--card-bckg-rgb: 46, 47, 51;--card-stacked-bckg: #36353b;--card-bckg-overlay: linear-gradient(-180deg, rgba(46, 47, 51, 0) 40%, #2e2f33 80%);--chevron-color: #75767b;--header-color: #c9cbcf;--info-border-color: transparent;--modal-header-color: #1b1c1e;--more-btn-color: #dfe0e2;--list-bckg-color: #2e2f33;--pill-bckg: #414045;--placeholder-color: #c9cbcf;--section-line: #414045;--searchbar-bckg: #414045;--segment-bckg-color: #414045;--shadow-card-overlap: 0px 0px 6px 0px #0000007a, 0px 2px 4px 0px #0000003d;--stacked-card-shadow: 0px 1px 4px 0px #000000cc, 0px 1px 8px 0px #00000029;--tag-label-color: #c9cbcf;--tag-border-color: #75767b;--tag-icon-color: #c9cbcf;--chip-border-color: #75767b;--toast-bckg-color: #283542;--button-bckg-color: #36353b;--card-bckg-color: rgba(46, 47, 51, .7);--bckg-activated: var(--button-bckg-color);--bckg-focused: var(--button-bckg-color);--bckg-hover: var(--button-bckg-color);--bckg-activated-opacity: 1;--bckg-focused-opacity: 1;--bckg-hover-opacity: 1;--button-bckg-hover: #2e2f33;--ion-color-primary: #af80f4;--ion-color-primary-rgb: 175, 128, 244;--ion-background-color: #2e2f33;--ion-background-color-rgb: 46, 47, 51;--ion-text-color: #ffffff;--ion-text-color-rgb: 255, 255, 255;--ion-color-step-50: #1b1c1e;--ion-color-step-100: #1b1c1e;--ion-color-step-150: #1f2023;--ion-color-step-200: #1f2023;--ion-color-step-250: #2e2f33;--ion-color-step-300: #2e2f33;--ion-color-step-350: #36353b;--ion-color-step-400: #36353b;--ion-color-step-450: #414045;--ion-color-step-500: #414045;--ion-color-step-550: #75767b;--ion-color-step-600: #75767b;--ion-color-step-650: #c9cbcf;--ion-color-step-700: #c9cbcf;--ion-color-step-750: #d1d3d6;--ion-color-step-800: #d1d3d6;--ion-color-step-850: #dfe0e2;--ion-color-step-900: #dfe0e2;--ion-color-step-950: #f7f8f9}.weight-700{font-weight:700;font-style:normal}.weight-600{font-weight:600;font-style:normal}.weight-500{font-weight:500;font-style:normal}.heading-1{font-size:34px;line-height:40px;letter-spacing:.37px;font-weight:700;font-style:normal}.heading-2{font-size:28px;line-height:32px;letter-spacing:.36px;font-weight:700;font-style:normal}.heading-3{font-size:22px;line-height:28px;letter-spacing:.35px;font-weight:700;font-style:normal}.heading-4{font-size:20px;line-height:24px;letter-spacing:.38px;font-weight:700;font-style:normal}.heading-5{font-size:18px;line-height:20px;letter-spacing:.38px;font-weight:700;font-style:normal}.heading-6{font-size:16px;line-height:20px;letter-spacing:.38px;font-weight:700;font-style:normal}.sub-heading-1{font-size:18px;line-height:24px;letter-spacing:-.45px;font-weight:600;font-style:normal}.sub-heading-2{font-size:16px;line-height:20px;letter-spacing:-.32px;font-weight:600;font-style:normal}.sub-heading-3{font-size:14px;line-height:16px;letter-spacing:-.15px;font-weight:600;font-style:normal}.sub-heading-4{font-size:12px;line-height:16px;font-weight:600;font-style:normal}.sub-heading-5{font-size:10px;line-height:12px;letter-spacing:.12px;font-weight:600;font-style:normal}.ui-text-1{font-size:17px;line-height:24px;letter-spacing:-.32px;font-weight:500;font-style:normal}.ui-text-2{font-size:16px;line-height:20px;letter-spacing:-.32px;font-weight:500;font-style:normal}.ui-text-3{font-size:14px;line-height:16px;letter-spacing:-.15px;font-weight:500;font-style:normal}.ui-text-4{font-size:13px;line-height:16px;letter-spacing:-.08px;font-weight:500;font-style:normal}.ui-text-5{font-size:12px;line-height:16px;font-weight:500;font-style:normal}.ui-text-6{font-size:11px;line-height:12px;letter-spacing:.07px;font-weight:500;font-style:normal}.running-text-1{font-size:16px;line-height:24px;letter-spacing:-.32px;font-weight:400}.running-text-2{font-size:14px;line-height:20px;letter-spacing:-.154px;font-weight:400}.running-text-2_ln16{font-size:14px;line-height:16px;letter-spacing:-.154px;font-weight:500}.running-text-3{font-size:12px;line-height:20px;font-weight:400}.caption-text-1{font-size:14px;line-height:16px;font-weight:700;letter-spacing:-.15px}.caption-text-2{font-size:12px;line-height:16px;font-weight:700}.caption-text-3{font-size:10px;line-height:12px;font-weight:700;letter-spacing:.12px}.caption-text-4{font-size:8px;line-height:12px;font-weight:700;letter-spacing:-.4px}@supports (color: light-dark(#ffffff,#000000)){.text-white{color:light-dark(#ffffff,#000000)}}@supports not (color: light-dark(#ffffff,#000000)){.text-white{color:#fff}:host-context(:root.darkmode) .text-white{color:#000}}@supports (color: light-dark(#4d465a,#c9cbcf)){.text-grey-800-400{color:light-dark(#4d465a,#c9cbcf)}}@supports not (color: light-dark(#4d465a,#c9cbcf)){.text-grey-800-400{color:#4d465a}:host-context(:root.darkmode) .text-grey-800-400{color:#c9cbcf}}@supports (color: light-dark(#9e99a8,#75767b)){.text-grey-600-500{color:light-dark(#9e99a8,#75767b)}}@supports not (color: light-dark(#9e99a8,#75767b)){.text-grey-600-500{color:#9e99a8}:host-context(:root.darkmode) .text-grey-600-500{color:#75767b}}@supports (color: light-dark(#9e99a8,#c9cbcf)){.text-grey-600-400{color:light-dark(#9e99a8,#c9cbcf)}}@supports not (color: light-dark(#9e99a8,#c9cbcf)){.text-grey-600-400{color:#9e99a8}:host-context(:root.darkmode) .text-grey-600-400{color:#c9cbcf}}@supports (color: light-dark(#28242e,#f7f8f9)){.text-grey-1000-100{color:light-dark(#28242e,#f7f8f9)}}@supports not (color: light-dark(#28242e,#f7f8f9)){.text-grey-1000-100{color:#28242e}:host-context(:root.darkmode) .text-grey-1000-100{color:#f7f8f9}}.text-primary-default{color:var(--color-primary-default)}.text-info-default{color:var(--color-info-default)}.text-success-default{color:var(--color-success-default)}.pad-left-s2{padding-left:8px}.pad-left-s4{padding-left:16px}.pad-right-s2{padding-right:8px}.pad-right-s3{padding-right:12px}.pad-top-s2{padding-top:8px}.pad-left-0{padding-left:0}.no-padding{padding:0}.mar-top-bot-s4{margin:16px 0}.mar-top-s1{margin-top:4px}.mar-top-s2{margin-top:8px}.mar-top-s4{margin-top:16px}.mar-bot-s4{margin-bottom:16px}.mar-bot-s2{margin-bottom:8px}.mar-bot-s1{margin-bottom:4px}.mar-right-s1{margin-right:4px}.mar-right-s4{margin-right:16px}.mar-left-s4{margin-left:16px}.mar-right-s2{margin-right:8px}.mar-left-s2{margin-left:8px}.mar-left-s1{margin-left:4px}.mar-left-auto{margin-left:auto}.mar-all-s4{margin:16px}.header{margin:24px 16px 8px}.uppercase{text-transform:uppercase}.text-end{text-align:end}.text-start{text-align:start}.text-center{text-align:center}.flex{display:flex}.flex-shrink-0{flex-shrink:0}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-wrap{overflow-wrap:break-word;white-space:normal}:root{font-size:16px}body{font-family:system-ui,Segoe UI,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}@supports (background-color: light-dark(#f6f5fa,#1f2023)){body{background-color:light-dark(#f6f5fa,#1f2023)}}@supports not (color: light-dark(#f6f5fa,#1f2023)){body{background-color:#f6f5fa}:host-context(:root.darkmode) body{background-color:#1f2023}}.main-container{display:flex;flex-direction:column;height:100%}.spinner-container{position:absolute;width:100%;height:100%;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}@supports (background-color: light-dark(#f6f5fa,#1f2023)){.spinner-container{background-color:light-dark(#f6f5fa,#1f2023)}}@supports not (color: light-dark(#f6f5fa,#1f2023)){.spinner-container{background-color:#f6f5fa}:host-context(:root.darkmode) .spinner-container{background-color:#1f2023}}.rooted{inset:0;width:100vw;height:100vh;position:absolute;font-size:32px;padding:64px;display:flex;justify-content:center;align-items:center;text-align:center;font-weight:600}@supports (background-color: light-dark(#f6f5fa,#1f2023)){.rooted{background-color:light-dark(#f6f5fa,#1f2023)}}@supports not (color: light-dark(#f6f5fa,#1f2023)){.rooted{background-color:#f6f5fa}:host-context(:root.darkmode) .rooted{background-color:#1f2023}}ion-app{margin-bottom:0;transition:margin-bottom .3s ease-in-out}ion-app.offline{margin-bottom:28px}ion-app:after{content:"";position:absolute;top:100%;left:0;right:0;height:var(--ios-keyboard-height, 0px)}@supports (background-color: light-dark(#f6f5fa,#1f2023)){ion-app:after{background-color:light-dark(#f6f5fa,#1f2023)}}@supports not (color: light-dark(#f6f5fa,#1f2023)){ion-app:after{background-color:#f6f5fa}:host-context(:root.darkmode) ion-app:after{background-color:#1f2023}}.app-container{width:100%;height:100%}.intercom-namespace .intercom-borderless-frame,.intercom-namespace .intercom-app [name=intercom-notifications-frame]{background-color:#ece8f3;border-radius:8px;box-shadow:#0000001f 0 4px 16px}.offline-indicator{position:absolute;bottom:0;left:0;right:0;width:100%;height:calc(28px + var(--ion-safe-area-bottom));transform:translateY(100%);opacity:0;transition:transform .3s ease-in-out,opacity 0s .3s;z-index:10;padding-bottom:var(--ion-safe-area-bottom);display:flex;font-size:12px;background-color:var(--color-warning-light);border-top:1px solid var(--color-warning-medium);align-items:center;justify-content:center}@supports (color: light-dark(#28242e,#ffffff)){.offline-indicator{color:light-dark(#28242e,#ffffff)}}@supports not (color: light-dark(#28242e,#ffffff)){.offline-indicator{color:#28242e}:host-context(:root.darkmode) .offline-indicator{color:#fff}}.offline-indicator.active{transform:none;opacity:1;transition:opacity 0s 0s,transform .3s ease-in-out}:root{--iti-hover-color: rgba(0, 0, 0, .05);--iti-border-color: #ccc;--iti-dialcode-color: #999;--iti-dropdown-bg: white;--iti-spacer-horizontal: 8px;--iti-flag-height: 12px;--iti-flag-width: 16px;--iti-border-width: 1px;--iti-arrow-height: 4px;--iti-arrow-width: 6px;--iti-triangle-border: calc(var(--iti-arrow-width) / 2);--iti-arrow-padding: 6px;--iti-arrow-color: #555;--iti-path-flags-1x: url("./media/flags-DEVAAAR7.webp");--iti-path-flags-2x: url("./media/flags@2x-LAG6ZLTZ.webp");--iti-path-globe-1x: url("./media/globe-TDQQLSUB.webp");--iti-path-globe-2x: url("./media/globe@2x-S5G7N6BJ.webp");--iti-flag-sprite-width: 3904px;--iti-flag-sprite-height: 12px;--iti-mobile-popup-margin: 30px}.iti{position:relative;display:inline-block}.iti *{box-sizing:border-box}.iti__hide{display:none}.iti__v-hide{visibility:hidden}.iti__a11y-text{width:1px;height:1px;clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute}.iti input.iti__tel-input,.iti input.iti__tel-input[type=text],.iti input.iti__tel-input[type=tel]{position:relative;z-index:0;margin:0!important}.iti__country-container{position:absolute;top:0;bottom:0;padding:var(--iti-border-width)}.iti__selected-country{z-index:1;position:relative;display:flex;align-items:center;height:100%;background:none;border:0;margin:0;padding:0;font-family:inherit;font-size:inherit;color:inherit;border-radius:0;font-weight:inherit;line-height:inherit;text-decoration:none}.iti__selected-country-primary{display:flex;align-items:center;height:100%;padding:0 var(--iti-arrow-padding) 0 var(--iti-spacer-horizontal)}.iti__arrow{margin-left:var(--iti-arrow-padding);width:0;height:0;border-left:var(--iti-triangle-border) solid transparent;border-right:var(--iti-triangle-border) solid transparent;border-top:var(--iti-arrow-height) solid var(--iti-arrow-color)}[dir=rtl] .iti__arrow{margin-right:var(--iti-arrow-padding);margin-left:0}.iti__arrow--up{border-top:none;border-bottom:var(--iti-arrow-height) solid var(--iti-arrow-color)}.iti__dropdown-content{border-radius:3px;background-color:var(--iti-dropdown-bg)}.iti--inline-dropdown .iti__dropdown-content{position:absolute;z-index:2;margin-top:3px;margin-left:calc(var(--iti-border-width) * -1);border:var(--iti-border-width) solid var(--iti-border-color);box-shadow:1px 1px 4px #0003}.iti__search-input{width:100%;border-width:0;border-radius:3px}.iti__search-input+.iti__country-list{border-top:1px solid var(--iti-border-color)}.iti__country-list{list-style:none;padding:0;margin:0;overflow-y:scroll;-webkit-overflow-scrolling:touch}.iti--inline-dropdown .iti__country-list{max-height:185px}.iti--flexible-dropdown-width .iti__country-list{white-space:nowrap}@media(max-width:500px){.iti--flexible-dropdown-width .iti__country-list{white-space:normal}}.iti__country{display:flex;align-items:center;padding:8px var(--iti-spacer-horizontal);outline:none}.iti__dial-code{color:var(--iti-dialcode-color)}.iti__country.iti__highlight{background-color:var(--iti-hover-color)}.iti__country-list .iti__flag,.iti__country-name{margin-right:var(--iti-spacer-horizontal)}[dir=rtl] .iti__country-list .iti__flag,[dir=rtl] .iti__country-name{margin-right:0;margin-left:var(--iti-spacer-horizontal)}.iti--allow-dropdown .iti__country-container:not(:has(+input[disabled])):not(:has(+input[readonly])):hover,.iti--allow-dropdown .iti__country-container:not(:has(+input[disabled])):not(:has(+input[readonly])):hover button{cursor:pointer}.iti--allow-dropdown .iti__country-container:not(:has(+input[disabled])):not(:has(+input[readonly])) .iti__selected-country-primary:hover,.iti--allow-dropdown .iti__country-container:not(:has(+input[disabled])):not(:has(+input[readonly])) .iti__selected-country:has(+.iti__dropdown-content:hover) .iti__selected-country-primary{background-color:var(--iti-hover-color)}.iti .iti__selected-dial-code{margin-left:4px}[dir=rtl] .iti .iti__selected-dial-code{margin-left:0;margin-right:4px}.iti--container{position:fixed;top:-1000px;left:-1000px;z-index:1060;padding:var(--iti-border-width)}.iti--container:hover{cursor:pointer}.iti--fullscreen-popup.iti--container{background-color:#00000080;inset:0;position:fixed;padding:var(--iti-mobile-popup-margin);display:flex;flex-direction:column;justify-content:flex-start}.iti--fullscreen-popup .iti__dropdown-content{display:flex;flex-direction:column;max-height:100%;position:relative}.iti--fullscreen-popup .iti__country{padding:10px;line-height:1.5em}.iti__flag{--iti-flag-offset: 100px;height:var(--iti-flag-height);width:var(--iti-flag-width);border-radius:1px;box-shadow:0 0 1px #888;background-image:var(--iti-path-flags-1x);background-repeat:no-repeat;background-position:var(--iti-flag-offset) 0;background-size:var(--iti-flag-sprite-width) var(--iti-flag-sprite-height)}.iti__ac{--iti-flag-offset: 0px}.iti__ad{--iti-flag-offset: -16px}.iti__ae{--iti-flag-offset: -32px}.iti__af{--iti-flag-offset: -48px}.iti__ag{--iti-flag-offset: -64px}.iti__ai{--iti-flag-offset: -80px}.iti__al{--iti-flag-offset: -96px}.iti__am{--iti-flag-offset: -112px}.iti__ao{--iti-flag-offset: -128px}.iti__ar{--iti-flag-offset: -144px}.iti__as{--iti-flag-offset: -160px}.iti__at{--iti-flag-offset: -176px}.iti__au{--iti-flag-offset: -192px}.iti__aw{--iti-flag-offset: -208px}.iti__ax{--iti-flag-offset: -224px}.iti__az{--iti-flag-offset: -240px}.iti__ba{--iti-flag-offset: -256px}.iti__bb{--iti-flag-offset: -272px}.iti__bd{--iti-flag-offset: -288px}.iti__be{--iti-flag-offset: -304px}.iti__bf{--iti-flag-offset: -320px}.iti__bg{--iti-flag-offset: -336px}.iti__bh{--iti-flag-offset: -352px}.iti__bi{--iti-flag-offset: -368px}.iti__bj{--iti-flag-offset: -384px}.iti__bl{--iti-flag-offset: -400px}.iti__bm{--iti-flag-offset: -416px}.iti__bn{--iti-flag-offset: -432px}.iti__bo{--iti-flag-offset: -448px}.iti__bq{--iti-flag-offset: -464px}.iti__br{--iti-flag-offset: -480px}.iti__bs{--iti-flag-offset: -496px}.iti__bt{--iti-flag-offset: -512px}.iti__bw{--iti-flag-offset: -528px}.iti__by{--iti-flag-offset: -544px}.iti__bz{--iti-flag-offset: -560px}.iti__ca{--iti-flag-offset: -576px}.iti__cc{--iti-flag-offset: -592px}.iti__cd{--iti-flag-offset: -608px}.iti__cf{--iti-flag-offset: -624px}.iti__cg{--iti-flag-offset: -640px}.iti__ch{--iti-flag-offset: -656px}.iti__ci{--iti-flag-offset: -672px}.iti__ck{--iti-flag-offset: -688px}.iti__cl{--iti-flag-offset: -704px}.iti__cm{--iti-flag-offset: -720px}.iti__cn{--iti-flag-offset: -736px}.iti__co{--iti-flag-offset: -752px}.iti__cr{--iti-flag-offset: -768px}.iti__cu{--iti-flag-offset: -784px}.iti__cv{--iti-flag-offset: -800px}.iti__cw{--iti-flag-offset: -816px}.iti__cx{--iti-flag-offset: -832px}.iti__cy{--iti-flag-offset: -848px}.iti__cz{--iti-flag-offset: -864px}.iti__de{--iti-flag-offset: -880px}.iti__dj{--iti-flag-offset: -896px}.iti__dk{--iti-flag-offset: -912px}.iti__dm{--iti-flag-offset: -928px}.iti__do{--iti-flag-offset: -944px}.iti__dz{--iti-flag-offset: -960px}.iti__ec{--iti-flag-offset: -976px}.iti__ee{--iti-flag-offset: -992px}.iti__eg{--iti-flag-offset: -1008px}.iti__eh{--iti-flag-offset: -1024px}.iti__er{--iti-flag-offset: -1040px}.iti__es{--iti-flag-offset: -1056px}.iti__et{--iti-flag-offset: -1072px}.iti__fi{--iti-flag-offset: -1088px}.iti__fj{--iti-flag-offset: -1104px}.iti__fk{--iti-flag-offset: -1120px}.iti__fm{--iti-flag-offset: -1136px}.iti__fo{--iti-flag-offset: -1152px}.iti__fr{--iti-flag-offset: -1168px}.iti__ga{--iti-flag-offset: -1184px}.iti__gb{--iti-flag-offset: -1200px}.iti__gd{--iti-flag-offset: -1216px}.iti__ge{--iti-flag-offset: -1232px}.iti__gf{--iti-flag-offset: -1248px}.iti__gg{--iti-flag-offset: -1264px}.iti__gh{--iti-flag-offset: -1280px}.iti__gi{--iti-flag-offset: -1296px}.iti__gl{--iti-flag-offset: -1312px}.iti__gm{--iti-flag-offset: -1328px}.iti__gn{--iti-flag-offset: -1344px}.iti__gp{--iti-flag-offset: -1360px}.iti__gq{--iti-flag-offset: -1376px}.iti__gr{--iti-flag-offset: -1392px}.iti__gt{--iti-flag-offset: -1408px}.iti__gu{--iti-flag-offset: -1424px}.iti__gw{--iti-flag-offset: -1440px}.iti__gy{--iti-flag-offset: -1456px}.iti__hk{--iti-flag-offset: -1472px}.iti__hn{--iti-flag-offset: -1488px}.iti__hr{--iti-flag-offset: -1504px}.iti__ht{--iti-flag-offset: -1520px}.iti__hu{--iti-flag-offset: -1536px}.iti__id{--iti-flag-offset: -1552px}.iti__ie{--iti-flag-offset: -1568px}.iti__il{--iti-flag-offset: -1584px}.iti__im{--iti-flag-offset: -1600px}.iti__in{--iti-flag-offset: -1616px}.iti__io{--iti-flag-offset: -1632px}.iti__iq{--iti-flag-offset: -1648px}.iti__ir{--iti-flag-offset: -1664px}.iti__is{--iti-flag-offset: -1680px}.iti__it{--iti-flag-offset: -1696px}.iti__je{--iti-flag-offset: -1712px}.iti__jm{--iti-flag-offset: -1728px}.iti__jo{--iti-flag-offset: -1744px}.iti__jp{--iti-flag-offset: -1760px}.iti__ke{--iti-flag-offset: -1776px}.iti__kg{--iti-flag-offset: -1792px}.iti__kh{--iti-flag-offset: -1808px}.iti__ki{--iti-flag-offset: -1824px}.iti__km{--iti-flag-offset: -1840px}.iti__kn{--iti-flag-offset: -1856px}.iti__kp{--iti-flag-offset: -1872px}.iti__kr{--iti-flag-offset: -1888px}.iti__kw{--iti-flag-offset: -1904px}.iti__ky{--iti-flag-offset: -1920px}.iti__kz{--iti-flag-offset: -1936px}.iti__la{--iti-flag-offset: -1952px}.iti__lb{--iti-flag-offset: -1968px}.iti__lc{--iti-flag-offset: -1984px}.iti__li{--iti-flag-offset: -2000px}.iti__lk{--iti-flag-offset: -2016px}.iti__lr{--iti-flag-offset: -2032px}.iti__ls{--iti-flag-offset: -2048px}.iti__lt{--iti-flag-offset: -2064px}.iti__lu{--iti-flag-offset: -2080px}.iti__lv{--iti-flag-offset: -2096px}.iti__ly{--iti-flag-offset: -2112px}.iti__ma{--iti-flag-offset: -2128px}.iti__mc{--iti-flag-offset: -2144px}.iti__md{--iti-flag-offset: -2160px}.iti__me{--iti-flag-offset: -2176px}.iti__mf{--iti-flag-offset: -2192px}.iti__mg{--iti-flag-offset: -2208px}.iti__mh{--iti-flag-offset: -2224px}.iti__mk{--iti-flag-offset: -2240px}.iti__ml{--iti-flag-offset: -2256px}.iti__mm{--iti-flag-offset: -2272px}.iti__mn{--iti-flag-offset: -2288px}.iti__mo{--iti-flag-offset: -2304px}.iti__mp{--iti-flag-offset: -2320px}.iti__mq{--iti-flag-offset: -2336px}.iti__mr{--iti-flag-offset: -2352px}.iti__ms{--iti-flag-offset: -2368px}.iti__mt{--iti-flag-offset: -2384px}.iti__mu{--iti-flag-offset: -2400px}.iti__mv{--iti-flag-offset: -2416px}.iti__mw{--iti-flag-offset: -2432px}.iti__mx{--iti-flag-offset: -2448px}.iti__my{--iti-flag-offset: -2464px}.iti__mz{--iti-flag-offset: -2480px}.iti__na{--iti-flag-offset: -2496px}.iti__nc{--iti-flag-offset: -2512px}.iti__ne{--iti-flag-offset: -2528px}.iti__nf{--iti-flag-offset: -2544px}.iti__ng{--iti-flag-offset: -2560px}.iti__ni{--iti-flag-offset: -2576px}.iti__nl{--iti-flag-offset: -2592px}.iti__no{--iti-flag-offset: -2608px}.iti__np{--iti-flag-offset: -2624px}.iti__nr{--iti-flag-offset: -2640px}.iti__nu{--iti-flag-offset: -2656px}.iti__nz{--iti-flag-offset: -2672px}.iti__om{--iti-flag-offset: -2688px}.iti__pa{--iti-flag-offset: -2704px}.iti__pe{--iti-flag-offset: -2720px}.iti__pf{--iti-flag-offset: -2736px}.iti__pg{--iti-flag-offset: -2752px}.iti__ph{--iti-flag-offset: -2768px}.iti__pk{--iti-flag-offset: -2784px}.iti__pl{--iti-flag-offset: -2800px}.iti__pm{--iti-flag-offset: -2816px}.iti__pr{--iti-flag-offset: -2832px}.iti__ps{--iti-flag-offset: -2848px}.iti__pt{--iti-flag-offset: -2864px}.iti__pw{--iti-flag-offset: -2880px}.iti__py{--iti-flag-offset: -2896px}.iti__qa{--iti-flag-offset: -2912px}.iti__re{--iti-flag-offset: -2928px}.iti__ro{--iti-flag-offset: -2944px}.iti__rs{--iti-flag-offset: -2960px}.iti__ru{--iti-flag-offset: -2976px}.iti__rw{--iti-flag-offset: -2992px}.iti__sa{--iti-flag-offset: -3008px}.iti__sb{--iti-flag-offset: -3024px}.iti__sc{--iti-flag-offset: -3040px}.iti__sd{--iti-flag-offset: -3056px}.iti__se{--iti-flag-offset: -3072px}.iti__sg{--iti-flag-offset: -3088px}.iti__sh{--iti-flag-offset: -3104px}.iti__si{--iti-flag-offset: -3120px}.iti__sj{--iti-flag-offset: -3136px}.iti__sk{--iti-flag-offset: -3152px}.iti__sl{--iti-flag-offset: -3168px}.iti__sm{--iti-flag-offset: -3184px}.iti__sn{--iti-flag-offset: -3200px}.iti__so{--iti-flag-offset: -3216px}.iti__sr{--iti-flag-offset: -3232px}.iti__ss{--iti-flag-offset: -3248px}.iti__st{--iti-flag-offset: -3264px}.iti__sv{--iti-flag-offset: -3280px}.iti__sx{--iti-flag-offset: -3296px}.iti__sy{--iti-flag-offset: -3312px}.iti__sz{--iti-flag-offset: -3328px}.iti__tc{--iti-flag-offset: -3344px}.iti__td{--iti-flag-offset: -3360px}.iti__tg{--iti-flag-offset: -3376px}.iti__th{--iti-flag-offset: -3392px}.iti__tj{--iti-flag-offset: -3408px}.iti__tk{--iti-flag-offset: -3424px}.iti__tl{--iti-flag-offset: -3440px}.iti__tm{--iti-flag-offset: -3456px}.iti__tn{--iti-flag-offset: -3472px}.iti__to{--iti-flag-offset: -3488px}.iti__tr{--iti-flag-offset: -3504px}.iti__tt{--iti-flag-offset: -3520px}.iti__tv{--iti-flag-offset: -3536px}.iti__tw{--iti-flag-offset: -3552px}.iti__tz{--iti-flag-offset: -3568px}.iti__ua{--iti-flag-offset: -3584px}.iti__ug{--iti-flag-offset: -3600px}.iti__us{--iti-flag-offset: -3616px}.iti__uy{--iti-flag-offset: -3632px}.iti__uz{--iti-flag-offset: -3648px}.iti__va{--iti-flag-offset: -3664px}.iti__vc{--iti-flag-offset: -3680px}.iti__ve{--iti-flag-offset: -3696px}.iti__vg{--iti-flag-offset: -3712px}.iti__vi{--iti-flag-offset: -3728px}.iti__vn{--iti-flag-offset: -3744px}.iti__vu{--iti-flag-offset: -3760px}.iti__wf{--iti-flag-offset: -3776px}.iti__ws{--iti-flag-offset: -3792px}.iti__xk{--iti-flag-offset: -3808px}.iti__ye{--iti-flag-offset: -3824px}.iti__yt{--iti-flag-offset: -3840px}.iti__za{--iti-flag-offset: -3856px}.iti__zm{--iti-flag-offset: -3872px}.iti__zw{--iti-flag-offset: -3888px}.iti__globe{background-image:var(--iti-path-globe-1x);background-size:contain;background-position:right;box-shadow:none;height:19px}@media(min-resolution:2x){.iti__flag{background-image:var(--iti-path-flags-2x)}.iti__globe{background-image:var(--iti-path-globe-2x)}}tlm-reload-pill,tlm-live-update-dialog{background:#d1d3d6;color:#28242e;font-family:system-ui,Segoe UI,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}tlm-reload-pill{position:fixed;display:flex;align-items:center;border-radius:20px;padding:8px 16px 8px 20px;max-height:40px;font-size:14px;margin:0;top:calc(12px + var(--ion-safe-area-top, 0px));right:12px;gap:8px;transition-duration:.5s;transition-timing-function:ease-in-out;transform:translate3d(0,-52px,0)}tlm-reload-pill.visible{transform:translateZ(0)}tlm-reload-pill p{margin:0;padding:0}tlm-reload-pill svg{fill:#5a1cb7;width:24px;height:24px}tlm-reload-pill button{color:#5a1cb7;border:none;outline:none;background:none;display:flex;flex-direction:row;gap:6px;align-items:center;padding:0;cursor:pointer;transition:opacity .15s ease-in-out}tlm-live-update-dialog{position:fixed;display:flex;inset:0;align-items:center;justify-content:center;background:transparent}tlm-live-update-dialog section{transition-duration:.4s;transition-timing-function:ease-in-out;width:80%;max-height:80%;background:#f6f5fa;border-radius:12px;transform:translate3d(0,100vh,0);padding:24px;display:flex;flex-direction:column;gap:12px}tlm-live-update-dialog h1{margin:0;padding-bottom:4px;font-size:20px}tlm-live-update-dialog button{margin:0;outline:none;border:1px solid rgb(220,216,228);color:#4d465a;background:#fff;font-size:18px;height:51px;border-radius:8px;cursor:pointer}tlm-live-update-dialog button.primary{color:#fff;border:none;background:#5a1cb7}tlm-live-update-dialog div.backdrop{transition:opacity .4s ease-in-out;position:absolute;inset:0;background:#00000080;opacity:0;z-index:-1;cursor:pointer}tlm-live-update-dialog.visible div.backdrop{opacity:1}tlm-live-update-dialog.visible section{opacity:1;transform:translateZ(0)}@media(any-hover:hover){tlm-reload-pill button:hover,tlm-live-update-dialog button:hover{opacity:.8}}tlm-reload-pill button:active,tlm-live-update-dialog button:active{opacity:.6}html footer.bottom-bar{padding-bottom:var(--safe-area-inset-bottom, 0px)}html.keyboard-is-open footer.bottom-bar{padding-bottom:var(--ios-keyboard-height, 0px)}tlm-copied-toast{position:fixed;display:flex;align-items:center;justify-content:center;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:500;background:#28242e;color:#fff;font-family:system-ui,Segoe UI,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;bottom:calc(24px + var(--safe-area-inset-bottom, 0px));left:50%;transform:translate3d(-50%,20px,0);opacity:0;transition:opacity .3s ease-in-out,transform .3s ease-in-out;z-index:9999}tlm-copied-toast.visible{opacity:1;transform:translate3d(-50%,0,0)}tlm-copied-toast p{margin:0;padding:0}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibm9kZV9tb2R1bGVzLy5wbnBtL0Bpb25pYythbmd1bGFyQDguNC4zX2RiM2Y4MTY5ZTcxNDM2YTcyOTQzYjllMzM4MDE5NTQ0L25vZGVfbW9kdWxlcy9AaW9uaWMvYW5ndWxhci9zcmMvY3NzL2NvcmUuc2NzcyIsICJub2RlX21vZHVsZXMvLnBucG0vQGlvbmljK2FuZ3VsYXJAOC40LjNfZGIzZjgxNjllNzE0MzZhNzI5NDNiOWUzMzgwMTk1NDQvbm9kZV9tb2R1bGVzL0Bpb25pYy9hbmd1bGFyL3NyYy90aGVtZXMvaW9uaWMubWl4aW5zLnNjc3MiLCAibm9kZV9tb2R1bGVzLy5wbnBtL0Bpb25pYythbmd1bGFyQDguNC4zX2RiM2Y4MTY5ZTcxNDM2YTcyOTQzYjllMzM4MDE5NTQ0L25vZGVfbW9kdWxlcy9AaW9uaWMvYW5ndWxhci9zcmMvdGhlbWVzL2lvbmljLmdsb2JhbHMuc2NzcyIsICJub2RlX21vZHVsZXMvLnBucG0vQGlvbmljK2FuZ3VsYXJAOC40LjNfZGIzZjgxNjllNzE0MzZhNzI5NDNiOWUzMzgwMTk1NDQvbm9kZV9tb2R1bGVzL0Bpb25pYy9hbmd1bGFyL3NyYy9jb21wb25lbnRzL21lbnUvbWVudS5pb3MudmFycy5zY3NzIiwgIm5vZGVfbW9kdWxlcy8ucG5wbS9AaW9uaWMrYW5ndWxhckA4LjQuM19kYjNmODE2OWU3MTQzNmE3Mjk0M2I5ZTMzODAxOTU0NC9ub2RlX21vZHVsZXMvQGlvbmljL2FuZ3VsYXIvc3JjL2NvbXBvbmVudHMvbWVudS9tZW51Lm1kLnZhcnMuc2NzcyIsICJub2RlX21vZHVsZXMvLnBucG0vQGlvbmljK2FuZ3VsYXJAOC40LjNfZGIzZjgxNjllNzE0MzZhNzI5NDNiOWUzMzgwMTk1NDQvbm9kZV9tb2R1bGVzL0Bpb25pYy9hbmd1bGFyL3NyYy9jc3Mvbm9ybWFsaXplLnNjc3MiLCAibm9kZV9tb2R1bGVzLy5wbnBtL0Bpb25pYythbmd1bGFyQDguNC4zX2RiM2Y4MTY5ZTcxNDM2YTcyOTQzYjllMzM4MDE5NTQ0L25vZGVfbW9kdWxlcy9AaW9uaWMvYW5ndWxhci9zcmMvY3NzL3N0cnVjdHVyZS5zY3NzIiwgIm5vZGVfbW9kdWxlcy8ucG5wbS9AaW9uaWMrYW5ndWxhckA4LjQuM19kYjNmODE2OWU3MTQzNmE3Mjk0M2I5ZTMzODAxOTU0NC9ub2RlX21vZHVsZXMvQGlvbmljL2FuZ3VsYXIvc3JjL3RoZW1lcy9pb25pYy5taXhpbnMuc2NzcyIsICJub2RlX21vZHVsZXMvLnBucG0vQGlvbmljK2FuZ3VsYXJAOC40LjNfZGIzZjgxNjllNzE0MzZhNzI5NDNiOWUzMzgwMTk1NDQvbm9kZV9tb2R1bGVzL0Bpb25pYy9hbmd1bGFyL3NyYy9jc3MvdHlwb2dyYXBoeS5zY3NzIiwgIm5vZGVfbW9kdWxlcy8ucG5wbS9AaW9uaWMrYW5ndWxhckA4LjQuM19kYjNmODE2OWU3MTQzNmE3Mjk0M2I5ZTMzODAxOTU0NC9ub2RlX21vZHVsZXMvQGlvbmljL2FuZ3VsYXIvc3JjL3RoZW1lcy9pb25pYy5taXhpbnMuc2NzcyIsICJub2RlX21vZHVsZXMvLnBucG0vQGlvbmljK2FuZ3VsYXJAOC40LjNfZGIzZjgxNjllNzE0MzZhNzI5NDNiOWUzMzgwMTk1NDQvbm9kZV9tb2R1bGVzL0Bpb25pYy9hbmd1bGFyL3NyYy9jc3MvZGlzcGxheS5zY3NzIiwgIm5vZGVfbW9kdWxlcy8ucG5wbS9AaW9uaWMrYW5ndWxhckA4LjQuM19kYjNmODE2OWU3MTQzNmE3Mjk0M2I5ZTMzODAxOTU0NC9ub2RlX21vZHVsZXMvQGlvbmljL2FuZ3VsYXIvc3JjL3RoZW1lcy9pb25pYy5taXhpbnMuc2NzcyIsICJub2RlX21vZHVsZXMvLnBucG0vQGlvbmljK2FuZ3VsYXJAOC40LjNfZGIzZjgxNjllNzE0MzZhNzI5NDNiOWUzMzgwMTk1NDQvbm9kZV9tb2R1bGVzL0Bpb25pYy9hbmd1bGFyL3NyYy9jc3MvcGFkZGluZy5zY3NzIiwgIm5vZGVfbW9kdWxlcy8ucG5wbS9AaW9uaWMrYW5ndWxhckA4LjQuM19kYjNmODE2OWU3MTQzNmE3Mjk0M2I5ZTMzODAxOTU0NC9ub2RlX21vZHVsZXMvQGlvbmljL2FuZ3VsYXIvc3JjL3RoZW1lcy9pb25pYy5taXhpbnMuc2NzcyIsICJub2RlX21vZHVsZXMvLnBucG0vQGlvbmljK2FuZ3VsYXJAOC40LjNfZGIzZjgxNjllNzE0MzZhNzI5NDNiOWUzMzgwMTk1NDQvbm9kZV9tb2R1bGVzL0Bpb25pYy9hbmd1bGFyL3NyYy9jc3MvZmxvYXQtZWxlbWVudHMuc2NzcyIsICJub2RlX21vZHVsZXMvLnBucG0vQGlvbmljK2FuZ3VsYXJAOC40LjNfZGIzZjgxNjllNzE0MzZhNzI5NDNiOWUzMzgwMTk1NDQvbm9kZV9tb2R1bGVzL0Bpb25pYy9hbmd1bGFyL3NyYy90aGVtZXMvaW9uaWMubWl4aW5zLnNjc3MiLCAibm9kZV9tb2R1bGVzLy5wbnBtL0Bpb25pYythbmd1bGFyQDguNC4zX2RiM2Y4MTY5ZTcxNDM2YTcyOTQzYjllMzM4MDE5NTQ0L25vZGVfbW9kdWxlcy9AaW9uaWMvYW5ndWxhci9zcmMvY3NzL3RleHQtYWxpZ25tZW50LnNjc3MiLCAibm9kZV9tb2R1bGVzLy5wbnBtL0Bpb25pYythbmd1bGFyQDguNC4zX2RiM2Y4MTY5ZTcxNDM2YTcyOTQzYjllMzM4MDE5NTQ0L25vZGVfbW9kdWxlcy9AaW9uaWMvYW5ndWxhci9zcmMvdGhlbWVzL2lvbmljLm1peGlucy5zY3NzIiwgIm5vZGVfbW9kdWxlcy8ucG5wbS9AaW9uaWMrYW5ndWxhckA4LjQuM19kYjNmODE2OWU3MTQzNmE3Mjk0M2I5ZTMzODAxOTU0NC9ub2RlX21vZHVsZXMvQGlvbmljL2FuZ3VsYXIvc3JjL2Nzcy90ZXh0LXRyYW5zZm9ybWF0aW9uLnNjc3MiLCAibm9kZV9tb2R1bGVzLy5wbnBtL0Bpb25pYythbmd1bGFyQDguNC4zX2RiM2Y4MTY5ZTcxNDM2YTcyOTQzYjllMzM4MDE5NTQ0L25vZGVfbW9kdWxlcy9AaW9uaWMvYW5ndWxhci9zcmMvdGhlbWVzL2lvbmljLm1peGlucy5zY3NzIiwgIm5vZGVfbW9kdWxlcy8ucG5wbS9AaW9uaWMrYW5ndWxhckA4LjQuM19kYjNmODE2OWU3MTQzNmE3Mjk0M2I5ZTMzODAxOTU0NC9ub2RlX21vZHVsZXMvQGlvbmljL2FuZ3VsYXIvc3JjL2Nzcy9mbGV4LXV0aWxzLnNjc3MiLCAibm9kZV9tb2R1bGVzLy5wbnBtL3N3aXBlckAxMi4xLjIvbm9kZV9tb2R1bGVzL3N3aXBlci9zd2lwZXIuY3NzIiwgImRvbWFpbnMvcmVjcnVpdGVlL2FwcHMvcmVjcnVpdGVlLW1vYmlsZS9zcmMvZ2xvYmFsLmxlc3MiLCAiZG9tYWlucy9yZWNydWl0ZWUvYXBwcy9yZWNydWl0ZWUtbW9iaWxlL3NyYy90aGVtZS9hY3Rpb24tc2hlZXQubGVzcyIsICJkb21haW5zL3JlY3J1aXRlZS9hcHBzL3JlY3J1aXRlZS1tb2JpbGUvc3JjL3RoZW1lL2RpYWxvZ3MubGVzcyIsICJkb21haW5zL3JlY3J1aXRlZS9hcHBzL3JlY3J1aXRlZS1tb2JpbGUvc3JjL3RoZW1lL2VkaXRvci5sZXNzIiwgImRvbWFpbnMvcmVjcnVpdGVlL2FwcHMvcmVjcnVpdGVlLW1vYmlsZS9zcmMvdGhlbWUvbWRzL3R5cG9ncmFwaHkubGVzcyIsICJkb21haW5zL3JlY3J1aXRlZS9hcHBzL3JlY3J1aXRlZS1tb2JpbGUvc3JjL3RoZW1lL21kcy9jb2xvcnMubGVzcyIsICJkb21haW5zL3JlY3J1aXRlZS9hcHBzL3JlY3J1aXRlZS1tb2JpbGUvc3JjL3RoZW1lL21vZGFsLmxlc3MiLCAiZG9tYWlucy9yZWNydWl0ZWUvYXBwcy9yZWNydWl0ZWUtbW9iaWxlL3NyYy90aGVtZS9yZWZyZXNoZXIubGVzcyIsICJkb21haW5zL3JlY3J1aXRlZS9hcHBzL3JlY3J1aXRlZS1tb2JpbGUvc3JjL3RoZW1lL3Njcm9sbC5sZXNzIiwgImRvbWFpbnMvcmVjcnVpdGVlL2FwcHMvcmVjcnVpdGVlLW1vYmlsZS9zcmMvdGhlbWUvc2VhcmNoLWJhci5sZXNzIiwgImRvbWFpbnMvcmVjcnVpdGVlL2FwcHMvcmVjcnVpdGVlLW1vYmlsZS9zcmMvdGhlbWUvc2VsZWN0Lmxlc3MiLCAiZG9tYWlucy9yZWNydWl0ZWUvYXBwcy9yZWNydWl0ZWUtbW9iaWxlL3NyYy90aGVtZS9zcGlubmVyLmxlc3MiLCAiZG9tYWlucy9yZWNydWl0ZWUvYXBwcy9yZWNydWl0ZWUtbW9iaWxlL3NyYy90aGVtZS90b2FzdC5sZXNzIiwgImRvbWFpbnMvcmVjcnVpdGVlL2FwcHMvcmVjcnVpdGVlLW1vYmlsZS9zcmMvdGhlbWUvbWRzL2NvbG9ycy1saWdodC5sZXNzIiwgImRvbWFpbnMvcmVjcnVpdGVlL2FwcHMvcmVjcnVpdGVlLW1vYmlsZS9zcmMvdGhlbWUvbWRzL2NvbG9ycy1kYXJrLmxlc3MiLCAiZG9tYWlucy9yZWNydWl0ZWUvYXBwcy9yZWNydWl0ZWUtbW9iaWxlL3NyYy90aGVtZS9tZHMvdWktaGVscGVycy5sZXNzIiwgImRvbWFpbnMvcmVjcnVpdGVlL2FwcHMvcmVjcnVpdGVlLW1vYmlsZS9zcmMvdGhlbWUvdHlwb2dyYXBoeS5sZXNzIiwgImRvbWFpbnMvcmVjcnVpdGVlL2FwcHMvcmVjcnVpdGVlLW1vYmlsZS9zcmMvdGhlbWUvbWRzL2NvbG9ycy1saWdodC5sZXNzIiwgImRvbWFpbnMvcmVjcnVpdGVlL2FwcHMvcmVjcnVpdGVlLW1vYmlsZS9zcmMvdGhlbWUvbWRzL2NvbG9ycy1kYXJrLmxlc3MiLCAiZG9tYWlucy9yZWNydWl0ZWUvYXBwcy9yZWNydWl0ZWUtbW9iaWxlL3NyYy90aGVtZS9tZHMvY29sb3JzLmxlc3MiLCAiZG9tYWlucy9yZWNydWl0ZWUvYXBwcy9yZWNydWl0ZWUtbW9iaWxlL3NyYy90aGVtZS9tZHMvdHlwb2dyYXBoeS5sZXNzIiwgImRvbWFpbnMvcmVjcnVpdGVlL2FwcHMvcmVjcnVpdGVlLW1vYmlsZS9zcmMvdGhlbWUvbWRzL3VpLWhlbHBlcnMubGVzcyIsICJkb21haW5zL3JlY3J1aXRlZS9hcHBzL3JlY3J1aXRlZS1tb2JpbGUvc3JjL3RoZW1lL3R5cG9ncmFwaHkubGVzcyIsICJkb21haW5zL3JlY3J1aXRlZS9hcHBzL3JlY3J1aXRlZS1tb2JpbGUvc3JjL2FwcC9hcHAubGVzcyIsICJub2RlX21vZHVsZXMvLnBucG0vaW50bC10ZWwtaW5wdXRAMjUuMy4wL25vZGVfbW9kdWxlcy9pbnRsLXRlbC1pbnB1dC9idWlsZC9jc3MvaW50bFRlbElucHV0LmNzcyIsICJsaWJzL3RlbGxlbnQtbW9iaWxlLXNoZWxsL2xvZ2ljL3N0eWxlcy5jc3MiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIkB1c2UgXCJzYXNzOm1hcFwiO1xuQGltcG9ydCBcIi4uL3RoZW1lcy9pb25pYy5nbG9iYWxzXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9tZW51L21lbnUuaW9zLnZhcnNcIjtcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL21lbnUvbWVudS5tZC52YXJzXCI7XG5cbjpyb290IHtcbiAgLyoqXG4gICAqIExvb3AgdGhyb3VnaCBlYWNoIGNvbG9yIG9iamVjdCBmcm9tIHRoZVxuICAgKiBgaW9uaWMudGhlbWUuZGVmYXVsdC5zY3NzYCBmaWxlXG4gICAqIGFuZCBnZW5lcmF0ZSBDU1MgVmFyaWFibGVzIGZvciBlYWNoIGNvbG9yLlxuICAgKi9cbiAgQGVhY2ggJGNvbG9yLW5hbWUsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLWlvbi1jb2xvci0jeyRjb2xvci1uYW1lfTogI3ttYXAuZ2V0KCR2YWx1ZSwgYmFzZSl9O1xuICAgIC0taW9uLWNvbG9yLSN7JGNvbG9yLW5hbWV9LXJnYjogI3tjb2xvci10by1yZ2ItbGlzdChtYXAuZ2V0KCR2YWx1ZSwgYmFzZSkpfTtcbiAgICAtLWlvbi1jb2xvci0jeyRjb2xvci1uYW1lfS1jb250cmFzdDogI3ttYXAuZ2V0KCR2YWx1ZSwgY29udHJhc3QpfTtcbiAgICAtLWlvbi1jb2xvci0jeyRjb2xvci1uYW1lfS1jb250cmFzdC1yZ2I6ICN7Y29sb3ItdG8tcmdiLWxpc3QobWFwLmdldCgkdmFsdWUsIGNvbnRyYXN0KSl9O1xuICAgIC0taW9uLWNvbG9yLSN7JGNvbG9yLW5hbWV9LXNoYWRlOiAje21hcC5nZXQoJHZhbHVlLCBzaGFkZSl9O1xuICAgIC0taW9uLWNvbG9yLSN7JGNvbG9yLW5hbWV9LXRpbnQ6ICN7bWFwLmdldCgkdmFsdWUsIHRpbnQpfTtcbiAgfVxufVxuXG4vLyBJb25pYyBGb250IEZhbWlseVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaHRtbC5pb3Mge1xuICAtLWlvbi1kZWZhdWx0LWZvbnQ6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xufVxuaHRtbC5tZCB7XG4gIC0taW9uLWRlZmF1bHQtZm9udDogXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xufVxuXG5odG1sIHtcbiAgLS1pb24tZHluYW1pYy1mb250OiAtYXBwbGUtc3lzdGVtLWJvZHk7XG4gIC0taW9uLWZvbnQtZmFtaWx5OiB2YXIoLS1pb24tZGVmYXVsdC1mb250KTtcbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yKTtcbn1cblxuYm9keS5iYWNrZHJvcC1uby1zY3JvbGwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBNb2RhbCAtIENhcmQgU3R5bGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKipcbiAqIENhcmQgc3R5bGUgbW9kYWwgbmVlZHMgYWRkaXRpb25hbCBwYWRkaW5nIG9uIHRoZVxuICogdG9wIG9mIHRoZSBoZWFkZXIuIFdlIGFjY29tcGxpc2ggdGhpcyBieSB0YXJnZXRpbmdcbiAqIHRoZSBmaXJzdCB0b29sYmFyIGluIHRoZSBoZWFkZXIuXG4gKiBGb290ZXIgYWxzbyBuZWVkcyB0aGlzLiBXZSBkbyBub3QgYWRqdXN0IHRoZSBib3R0b21cbiAqIHBhZGRpbmcgdGhvdWdoIGJlY2F1c2Ugb2YgdGhlIHNhZmUgYXJlYS5cbiAqL1xuaHRtbC5pb3MgaW9uLW1vZGFsLm1vZGFsLWNhcmQgaW9uLWhlYWRlciBpb24tdG9vbGJhcjpmaXJzdC1vZi10eXBlLFxuaHRtbC5pb3MgaW9uLW1vZGFsLm1vZGFsLXNoZWV0IGlvbi1oZWFkZXIgaW9uLXRvb2xiYXI6Zmlyc3Qtb2YtdHlwZSxcbmh0bWwuaW9zIGlvbi1tb2RhbCBpb24tZm9vdGVyIGlvbi10b29sYmFyOmZpcnN0LW9mLXR5cGUge1xuICBwYWRkaW5nLXRvcDogNnB4O1xufVxuXG4vKipcbiogQ2FyZCBzdHlsZSBtb2RhbCBuZWVkcyBhZGRpdGlvbmFsIHBhZGRpbmcgb24gdGhlXG4qIGJvdHRvbSBvZiB0aGUgaGVhZGVyLiBXZSBhY2NvbXBsaXNoIHRoaXMgYnkgdGFyZ2V0aW5nXG4qIHRoZSBsYXN0IHRvb2xiYXIgaW4gdGhlIGhlYWRlci5cbiovXG5odG1sLmlvcyBpb24tbW9kYWwubW9kYWwtY2FyZCBpb24taGVhZGVyIGlvbi10b29sYmFyOmxhc3Qtb2YtdHlwZSxcbmh0bWwuaW9zIGlvbi1tb2RhbC5tb2RhbC1zaGVldCBpb24taGVhZGVyIGlvbi10b29sYmFyOmxhc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctYm90dG9tOiA2cHg7XG59XG5cbi8qKlxuKiBBZGQgcGFkZGluZyBvbiB0aGUgbGVmdCBhbmQgcmlnaHRcbiogb2YgdG9vbGJhcnMgd2hpbGUgYWNjb3VudGluZyBmb3Jcbiogc2FmZSBhcmVhIHZhbHVlcyB3aGVuIGluIGxhbmRzY2FwZS5cbiovXG5odG1sLmlvcyBpb24tbW9kYWwgaW9uLXRvb2xiYXIge1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWlvbi1zYWZlLWFyZWEtcmlnaHQpICsgOHB4KTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWlvbi1zYWZlLWFyZWEtbGVmdCkgKyA4cHgpO1xufVxuXG4vKipcbiAqIENhcmQgc3R5bGUgbW9kYWwgb24gaVBhZE9TXG4gKiBzaG91bGQgb25seSBoYXZlIGJhY2tkcm9wIG9uIGZpcnN0IGluc3RhbmNlLlxuICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICBodG1sLmlvcyBpb24tbW9kYWwubW9kYWwtY2FyZDpmaXJzdC1vZi10eXBlIHtcbiAgICAtLWJhY2tkcm9wLW9wYWNpdHk6IDAuMTg7XG4gIH1cbn1cblxuLyoqXG4gKiBTdWJzZXF1ZW50IG1vZGFscyBzaG91bGQgbm90IGhhdmUgYSBiYWNrZHJvcC9ib3ggc2hhZG93XG4gKiBhcyBpdCB3aWxsIGNhdXNlIHRoZSBzY3JlZW4gdG8gYXBwZWFyIHRvIGdldCBwcm9ncmVzc2l2ZWx5XG4gKiBkYXJrZXIuIFdpdGggSW9uaWMgNiwgZGVjbGFyYXRpdmUgbW9kYWxzIG1hZGUgaXRcbiAqIHBvc3NpYmxlIHRvIGhhdmUgbXVsdGlwbGUgbm9uLXByZXNlbnRlZCBtb2RhbHMgaW4gdGhlIERPTSxcbiAqIHNvIHdlIGNvdWxkIG5vIGxvbmdlciByZWx5IG9uIGlvbi1tb2RhbDpmaXJzdC1vZi10eXBlLlxuICogSGVyZSB3ZSBkaXNhYmxlIHRoZSBvcGFjaXR5L2JveC1zaGFkb3cgZm9yIGV2ZXJ5IG1vZGFsXG4gKiB0aGF0IGNvbWVzIGFmdGVyIHRoZSBmaXJzdCBwcmVzZW50ZWQgbW9kYWwuXG4gKlxuICogTm90ZTogaW9uLW1vZGFsOm5vdCgub3ZlcmxheS1oaWRkZW4pOmZpcnN0LW9mLXR5cGVcbiAqIGRvZXMgbm90IG1hdGNoIHRoZSBmaXJzdCBtb2RhbCB0byBub3QgaGF2ZVxuICogdGhlIC5vdmVybGF5LWhpZGRlbiBjbGFzcywgaXQgd2lsbCBtYXRjaCB0aGVcbiAqIGZpcnN0IG1vZGFsIGluIGdlbmVyYWwgb25seSBpZiBpdCBkb2VzIG5vdFxuICogaGF2ZSB0aGUgLm92ZXJsYXktaGlkZGVuIGNsYXNzLlxuICogVGhlIDpudGgtY2hpbGQoKSBwc2V1ZG8tY2xhc3MgaGFzIHN1cHBvcnRcbiAqIGZvciBzZWxlY3RvcnMgd2hpY2ggd291bGQgaGVscCB1cyBoZXJlLiBBdCB0aGVcbiAqIHRpbWUgb2Ygd3JpdGluZyBpdCBkb2VzIG5vdCBoYXZlIGdyZWF0IGNyb3NzIGJyb3dzZXJcbiAqIHN1cHBvcnQuXG4gKlxuICogTm90ZSAyOiBUaGlzIHNob3VsZCBvbmx5IGFwcGx5IHRvIG5vbi1jYXJkIGFuZFxuICogbm9uLXNoZWV0IG1vZGFscy4gQ2FyZCBhbmQgc2hlZXQgbW9kYWxzIGhhdmUgdGhlaXJcbiAqIG93biBjcml0ZXJpYSBmb3IgZGlzcGxheWluZyBiYWNrZHJvcHMvYm94IHNoYWRvd3MuXG4gKlxuICogRG8gbm90IHVzZSA6bm90KC5vdmVybGF5LWhpZGRlbikgaW4gcGxhY2Ugb2ZcbiAqIC5zaG93LW1vZGFsIGJlY2F1c2UgdGhhdCB0cmlnZ2VycyBhIG1lbW9yeVxuICogbGVhayBpbiBCbGluazogaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9MTQxODc2OFxuICovXG5pb24tbW9kYWwubW9kYWwtZGVmYXVsdC5zaG93LW1vZGFsIH4gaW9uLW1vZGFsLm1vZGFsLWRlZmF1bHQge1xuICAtLWJhY2tkcm9wLW9wYWNpdHk6IDA7XG4gIC0tYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyoqXG4gKiBUaGlzIHdvcmtzIGFyb3VuZCBhIGJ1ZyBpbiBXZWJLaXQgd2hlcmUgdGhlXG4gKiBjb250ZW50IHdpbGwgb3ZlcmZsb3cgb3V0c2lkZSBvZiB0aGUgYm90dG9tIGJvcmRlclxuICogcmFkaXVzIHdoZW4gcmUtcGFpbnRpbmcuIEFzIGxvbmcgYXMgYSBzaW5nbGVcbiAqIGJvcmRlciByYWRpdXMgdmFsdWUgaXMgc2V0IG9uIC5pb24tcGFnZSwgdGhpc1xuICogaXNzdWUgZG9lcyBub3QgaGFwcGVuLiBXZSBzZXQgdGhlIHRvcCBsZWZ0IHJhZGl1c1xuICogaGVyZSBiZWNhdXNlIHRoZSB0b3AgbGVmdCBjb3JuZXIgd2lsbCBhbHdheXMgaGF2ZSBhXG4gKiByYWRpdXMgbm8gbWF0dGVyIHRoZSBwbGF0Zm9ybS5cbiAqIFRoaXMgYmVoYXZpb3Igb25seSBhcHBsaWVzIHRvIGNhcmQgbW9kYWxzLlxuICovXG5odG1sLmlvcyBpb24tbW9kYWwubW9kYWwtY2FyZCAuaW9uLXBhZ2Uge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gSW9uaWMgQ29sb3JzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR2VuZXJhdGVzIHRoZSBjb2xvciBjbGFzc2VzIGFuZCB2YXJpYWJsZXMgYmFzZWQgb24gdGhlXG4vLyBjb2xvcnMgbWFwXG5cbkBtaXhpbiBnZW5lcmF0ZS1jb2xvcigkY29sb3ItbmFtZSkge1xuICAkdmFsdWU6IG1hcC1nZXQoJGNvbG9ycywgJGNvbG9yLW5hbWUpO1xuXG4gICRiYXNlOiBtYXAtZ2V0KCR2YWx1ZSwgYmFzZSk7XG4gICRjb250cmFzdDogbWFwLWdldCgkdmFsdWUsIGNvbnRyYXN0KTtcbiAgJHNoYWRlOiBtYXAtZ2V0KCR2YWx1ZSwgc2hhZGUpO1xuICAkdGludDogbWFwLWdldCgkdmFsdWUsIHRpbnQpO1xuXG4gIC0taW9uLWNvbG9yLWJhc2U6IHZhcigtLWlvbi1jb2xvci0jeyRjb2xvci1uYW1lfSwgI3skYmFzZX0pICFpbXBvcnRhbnQ7XG4gIC0taW9uLWNvbG9yLWJhc2UtcmdiOiB2YXIoLS1pb24tY29sb3ItI3skY29sb3ItbmFtZX0tcmdiLCAje2NvbG9yLXRvLXJnYi1saXN0KCRiYXNlKX0pICFpbXBvcnRhbnQ7XG4gIC0taW9uLWNvbG9yLWNvbnRyYXN0OiB2YXIoLS1pb24tY29sb3ItI3skY29sb3ItbmFtZX0tY29udHJhc3QsICN7JGNvbnRyYXN0fSkgIWltcG9ydGFudDtcbiAgLS1pb24tY29sb3ItY29udHJhc3QtcmdiOiB2YXIoLS1pb24tY29sb3ItI3skY29sb3ItbmFtZX0tY29udHJhc3QtcmdiLCAje2NvbG9yLXRvLXJnYi1saXN0KCRjb250cmFzdCl9KSAhaW1wb3J0YW50O1xuICAtLWlvbi1jb2xvci1zaGFkZTogdmFyKC0taW9uLWNvbG9yLSN7JGNvbG9yLW5hbWV9LXNoYWRlLCAjeyRzaGFkZX0pICFpbXBvcnRhbnQ7XG4gIC0taW9uLWNvbG9yLXRpbnQ6IHZhcigtLWlvbi1jb2xvci0jeyRjb2xvci1uYW1lfS10aW50LCAjeyR0aW50fSkgIWltcG9ydGFudDtcbn1cblxuQGVhY2ggJGNvbG9yLW5hbWUsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgLmlvbi1jb2xvci0jeyRjb2xvci1uYW1lfSB7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtY29sb3IoJGNvbG9yLW5hbWUpO1xuICB9XG59XG5cblxuLy8gUGFnZSBDb250YWluZXIgU3RydWN0dXJlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaW9uLXBhZ2Uge1xuICBAaW5jbHVkZSBwb3NpdGlvbigwLCAwLCAwLCAwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gIGNvbnRhaW46IGxheW91dCBzaXplIHN0eWxlO1xuICB6LWluZGV4OiAkei1pbmRleC1wYWdlLWNvbnRhaW5lcjtcbn1cblxuLyoqXG4gKiBXaGVuIG1ha2luZyBjdXN0b20gZGlhbG9ncywgdXNpbmdcbiAqIGlvbi1jb250ZW50IGlzIG5vdCByZXF1aXJlZC4gQXMgYSByZXN1bHQsXG4gKiBzb21lIGRldmVsb3BlcnMgbWF5IHdpc2ggdG8gaGF2ZSBkaWFsb2dzXG4gKiB0aGF0IGFyZSBhdXRvbWF0aWNhbGx5IHNpemVkIGJ5IHRoZSBicm93c2VyLlxuICogVGhlc2UgY2hhbmdlcyBhbGxvdyBjZXJ0YWluIGRpbWVuc2lvbiB2YWx1ZXNcbiAqIHN1Y2ggYXMgZml0LWNvbnRlbnQgdG8gd29yayBjb3JyZWN0bHkuXG4gKi9cbmlvbi1tb2RhbCA+IC5pb24tcGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBjb250YWluOiBsYXlvdXQgc3R5bGU7XG5cbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uc3BsaXQtcGFuZS12aXNpYmxlID4gLmlvbi1wYWdlLnNwbGl0LXBhbmUtbWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuaW9uLXJvdXRlLFxuaW9uLXJvdXRlLXJlZGlyZWN0LFxuaW9uLXJvdXRlcixcbmlvbi1zZWxlY3Qtb3B0aW9uLFxuaW9uLW5hdi1jb250cm9sbGVyLFxuaW9uLW1lbnUtY29udHJvbGxlcixcbmlvbi1hY3Rpb24tc2hlZXQtY29udHJvbGxlcixcbmlvbi1hbGVydC1jb250cm9sbGVyLFxuaW9uLWxvYWRpbmctY29udHJvbGxlcixcbmlvbi1tb2RhbC1jb250cm9sbGVyLFxuaW9uLXBpY2tlci1jb250cm9sbGVyLFxuaW9uLXBvcG92ZXItY29udHJvbGxlcixcbmlvbi10b2FzdC1jb250cm9sbGVyLFxuLmlvbi1wYWdlLWhpZGRlbiB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi9cbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uaW9uLXBhZ2UtaW52aXNpYmxlIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmNhbi1nby1iYWNrID4gaW9uLWhlYWRlciBpb24tYmFjay1idXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuXG4vLyBJb25pYyBTYWZlIE1hcmdpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmh0bWwucGx0LWlvcy5wbHQtaHlicmlkLCBodG1sLnBsdC1pb3MucGx0LXB3YSB7XG4gIC0taW9uLXN0YXR1c2Jhci1wYWRkaW5nOiAyMHB4O1xufVxuXG5Ac3VwcG9ydHMgKHBhZGRpbmctdG9wOiAyMHB4KSB7XG4gIGh0bWwge1xuICAgIC0taW9uLXNhZmUtYXJlYS10b3A6IHZhcigtLWlvbi1zdGF0dXNiYXItcGFkZGluZyk7XG4gIH1cbn1cblxuQHN1cHBvcnRzIChwYWRkaW5nLXRvcDogZW52KHNhZmUtYXJlYS1pbnNldC10b3ApKSB7XG4gIGh0bWwge1xuICAgIC0taW9uLXNhZmUtYXJlYS10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgICAtLWlvbi1zYWZlLWFyZWEtYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG4gICAgLS1pb24tc2FmZS1hcmVhLWxlZnQ6IGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gICAgLS1pb24tc2FmZS1hcmVhLXJpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbiAgfVxufVxuXG5cbi8vIEdsb2JhbCBDYXJkIFN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaW9uLWNhcmQuaW9uLWNvbG9yIC5pb24taW5oZXJpdC1jb2xvcixcbmlvbi1jYXJkLWhlYWRlci5pb24tY29sb3IgLmlvbi1pbmhlcml0LWNvbG9yIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cblxuLy8gTWVudSBTdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5tZW51LWNvbnRlbnQge1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlM2QoMCwgMCwgMCkpO1xufVxuXG4ubWVudS1jb250ZW50LW9wZW4ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGFpbmluZyBlbGVtZW50IGl0c2VsZiBzaG91bGQgYmUgY2xpY2thYmxlIGJ1dFxuICAgKiBldmVyeXRoaW5nIGluc2lkZSBvZiBpdCBzaG91bGQgbm90IGNsaWNrYWJsZSB3aGVuIG1lbnUgaXMgb3BlblxuICAgKlxuICAgKiBTZXR0aW5nIHBvaW50ZXItZXZlbnRzIGFmdGVyIHNjcm9sbGluZyBoYXMgYWxyZWFkeSBzdGFydGVkXG4gICAqIHdpbGwgbm90IGNhbmNlbCBzY3JvbGxpbmcgd2hpY2ggaXMgd2h5IHdlIGFsc28gc2V0XG4gICAqIG92ZXJmbG93LXkgYmVsb3cuXG4gICAqL1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvKipcbiAgICogVGhpcyBhY2NvdW50cyBmb3Igc2NlbmFyaW9zIHdoZXJlIHRoZSBtYWluIGNvbnRlbnQgaXRzZWxmXG4gICAqIGlzIHNjcm9sbGFibGUuXG4gICAqL1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbi8qKlxuICogU2V0dGluZyBvdmVyZmxvdyBjYW5jZWxzIGFueSBpbi1wcm9ncmVzcyBzY3JvbGxpbmdcbiAqIHdoZW4gdGhlIG1lbnUgb3BlbnMuIFRoaXMgcHJldmVudHMgdXNlcnMgZnJvbSBhY2NpZGVudGFsbHlcbiAqIHNjcm9sbGluZyB0aGUgbWFpbiBjb250ZW50IHdoaWxlIGFsc28gZHJhZ2dpbmcgdGhlIG1lbnUgb3Blbi5cbiAqIFRoZSBjb2RlIGJlbG93IGFjY291bnRzIGZvciBib3RoIGlvbi1jb250ZW50IGFuZCB0aGVuIGN1c3RvbVxuICogc2Nyb2xsIGNvbnRhaW5lcnMgd2l0aGluIGlvbi1jb250ZW50IChzdWNoIGFzIHZpcnR1YWwgc2Nyb2xsKVxuICovXG4ubWVudS1jb250ZW50LW9wZW4gaW9uLWNvbnRlbnQge1xuICAtLW92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tZW51LWNvbnRlbnQtb3BlbiAuaW9uLWNvbnRlbnQtc2Nyb2xsLWhvc3Qge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaW9zIC5tZW51LWNvbnRlbnQtcmV2ZWFsIHtcbiAgYm94LXNoYWRvdzogJG1lbnUtaW9zLWJveC1zaGFkb3ctcmV2ZWFsO1xufVxuXG5bZGlyPXJ0bF0uaW9zIC5tZW51LWNvbnRlbnQtcmV2ZWFsIHtcbiAgYm94LXNoYWRvdzogJG1lbnUtaW9zLWJveC1zaGFkb3ctcmV2ZWFsLXJ0bDtcbn1cblxuLmlvcyAubWVudS1jb250ZW50LXB1c2gge1xuICBib3gtc2hhZG93OiAkbWVudS1pb3MtYm94LXNoYWRvdy1wdXNoO1xufVxuXG4ubWQgLm1lbnUtY29udGVudC1yZXZlYWwge1xuICBib3gtc2hhZG93OiAkbWVudS1tZC1ib3gtc2hhZG93O1xufVxuXG4ubWQgLm1lbnUtY29udGVudC1wdXNoIHtcbiAgYm94LXNoYWRvdzogJG1lbnUtbWQtYm94LXNoYWRvdztcbn1cblxuLy8gQWNjb3JkaW9uIFN0eWxlc1xuaW9uLWFjY29yZGlvbi1ncm91cC5hY2NvcmRpb24tZ3JvdXAtZXhwYW5kLWluc2V0ID4gaW9uLWFjY29yZGlvbjpmaXJzdC1vZi10eXBlIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOHB4O1xufVxuaW9uLWFjY29yZGlvbi1ncm91cC5hY2NvcmRpb24tZ3JvdXAtZXhwYW5kLWluc2V0ID4gaW9uLWFjY29yZGlvbjpsYXN0LW9mLXR5cGUge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA4cHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA4cHg7XG59XG5pb24tYWNjb3JkaW9uLWdyb3VwID4gaW9uLWFjY29yZGlvbjpsYXN0LW9mLXR5cGUgaW9uLWl0ZW1bc2xvdD1cImhlYWRlclwiXSB7XG4gIC0tYm9yZGVyLXdpZHRoOiAwcHg7XG59XG5cbmlvbi1hY2NvcmRpb24uYWNjb3JkaW9uLWFuaW1hdGVkID4gW3Nsb3Q9XCJoZWFkZXJcIl0gLmlvbi1hY2NvcmRpb24tdG9nZ2xlLWljb24ge1xuICB0cmFuc2l0aW9uOiAzMDBtcyB0cmFuc2Zvcm0gY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC41LCAxKTtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgaW9uLWFjY29yZGlvbiAuaW9uLWFjY29yZGlvbi10b2dnbGUtaWNvbiB7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovXG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4vKipcbiAqIFRoZSA+IFtzbG90PVwiaGVhZGVyXCJdIHNlbGVjdG9yIGVuc3VyZXMgdGhhdCB3ZSBkb1xuICogbm90IG1vZGlmeSB0b2dnbGUgaWNvbnMgZm9yIGFueSBuZXN0ZWQgYWNjb3JkaW9ucy4gVGhlIHN0YXRlXG4gKiBvZiBvbmUgYWNjb3JkaW9uIHNob3VsZCBub3QgYWZmZWN0IGFueSBhY2NvcmRpb25zIGluc2lkZVxuICogb2YgYSBuZXN0ZWQgYWNjb3JkaW9uIGdyb3VwLlxuICovXG5pb24tYWNjb3JkaW9uLmFjY29yZGlvbi1leHBhbmRpbmcgPiBbc2xvdD1cImhlYWRlclwiXSAuaW9uLWFjY29yZGlvbi10b2dnbGUtaWNvbixcbmlvbi1hY2NvcmRpb24uYWNjb3JkaW9uLWV4cGFuZGVkID4gW3Nsb3Q9XCJoZWFkZXJcIl0gLmlvbi1hY2NvcmRpb24tdG9nZ2xlLWljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG5pb24tYWNjb3JkaW9uLWdyb3VwLmFjY29yZGlvbi1ncm91cC1leHBhbmQtaW5zZXQubWQgPiBpb24tYWNjb3JkaW9uLmFjY29yZGlvbi1wcmV2aW91cyBpb24taXRlbVtzbG90PVwiaGVhZGVyXCJdIHtcbiAgLS1ib3JkZXItd2lkdGg6IDBweDtcbiAgLS1pbm5lci1ib3JkZXItd2lkdGg6IDBweDtcbn1cblxuaW9uLWFjY29yZGlvbi1ncm91cC5hY2NvcmRpb24tZ3JvdXAtZXhwYW5kLWluc2V0Lm1kID4gaW9uLWFjY29yZGlvbi5hY2NvcmRpb24tZXhwYW5kaW5nOmZpcnN0LW9mLXR5cGUsXG5pb24tYWNjb3JkaW9uLWdyb3VwLmFjY29yZGlvbi1ncm91cC1leHBhbmQtaW5zZXQubWQgPiBpb24tYWNjb3JkaW9uLmFjY29yZGlvbi1leHBhbmRlZDpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLy8gU2FmYXJpL2lPUyAxNSBjaGFuZ2VzIHRoZSBhcHBlYXJhbmNlIG9mIGlucHV0W3R5cGU9XCJkYXRlXCJdLlxuLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZyb20gSW9uaWMgNS9TYWZhcmkgMTQgZGVzaWducyxcbi8vIHdlIG92ZXJyaWRlIHRoZSBhcHBlYXJhbmNlIG9ubHkgd2hlbiB1c2luZyB3aXRoaW4gYW4gaW9uLWlucHV0LlxuaW9uLWlucHV0IGlucHV0Ojotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUge1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbn1cblxuLyoqXG4gKiBUaGUgLmlvbi1kYXRldGltZS1idXR0b24tb3ZlcmxheSBjbGFzcyBjb250YWluc1xuICogc3R5bGVzIHRoYXQgYWxsb3cgYW55IG1vZGFsL3BvcG92ZXIgdG8gYmVcbiAqIHNpemVkIGFjY29yZGluZyB0byB0aGUgZGltZW5zaW9ucyBvZiB0aGUgZGF0ZXRpbWVcbiAqIHdoZW4gdXNlZCB3aXRoIGlvbi1kYXRldGltZS1idXR0b24uXG4gKi9cbi5pb24tZGF0ZXRpbWUtYnV0dG9uLW92ZXJsYXkge1xuICAtLXdpZHRoOiBmaXQtY29udGVudDtcbiAgLS1oZWlnaHQ6IGZpdC1jb250ZW50O1xufVxuXG4vKipcbiAqIFRoZSBncmlkIHZhcmlhbnQgY2FuIHNjYWxlIGRvd24gd2hlbiBpbmxpbmUuXG4gKiBXaGVuIHVzZWQgaW4gYSBgZml0LWNvbnRlbnRgIG92ZXJsYXksIHRoaXMgY2F1c2VzXG4gKiB0aGUgb3ZlcmxheSB0byBzaHJpbmsgd2hlbiB0aGUgbW9udGgveWVhciBwaWNrZXIgaXMgb3Blbi5cbiAqIEV4cGxpY2l0bHkgc2V0dGluZyB0aGUgZGltZW5zaW9ucyBsZXRzIHVzIGhhdmUgYSBjb25zaXN0ZW50bHlcbiAqIHNpemVkIGdyaWQgaW50ZXJmYWNlLlxuICovXG4uaW9uLWRhdGV0aW1lLWJ1dHRvbi1vdmVybGF5IGlvbi1kYXRldGltZS5kYXRldGltZS1ncmlkIHtcbiAgd2lkdGg6IDMyMHB4O1xuICBtaW4taGVpZ2h0OiAzMjBweDtcbn1cblxuLyoqXG4gKiBXaGVuIG1vdmluZyBmb2N1cyBvbiBwYWdlIHRyYW5zaXRpb25zIHdlIGNhbGwgLmZvY3VzKCkgb24gYW4gZWxlbWVudCB3aGljaCBjYW5cbiAqIGFkZCBhbiB1bmRlc2lyZWQgb3V0bGluZSByaW5nLiBUaGlzIENTUyByZW1vdmVzIHRoZSBvdXRsaW5lIHJpbmcuXG4gKiBXZSBhbHNvIHJlbW92ZSB0aGUgb3V0bGluZSByaW5nIGZyb20gZWxlbWVudHMgdGhhdCBhcmUgYWN0aXZlbHkgYmVpbmcgZm9jdXNlZFxuICogYnkgdGhlIGZvY3VzIG1hbmFnZXIuIFdlIGFyZSBpbnRlbnRpb25hbGx5IHNlbGVjdGl2ZSBhYm91dCB3aGljaCBlbGVtZW50cyB0aGlzXG4gKiBhcHBsaWVzIHRvIHNvIHdlIGRvIG5vdCBhY2NpZGVudGFsbHkgb3ZlcnJpZGUgb3V0bGluZXMgc2V0IGJ5IHRoZSBkZXZlbG9wZXIuXG4gKi9cbltpb24tbGFzdC1mb2N1c10sXG5oZWFkZXJbdGFiaW5kZXg9XCItMVwiXTpmb2N1cyxcbltyb2xlPVwiYmFubmVyXCJdW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMsXG5tYWluW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMsXG5bcm9sZT1cIm1haW5cIl1bdGFiaW5kZXg9XCItMVwiXTpmb2N1cyxcbmgxW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMsXG5bcm9sZT1cImhlYWRpbmdcIl1bYXJpYS1sZXZlbD1cIjFcIl1bdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qXG4gKiBJZiBhIHBvcG92ZXIgaGFzIGEgY2hpbGQgaW9uLWNvbnRlbnQgKG9yIGNsYXNzIGVxdWl2YWxlbnQpIHRoZW4gdGhlIC5wb3BvdmVyLXZpZXdwb3J0IGVsZW1lbnRcbiAqIHNob3VsZCBub3QgYmUgc2Nyb2xsYWJsZSB0byBlbnN1cmUgdGhlIGlubmVyIGNvbnRlbnQgZG9lcyBzY3JvbGwuIEhvd2V2ZXIsIGlmIHRoZSBwb3BvdmVyXG4gKiBkb2VzIG5vdCBoYXZlIGEgY2hpbGQgaW9uLWNvbnRlbnQgKG9yIGNsYXNzIGVxdWl2YWxlbnQpIHRoZW4gdGhlIC5wb3BvdmVyLXZpZXdwb3J0IGVsZW1lbnRcbiAqIHNob3VsZCByZW1haW4gc2Nyb2xsYWJsZS4gVGhpcyBjb2RlIGV4aXN0cyBnbG9iYWxseSBiZWNhdXNlIHBvcG92ZXIgdGFyZ2V0c1xuICogLnBvcG92ZXItdmlld3BvcnQgdXNpbmcgOjpzbG90dGVkIHdoaWNoIG9ubHkgc3VwcG9ydHMgc2ltcGxlIHNlbGVjdG9ycy5cbiAqXG4gKiBOb3RlIHRoYXQgd2UgZG8gbm90IG5lZWQgdG8gYWNjb3VudCBmb3IgLmlvbi1jb250ZW50LXNjcm9sbC1ob3N0IGhlcmUgYmVjYXVzZSB0aGF0XG4gKiBjbGFzcyBzaG91bGQgYWx3YXlzIGJlIHBsYWNlZCB3aXRoaW4gaW9uLWNvbnRlbnQgZXZlbiBpZiBpb24tY29udGVudCBpcyBub3Qgc2Nyb2xsYWJsZS5cbiAqL1xuLnBvcG92ZXItdmlld3BvcnQ6aGFzKD4gaW9uLWNvbnRlbnQpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyoqXG4gKiA6aGFzIGhhcyBjcm9zcy1icm93c2VyIHN1cHBvcnQsIGJ1dCBpdCBpcyBzdGlsbCByZWxhdGl2ZWx5IG5ldy4gQXMgYSByZXN1bHQsXG4gKiB3ZSBzaG91bGQgZmFsbGJhY2sgdG8gdGhlIG9sZCBiZWhhdmlvciBmb3IgZW52aXJvbm1lbnRzIHRoYXQgZG8gbm90IHN1cHBvcnQgOmhhcy5cbiAqIERldmVsb3BlcnMgY2FuIGV4cGxpY2l0bHkgZW5hYmxlIHRoaXMgYmVoYXZpb3IgYnkgc2V0dGluZyBvdmVyZmxvdzogdmlzaWJsZVxuICogb24gLnBvcG92ZXItdmlld3BvcnQgaWYgdGhleSBrbm93IHRoZXkgYXJlIG5vdCBnb2luZyB0byB1c2UgYW4gaW9uLWNvbnRlbnQuXG4gKiBUT0RPIEZXLTYxMDYgUmVtb3ZlIHRoaXNcbiAqL1xuQHN1cHBvcnRzIG5vdCBzZWxlY3Rvcig6aGFzKD4gaW9uLWNvbnRlbnQpKSB7XG4gIC5wb3BvdmVyLXZpZXdwb3J0IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG4iLCAiXG4vKipcbiAqIEEgaGV1cmlzdGljIHRoYXQgYXBwbGllcyBDU1MgdG8gdGFibGV0XG4gKiB2aWV3cG9ydHMuXG4gKlxuICogVXNhZ2U6XG4gKiBAaW5jbHVkZSB0YWJsZXQtdmlld3BvcnQoKSB7XG4gKiAgIDpob3N0IHtcbiAqICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjtcbiAqICAgfVxuICogfVxuICovXG5AbWl4aW4gdGFibGV0LXZpZXdwb3J0KCkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8qKlxuICogQSBoZXVyaXN0aWMgdGhhdCBhcHBsaWVzIENTUyB0byBtb2JpbGVcbiAqIHZpZXdwb3J0cyAoaS5lLiBwaG9uZXMsIG5vdCB0YWJsZXRzKS5cbiAqXG4gKiBVc2FnZTpcbiAqIEBpbmNsdWRlIG1vYmlsZS12aWV3cG9ydCgpIHtcbiAqICAgOmhvc3Qge1xuICogICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XG4gKiAgIH1cbiAqIH1cbiAqL1xuQG1peGluIG1vYmlsZS12aWV3cG9ydCgpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaW5wdXQtY292ZXIoKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKDAsIG51bGwsIG51bGwsIDApO1xuICBAaW5jbHVkZSBtYXJnaW4oMCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG5cbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4oKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcblxuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuXG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbkBtaXhpbiB0ZXh0LWluaGVyaXQoKSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LWluZGVudDogaW5oZXJpdDtcbiAgdGV4dC1vdmVyZmxvdzogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIGJ1dHRvbi1zdGF0ZSgpIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oMCwgMCwgMCwgMCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIGNvbnRlbnQ6IFwiXCI7XG5cbiAgb3BhY2l0eTogMDtcbn1cblxuLy8gRm9udCBzbW9vdGhpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbi8vIEdldCB0aGUga2V5IGZyb20gYSBtYXAgYmFzZWQgb24gdGhlIGluZGV4XG5AZnVuY3Rpb24gaW5kZXgtdG8ta2V5KCRtYXAsICRpbmRleCkge1xuICAka2V5czogbWFwLWtleXMoJG1hcCk7XG5cbiAgQHJldHVybiBudGgoJGtleXMsICRpbmRleCk7XG59XG5cblxuLy8gQnJlYWtwb2ludCBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJHNjcmVlbi1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRzY3JlZW4tYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcblxuICBAcmV0dXJuIGlmKCRuYW1lICE9IGluZGV4LXRvLWtleSgkYnJlYWtwb2ludHMsIDEpLCAkbWluLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbmZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRzY3JlZW4tYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRzY3JlZW4tYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXHQvLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVx0Ly8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJHNjcmVlbi1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRzY3JlZW4tYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5cbi8vIFRleHQgRGlyZWN0aW9uIC0gbHRyIC8gcnRsXG4vL1xuLy8gQ1NTIGRlZmF1bHRzIHRvIHVzZSB0aGUgbHRyIGNzcywgYW5kIGFkZHMgW2Rpcj1ydGxdIHNlbGVjdG9yc1xuLy8gdG8gb3ZlcnJpZGUgbHRyIGRlZmF1bHRzLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbXVsdGktZGlyKCkge1xuICBAY29udGVudDtcblxuICAvLyAkcm9vdDogI3smfTtcbiAgLy8gQGF0LXJvb3QgW2Rpcl0ge1xuICAvLyAgICN7JHJvb3R9IHtcbiAgLy8gICAgIEBjb250ZW50O1xuICAvLyAgIH1cbiAgLy8gfVxufVxuXG5AbWl4aW4gcnRsKCkge1xuICAkcm9vdDogI3smfTtcblxuICAkcm9vdFNwbGl0OiBzdHItc3BsaXQoJHJvb3QsIFwiLFwiKTtcbiAgJHNlbGVjdG9yczogI3thZGQtcm9vdC1zZWxlY3Rvcigkcm9vdCwgXCJbZGlyPXJ0bF1cIil9O1xuICAkc2VsZWN0b3JzU3BsaXQ6IHN0ci1zcGxpdCgkc2VsZWN0b3JzLCBcIixcIik7XG5cbiAgJGhvc3RDb250ZXh0U2VsZWN0b3JzOiAoKTtcbiAgJHJlc3RTZWxlY3RvcnM6ICgpO1xuICAkZGlyU2VsZWN0b3JzOiAoKTtcblxuICAvLyBTZWxlY3RvcnMgbXVzdCBiZSBzcGxpdCBpbnRvIGluZGl2aWR1YWwgc2VsZWN0b3JzIGluIGNhc2UgdGhlIGJyb3dzZXJcbiAgLy8gZG9lc24ndCBzdXBwb3J0IGEgc3BlY2lmaWMgc2VsZWN0b3IuXG4gIC8vIEZvciBleGFtcGxlLCBGaXJlZm94IGFuZCBTYWZhcmkgZG9lc24ndCBzdXBwb3J0IGA6aG9zdC1jb250ZXh0KClgLlxuICAvLyBJZiBhbiBpbnZhbGlkIHNlbGVjdG9yIGlzIHVzZWQsIHRoZW4gdGhlIGVudGlyZSBncm91cCBvZiBzZWxlY3RvcnNcbiAgLy8gd2lsbCBiZSBpZ25vcmVkLlxuICAvLyBAbGluayBodHRwczovL3d3dy53My5vcmcvVFIvc2VsZWN0b3JzLTMvI2dyb3VwaW5nXG4gIEBlYWNoICRzZWxlY3RvciBpbiAkc2VsZWN0b3JzU3BsaXQge1xuICAgIC8vIEdyb3VwIHRoZSBzZWxlY3RvcnMgYmFjayBpbnRvIGEgc2luZ2xlIHNlbGVjdG9yIHRvIG9wdGltaXplIHRoZSBvdXRwdXQuXG4gICAgQGlmIHN0ci1pbmRleCgkc2VsZWN0b3IsIFwiOmhvc3QtY29udGV4dFwiKSB7XG4gICAgICAkaG9zdENvbnRleHRTZWxlY3RvcnM6IGFwcGVuZCgkaG9zdENvbnRleHRTZWxlY3RvcnMsICRzZWxlY3RvciwgY29tbWEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gR3JvdXAgdGhlIHNlbGVjdG9ycyBiYWNrIGludG8gYSBzaW5nbGUgc2VsZWN0b3IgdG8gb3B0aW1pemUgdGhlIG91dHB1dC5cbiAgICAgICRyZXN0U2VsZWN0b3JzOiBhcHBlbmQoJHJlc3RTZWxlY3RvcnMsICRzZWxlY3RvciwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN1cHBvcnRlZCBieSBDaHJvbWUuXG4gIEBpZiBsZW5ndGgoJGhvc3RDb250ZXh0U2VsZWN0b3JzKSA+IDAge1xuICAgIEBhdC1yb290ICN7JGhvc3RDb250ZXh0U2VsZWN0b3JzfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBTdXBwb3J0ZWQgYnkgYWxsIGJyb3dzZXJzLlxuICBAaWYgbGVuZ3RoKCRyZXN0U2VsZWN0b3JzKSA+IDAge1xuICAgIEBhdC1yb290ICN7JHJlc3RTZWxlY3RvcnN9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIGJyb3dzZXIgY2FuIHN1cHBvcnQgYDpkaXIoKWAsIHRoZW4gYWRkIHRoZSBgOmRpcigpYCBzZWxlY3RvcnMuXG4gIEBzdXBwb3J0cyBzZWxlY3Rvcig6ZGlyKHJ0bCkpIHtcbiAgICAvLyBBZGRpbmcgOmRpcigpIGluIGNhc2UgdGhlIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGA6aG9zdC1jb250ZXh0KClgIGFuZCBkb2VzIHN1cHBvcnQgYDpkaXIoKWAuXG4gICAgLy8gYDpob3N0LWNvbnRleHQoKWAgaXMgYWRkZWQ6XG4gICAgLy8gLSB0aHJvdWdoIHRoZSBgYWRkLXJvb3Qtc2VsZWN0b3IoKWAgZnVuY3Rpb24uXG4gICAgLy8gLSBmaXJzdCBzbyB0aGF0IGl0IHRha2VzIHByZWNlZGVuY2Ugb3ZlciBgOmRpcigpYC5cbiAgICAvLyBGb3IgZXhhbXBsZSxcbiAgICAvLyAtIEZpcmVmb3ggZG9lc24ndCBzdXBwb3J0IGA6aG9zdC1jb250ZXh0KClgLCBidXQgZG9lcyBzdXBwb3J0IGA6ZGlyKClgLlxuICAgIC8vIC0gU2FmYXJpIGRvZXNuJ3Qgc3VwcG9ydCBgOmhvc3QtY29udGV4dCgpYCwgYnV0IFNhZmFyaSAxNi40KyBzdXBwb3J0cyBgOmRpcigpYFxuICAgIC8vIEBsaW5rIGh0dHBzOi8vd2Via2l0Lm9yZy9ibG9nLzEzOTY2L3dlYmtpdC1mZWF0dXJlcy1pbi1zYWZhcmktMTYtNC9cbiAgICAvLyAtLSBIb3dldmVyLCB0aGVyZSBpcyBhIFdlYmtpdCBidWcgb24gdjE2IHRoYXQgcHJldmVudHMgYDpkaXIoKWAgZnJvbSB3b3JraW5nIHdoZW5cbiAgICAvLyAtLSB0aGUgYXBwIGRpcmVjdGlvbiBpcyBjaGFuZ2VkIGR5bmFtaWNhbGx5LiB2MTcrIHdvcmtzIGZpbmUuXG4gICAgLy8gLS0gQGxpbmsgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NzEzM1xuXG4gICAgLy8gU3VwcG9ydGVkIGJ5IEZpcmVmb3guXG4gICAgQGF0LXJvb3QgI3thZGQtcm9vdC1zZWxlY3Rvcigkcm9vdCwgXCI6ZGlyKHJ0bClcIiwgZmFsc2UpfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGx0cigpIHtcbiAgQGNvbnRlbnQ7XG59XG5cblxuLy8gU1ZHIEJhY2tncm91bmQgSW1hZ2UgTWl4aW5cbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3ZnXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gc3ZnLWJhY2tncm91bmQtaW1hZ2UoJHN2ZywgJGZsaXAtcnRsOiBmYWxzZSkge1xuICAkdXJsOiB1cmwtZW5jb2RlKCRzdmcpO1xuICAkdmlld0JveDogc3RyLXNwbGl0KHN0ci1leHRyYWN0KCRzdmcsIFwidmlld0JveD0nXCIsIFwiJ1wiKSwgXCIgXCIpO1xuXG4gIEBpZiAkZmxpcC1ydGwgIT0gdHJ1ZSBvciAkdmlld0JveCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtdWx0aS1kaXIoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwjeyR1cmx9XCIpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJHRyYW5zZm9ybTogXCJ0cmFuc2Zvcm09J3RyYW5zbGF0ZSgje250aCgkdmlld0JveCwgMyl9LCAwKSBzY2FsZSgtMSwgMSknXCI7XG4gICAgJGZsaXBwZWQtdXJsOiAkc3ZnO1xuICAgICRmbGlwcGVkLXVybDogc3RyLXJlcGxhY2UoJGZsaXBwZWQtdXJsLCBcIjxwYXRoXCIsIFwiPHBhdGggI3skdHJhbnNmb3JtfVwiKTtcbiAgICAkZmxpcHBlZC11cmw6IHN0ci1yZXBsYWNlKCRmbGlwcGVkLXVybCwgXCI8bGluZVwiLCBcIjxsaW5lICN7JHRyYW5zZm9ybX1cIik7XG4gICAgJGZsaXBwZWQtdXJsOiBzdHItcmVwbGFjZSgkZmxpcHBlZC11cmwsIFwiPHBvbHlnb25cIiwgXCI8cG9seWdvbiAjeyR0cmFuc2Zvcm19XCIpO1xuICAgICRmbGlwcGVkLXVybDogdXJsLWVuY29kZSgkZmxpcHBlZC11cmwpO1xuXG4gICAgQGluY2x1ZGUgbHRyICgpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCN7JHVybH1cIik7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCN7JGZsaXBwZWQtdXJsfVwiKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkIHByb3BlcnR5IGhvcml6b250YWxcbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcHJvcGVydHktaG9yaXpvbnRhbCgkcHJvcCwgJHN0YXJ0LCAkZW5kOiAkc3RhcnQpIHtcbiAgQGlmICRzdGFydCA9PSAwIGFuZCAkZW5kID09IDAge1xuICAgICN7JHByb3B9LWxlZnQ6ICRzdGFydDtcbiAgICAjeyRwcm9wfS1yaWdodDogJGVuZDtcblxuICB9IEBlbHNlIHtcbiAgICAtd2Via2l0LSN7JHByb3B9LXN0YXJ0OiAkc3RhcnQ7XG4gICAgI3skcHJvcH0taW5saW5lLXN0YXJ0OiAkc3RhcnQ7XG4gICAgLXdlYmtpdC0jeyRwcm9wfS1lbmQ6ICRlbmQ7XG4gICAgI3skcHJvcH0taW5saW5lLWVuZDogJGVuZDtcbiAgfVxufVxuXG4vLyBBZGQgcHJvcGVydHkgZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHByb3Bcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wXG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b21cbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIEBwYXJhbSB7Ym9vbGVhbn0gJGNvbnRlbnQgaW5jbHVkZSBjb250ZW50IG9yIHVzZSBkZWZhdWx0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcHJvcGVydHkoJHByb3AsICR0b3AsICRlbmQ6ICR0b3AsICRib3R0b206ICR0b3AsICRzdGFydDogJGVuZCkge1xuICBAaW5jbHVkZSBwcm9wZXJ0eS1ob3Jpem9udGFsKCRwcm9wLCAkc3RhcnQsICRlbmQpO1xuICAjeyRwcm9wfS10b3A6ICR0b3A7XG4gICN7JHByb3B9LWJvdHRvbTogJGJvdHRvbTtcbn1cblxuLy8gQWRkIHBhZGRpbmcgaG9yaXpvbnRhbFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwYWRkaW5nLWhvcml6b250YWwoJHN0YXJ0LCAkZW5kOiAkc3RhcnQpIHtcbiAgQGluY2x1ZGUgcHJvcGVydHktaG9yaXpvbnRhbChwYWRkaW5nLCAkc3RhcnQsICRlbmQpO1xufVxuXG4vLyBBZGQgcGFkZGluZyBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wXG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b21cbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwYWRkaW5nKCR0b3AsICRlbmQ6ICR0b3AsICRib3R0b206ICR0b3AsICRzdGFydDogJGVuZCkge1xuICBAaW5jbHVkZSBwcm9wZXJ0eShwYWRkaW5nLCAkdG9wLCAkZW5kLCAkYm90dG9tLCAkc3RhcnQpO1xufVxuXG4vLyBBZGQgbWFyZ2luIGhvcml6b250YWxcbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gbWFyZ2luLWhvcml6b250YWwoJHN0YXJ0LCAkZW5kOiAkc3RhcnQpIHtcbiAgQGluY2x1ZGUgcHJvcGVydHktaG9yaXpvbnRhbChtYXJnaW4sICRzdGFydCwgJGVuZCk7XG59XG5cbi8vIEFkZCBtYXJnaW4gZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHRvcFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkYm90dG9tXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gbWFyZ2luKCR0b3AsICRlbmQ6ICR0b3AsICRib3R0b206ICR0b3AsICRzdGFydDogJGVuZCkge1xuICBAaW5jbHVkZSBwcm9wZXJ0eShtYXJnaW4sICR0b3AsICRlbmQsICRib3R0b20sICRzdGFydCk7XG59XG5cbi8vIEFkZCBwb3NpdGlvbiBob3Jpem9udGFsXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0IC0gYW1vdW50IHRvIHBvc2l0aW9uIHN0YXJ0XG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZCAtIGFtb3VudCB0byBsZWZ0OiAwOyBlbmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwb3NpdGlvbi1ob3Jpem9udGFsKCRzdGFydDogbnVsbCwgJGVuZDogbnVsbCkge1xuICBAaWYgJHN0YXJ0ID09ICRlbmQge1xuICAgIEBpbmNsdWRlIG11bHRpLWRpcigpIHtcbiAgICAgIGxlZnQ6ICRzdGFydDtcbiAgICAgIHJpZ2h0OiAkZW5kO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgJiB7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogJHN0YXJ0O1xuICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAkZW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBZGQgcG9zaXRpb24gZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHRvcFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkYm90dG9tXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcG9zaXRpb24oJHRvcDogbnVsbCwgJGVuZDogbnVsbCwgJGJvdHRvbTogbnVsbCwgJHN0YXJ0OiBudWxsKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uLWhvcml6b250YWwoJHN0YXJ0LCAkZW5kKTtcbiAgdG9wOiAkdG9wO1xuICBib3R0b206ICRib3R0b207XG59XG5cbi8vIEFkZCBib3JkZXIgZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHRvcFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkYm90dG9tXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gYm9yZGVyKCR0b3AsICRlbmQ6ICR0b3AsICRib3R0b206ICR0b3AsICRzdGFydDogJGVuZCkge1xuICBAaW5jbHVkZSBwcm9wZXJ0eShib3JkZXIsICR0b3AsICRlbmQsICRib3R0b20sICRzdGFydCk7XG59XG5cbi8vIEFkZCBib3JkZXIgcmFkaXVzIGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICR0b3Atc3RhcnRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wLWVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b20tZW5kXG4vLyBAcGFyYW0ge3N0cmluZ30gJGJvdHRvbS1zdGFydFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGJvcmRlci1yYWRpdXMoJHRvcC1zdGFydCwgJHRvcC1lbmQ6ICR0b3Atc3RhcnQsICRib3R0b20tZW5kOiAkdG9wLXN0YXJ0LCAkYm90dG9tLXN0YXJ0OiAkdG9wLWVuZCkge1xuICBAaWYgJHRvcC1zdGFydCA9PSAkdG9wLWVuZCBhbmQgJHRvcC1zdGFydCA9PSAkYm90dG9tLWVuZCBhbmQgJHRvcC1zdGFydCA9PSAkYm90dG9tLXN0YXJ0IHtcbiAgICBib3JkZXItcmFkaXVzOiAkdG9wLXN0YXJ0O1xuICB9IEBlbHNlIHtcbiAgICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiAkdG9wLXN0YXJ0O1xuICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiAkdG9wLWVuZDtcbiAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6ICRib3R0b20tZW5kO1xuICAgIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiAkYm90dG9tLXN0YXJ0O1xuICB9XG59XG5cbi8vIEFkZCBkaXJlY3Rpb24gZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJGRpciAtIERpcmVjdGlvbiBvbiBMVFJcbkBtaXhpbiBkaXJlY3Rpb24oJGRpcikge1xuICAkb3RoZXItZGlyOiBudWxsO1xuXG4gIEBpZiAkZGlyID09IGx0ciB7XG4gICAgJG90aGVyLWRpcjogcnRsO1xuICB9IEBlbHNlIHtcbiAgICAkb3RoZXItZGlyOiBsdHI7XG4gIH1cblxuICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgZGlyZWN0aW9uOiAkZGlyO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICBkaXJlY3Rpb246ICRvdGhlci1kaXI7XG4gIH1cbn1cblxuLy8gQWRkIGZsb2F0IGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICRzaWRlXG4vLyBAcGFyYW0ge3N0cmluZ30gJGRlY29yYXRvciAtICFpbXBvcnRhbnRcbkBtaXhpbiBmbG9hdCgkc2lkZSwgJGRlY29yYXRvcjogbnVsbCkge1xuICBAaWYgJHNpZGUgPT0gc3RhcnQge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIGZsb2F0OiBsZWZ0ICRkZWNvcmF0b3I7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIGZsb2F0OiByaWdodCAkZGVjb3JhdG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkc2lkZSA9PSBlbmQge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIGZsb2F0OiByaWdodCAkZGVjb3JhdG9yO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICBmbG9hdDogbGVmdCAkZGVjb3JhdG9yO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgbXVsdGktZGlyKCkge1xuICAgICAgZmxvYXQ6ICRzaWRlICRkZWNvcmF0b3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLXBvc2l0aW9uKCRob3Jpem9udGFsLCAkaG9yaXpvbnRhbC1hbW91bnQ6IG51bGwsICR2ZXJ0aWNhbDogbnVsbCwgJHZlcnRpY2FsLWFtb3VudDogbnVsbCkge1xuICBAaWYgJGhvcml6b250YWwgPT0gc3RhcnQgb3IgJGhvcml6b250YWwgPT0gZW5kIHtcbiAgICAkaG9yaXpvbnRhbC1sdHI6IG51bGw7XG4gICAgJGhvcml6b250YWwtcnRsOiBudWxsO1xuICAgIEBpZiAkaG9yaXpvbnRhbCA9PSBzdGFydCB7XG4gICAgICAkaG9yaXpvbnRhbC1sdHI6IGxlZnQ7XG4gICAgICAkaG9yaXpvbnRhbC1ydGw6IHJpZ2h0O1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGhvcml6b250YWwtbHRyOiByaWdodDtcbiAgICAgICRob3Jpem9udGFsLXJ0bDogbGVmdDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaG9yaXpvbnRhbC1sdHIgJGhvcml6b250YWwtYW1vdW50ICR2ZXJ0aWNhbCAkdmVydGljYWwtYW1vdW50O1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaG9yaXpvbnRhbC1ydGwgJGhvcml6b250YWwtYW1vdW50ICR2ZXJ0aWNhbCAkdmVydGljYWwtYW1vdW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgbXVsdGktZGlyKCkge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGhvcml6b250YWwgJGhvcml6b250YWwtYW1vdW50ICR2ZXJ0aWNhbCAkdmVydGljYWwtYW1vdW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkeC1heGlzLCAkeS1heGlzOiBudWxsKSB7XG4gIEBpZiAkeC1heGlzID09IHN0YXJ0IHtcbiAgICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0ICR5LWF4aXM7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0ICR5LWF4aXM7XG4gICAgfVxuICB9IEBlbHNlIGlmICR4LWF4aXMgPT0gZW5kIHtcbiAgICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCAkeS1heGlzO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0ICR5LWF4aXM7XG4gICAgfVxuICB9IEBlbHNlIGlmICR4LWF4aXMgPT0gbGVmdCBvciAkeC1heGlzID09IHJpZ2h0IHtcbiAgICBAaW5jbHVkZSBtdWx0aS1kaXIoKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAkeC1heGlzICR5LWF4aXM7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAkeC1heGlzICR5LWF4aXM7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNhbGMoMTAwJSAtICN7JHgtYXhpc30pICR5LWF4aXM7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZCB0cmFuc2Zvcm0gZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHRyYW5zZm9ybXMgLSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiB0cmFuc2Zvcm1zXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zLi4uKSB7XG4gICRleHRyYTogbnVsbDtcblxuICAkeDogbnVsbDtcbiAgJGx0ci10cmFuc2xhdGU6IG51bGw7XG4gICRydGwtdHJhbnNsYXRlOiBudWxsO1xuXG4gIEBlYWNoICR0cmFuc2Zvcm0gaW4gJHRyYW5zZm9ybXMge1xuICAgIEBpZiAoc3RyLWluZGV4KCR0cmFuc2Zvcm0sIHRyYW5zbGF0ZTNkKSkge1xuICAgICAgJHRyYW5zZm9ybTogc3RyLXJlcGxhY2UoJHRyYW5zZm9ybSwgJ3RyYW5zbGF0ZTNkKCcpO1xuICAgICAgJHRyYW5zZm9ybTogc3RyLXJlcGxhY2UoJHRyYW5zZm9ybSwgJyknKTtcblxuICAgICAgJGNvb3JkaW5hdGVzOiBzdHItc3BsaXQoJHRyYW5zZm9ybSwgJywnKTtcblxuICAgICAgJHg6IG50aCgkY29vcmRpbmF0ZXMsIDEpO1xuICAgICAgJHk6IG50aCgkY29vcmRpbmF0ZXMsIDIpO1xuICAgICAgJHo6IG50aCgkY29vcmRpbmF0ZXMsIDMpO1xuXG4gICAgICAkbHRyLXRyYW5zbGF0ZTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAkcnRsLXRyYW5zbGF0ZTogdHJhbnNsYXRlM2QoY2FsYygtMSAqICN7JHh9KSwgJHksICR6KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiAkZXh0cmEgPT0gbnVsbCB7XG4gICAgICAgICRleHRyYTogJHRyYW5zZm9ybTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkZXh0cmE6ICRleHRyYSAkdHJhbnNmb3JtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkeCA9PSAnMCcgb3IgJHggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbXVsdGktZGlyKCkge1xuICAgICAgdHJhbnNmb3JtOiAkbHRyLXRyYW5zbGF0ZSAkZXh0cmE7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgICB0cmFuc2Zvcm06ICRsdHItdHJhbnNsYXRlICRleHRyYTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICB0cmFuc2Zvcm06ICRydGwtdHJhbnNsYXRlICRleHRyYTtcbiAgICB9XG4gIH1cbn1cbiIsICJcbi8vIEdsb2JhbCBVdGlsaXR5IEZ1bmN0aW9uc1xuQGltcG9ydCBcIi4vaW9uaWMuZnVuY3Rpb25zLnN0cmluZ1wiO1xuXG4vLyBHbG9iYWwgQ29sb3IgRnVuY3Rpb25zXG5AaW1wb3J0IFwiLi9pb25pYy5mdW5jdGlvbnMuY29sb3JcIjtcblxuLy8gR2xvYmFsIEZvbnQgRnVuY3Rpb25zXG5AaW1wb3J0IFwiLi9pb25pYy5mdW5jdGlvbnMuZm9udFwiO1xuXG4vLyBHbG9iYWwgTWl4aW5zXG5AaW1wb3J0IFwiLi9pb25pYy5taXhpbnNcIjtcblxuLy8gRGVmYXVsdCBUaGVtZVxuQGltcG9ydCBcIi4vaW9uaWMudGhlbWUuZGVmYXVsdFwiO1xuXG5cbi8vIERlZmF1bHQgR2VuZXJhbFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICAgICAgIHZhcigtLWlvbi1mb250LWZhbWlseSwgaW5oZXJpdCk7XG5cbi8vIEhhaXJsaW5lcyB3aWR0aFxuJGhhaXJsaW5lcy13aWR0aDogLjU1cHg7XG5cbi8vIFRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXNcbiRzY3JlZW4tYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbik7XG5cbi8vIElucHV0IHBsYWNlaG9sZGVyIG9wYWNpdHlcbi8vIEVuc3VyZXMgdGhhdCB0aGUgcGxhY2Vob2xkZXIgaGFzIHRoZVxuLy8gY29ycmVjdCBjb2xvciBjb250cmFzdCBhZ2FpbnN0IHRoZSBiYWNrZ3JvdW5kLlxuJHBsYWNlaG9sZGVyLW9wYWNpdHk6IHZhcigtLWlvbi1wbGFjZWhvbGRlci1vcGFjaXR5LCAwLjYpO1xuXG4kZm9ybS1jb250cm9sLWxhYmVsLW1hcmdpbjogMTZweDtcblxuLy8gSG93IG11Y2ggdGhlIHN0YWNrZWQgbGFiZWxzIHNob3VsZCBiZSBzY2FsZWQgYnlcbi8vLyBUaGUgdmFsdWUgMC43NSBpcyB1c2VkIHRvIG1hdGNoIHRoZSBNRCBzcGVjLlxuLy8vIGlPUyBkb2VzIG5vdCBoYXZlIGEgZmxvYXRpbmcgbGFiZWwgZGVzaWduIHNwZWMsIHNvIHdlIHN0YW5kYXJkaXplIG9uIDAuNzUuXG4kZm9ybS1jb250cm9sLWxhYmVsLXN0YWNrZWQtc2NhbGU6IDAuNzU7XG5cblxuLy8gWi1JbmRleFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEdyb3VwZWQgYnkgZWxlbWVudHMgd2hpY2ggd291bGQgYmUgc2libGluZ3NcblxuJHotaW5kZXgtbWVudS1vdmVybGF5OiAgICAgICAgICAgMTAwMDtcbiR6LWluZGV4LW92ZXJsYXk6ICAgICAgICAgICAgICAgIDEwMDE7XG5cbiR6LWluZGV4LWZpeGVkLWNvbnRlbnQ6ICAgICAgICAgIDk5OTtcbiR6LWluZGV4LXJlZnJlc2hlcjogICAgICAgICAgICAgIC0xO1xuXG4kei1pbmRleC1wYWdlLWNvbnRhaW5lcjogICAgICAgICAwO1xuJHotaW5kZXgtdG9vbGJhcjogICAgICAgICAgICAgICAgMTA7XG4kei1pbmRleC10b29sYmFyLWJhY2tncm91bmQ6ICAgICAtMTtcbiR6LWluZGV4LXRvb2xiYXItYnV0dG9uczogICAgICAgIDk5O1xuXG4kei1pbmRleC1iYWNrZHJvcDogICAgICAgICAgICAgICAyO1xuJHotaW5kZXgtb3ZlcmxheS13cmFwcGVyOiAgICAgICAgMTA7XG5cbiR6LWluZGV4LWl0ZW0tb3B0aW9uczogICAgICAgICAgIDE7XG4kei1pbmRleC1pdGVtLWlucHV0OiAgICAgICAgICAgICAyO1xuJHotaW5kZXgtaXRlbS1kaXZpZGVyOiAgICAgICAgICAgMTAwO1xuXG4kei1pbmRleC1yZW9yZGVyLXNlbGVjdGVkOiAgICAgICAxMDA7XG4iLCAiQGltcG9ydCBcIi4uLy4uL3RoZW1lcy9pb25pYy5nbG9iYWxzLmlvc1wiO1xuXG4vLyBpT1MgTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vIEBwcm9wIC0gQm94IHNoYWRvdyBjb2xvciBvZiB0aGUgbWVudVxuJG1lbnUtaW9zLWJveC1zaGFkb3ctY29sb3I6ICAgICAgcmdiYSgwLCAwLCAwLCAuMDgpO1xuXG4vLy8gQHByb3AgLSBCb3ggc2hhZG93IG9mIHRoZSBtZW51XG4kbWVudS1pb3MtYm94LXNoYWRvdzogICAgICAgICAgICAtOHB4IDAgNDJweCAkbWVudS1pb3MtYm94LXNoYWRvdy1jb2xvcjtcblxuLy8vIEBwcm9wIC0gQm94IHNoYWRvdyBvZiB0aGUgbWVudSBpbiBydGwgbW9kZVxuJG1lbnUtaW9zLWJveC1zaGFkb3ctcnRsOiAgICAgICAgOHB4IDAgNDJweCAkbWVudS1pb3MtYm94LXNoYWRvdy1jb2xvcjtcblxuLy8vIEBwcm9wIC0gQm94IHNoYWRvdyBvZiB0aGUgcmV2ZWFsIG1lbnVcbiRtZW51LWlvcy1ib3gtc2hhZG93LXJldmVhbDogICAgICRtZW51LWlvcy1ib3gtc2hhZG93O1xuXG4vLy8gQHByb3AgLSBCb3ggc2hhZG93IG9mIHRoZSByZXZlYWwgbWVudVxuJG1lbnUtaW9zLWJveC1zaGFkb3ctcmV2ZWFsLXJ0bDogJG1lbnUtaW9zLWJveC1zaGFkb3ctcnRsO1xuXG4vLy8gQHByb3AgLSBCb3ggc2hhZG93IG9mIHRoZSBwdXNoIG1lbnVcbiRtZW51LWlvcy1ib3gtc2hhZG93LXB1c2g6ICAgICAgIG51bGw7XG5cbi8vLyBAcHJvcCAtIEJveCBzaGFkb3cgb2YgdGhlIG92ZXJsYXkgbWVudVxuJG1lbnUtaW9zLWJveC1zaGFkb3ctb3ZlcmxheTogICAgbnVsbDtcbiIsICJAaW1wb3J0IFwiLi4vLi4vdGhlbWVzL2lvbmljLmdsb2JhbHMubWRcIjtcblxuLy8gTWF0ZXJpYWwgRGVzaWduIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLyBAcHJvcCAtIEJveCBzaGFkb3cgb2YgdGhlIG1lbnVcbiRtZW51LW1kLWJveC1zaGFkb3c6ICAgICAgICAgICAgNHB4IDBweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG4iLCAiLy8gISBub3JtYWxpemUuY3NzIHYzLjAuMiB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4vLyBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyAxLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIDFcbn1cblxuLy8gUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbi8vIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGhlaWdodDogMDtcbn1cblxuXG4vLyBUZXh0LWxldmVsIHNlbWFudGljc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vLyBFbWJlZGRlZCBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBNYWtlcyBpdCBzbyB0aGUgaW1nIGRvZXMgbm90IGZsb3cgb3V0c2lkZSBjb250YWluZXJcbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLy8gR3JvdXBpbmcgY29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuaHIge1xuICBoZWlnaHQ6IDFweDtcblxuICBib3JkZXItd2lkdGg6IDA7XG5cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8vIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuXG4vLyBGb3Jtc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbi8vIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cblxuLy8gMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4vLyAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5sYWJlbCxcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcblxuICBoZWlnaHQ6IGF1dG87XG5cbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIHBhZGRpbmctbGVmdDogMnB4O1xufVxuXG5mb3JtLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCB7XG4gIG1hcmdpbjogMDsgLy8gM1xuXG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDFcbn1cblxuLy8gMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2Bcbi8vICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuLy8gMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuLy8gMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbi8vICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG59XG5cbi8vIHJlbW92ZSAzMDBtcyBkZWxheVxuYSxcbmEgZGl2LFxuYSBzcGFuLFxuYSBpb24taWNvbixcbmEgaW9uLWxhYmVsLFxuYnV0dG9uLFxuYnV0dG9uIGRpdixcbmJ1dHRvbiBzcGFuLFxuYnV0dG9uIGlvbi1pY29uLFxuYnV0dG9uIGlvbi1sYWJlbCxcbi5pb24tdGFwcGFibGUsXG5bdGFwcGFibGVdLFxuW3RhcHBhYmxlXSBkaXYsXG5bdGFwcGFibGVdIHNwYW4sXG5bdGFwcGFibGVdIGlvbi1pY29uLFxuW3RhcHBhYmxlXSBpb24tbGFiZWwsXG5pbnB1dCxcbnRleHRhcmVhIHtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbmEgaW9uLWxhYmVsLFxuYnV0dG9uIGlvbi1sYWJlbCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBpbmhlcml0O1xuICBmb250LXZhcmlhbnQ6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG5bdGFwcGFibGVdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuYVtkaXNhYmxlZF0sXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcblxuICBib3JkZXI6IDA7XG59XG5cbi8vIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4vLyBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuLy8gZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuLy8gU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuLy8gcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cblxuLy8gVGFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS8vXG5cbi8vIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwgIkBpbXBvcnQgXCIuLi90aGVtZXMvaW9uaWMuZ2xvYmFsc1wiO1xuQGltcG9ydCBcIi4uL3RoZW1lcy9pb25pYy5taXhpbnNcIjtcblxuXG4vLyBTdHJ1Y3R1cmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBZGRzIHN0cnVjdHVyYWwgY3NzIHRvIHRoZSBuYXRpdmUgaHRtbCBlbGVtZW50c1xuXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbn1cblxuaHRtbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcblxuICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuXG5odG1sOm5vdCguaHlkcmF0ZWQpIGJvZHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5odG1sLmlvbi1jZSBib2R5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmh0bWwucGx0LXB3YSB7XG4gIGhlaWdodDogMTAwdmg7XG59XG5cbmJvZHkge1xuICBAaW5jbHVkZSBmb250LXNtb290aGluZygpO1xuICBAaW5jbHVkZSBtYXJnaW4oMCk7XG4gIEBpbmNsdWRlIHBhZGRpbmcoMCk7XG5cbiAgcG9zaXRpb246IGZpeGVkO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICAvKipcbiAgICogQmVjYXVzZSBib2R5IGhhcyBwb3NpdGlvbjogZml4ZWQsXG4gICAqIGl0IHNob3VsZCBiZSBwcm9tb3RlZCB0byBpdHMgb3duXG4gICAqIGxheWVyLlxuICAgKlxuICAgKiBXZWJLaXQgZG9lcyBub3QgYWx3YXlzIHByb21vdGVcbiAgICogdGhlIGJvZHkgdG8gaXRzIG93biBsYXllciBvbiBwYWdlXG4gICAqIGxvYWQgaW4gSW9uaWMgYXBwcy4gT25jZSBzY3JvbGxpbmcgb25cbiAgICogaW9uLWNvbnRlbnQgc3RhcnRzLCBXZWJLaXQgd2lsbCBwcm9tb3RlXG4gICAqIGJvZHkuIFVuZm9ydHVuYXRlbHksIHRoaXMgY2F1c2VzIGEgcmUtcGFpbnRcbiAgICogd2hpY2ggcmVzdWx0cyBpbiBzY3JvbGxpbmcgYmVpbmcgaGFsdGVkXG4gICAqIHVudGlsIHRoZSBuZXh0IHVzZXIgZ2VzdHVyZS5cbiAgICpcbiAgICogVGhpcyBpbXBhY3RzIHRoZSBDdXN0b20gRWxlbWVudHMgYnVpbGQuXG4gICAqIFRoZSBsYXp5IGxvYWRlZCBidWlsZCBjYXVzZXMgdGhlIGJyb3dzZXIgdG9cbiAgICogcmUtcGFpbnQgZHVyaW5nIGh5ZHJhdGlvbiB3aGljaCBjYXVzZXMgV2ViS2l0XG4gICAqIHRvIHByb21vdGUgYm9keSB0byBpdHMgb3duIGxheWVyLlxuICAgKiBJbiB0aGUgQ0UgQnVpbGQsIHRoaXMgaHlkcmF0aW9uIGRvZXMgbm90XG4gICAqIGhhcHBlbiwgc28gdGhlIGFkZGl0aW9uYWwgcmUtcGFpbnQgZG9lcyBub3Qgb2NjdXIuXG4gICAqL1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG5cbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gIC13ZWJraXQtdXNlci1kcmFnOiBub25lO1xuXG4gIC1tcy1jb250ZW50LXpvb21pbmc6IG5vbmU7XG5cbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIG92ZXJzY3JvbGwtYmVoYXZpb3IteTogbm9uZTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lO1xuXG4gIHRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7XG59XG4iLCAiXG4vKipcbiAqIEEgaGV1cmlzdGljIHRoYXQgYXBwbGllcyBDU1MgdG8gdGFibGV0XG4gKiB2aWV3cG9ydHMuXG4gKlxuICogVXNhZ2U6XG4gKiBAaW5jbHVkZSB0YWJsZXQtdmlld3BvcnQoKSB7XG4gKiAgIDpob3N0IHtcbiAqICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjtcbiAqICAgfVxuICogfVxuICovXG5AbWl4aW4gdGFibGV0LXZpZXdwb3J0KCkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8qKlxuICogQSBoZXVyaXN0aWMgdGhhdCBhcHBsaWVzIENTUyB0byBtb2JpbGVcbiAqIHZpZXdwb3J0cyAoaS5lLiBwaG9uZXMsIG5vdCB0YWJsZXRzKS5cbiAqXG4gKiBVc2FnZTpcbiAqIEBpbmNsdWRlIG1vYmlsZS12aWV3cG9ydCgpIHtcbiAqICAgOmhvc3Qge1xuICogICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XG4gKiAgIH1cbiAqIH1cbiAqL1xuQG1peGluIG1vYmlsZS12aWV3cG9ydCgpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaW5wdXQtY292ZXIoKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKDAsIG51bGwsIG51bGwsIDApO1xuICBAaW5jbHVkZSBtYXJnaW4oMCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG5cbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4oKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcblxuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuXG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbkBtaXhpbiB0ZXh0LWluaGVyaXQoKSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LWluZGVudDogaW5oZXJpdDtcbiAgdGV4dC1vdmVyZmxvdzogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIGJ1dHRvbi1zdGF0ZSgpIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oMCwgMCwgMCwgMCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIGNvbnRlbnQ6IFwiXCI7XG5cbiAgb3BhY2l0eTogMDtcbn1cblxuLy8gRm9udCBzbW9vdGhpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbi8vIEdldCB0aGUga2V5IGZyb20gYSBtYXAgYmFzZWQgb24gdGhlIGluZGV4XG5AZnVuY3Rpb24gaW5kZXgtdG8ta2V5KCRtYXAsICRpbmRleCkge1xuICAka2V5czogbWFwLWtleXMoJG1hcCk7XG5cbiAgQHJldHVybiBudGgoJGtleXMsICRpbmRleCk7XG59XG5cblxuLy8gQnJlYWtwb2ludCBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJHNjcmVlbi1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRzY3JlZW4tYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcblxuICBAcmV0dXJuIGlmKCRuYW1lICE9IGluZGV4LXRvLWtleSgkYnJlYWtwb2ludHMsIDEpLCAkbWluLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbmZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRzY3JlZW4tYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRzY3JlZW4tYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXHQvLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVx0Ly8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJHNjcmVlbi1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRzY3JlZW4tYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5cbi8vIFRleHQgRGlyZWN0aW9uIC0gbHRyIC8gcnRsXG4vL1xuLy8gQ1NTIGRlZmF1bHRzIHRvIHVzZSB0aGUgbHRyIGNzcywgYW5kIGFkZHMgW2Rpcj1ydGxdIHNlbGVjdG9yc1xuLy8gdG8gb3ZlcnJpZGUgbHRyIGRlZmF1bHRzLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbXVsdGktZGlyKCkge1xuICBAY29udGVudDtcblxuICAvLyAkcm9vdDogI3smfTtcbiAgLy8gQGF0LXJvb3QgW2Rpcl0ge1xuICAvLyAgICN7JHJvb3R9IHtcbiAgLy8gICAgIEBjb250ZW50O1xuICAvLyAgIH1cbiAgLy8gfVxufVxuXG5AbWl4aW4gcnRsKCkge1xuICAkcm9vdDogI3smfTtcblxuICAkcm9vdFNwbGl0OiBzdHItc3BsaXQoJHJvb3QsIFwiLFwiKTtcbiAgJHNlbGVjdG9yczogI3thZGQtcm9vdC1zZWxlY3Rvcigkcm9vdCwgXCJbZGlyPXJ0bF1cIil9O1xuICAkc2VsZWN0b3JzU3BsaXQ6IHN0ci1zcGxpdCgkc2VsZWN0b3JzLCBcIixcIik7XG5cbiAgJGhvc3RDb250ZXh0U2VsZWN0b3JzOiAoKTtcbiAgJHJlc3RTZWxlY3RvcnM6ICgpO1xuICAkZGlyU2VsZWN0b3JzOiAoKTtcblxuICAvLyBTZWxlY3RvcnMgbXVzdCBiZSBzcGxpdCBpbnRvIGluZGl2aWR1YWwgc2VsZWN0b3JzIGluIGNhc2UgdGhlIGJyb3dzZXJcbiAgLy8gZG9lc24ndCBzdXBwb3J0IGEgc3BlY2lmaWMgc2VsZWN0b3IuXG4gIC8vIEZvciBleGFtcGxlLCBGaXJlZm94IGFuZCBTYWZhcmkgZG9lc24ndCBzdXBwb3J0IGA6aG9zdC1jb250ZXh0KClgLlxuICAvLyBJZiBhbiBpbnZhbGlkIHNlbGVjdG9yIGlzIHVzZWQsIHRoZW4gdGhlIGVudGlyZSBncm91cCBvZiBzZWxlY3RvcnNcbiAgLy8gd2lsbCBiZSBpZ25vcmVkLlxuICAvLyBAbGluayBodHRwczovL3d3dy53My5vcmcvVFIvc2VsZWN0b3JzLTMvI2dyb3VwaW5nXG4gIEBlYWNoICRzZWxlY3RvciBpbiAkc2VsZWN0b3JzU3BsaXQge1xuICAgIC8vIEdyb3VwIHRoZSBzZWxlY3RvcnMgYmFjayBpbnRvIGEgc2luZ2xlIHNlbGVjdG9yIHRvIG9wdGltaXplIHRoZSBvdXRwdXQuXG4gICAgQGlmIHN0ci1pbmRleCgkc2VsZWN0b3IsIFwiOmhvc3QtY29udGV4dFwiKSB7XG4gICAgICAkaG9zdENvbnRleHRTZWxlY3RvcnM6IGFwcGVuZCgkaG9zdENvbnRleHRTZWxlY3RvcnMsICRzZWxlY3RvciwgY29tbWEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gR3JvdXAgdGhlIHNlbGVjdG9ycyBiYWNrIGludG8gYSBzaW5nbGUgc2VsZWN0b3IgdG8gb3B0aW1pemUgdGhlIG91dHB1dC5cbiAgICAgICRyZXN0U2VsZWN0b3JzOiBhcHBlbmQoJHJlc3RTZWxlY3RvcnMsICRzZWxlY3RvciwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN1cHBvcnRlZCBieSBDaHJvbWUuXG4gIEBpZiBsZW5ndGgoJGhvc3RDb250ZXh0U2VsZWN0b3JzKSA+IDAge1xuICAgIEBhdC1yb290ICN7JGhvc3RDb250ZXh0U2VsZWN0b3JzfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBTdXBwb3J0ZWQgYnkgYWxsIGJyb3dzZXJzLlxuICBAaWYgbGVuZ3RoKCRyZXN0U2VsZWN0b3JzKSA+IDAge1xuICAgIEBhdC1yb290ICN7JHJlc3RTZWxlY3RvcnN9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIGJyb3dzZXIgY2FuIHN1cHBvcnQgYDpkaXIoKWAsIHRoZW4gYWRkIHRoZSBgOmRpcigpYCBzZWxlY3RvcnMuXG4gIEBzdXBwb3J0cyBzZWxlY3Rvcig6ZGlyKHJ0bCkpIHtcbiAgICAvLyBBZGRpbmcgOmRpcigpIGluIGNhc2UgdGhlIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGA6aG9zdC1jb250ZXh0KClgIGFuZCBkb2VzIHN1cHBvcnQgYDpkaXIoKWAuXG4gICAgLy8gYDpob3N0LWNvbnRleHQoKWAgaXMgYWRkZWQ6XG4gICAgLy8gLSB0aHJvdWdoIHRoZSBgYWRkLXJvb3Qtc2VsZWN0b3IoKWAgZnVuY3Rpb24uXG4gICAgLy8gLSBmaXJzdCBzbyB0aGF0IGl0IHRha2VzIHByZWNlZGVuY2Ugb3ZlciBgOmRpcigpYC5cbiAgICAvLyBGb3IgZXhhbXBsZSxcbiAgICAvLyAtIEZpcmVmb3ggZG9lc24ndCBzdXBwb3J0IGA6aG9zdC1jb250ZXh0KClgLCBidXQgZG9lcyBzdXBwb3J0IGA6ZGlyKClgLlxuICAgIC8vIC0gU2FmYXJpIGRvZXNuJ3Qgc3VwcG9ydCBgOmhvc3QtY29udGV4dCgpYCwgYnV0IFNhZmFyaSAxNi40KyBzdXBwb3J0cyBgOmRpcigpYFxuICAgIC8vIEBsaW5rIGh0dHBzOi8vd2Via2l0Lm9yZy9ibG9nLzEzOTY2L3dlYmtpdC1mZWF0dXJlcy1pbi1zYWZhcmktMTYtNC9cbiAgICAvLyAtLSBIb3dldmVyLCB0aGVyZSBpcyBhIFdlYmtpdCBidWcgb24gdjE2IHRoYXQgcHJldmVudHMgYDpkaXIoKWAgZnJvbSB3b3JraW5nIHdoZW5cbiAgICAvLyAtLSB0aGUgYXBwIGRpcmVjdGlvbiBpcyBjaGFuZ2VkIGR5bmFtaWNhbGx5LiB2MTcrIHdvcmtzIGZpbmUuXG4gICAgLy8gLS0gQGxpbmsgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NzEzM1xuXG4gICAgLy8gU3VwcG9ydGVkIGJ5IEZpcmVmb3guXG4gICAgQGF0LXJvb3QgI3thZGQtcm9vdC1zZWxlY3Rvcigkcm9vdCwgXCI6ZGlyKHJ0bClcIiwgZmFsc2UpfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGx0cigpIHtcbiAgQGNvbnRlbnQ7XG59XG5cblxuLy8gU1ZHIEJhY2tncm91bmQgSW1hZ2UgTWl4aW5cbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3ZnXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gc3ZnLWJhY2tncm91bmQtaW1hZ2UoJHN2ZywgJGZsaXAtcnRsOiBmYWxzZSkge1xuICAkdXJsOiB1cmwtZW5jb2RlKCRzdmcpO1xuICAkdmlld0JveDogc3RyLXNwbGl0KHN0ci1leHRyYWN0KCRzdmcsIFwidmlld0JveD0nXCIsIFwiJ1wiKSwgXCIgXCIpO1xuXG4gIEBpZiAkZmxpcC1ydGwgIT0gdHJ1ZSBvciAkdmlld0JveCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtdWx0aS1kaXIoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwjeyR1cmx9XCIpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJHRyYW5zZm9ybTogXCJ0cmFuc2Zvcm09J3RyYW5zbGF0ZSgje250aCgkdmlld0JveCwgMyl9LCAwKSBzY2FsZSgtMSwgMSknXCI7XG4gICAgJGZsaXBwZWQtdXJsOiAkc3ZnO1xuICAgICRmbGlwcGVkLXVybDogc3RyLXJlcGxhY2UoJGZsaXBwZWQtdXJsLCBcIjxwYXRoXCIsIFwiPHBhdGggI3skdHJhbnNmb3JtfVwiKTtcbiAgICAkZmxpcHBlZC11cmw6IHN0ci1yZXBsYWNlKCRmbGlwcGVkLXVybCwgXCI8bGluZVwiLCBcIjxsaW5lICN7JHRyYW5zZm9ybX1cIik7XG4gICAgJGZsaXBwZWQtdXJsOiBzdHItcmVwbGFjZSgkZmxpcHBlZC11cmwsIFwiPHBvbHlnb25cIiwgXCI8cG9seWdvbiAjeyR0cmFuc2Zvcm19XCIpO1xuICAgICRmbGlwcGVkLXVybDogdXJsLWVuY29kZSgkZmxpcHBlZC11cmwpO1xuXG4gICAgQGluY2x1ZGUgbHRyICgpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCN7JHVybH1cIik7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCN7JGZsaXBwZWQtdXJsfVwiKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkIHByb3BlcnR5IGhvcml6b250YWxcbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcHJvcGVydHktaG9yaXpvbnRhbCgkcHJvcCwgJHN0YXJ0LCAkZW5kOiAkc3RhcnQpIHtcbiAgQGlmICRzdGFydCA9PSAwIGFuZCAkZW5kID09IDAge1xuICAgICN7JHByb3B9LWxlZnQ6ICRzdGFydDtcbiAgICAjeyRwcm9wfS1yaWdodDogJGVuZDtcblxuICB9IEBlbHNlIHtcbiAgICAtd2Via2l0LSN7JHByb3B9LXN0YXJ0OiAkc3RhcnQ7XG4gICAgI3skcHJvcH0taW5saW5lLXN0YXJ0OiAkc3RhcnQ7XG4gICAgLXdlYmtpdC0jeyRwcm9wfS1lbmQ6ICRlbmQ7XG4gICAgI3skcHJvcH0taW5saW5lLWVuZDogJGVuZDtcbiAgfVxufVxuXG4vLyBBZGQgcHJvcGVydHkgZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHByb3Bcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wXG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b21cbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIEBwYXJhbSB7Ym9vbGVhbn0gJGNvbnRlbnQgaW5jbHVkZSBjb250ZW50IG9yIHVzZSBkZWZhdWx0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcHJvcGVydHkoJHByb3AsICR0b3AsICRlbmQ6ICR0b3AsICRib3R0b206ICR0b3AsICRzdGFydDogJGVuZCkge1xuICBAaW5jbHVkZSBwcm9wZXJ0eS1ob3Jpem9udGFsKCRwcm9wLCAkc3RhcnQsICRlbmQpO1xuICAjeyRwcm9wfS10b3A6ICR0b3A7XG4gICN7JHByb3B9LWJvdHRvbTogJGJvdHRvbTtcbn1cblxuLy8gQWRkIHBhZGRpbmcgaG9yaXpvbnRhbFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwYWRkaW5nLWhvcml6b250YWwoJHN0YXJ0LCAkZW5kOiAkc3RhcnQpIHtcbiAgQGluY2x1ZGUgcHJvcGVydHktaG9yaXpvbnRhbChwYWRkaW5nLCAkc3RhcnQsICRlbmQpO1xufVxuXG4vLyBBZGQgcGFkZGluZyBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wXG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b21cbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwYWRkaW5nKCR0b3AsICRlbmQ6ICR0b3AsICRib3R0b206ICR0b3AsICRzdGFydDogJGVuZCkge1xuICBAaW5jbHVkZSBwcm9wZXJ0eShwYWRkaW5nLCAkdG9wLCAkZW5kLCAkYm90dG9tLCAkc3RhcnQpO1xufVxuXG4vLyBBZGQgbWFyZ2luIGhvcml6b250YWxcbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gbWFyZ2luLWhvcml6b250YWwoJHN0YXJ0LCAkZW5kOiAkc3RhcnQpIHtcbiAgQGluY2x1ZGUgcHJvcGVydHktaG9yaXpvbnRhbChtYXJnaW4sICRzdGFydCwgJGVuZCk7XG59XG5cbi8vIEFkZCBtYXJnaW4gZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHRvcFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkYm90dG9tXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gbWFyZ2luKCR0b3AsICRlbmQ6ICR0b3AsICRib3R0b206ICR0b3AsICRzdGFydDogJGVuZCkge1xuICBAaW5jbHVkZSBwcm9wZXJ0eShtYXJnaW4sICR0b3AsICRlbmQsICRib3R0b20sICRzdGFydCk7XG59XG5cbi8vIEFkZCBwb3NpdGlvbiBob3Jpem9udGFsXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0IC0gYW1vdW50IHRvIHBvc2l0aW9uIHN0YXJ0XG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZCAtIGFtb3VudCB0byBsZWZ0OiAwOyBlbmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwb3NpdGlvbi1ob3Jpem9udGFsKCRzdGFydDogbnVsbCwgJGVuZDogbnVsbCkge1xuICBAaWYgJHN0YXJ0ID09ICRlbmQge1xuICAgIEBpbmNsdWRlIG11bHRpLWRpcigpIHtcbiAgICAgIGxlZnQ6ICRzdGFydDtcbiAgICAgIHJpZ2h0OiAkZW5kO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgJiB7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogJHN0YXJ0O1xuICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAkZW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBZGQgcG9zaXRpb24gZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHRvcFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkYm90dG9tXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcG9zaXRpb24oJHRvcDogbnVsbCwgJGVuZDogbnVsbCwgJGJvdHRvbTogbnVsbCwgJHN0YXJ0OiBudWxsKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uLWhvcml6b250YWwoJHN0YXJ0LCAkZW5kKTtcbiAgdG9wOiAkdG9wO1xuICBib3R0b206ICRib3R0b207XG59XG5cbi8vIEFkZCBib3JkZXIgZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHRvcFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkYm90dG9tXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gYm9yZGVyKCR0b3AsICRlbmQ6ICR0b3AsICRib3R0b206ICR0b3AsICRzdGFydDogJGVuZCkge1xuICBAaW5jbHVkZSBwcm9wZXJ0eShib3JkZXIsICR0b3AsICRlbmQsICRib3R0b20sICRzdGFydCk7XG59XG5cbi8vIEFkZCBib3JkZXIgcmFkaXVzIGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICR0b3Atc3RhcnRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wLWVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b20tZW5kXG4vLyBAcGFyYW0ge3N0cmluZ30gJGJvdHRvbS1zdGFydFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGJvcmRlci1yYWRpdXMoJHRvcC1zdGFydCwgJHRvcC1lbmQ6ICR0b3Atc3RhcnQsICRib3R0b20tZW5kOiAkdG9wLXN0YXJ0LCAkYm90dG9tLXN0YXJ0OiAkdG9wLWVuZCkge1xuICBAaWYgJHRvcC1zdGFydCA9PSAkdG9wLWVuZCBhbmQgJHRvcC1zdGFydCA9PSAkYm90dG9tLWVuZCBhbmQgJHRvcC1zdGFydCA9PSAkYm90dG9tLXN0YXJ0IHtcbiAgICBib3JkZXItcmFkaXVzOiAkdG9wLXN0YXJ0O1xuICB9IEBlbHNlIHtcbiAgICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiAkdG9wLXN0YXJ0O1xuICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiAkdG9wLWVuZDtcbiAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6ICRib3R0b20tZW5kO1xuICAgIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiAkYm90dG9tLXN0YXJ0O1xuICB9XG59XG5cbi8vIEFkZCBkaXJlY3Rpb24gZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJGRpciAtIERpcmVjdGlvbiBvbiBMVFJcbkBtaXhpbiBkaXJlY3Rpb24oJGRpcikge1xuICAkb3RoZXItZGlyOiBudWxsO1xuXG4gIEBpZiAkZGlyID09IGx0ciB7XG4gICAgJG90aGVyLWRpcjogcnRsO1xuICB9IEBlbHNlIHtcbiAgICAkb3RoZXItZGlyOiBsdHI7XG4gIH1cblxuICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgZGlyZWN0aW9uOiAkZGlyO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICBkaXJlY3Rpb246ICRvdGhlci1kaXI7XG4gIH1cbn1cblxuLy8gQWRkIGZsb2F0IGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICRzaWRlXG4vLyBAcGFyYW0ge3N0cmluZ30gJGRlY29yYXRvciAtICFpbXBvcnRhbnRcbkBtaXhpbiBmbG9hdCgkc2lkZSwgJGRlY29yYXRvcjogbnVsbCkge1xuICBAaWYgJHNpZGUgPT0gc3RhcnQge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIGZsb2F0OiBsZWZ0ICRkZWNvcmF0b3I7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIGZsb2F0OiByaWdodCAkZGVjb3JhdG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkc2lkZSA9PSBlbmQge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIGZsb2F0OiByaWdodCAkZGVjb3JhdG9yO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICBmbG9hdDogbGVmdCAkZGVjb3JhdG9yO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgbXVsdGktZGlyKCkge1xuICAgICAgZmxvYXQ6ICRzaWRlICRkZWNvcmF0b3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLXBvc2l0aW9uKCRob3Jpem9udGFsLCAkaG9yaXpvbnRhbC1hbW91bnQ6IG51bGwsICR2ZXJ0aWNhbDogbnVsbCwgJHZlcnRpY2FsLWFtb3VudDogbnVsbCkge1xuICBAaWYgJGhvcml6b250YWwgPT0gc3RhcnQgb3IgJGhvcml6b250YWwgPT0gZW5kIHtcbiAgICAkaG9yaXpvbnRhbC1sdHI6IG51bGw7XG4gICAgJGhvcml6b250YWwtcnRsOiBudWxsO1xuICAgIEBpZiAkaG9yaXpvbnRhbCA9PSBzdGFydCB7XG4gICAgICAkaG9yaXpvbnRhbC1sdHI6IGxlZnQ7XG4gICAgICAkaG9yaXpvbnRhbC1ydGw6IHJpZ2h0O1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGhvcml6b250YWwtbHRyOiByaWdodDtcbiAgICAgICRob3Jpem9udGFsLXJ0bDogbGVmdDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaG9yaXpvbnRhbC1sdHIgJGhvcml6b250YWwtYW1vdW50ICR2ZXJ0aWNhbCAkdmVydGljYWwtYW1vdW50O1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaG9yaXpvbnRhbC1ydGwgJGhvcml6b250YWwtYW1vdW50ICR2ZXJ0aWNhbCAkdmVydGljYWwtYW1vdW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgbXVsdGktZGlyKCkge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGhvcml6b250YWwgJGhvcml6b250YWwtYW1vdW50ICR2ZXJ0aWNhbCAkdmVydGljYWwtYW1vdW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkeC1heGlzLCAkeS1heGlzOiBudWxsKSB7XG4gIEBpZiAkeC1heGlzID09IHN0YXJ0IHtcbiAgICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0ICR5LWF4aXM7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0ICR5LWF4aXM7XG4gICAgfVxuICB9IEBlbHNlIGlmICR4LWF4aXMgPT0gZW5kIHtcbiAgICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCAkeS1heGlzO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0ICR5LWF4aXM7XG4gICAgfVxuICB9IEBlbHNlIGlmICR4LWF4aXMgPT0gbGVmdCBvciAkeC1heGlzID09IHJpZ2h0IHtcbiAgICBAaW5jbHVkZSBtdWx0aS1kaXIoKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAkeC1heGlzICR5LWF4aXM7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAkeC1heGlzICR5LWF4aXM7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNhbGMoMTAwJSAtICN7JHgtYXhpc30pICR5LWF4aXM7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZCB0cmFuc2Zvcm0gZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHRyYW5zZm9ybXMgLSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiB0cmFuc2Zvcm1zXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zLi4uKSB7XG4gICRleHRyYTogbnVsbDtcblxuICAkeDogbnVsbDtcbiAgJGx0ci10cmFuc2xhdGU6IG51bGw7XG4gICRydGwtdHJhbnNsYXRlOiBudWxsO1xuXG4gIEBlYWNoICR0cmFuc2Zvcm0gaW4gJHRyYW5zZm9ybXMge1xuICAgIEBpZiAoc3RyLWluZGV4KCR0cmFuc2Zvcm0sIHRyYW5zbGF0ZTNkKSkge1xuICAgICAgJHRyYW5zZm9ybTogc3RyLXJlcGxhY2UoJHRyYW5zZm9ybSwgJ3RyYW5zbGF0ZTNkKCcpO1xuICAgICAgJHRyYW5zZm9ybTogc3RyLXJlcGxhY2UoJHRyYW5zZm9ybSwgJyknKTtcblxuICAgICAgJGNvb3JkaW5hdGVzOiBzdHItc3BsaXQoJHRyYW5zZm9ybSwgJywnKTtcblxuICAgICAgJHg6IG50aCgkY29vcmRpbmF0ZXMsIDEpO1xuICAgICAgJHk6IG50aCgkY29vcmRpbmF0ZXMsIDIpO1xuICAgICAgJHo6IG50aCgkY29vcmRpbmF0ZXMsIDMpO1xuXG4gICAgICAkbHRyLXRyYW5zbGF0ZTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAkcnRsLXRyYW5zbGF0ZTogdHJhbnNsYXRlM2QoY2FsYygtMSAqICN7JHh9KSwgJHksICR6KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiAkZXh0cmEgPT0gbnVsbCB7XG4gICAgICAgICRleHRyYTogJHRyYW5zZm9ybTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkZXh0cmE6ICRleHRyYSAkdHJhbnNmb3JtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkeCA9PSAnMCcgb3IgJHggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbXVsdGktZGlyKCkge1xuICAgICAgdHJhbnNmb3JtOiAkbHRyLXRyYW5zbGF0ZSAkZXh0cmE7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgICB0cmFuc2Zvcm06ICRsdHItdHJhbnNsYXRlICRleHRyYTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICB0cmFuc2Zvcm06ICRydGwtdHJhbnNsYXRlICRleHRyYTtcbiAgICB9XG4gIH1cbn1cbiIsICJAaW1wb3J0IFwiLi4vdGhlbWVzL2lvbmljLmdsb2JhbHNcIjtcbkBpbXBvcnQgXCIuLi90aGVtZXMvaW9uaWMubWl4aW5zXCI7XG5cbi8vIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLyBAcHJvcCAtIEZvbnQgd2VpZ2h0IG9mIGFsbCBoZWFkaW5nc1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgIDUwMDtcblxuLy8vIEBwcm9wIC0gTGluZSBoZWlnaHQgb2YgYWxsIGhlYWRpbmdzXG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAgMS4yO1xuXG4vLy8gQHByb3AgLSBGb250IHNpemUgb2YgaGVhZGluZyBsZXZlbCAxXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgZHluYW1pYy1mb250KDI2cHgpO1xuXG4vLy8gQHByb3AgLSBGb250IHNpemUgb2YgaGVhZGluZyBsZXZlbCAyXG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgZHluYW1pYy1mb250KDI0cHgpO1xuXG4vLy8gQHByb3AgLSBGb250IHNpemUgb2YgaGVhZGluZyBsZXZlbCAzXG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgZHluYW1pYy1mb250KDIycHgpO1xuXG4vLy8gQHByb3AgLSBGb250IHNpemUgb2YgaGVhZGluZyBsZXZlbCA0XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgZHluYW1pYy1mb250KDIwcHgpO1xuXG4vLy8gQHByb3AgLSBGb250IHNpemUgb2YgaGVhZGluZyBsZXZlbCA1XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgZHluYW1pYy1mb250KDE4cHgpO1xuXG4vLy8gQHByb3AgLSBGb250IHNpemUgb2YgaGVhZGluZyBsZXZlbCA2XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgZHluYW1pYy1mb250KDE2cHgpO1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWlvbi1mb250LWZhbWlseSk7XG59XG5cbi8qKlxuICogRHluYW1pYyBUeXBlIGlzIGFuIGlPUy1vbmx5IGZlYXR1cmUsIHNvXG4gKiB0aGlzIHNob3VsZCBvbmx5IGJlIGVuYWJsZWQgb24gaU9TIGRldmljZXMuXG4gKi9cbkBzdXBwb3J0cyAoLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lKSB7XG4gIGh0bWwge1xuICAgIC8qKlxuICAgICAqIEluY2x1ZGVzIGZhbGxiYWNrIGlmIER5bmFtaWMgVHlwZSBpcyBub3QgZW5hYmxlZC5cbiAgICAgKi9cbiAgICBmb250OiB2YXIoLS1pb24tZHluYW1pYy1mb250LCAxNnB4IHZhcigtLWlvbi1mb250LWZhbWlseSkpO1xuICB9XG59XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGlvbi1jb2xvcihwcmltYXJ5LCBiYXNlKTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgQGluY2x1ZGUgbWFyZ2luKDE2cHgsIG51bGwsIDEwcHgsIG51bGwpO1xuXG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG5cbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbn1cblxuaDEge1xuICBAaW5jbHVkZSBtYXJnaW4oMjBweCwgbnVsbCwgbnVsbCwgbnVsbCk7XG5cbiAgZm9udC1zaXplOiAkaDEtZm9udC1zaXplO1xufVxuXG5oMiB7XG4gIEBpbmNsdWRlIG1hcmdpbigxOHB4LCBudWxsLCBudWxsLCBudWxsKTtcblxuICBmb250LXNpemU6ICRoMi1mb250LXNpemU7XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAkaDMtZm9udC1zaXplO1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZTtcbn1cblxuaDUge1xuICBmb250LXNpemU6ICRoNS1mb250LXNpemU7XG59XG5cbmg2IHtcbiAgZm9udC1zaXplOiAkaDYtZm9udC1zaXplO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xufVxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgZm9udC1zaXplOiA3NSU7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0uNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0uMjVlbTtcbn1cbiIsICJcbi8qKlxuICogQSBoZXVyaXN0aWMgdGhhdCBhcHBsaWVzIENTUyB0byB0YWJsZXRcbiAqIHZpZXdwb3J0cy5cbiAqXG4gKiBVc2FnZTpcbiAqIEBpbmNsdWRlIHRhYmxldC12aWV3cG9ydCgpIHtcbiAqICAgOmhvc3Qge1xuICogICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xuICogICB9XG4gKiB9XG4gKi9cbkBtaXhpbiB0YWJsZXQtdmlld3BvcnQoKSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLyoqXG4gKiBBIGhldXJpc3RpYyB0aGF0IGFwcGxpZXMgQ1NTIHRvIG1vYmlsZVxuICogdmlld3BvcnRzIChpLmUuIHBob25lcywgbm90IHRhYmxldHMpLlxuICpcbiAqIFVzYWdlOlxuICogQGluY2x1ZGUgbW9iaWxlLXZpZXdwb3J0KCkge1xuICogICA6aG9zdCB7XG4gKiAgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTtcbiAqICAgfVxuICogfVxuICovXG5AbWl4aW4gbW9iaWxlLXZpZXdwb3J0KCkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBpbnB1dC1jb3ZlcigpIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oMCwgbnVsbCwgbnVsbCwgMCk7XG4gIEBpbmNsdWRlIG1hcmdpbigwKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcblxuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcblxuICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbigpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuQG1peGluIHRleHQtaW5oZXJpdCgpIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtaW5kZW50OiBpbmhlcml0O1xuICB0ZXh0LW92ZXJmbG93OiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gYnV0dG9uLXN0YXRlKCkge1xuICBAaW5jbHVkZSBwb3NpdGlvbigwLCAwLCAwLCAwKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgY29udGVudDogXCJcIjtcblxuICBvcGFjaXR5OiAwO1xufVxuXG4vLyBGb250IHNtb290aGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuLy8gR2V0IHRoZSBrZXkgZnJvbSBhIG1hcCBiYXNlZCBvbiB0aGUgaW5kZXhcbkBmdW5jdGlvbiBpbmRleC10by1rZXkoJG1hcCwgJGluZGV4KSB7XG4gICRrZXlzOiBtYXAta2V5cygkbWFwKTtcblxuICBAcmV0dXJuIG50aCgka2V5cywgJGluZGV4KTtcbn1cblxuXG4vLyBCcmVha3BvaW50IE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkc2NyZWVuLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJHNjcmVlbi1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuXG4gIEByZXR1cm4gaWYoJG5hbWUgIT0gaW5kZXgtdG8ta2V5KCRicmVha3BvaW50cywgMSksICRtaW4sIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJHNjcmVlbi1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJHNjcmVlbi1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy9cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cdC8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXHQvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkc2NyZWVuLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAuMDIsIG51bGwpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJHNjcmVlbi1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cblxuLy8gVGV4dCBEaXJlY3Rpb24gLSBsdHIgLyBydGxcbi8vXG4vLyBDU1MgZGVmYXVsdHMgdG8gdXNlIHRoZSBsdHIgY3NzLCBhbmQgYWRkcyBbZGlyPXJ0bF0gc2VsZWN0b3JzXG4vLyB0byBvdmVycmlkZSBsdHIgZGVmYXVsdHMuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBtdWx0aS1kaXIoKSB7XG4gIEBjb250ZW50O1xuXG4gIC8vICRyb290OiAjeyZ9O1xuICAvLyBAYXQtcm9vdCBbZGlyXSB7XG4gIC8vICAgI3skcm9vdH0ge1xuICAvLyAgICAgQGNvbnRlbnQ7XG4gIC8vICAgfVxuICAvLyB9XG59XG5cbkBtaXhpbiBydGwoKSB7XG4gICRyb290OiAjeyZ9O1xuXG4gICRyb290U3BsaXQ6IHN0ci1zcGxpdCgkcm9vdCwgXCIsXCIpO1xuICAkc2VsZWN0b3JzOiAje2FkZC1yb290LXNlbGVjdG9yKCRyb290LCBcIltkaXI9cnRsXVwiKX07XG4gICRzZWxlY3RvcnNTcGxpdDogc3RyLXNwbGl0KCRzZWxlY3RvcnMsIFwiLFwiKTtcblxuICAkaG9zdENvbnRleHRTZWxlY3RvcnM6ICgpO1xuICAkcmVzdFNlbGVjdG9yczogKCk7XG4gICRkaXJTZWxlY3RvcnM6ICgpO1xuXG4gIC8vIFNlbGVjdG9ycyBtdXN0IGJlIHNwbGl0IGludG8gaW5kaXZpZHVhbCBzZWxlY3RvcnMgaW4gY2FzZSB0aGUgYnJvd3NlclxuICAvLyBkb2Vzbid0IHN1cHBvcnQgYSBzcGVjaWZpYyBzZWxlY3Rvci5cbiAgLy8gRm9yIGV4YW1wbGUsIEZpcmVmb3ggYW5kIFNhZmFyaSBkb2Vzbid0IHN1cHBvcnQgYDpob3N0LWNvbnRleHQoKWAuXG4gIC8vIElmIGFuIGludmFsaWQgc2VsZWN0b3IgaXMgdXNlZCwgdGhlbiB0aGUgZW50aXJlIGdyb3VwIG9mIHNlbGVjdG9yc1xuICAvLyB3aWxsIGJlIGlnbm9yZWQuXG4gIC8vIEBsaW5rIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZWxlY3RvcnMtMy8jZ3JvdXBpbmdcbiAgQGVhY2ggJHNlbGVjdG9yIGluICRzZWxlY3RvcnNTcGxpdCB7XG4gICAgLy8gR3JvdXAgdGhlIHNlbGVjdG9ycyBiYWNrIGludG8gYSBzaW5nbGUgc2VsZWN0b3IgdG8gb3B0aW1pemUgdGhlIG91dHB1dC5cbiAgICBAaWYgc3RyLWluZGV4KCRzZWxlY3RvciwgXCI6aG9zdC1jb250ZXh0XCIpIHtcbiAgICAgICRob3N0Q29udGV4dFNlbGVjdG9yczogYXBwZW5kKCRob3N0Q29udGV4dFNlbGVjdG9ycywgJHNlbGVjdG9yLCBjb21tYSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBHcm91cCB0aGUgc2VsZWN0b3JzIGJhY2sgaW50byBhIHNpbmdsZSBzZWxlY3RvciB0byBvcHRpbWl6ZSB0aGUgb3V0cHV0LlxuICAgICAgJHJlc3RTZWxlY3RvcnM6IGFwcGVuZCgkcmVzdFNlbGVjdG9ycywgJHNlbGVjdG9yLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU3VwcG9ydGVkIGJ5IENocm9tZS5cbiAgQGlmIGxlbmd0aCgkaG9zdENvbnRleHRTZWxlY3RvcnMpID4gMCB7XG4gICAgQGF0LXJvb3QgI3skaG9zdENvbnRleHRTZWxlY3RvcnN9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFN1cHBvcnRlZCBieSBhbGwgYnJvd3NlcnMuXG4gIEBpZiBsZW5ndGgoJHJlc3RTZWxlY3RvcnMpID4gMCB7XG4gICAgQGF0LXJvb3QgI3skcmVzdFNlbGVjdG9yc30ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgYnJvd3NlciBjYW4gc3VwcG9ydCBgOmRpcigpYCwgdGhlbiBhZGQgdGhlIGA6ZGlyKClgIHNlbGVjdG9ycy5cbiAgQHN1cHBvcnRzIHNlbGVjdG9yKDpkaXIocnRsKSkge1xuICAgIC8vIEFkZGluZyA6ZGlyKCkgaW4gY2FzZSB0aGUgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgYDpob3N0LWNvbnRleHQoKWAgYW5kIGRvZXMgc3VwcG9ydCBgOmRpcigpYC5cbiAgICAvLyBgOmhvc3QtY29udGV4dCgpYCBpcyBhZGRlZDpcbiAgICAvLyAtIHRocm91Z2ggdGhlIGBhZGQtcm9vdC1zZWxlY3RvcigpYCBmdW5jdGlvbi5cbiAgICAvLyAtIGZpcnN0IHNvIHRoYXQgaXQgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIGA6ZGlyKClgLlxuICAgIC8vIEZvciBleGFtcGxlLFxuICAgIC8vIC0gRmlyZWZveCBkb2Vzbid0IHN1cHBvcnQgYDpob3N0LWNvbnRleHQoKWAsIGJ1dCBkb2VzIHN1cHBvcnQgYDpkaXIoKWAuXG4gICAgLy8gLSBTYWZhcmkgZG9lc24ndCBzdXBwb3J0IGA6aG9zdC1jb250ZXh0KClgLCBidXQgU2FmYXJpIDE2LjQrIHN1cHBvcnRzIGA6ZGlyKClgXG4gICAgLy8gQGxpbmsgaHR0cHM6Ly93ZWJraXQub3JnL2Jsb2cvMTM5NjYvd2Via2l0LWZlYXR1cmVzLWluLXNhZmFyaS0xNi00L1xuICAgIC8vIC0tIEhvd2V2ZXIsIHRoZXJlIGlzIGEgV2Via2l0IGJ1ZyBvbiB2MTYgdGhhdCBwcmV2ZW50cyBgOmRpcigpYCBmcm9tIHdvcmtpbmcgd2hlblxuICAgIC8vIC0tIHRoZSBhcHAgZGlyZWN0aW9uIGlzIGNoYW5nZWQgZHluYW1pY2FsbHkuIHYxNysgd29ya3MgZmluZS5cbiAgICAvLyAtLSBAbGluayBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU3MTMzXG5cbiAgICAvLyBTdXBwb3J0ZWQgYnkgRmlyZWZveC5cbiAgICBAYXQtcm9vdCAje2FkZC1yb290LXNlbGVjdG9yKCRyb290LCBcIjpkaXIocnRsKVwiLCBmYWxzZSl9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbHRyKCkge1xuICBAY29udGVudDtcbn1cblxuXG4vLyBTVkcgQmFja2dyb3VuZCBJbWFnZSBNaXhpblxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBzdmctYmFja2dyb3VuZC1pbWFnZSgkc3ZnLCAkZmxpcC1ydGw6IGZhbHNlKSB7XG4gICR1cmw6IHVybC1lbmNvZGUoJHN2Zyk7XG4gICR2aWV3Qm94OiBzdHItc3BsaXQoc3RyLWV4dHJhY3QoJHN2ZywgXCJ2aWV3Qm94PSdcIiwgXCInXCIpLCBcIiBcIik7XG5cbiAgQGlmICRmbGlwLXJ0bCAhPSB0cnVlIG9yICR2aWV3Qm94ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG11bHRpLWRpcigpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCN7JHVybH1cIik7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkdHJhbnNmb3JtOiBcInRyYW5zZm9ybT0ndHJhbnNsYXRlKCN7bnRoKCR2aWV3Qm94LCAzKX0sIDApIHNjYWxlKC0xLCAxKSdcIjtcbiAgICAkZmxpcHBlZC11cmw6ICRzdmc7XG4gICAgJGZsaXBwZWQtdXJsOiBzdHItcmVwbGFjZSgkZmxpcHBlZC11cmwsIFwiPHBhdGhcIiwgXCI8cGF0aCAjeyR0cmFuc2Zvcm19XCIpO1xuICAgICRmbGlwcGVkLXVybDogc3RyLXJlcGxhY2UoJGZsaXBwZWQtdXJsLCBcIjxsaW5lXCIsIFwiPGxpbmUgI3skdHJhbnNmb3JtfVwiKTtcbiAgICAkZmxpcHBlZC11cmw6IHN0ci1yZXBsYWNlKCRmbGlwcGVkLXVybCwgXCI8cG9seWdvblwiLCBcIjxwb2x5Z29uICN7JHRyYW5zZm9ybX1cIik7XG4gICAgJGZsaXBwZWQtdXJsOiB1cmwtZW5jb2RlKCRmbGlwcGVkLXVybCk7XG5cbiAgICBAaW5jbHVkZSBsdHIgKCkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsI3skdXJsfVwiKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsI3skZmxpcHBlZC11cmx9XCIpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGQgcHJvcGVydHkgaG9yaXpvbnRhbFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwcm9wZXJ0eS1ob3Jpem9udGFsKCRwcm9wLCAkc3RhcnQsICRlbmQ6ICRzdGFydCkge1xuICBAaWYgJHN0YXJ0ID09IDAgYW5kICRlbmQgPT0gMCB7XG4gICAgI3skcHJvcH0tbGVmdDogJHN0YXJ0O1xuICAgICN7JHByb3B9LXJpZ2h0OiAkZW5kO1xuXG4gIH0gQGVsc2Uge1xuICAgIC13ZWJraXQtI3skcHJvcH0tc3RhcnQ6ICRzdGFydDtcbiAgICAjeyRwcm9wfS1pbmxpbmUtc3RhcnQ6ICRzdGFydDtcbiAgICAtd2Via2l0LSN7JHByb3B9LWVuZDogJGVuZDtcbiAgICAjeyRwcm9wfS1pbmxpbmUtZW5kOiAkZW5kO1xuICB9XG59XG5cbi8vIEFkZCBwcm9wZXJ0eSBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkcHJvcFxuLy8gQHBhcmFtIHtzdHJpbmd9ICR0b3Bcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyBAcGFyYW0ge3N0cmluZ30gJGJvdHRvbVxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gQHBhcmFtIHtib29sZWFufSAkY29udGVudCBpbmNsdWRlIGNvbnRlbnQgb3IgdXNlIGRlZmF1bHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwcm9wZXJ0eSgkcHJvcCwgJHRvcCwgJGVuZDogJHRvcCwgJGJvdHRvbTogJHRvcCwgJHN0YXJ0OiAkZW5kKSB7XG4gIEBpbmNsdWRlIHByb3BlcnR5LWhvcml6b250YWwoJHByb3AsICRzdGFydCwgJGVuZCk7XG4gICN7JHByb3B9LXRvcDogJHRvcDtcbiAgI3skcHJvcH0tYm90dG9tOiAkYm90dG9tO1xufVxuXG4vLyBBZGQgcGFkZGluZyBob3Jpem9udGFsXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHBhZGRpbmctaG9yaXpvbnRhbCgkc3RhcnQsICRlbmQ6ICRzdGFydCkge1xuICBAaW5jbHVkZSBwcm9wZXJ0eS1ob3Jpem9udGFsKHBhZGRpbmcsICRzdGFydCwgJGVuZCk7XG59XG5cbi8vIEFkZCBwYWRkaW5nIGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICR0b3Bcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyBAcGFyYW0ge3N0cmluZ30gJGJvdHRvbVxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHBhZGRpbmcoJHRvcCwgJGVuZDogJHRvcCwgJGJvdHRvbTogJHRvcCwgJHN0YXJ0OiAkZW5kKSB7XG4gIEBpbmNsdWRlIHByb3BlcnR5KHBhZGRpbmcsICR0b3AsICRlbmQsICRib3R0b20sICRzdGFydCk7XG59XG5cbi8vIEFkZCBtYXJnaW4gaG9yaXpvbnRhbFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBtYXJnaW4taG9yaXpvbnRhbCgkc3RhcnQsICRlbmQ6ICRzdGFydCkge1xuICBAaW5jbHVkZSBwcm9wZXJ0eS1ob3Jpem9udGFsKG1hcmdpbiwgJHN0YXJ0LCAkZW5kKTtcbn1cblxuLy8gQWRkIG1hcmdpbiBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wXG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b21cbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBtYXJnaW4oJHRvcCwgJGVuZDogJHRvcCwgJGJvdHRvbTogJHRvcCwgJHN0YXJ0OiAkZW5kKSB7XG4gIEBpbmNsdWRlIHByb3BlcnR5KG1hcmdpbiwgJHRvcCwgJGVuZCwgJGJvdHRvbSwgJHN0YXJ0KTtcbn1cblxuLy8gQWRkIHBvc2l0aW9uIGhvcml6b250YWxcbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnQgLSBhbW91bnQgdG8gcG9zaXRpb24gc3RhcnRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kIC0gYW1vdW50IHRvIGxlZnQ6IDA7IGVuZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHBvc2l0aW9uLWhvcml6b250YWwoJHN0YXJ0OiBudWxsLCAkZW5kOiBudWxsKSB7XG4gIEBpZiAkc3RhcnQgPT0gJGVuZCB7XG4gICAgQGluY2x1ZGUgbXVsdGktZGlyKCkge1xuICAgICAgbGVmdDogJHN0YXJ0O1xuICAgICAgcmlnaHQ6ICRlbmQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICAmIHtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAkc3RhcnQ7XG4gICAgICAgIGluc2V0LWlubGluZS1lbmQ6ICRlbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZCBwb3NpdGlvbiBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wXG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b21cbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwb3NpdGlvbigkdG9wOiBudWxsLCAkZW5kOiBudWxsLCAkYm90dG9tOiBudWxsLCAkc3RhcnQ6IG51bGwpIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24taG9yaXpvbnRhbCgkc3RhcnQsICRlbmQpO1xuICB0b3A6ICR0b3A7XG4gIGJvdHRvbTogJGJvdHRvbTtcbn1cblxuLy8gQWRkIGJvcmRlciBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wXG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b21cbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBib3JkZXIoJHRvcCwgJGVuZDogJHRvcCwgJGJvdHRvbTogJHRvcCwgJHN0YXJ0OiAkZW5kKSB7XG4gIEBpbmNsdWRlIHByb3BlcnR5KGJvcmRlciwgJHRvcCwgJGVuZCwgJGJvdHRvbSwgJHN0YXJ0KTtcbn1cblxuLy8gQWRkIGJvcmRlciByYWRpdXMgZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHRvcC1zdGFydFxuLy8gQHBhcmFtIHtzdHJpbmd9ICR0b3AtZW5kXG4vLyBAcGFyYW0ge3N0cmluZ30gJGJvdHRvbS1lbmRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkYm90dG9tLXN0YXJ0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkdG9wLXN0YXJ0LCAkdG9wLWVuZDogJHRvcC1zdGFydCwgJGJvdHRvbS1lbmQ6ICR0b3Atc3RhcnQsICRib3R0b20tc3RhcnQ6ICR0b3AtZW5kKSB7XG4gIEBpZiAkdG9wLXN0YXJ0ID09ICR0b3AtZW5kIGFuZCAkdG9wLXN0YXJ0ID09ICRib3R0b20tZW5kIGFuZCAkdG9wLXN0YXJ0ID09ICRib3R0b20tc3RhcnQge1xuICAgIGJvcmRlci1yYWRpdXM6ICR0b3Atc3RhcnQ7XG4gIH0gQGVsc2Uge1xuICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6ICR0b3Atc3RhcnQ7XG4gICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6ICR0b3AtZW5kO1xuICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogJGJvdHRvbS1lbmQ7XG4gICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6ICRib3R0b20tc3RhcnQ7XG4gIH1cbn1cblxuLy8gQWRkIGRpcmVjdGlvbiBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZGlyIC0gRGlyZWN0aW9uIG9uIExUUlxuQG1peGluIGRpcmVjdGlvbigkZGlyKSB7XG4gICRvdGhlci1kaXI6IG51bGw7XG5cbiAgQGlmICRkaXIgPT0gbHRyIHtcbiAgICAkb3RoZXItZGlyOiBydGw7XG4gIH0gQGVsc2Uge1xuICAgICRvdGhlci1kaXI6IGx0cjtcbiAgfVxuXG4gIEBpbmNsdWRlIGx0cigpIHtcbiAgICBkaXJlY3Rpb246ICRkaXI7XG4gIH1cbiAgQGluY2x1ZGUgcnRsKCkge1xuICAgIGRpcmVjdGlvbjogJG90aGVyLWRpcjtcbiAgfVxufVxuXG4vLyBBZGQgZmxvYXQgZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHNpZGVcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZGVjb3JhdG9yIC0gIWltcG9ydGFudFxuQG1peGluIGZsb2F0KCRzaWRlLCAkZGVjb3JhdG9yOiBudWxsKSB7XG4gIEBpZiAkc2lkZSA9PSBzdGFydCB7XG4gICAgQGluY2x1ZGUgbHRyKCkge1xuICAgICAgZmxvYXQ6IGxlZnQgJGRlY29yYXRvcjtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0ICRkZWNvcmF0b3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICRzaWRlID09IGVuZCB7XG4gICAgQGluY2x1ZGUgbHRyKCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0ICRkZWNvcmF0b3I7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIGZsb2F0OiBsZWZ0ICRkZWNvcmF0b3I7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBtdWx0aS1kaXIoKSB7XG4gICAgICBmbG9hdDogJHNpZGUgJGRlY29yYXRvcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJhY2tncm91bmQtcG9zaXRpb24oJGhvcml6b250YWwsICRob3Jpem9udGFsLWFtb3VudDogbnVsbCwgJHZlcnRpY2FsOiBudWxsLCAkdmVydGljYWwtYW1vdW50OiBudWxsKSB7XG4gIEBpZiAkaG9yaXpvbnRhbCA9PSBzdGFydCBvciAkaG9yaXpvbnRhbCA9PSBlbmQge1xuICAgICRob3Jpem9udGFsLWx0cjogbnVsbDtcbiAgICAkaG9yaXpvbnRhbC1ydGw6IG51bGw7XG4gICAgQGlmICRob3Jpem9udGFsID09IHN0YXJ0IHtcbiAgICAgICRob3Jpem9udGFsLWx0cjogbGVmdDtcbiAgICAgICRob3Jpem9udGFsLXJ0bDogcmlnaHQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkaG9yaXpvbnRhbC1sdHI6IHJpZ2h0O1xuICAgICAgJGhvcml6b250YWwtcnRsOiBsZWZ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRob3Jpem9udGFsLWx0ciAkaG9yaXpvbnRhbC1hbW91bnQgJHZlcnRpY2FsICR2ZXJ0aWNhbC1hbW91bnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRob3Jpem9udGFsLXJ0bCAkaG9yaXpvbnRhbC1hbW91bnQgJHZlcnRpY2FsICR2ZXJ0aWNhbC1hbW91bnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBtdWx0aS1kaXIoKSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaG9yaXpvbnRhbCAkaG9yaXpvbnRhbC1hbW91bnQgJHZlcnRpY2FsICR2ZXJ0aWNhbC1hbW91bnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCR4LWF4aXMsICR5LWF4aXM6IG51bGwpIHtcbiAgQGlmICR4LWF4aXMgPT0gc3RhcnQge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgJHktYXhpcztcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgJHktYXhpcztcbiAgICB9XG4gIH0gQGVsc2UgaWYgJHgtYXhpcyA9PSBlbmQge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0ICR5LWF4aXM7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgJHktYXhpcztcbiAgICB9XG4gIH0gQGVsc2UgaWYgJHgtYXhpcyA9PSBsZWZ0IG9yICR4LWF4aXMgPT0gcmlnaHQge1xuICAgIEBpbmNsdWRlIG11bHRpLWRpcigpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICR4LWF4aXMgJHktYXhpcztcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICR4LWF4aXMgJHktYXhpcztcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2FsYygxMDAlIC0gI3skeC1heGlzfSkgJHktYXhpcztcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkIHRyYW5zZm9ybSBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdHJhbnNmb3JtcyAtIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIHRyYW5zZm9ybXNcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMuLi4pIHtcbiAgJGV4dHJhOiBudWxsO1xuXG4gICR4OiBudWxsO1xuICAkbHRyLXRyYW5zbGF0ZTogbnVsbDtcbiAgJHJ0bC10cmFuc2xhdGU6IG51bGw7XG5cbiAgQGVhY2ggJHRyYW5zZm9ybSBpbiAkdHJhbnNmb3JtcyB7XG4gICAgQGlmIChzdHItaW5kZXgoJHRyYW5zZm9ybSwgdHJhbnNsYXRlM2QpKSB7XG4gICAgICAkdHJhbnNmb3JtOiBzdHItcmVwbGFjZSgkdHJhbnNmb3JtLCAndHJhbnNsYXRlM2QoJyk7XG4gICAgICAkdHJhbnNmb3JtOiBzdHItcmVwbGFjZSgkdHJhbnNmb3JtLCAnKScpO1xuXG4gICAgICAkY29vcmRpbmF0ZXM6IHN0ci1zcGxpdCgkdHJhbnNmb3JtLCAnLCcpO1xuXG4gICAgICAkeDogbnRoKCRjb29yZGluYXRlcywgMSk7XG4gICAgICAkeTogbnRoKCRjb29yZGluYXRlcywgMik7XG4gICAgICAkejogbnRoKCRjb29yZGluYXRlcywgMyk7XG5cbiAgICAgICRsdHItdHJhbnNsYXRlOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbiAgICAgICRydGwtdHJhbnNsYXRlOiB0cmFuc2xhdGUzZChjYWxjKC0xICogI3skeH0pLCAkeSwgJHopO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmICRleHRyYSA9PSBudWxsIHtcbiAgICAgICAgJGV4dHJhOiAkdHJhbnNmb3JtO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRleHRyYTogJGV4dHJhICR0cmFuc2Zvcm07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICR4ID09ICcwJyBvciAkeCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtdWx0aS1kaXIoKSB7XG4gICAgICB0cmFuc2Zvcm06ICRsdHItdHJhbnNsYXRlICRleHRyYTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIHRyYW5zZm9ybTogJGx0ci10cmFuc2xhdGUgJGV4dHJhO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIHRyYW5zZm9ybTogJHJ0bC10cmFuc2xhdGUgJGV4dHJhO1xuICAgIH1cbiAgfVxufVxuIiwgIkBpbXBvcnQgXCIuLi90aGVtZXMvaW9uaWMuZ2xvYmFsc1wiO1xuQGltcG9ydCBcIi4uL3RoZW1lcy9pb25pYy5taXhpbnNcIjtcblxuLy8gRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1vZGlmaWVzIGRpc3BsYXkgb2YgYSBwYXJ0aWN1bGFyIGVsZW1lbnQgYmFzZWQgb24gdGhlIGdpdmVuIGNsYXNzZXNcblxuLmlvbi1oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyBBZGRzIGhpZGRlbiBjbGFzc2VzXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkc2NyZWVuLWJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJHNjcmVlbi1icmVha3BvaW50cyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJHNjcmVlbi1icmVha3BvaW50cykge1xuICAgIC8vIFByb3ZpZGUgYGlvbi1oaWRlLXticH0tdXBgIGNsYXNzZXMgZm9yIGhpZGluZyB0aGUgZWxlbWVudCBiYXNlZFxuICAgIC8vIG9uIHRoZSBicmVha3BvaW50XG4gICAgLmlvbi1oaWRlI3skaW5maXh9LXVwIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQsICRzY3JlZW4tYnJlYWtwb2ludHMpIHtcbiAgICAvLyBQcm92aWRlIGBpb24taGlkZS17YnB9LWRvd25gIGNsYXNzZXMgZm9yIGhpZGluZyB0aGUgZWxlbWVudCBiYXNlZFxuICAgIC8vIG9uIHRoZSBicmVha3BvaW50XG4gICAgLmlvbi1oaWRlI3skaW5maXh9LWRvd24ge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwgIlxuLyoqXG4gKiBBIGhldXJpc3RpYyB0aGF0IGFwcGxpZXMgQ1NTIHRvIHRhYmxldFxuICogdmlld3BvcnRzLlxuICpcbiAqIFVzYWdlOlxuICogQGluY2x1ZGUgdGFibGV0LXZpZXdwb3J0KCkge1xuICogICA6aG9zdCB7XG4gKiAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XG4gKiAgIH1cbiAqIH1cbiAqL1xuQG1peGluIHRhYmxldC12aWV3cG9ydCgpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vKipcbiAqIEEgaGV1cmlzdGljIHRoYXQgYXBwbGllcyBDU1MgdG8gbW9iaWxlXG4gKiB2aWV3cG9ydHMgKGkuZS4gcGhvbmVzLCBub3QgdGFibGV0cykuXG4gKlxuICogVXNhZ2U6XG4gKiBAaW5jbHVkZSBtb2JpbGUtdmlld3BvcnQoKSB7XG4gKiAgIDpob3N0IHtcbiAqICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlO1xuICogICB9XG4gKiB9XG4gKi9cbkBtaXhpbiBtb2JpbGUtdmlld3BvcnQoKSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGlucHV0LWNvdmVyKCkge1xuICBAaW5jbHVkZSBwb3NpdGlvbigwLCBudWxsLCBudWxsLCAwKTtcbiAgQGluY2x1ZGUgbWFyZ2luKDApO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuXG4gICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuKCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcblxuICBvcGFjaXR5OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5AbWl4aW4gdGV4dC1pbmhlcml0KCkge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC1pbmRlbnQ6IGluaGVyaXQ7XG4gIHRleHQtb3ZlcmZsb3c6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBidXR0b24tc3RhdGUoKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKDAsIDAsIDAsIDApO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICBjb250ZW50OiBcIlwiO1xuXG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vIEZvbnQgc21vb3RoaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG4vLyBHZXQgdGhlIGtleSBmcm9tIGEgbWFwIGJhc2VkIG9uIHRoZSBpbmRleFxuQGZ1bmN0aW9uIGluZGV4LXRvLWtleSgkbWFwLCAkaW5kZXgpIHtcbiAgJGtleXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gIEByZXR1cm4gbnRoKCRrZXlzLCAkaW5kZXgpO1xufVxuXG5cbi8vIEJyZWFrcG9pbnQgTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRzY3JlZW4tYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkc2NyZWVuLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG5cbiAgQHJldHVybiBpZigkbmFtZSAhPSBpbmRleC10by1rZXkoJGJyZWFrcG9pbnRzLCAxKSwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW5mcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkc2NyZWVuLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkc2NyZWVuLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vL1xuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlx0Ly8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcdC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRzY3JlZW4tYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkc2NyZWVuLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuXG4vLyBUZXh0IERpcmVjdGlvbiAtIGx0ciAvIHJ0bFxuLy9cbi8vIENTUyBkZWZhdWx0cyB0byB1c2UgdGhlIGx0ciBjc3MsIGFuZCBhZGRzIFtkaXI9cnRsXSBzZWxlY3RvcnNcbi8vIHRvIG92ZXJyaWRlIGx0ciBkZWZhdWx0cy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIG11bHRpLWRpcigpIHtcbiAgQGNvbnRlbnQ7XG5cbiAgLy8gJHJvb3Q6ICN7Jn07XG4gIC8vIEBhdC1yb290IFtkaXJdIHtcbiAgLy8gICAjeyRyb290fSB7XG4gIC8vICAgICBAY29udGVudDtcbiAgLy8gICB9XG4gIC8vIH1cbn1cblxuQG1peGluIHJ0bCgpIHtcbiAgJHJvb3Q6ICN7Jn07XG5cbiAgJHJvb3RTcGxpdDogc3RyLXNwbGl0KCRyb290LCBcIixcIik7XG4gICRzZWxlY3RvcnM6ICN7YWRkLXJvb3Qtc2VsZWN0b3IoJHJvb3QsIFwiW2Rpcj1ydGxdXCIpfTtcbiAgJHNlbGVjdG9yc1NwbGl0OiBzdHItc3BsaXQoJHNlbGVjdG9ycywgXCIsXCIpO1xuXG4gICRob3N0Q29udGV4dFNlbGVjdG9yczogKCk7XG4gICRyZXN0U2VsZWN0b3JzOiAoKTtcbiAgJGRpclNlbGVjdG9yczogKCk7XG5cbiAgLy8gU2VsZWN0b3JzIG11c3QgYmUgc3BsaXQgaW50byBpbmRpdmlkdWFsIHNlbGVjdG9ycyBpbiBjYXNlIHRoZSBicm93c2VyXG4gIC8vIGRvZXNuJ3Qgc3VwcG9ydCBhIHNwZWNpZmljIHNlbGVjdG9yLlxuICAvLyBGb3IgZXhhbXBsZSwgRmlyZWZveCBhbmQgU2FmYXJpIGRvZXNuJ3Qgc3VwcG9ydCBgOmhvc3QtY29udGV4dCgpYC5cbiAgLy8gSWYgYW4gaW52YWxpZCBzZWxlY3RvciBpcyB1c2VkLCB0aGVuIHRoZSBlbnRpcmUgZ3JvdXAgb2Ygc2VsZWN0b3JzXG4gIC8vIHdpbGwgYmUgaWdub3JlZC5cbiAgLy8gQGxpbmsgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlbGVjdG9ycy0zLyNncm91cGluZ1xuICBAZWFjaCAkc2VsZWN0b3IgaW4gJHNlbGVjdG9yc1NwbGl0IHtcbiAgICAvLyBHcm91cCB0aGUgc2VsZWN0b3JzIGJhY2sgaW50byBhIHNpbmdsZSBzZWxlY3RvciB0byBvcHRpbWl6ZSB0aGUgb3V0cHV0LlxuICAgIEBpZiBzdHItaW5kZXgoJHNlbGVjdG9yLCBcIjpob3N0LWNvbnRleHRcIikge1xuICAgICAgJGhvc3RDb250ZXh0U2VsZWN0b3JzOiBhcHBlbmQoJGhvc3RDb250ZXh0U2VsZWN0b3JzLCAkc2VsZWN0b3IsIGNvbW1hKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEdyb3VwIHRoZSBzZWxlY3RvcnMgYmFjayBpbnRvIGEgc2luZ2xlIHNlbGVjdG9yIHRvIG9wdGltaXplIHRoZSBvdXRwdXQuXG4gICAgICAkcmVzdFNlbGVjdG9yczogYXBwZW5kKCRyZXN0U2VsZWN0b3JzLCAkc2VsZWN0b3IsIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICAvLyBTdXBwb3J0ZWQgYnkgQ2hyb21lLlxuICBAaWYgbGVuZ3RoKCRob3N0Q29udGV4dFNlbGVjdG9ycykgPiAwIHtcbiAgICBAYXQtcm9vdCAjeyRob3N0Q29udGV4dFNlbGVjdG9yc30ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gU3VwcG9ydGVkIGJ5IGFsbCBicm93c2Vycy5cbiAgQGlmIGxlbmd0aCgkcmVzdFNlbGVjdG9ycykgPiAwIHtcbiAgICBAYXQtcm9vdCAjeyRyZXN0U2VsZWN0b3JzfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBJZiBicm93c2VyIGNhbiBzdXBwb3J0IGA6ZGlyKClgLCB0aGVuIGFkZCB0aGUgYDpkaXIoKWAgc2VsZWN0b3JzLlxuICBAc3VwcG9ydHMgc2VsZWN0b3IoOmRpcihydGwpKSB7XG4gICAgLy8gQWRkaW5nIDpkaXIoKSBpbiBjYXNlIHRoZSBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBgOmhvc3QtY29udGV4dCgpYCBhbmQgZG9lcyBzdXBwb3J0IGA6ZGlyKClgLlxuICAgIC8vIGA6aG9zdC1jb250ZXh0KClgIGlzIGFkZGVkOlxuICAgIC8vIC0gdGhyb3VnaCB0aGUgYGFkZC1yb290LXNlbGVjdG9yKClgIGZ1bmN0aW9uLlxuICAgIC8vIC0gZmlyc3Qgc28gdGhhdCBpdCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgYDpkaXIoKWAuXG4gICAgLy8gRm9yIGV4YW1wbGUsXG4gICAgLy8gLSBGaXJlZm94IGRvZXNuJ3Qgc3VwcG9ydCBgOmhvc3QtY29udGV4dCgpYCwgYnV0IGRvZXMgc3VwcG9ydCBgOmRpcigpYC5cbiAgICAvLyAtIFNhZmFyaSBkb2Vzbid0IHN1cHBvcnQgYDpob3N0LWNvbnRleHQoKWAsIGJ1dCBTYWZhcmkgMTYuNCsgc3VwcG9ydHMgYDpkaXIoKWBcbiAgICAvLyBAbGluayBodHRwczovL3dlYmtpdC5vcmcvYmxvZy8xMzk2Ni93ZWJraXQtZmVhdHVyZXMtaW4tc2FmYXJpLTE2LTQvXG4gICAgLy8gLS0gSG93ZXZlciwgdGhlcmUgaXMgYSBXZWJraXQgYnVnIG9uIHYxNiB0aGF0IHByZXZlbnRzIGA6ZGlyKClgIGZyb20gd29ya2luZyB3aGVuXG4gICAgLy8gLS0gdGhlIGFwcCBkaXJlY3Rpb24gaXMgY2hhbmdlZCBkeW5hbWljYWxseS4gdjE3KyB3b3JrcyBmaW5lLlxuICAgIC8vIC0tIEBsaW5rIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTcxMzNcblxuICAgIC8vIFN1cHBvcnRlZCBieSBGaXJlZm94LlxuICAgIEBhdC1yb290ICN7YWRkLXJvb3Qtc2VsZWN0b3IoJHJvb3QsIFwiOmRpcihydGwpXCIsIGZhbHNlKX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsdHIoKSB7XG4gIEBjb250ZW50O1xufVxuXG5cbi8vIFNWRyBCYWNrZ3JvdW5kIEltYWdlIE1peGluXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN2Z1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHN2Zy1iYWNrZ3JvdW5kLWltYWdlKCRzdmcsICRmbGlwLXJ0bDogZmFsc2UpIHtcbiAgJHVybDogdXJsLWVuY29kZSgkc3ZnKTtcbiAgJHZpZXdCb3g6IHN0ci1zcGxpdChzdHItZXh0cmFjdCgkc3ZnLCBcInZpZXdCb3g9J1wiLCBcIidcIiksIFwiIFwiKTtcblxuICBAaWYgJGZsaXAtcnRsICE9IHRydWUgb3IgJHZpZXdCb3ggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbXVsdGktZGlyKCkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsI3skdXJsfVwiKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICR0cmFuc2Zvcm06IFwidHJhbnNmb3JtPSd0cmFuc2xhdGUoI3tudGgoJHZpZXdCb3gsIDMpfSwgMCkgc2NhbGUoLTEsIDEpJ1wiO1xuICAgICRmbGlwcGVkLXVybDogJHN2ZztcbiAgICAkZmxpcHBlZC11cmw6IHN0ci1yZXBsYWNlKCRmbGlwcGVkLXVybCwgXCI8cGF0aFwiLCBcIjxwYXRoICN7JHRyYW5zZm9ybX1cIik7XG4gICAgJGZsaXBwZWQtdXJsOiBzdHItcmVwbGFjZSgkZmxpcHBlZC11cmwsIFwiPGxpbmVcIiwgXCI8bGluZSAjeyR0cmFuc2Zvcm19XCIpO1xuICAgICRmbGlwcGVkLXVybDogc3RyLXJlcGxhY2UoJGZsaXBwZWQtdXJsLCBcIjxwb2x5Z29uXCIsIFwiPHBvbHlnb24gI3skdHJhbnNmb3JtfVwiKTtcbiAgICAkZmxpcHBlZC11cmw6IHVybC1lbmNvZGUoJGZsaXBwZWQtdXJsKTtcblxuICAgIEBpbmNsdWRlIGx0ciAoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwjeyR1cmx9XCIpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwjeyRmbGlwcGVkLXVybH1cIik7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZCBwcm9wZXJ0eSBob3Jpem9udGFsXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHByb3BlcnR5LWhvcml6b250YWwoJHByb3AsICRzdGFydCwgJGVuZDogJHN0YXJ0KSB7XG4gIEBpZiAkc3RhcnQgPT0gMCBhbmQgJGVuZCA9PSAwIHtcbiAgICAjeyRwcm9wfS1sZWZ0OiAkc3RhcnQ7XG4gICAgI3skcHJvcH0tcmlnaHQ6ICRlbmQ7XG5cbiAgfSBAZWxzZSB7XG4gICAgLXdlYmtpdC0jeyRwcm9wfS1zdGFydDogJHN0YXJ0O1xuICAgICN7JHByb3B9LWlubGluZS1zdGFydDogJHN0YXJ0O1xuICAgIC13ZWJraXQtI3skcHJvcH0tZW5kOiAkZW5kO1xuICAgICN7JHByb3B9LWlubGluZS1lbmQ6ICRlbmQ7XG4gIH1cbn1cblxuLy8gQWRkIHByb3BlcnR5IGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICRwcm9wXG4vLyBAcGFyYW0ge3N0cmluZ30gJHRvcFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkYm90dG9tXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyBAcGFyYW0ge2Jvb2xlYW59ICRjb250ZW50IGluY2x1ZGUgY29udGVudCBvciB1c2UgZGVmYXVsdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHByb3BlcnR5KCRwcm9wLCAkdG9wLCAkZW5kOiAkdG9wLCAkYm90dG9tOiAkdG9wLCAkc3RhcnQ6ICRlbmQpIHtcbiAgQGluY2x1ZGUgcHJvcGVydHktaG9yaXpvbnRhbCgkcHJvcCwgJHN0YXJ0LCAkZW5kKTtcbiAgI3skcHJvcH0tdG9wOiAkdG9wO1xuICAjeyRwcm9wfS1ib3R0b206ICRib3R0b207XG59XG5cbi8vIEFkZCBwYWRkaW5nIGhvcml6b250YWxcbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcGFkZGluZy1ob3Jpem9udGFsKCRzdGFydCwgJGVuZDogJHN0YXJ0KSB7XG4gIEBpbmNsdWRlIHByb3BlcnR5LWhvcml6b250YWwocGFkZGluZywgJHN0YXJ0LCAkZW5kKTtcbn1cblxuLy8gQWRkIHBhZGRpbmcgZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHRvcFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkYm90dG9tXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcGFkZGluZygkdG9wLCAkZW5kOiAkdG9wLCAkYm90dG9tOiAkdG9wLCAkc3RhcnQ6ICRlbmQpIHtcbiAgQGluY2x1ZGUgcHJvcGVydHkocGFkZGluZywgJHRvcCwgJGVuZCwgJGJvdHRvbSwgJHN0YXJ0KTtcbn1cblxuLy8gQWRkIG1hcmdpbiBob3Jpem9udGFsXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIG1hcmdpbi1ob3Jpem9udGFsKCRzdGFydCwgJGVuZDogJHN0YXJ0KSB7XG4gIEBpbmNsdWRlIHByb3BlcnR5LWhvcml6b250YWwobWFyZ2luLCAkc3RhcnQsICRlbmQpO1xufVxuXG4vLyBBZGQgbWFyZ2luIGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICR0b3Bcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyBAcGFyYW0ge3N0cmluZ30gJGJvdHRvbVxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIG1hcmdpbigkdG9wLCAkZW5kOiAkdG9wLCAkYm90dG9tOiAkdG9wLCAkc3RhcnQ6ICRlbmQpIHtcbiAgQGluY2x1ZGUgcHJvcGVydHkobWFyZ2luLCAkdG9wLCAkZW5kLCAkYm90dG9tLCAkc3RhcnQpO1xufVxuXG4vLyBBZGQgcG9zaXRpb24gaG9yaXpvbnRhbFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydCAtIGFtb3VudCB0byBwb3NpdGlvbiBzdGFydFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmQgLSBhbW91bnQgdG8gbGVmdDogMDsgZW5kXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcG9zaXRpb24taG9yaXpvbnRhbCgkc3RhcnQ6IG51bGwsICRlbmQ6IG51bGwpIHtcbiAgQGlmICRzdGFydCA9PSAkZW5kIHtcbiAgICBAaW5jbHVkZSBtdWx0aS1kaXIoKSB7XG4gICAgICBsZWZ0OiAkc3RhcnQ7XG4gICAgICByaWdodDogJGVuZDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgICYge1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6ICRzdGFydDtcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogJGVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkIHBvc2l0aW9uIGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICR0b3Bcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyBAcGFyYW0ge3N0cmluZ30gJGJvdHRvbVxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHBvc2l0aW9uKCR0b3A6IG51bGwsICRlbmQ6IG51bGwsICRib3R0b206IG51bGwsICRzdGFydDogbnVsbCkge1xuICBAaW5jbHVkZSBwb3NpdGlvbi1ob3Jpem9udGFsKCRzdGFydCwgJGVuZCk7XG4gIHRvcDogJHRvcDtcbiAgYm90dG9tOiAkYm90dG9tO1xufVxuXG4vLyBBZGQgYm9yZGVyIGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICR0b3Bcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyBAcGFyYW0ge3N0cmluZ30gJGJvdHRvbVxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGJvcmRlcigkdG9wLCAkZW5kOiAkdG9wLCAkYm90dG9tOiAkdG9wLCAkc3RhcnQ6ICRlbmQpIHtcbiAgQGluY2x1ZGUgcHJvcGVydHkoYm9yZGVyLCAkdG9wLCAkZW5kLCAkYm90dG9tLCAkc3RhcnQpO1xufVxuXG4vLyBBZGQgYm9yZGVyIHJhZGl1cyBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wLXN0YXJ0XG4vLyBAcGFyYW0ge3N0cmluZ30gJHRvcC1lbmRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkYm90dG9tLWVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b20tc3RhcnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBib3JkZXItcmFkaXVzKCR0b3Atc3RhcnQsICR0b3AtZW5kOiAkdG9wLXN0YXJ0LCAkYm90dG9tLWVuZDogJHRvcC1zdGFydCwgJGJvdHRvbS1zdGFydDogJHRvcC1lbmQpIHtcbiAgQGlmICR0b3Atc3RhcnQgPT0gJHRvcC1lbmQgYW5kICR0b3Atc3RhcnQgPT0gJGJvdHRvbS1lbmQgYW5kICR0b3Atc3RhcnQgPT0gJGJvdHRvbS1zdGFydCB7XG4gICAgYm9yZGVyLXJhZGl1czogJHRvcC1zdGFydDtcbiAgfSBAZWxzZSB7XG4gICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogJHRvcC1zdGFydDtcbiAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogJHRvcC1lbmQ7XG4gICAgYm9yZGVyLWVuZC1lbmQtcmFkaXVzOiAkYm90dG9tLWVuZDtcbiAgICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogJGJvdHRvbS1zdGFydDtcbiAgfVxufVxuXG4vLyBBZGQgZGlyZWN0aW9uIGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICRkaXIgLSBEaXJlY3Rpb24gb24gTFRSXG5AbWl4aW4gZGlyZWN0aW9uKCRkaXIpIHtcbiAgJG90aGVyLWRpcjogbnVsbDtcblxuICBAaWYgJGRpciA9PSBsdHIge1xuICAgICRvdGhlci1kaXI6IHJ0bDtcbiAgfSBAZWxzZSB7XG4gICAgJG90aGVyLWRpcjogbHRyO1xuICB9XG5cbiAgQGluY2x1ZGUgbHRyKCkge1xuICAgIGRpcmVjdGlvbjogJGRpcjtcbiAgfVxuICBAaW5jbHVkZSBydGwoKSB7XG4gICAgZGlyZWN0aW9uOiAkb3RoZXItZGlyO1xuICB9XG59XG5cbi8vIEFkZCBmbG9hdCBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkc2lkZVxuLy8gQHBhcmFtIHtzdHJpbmd9ICRkZWNvcmF0b3IgLSAhaW1wb3J0YW50XG5AbWl4aW4gZmxvYXQoJHNpZGUsICRkZWNvcmF0b3I6IG51bGwpIHtcbiAgQGlmICRzaWRlID09IHN0YXJ0IHtcbiAgICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgICBmbG9hdDogbGVmdCAkZGVjb3JhdG9yO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICBmbG9hdDogcmlnaHQgJGRlY29yYXRvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJHNpZGUgPT0gZW5kIHtcbiAgICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgICBmbG9hdDogcmlnaHQgJGRlY29yYXRvcjtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgZmxvYXQ6IGxlZnQgJGRlY29yYXRvcjtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIG11bHRpLWRpcigpIHtcbiAgICAgIGZsb2F0OiAkc2lkZSAkZGVjb3JhdG9yO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYmFja2dyb3VuZC1wb3NpdGlvbigkaG9yaXpvbnRhbCwgJGhvcml6b250YWwtYW1vdW50OiBudWxsLCAkdmVydGljYWw6IG51bGwsICR2ZXJ0aWNhbC1hbW91bnQ6IG51bGwpIHtcbiAgQGlmICRob3Jpem9udGFsID09IHN0YXJ0IG9yICRob3Jpem9udGFsID09IGVuZCB7XG4gICAgJGhvcml6b250YWwtbHRyOiBudWxsO1xuICAgICRob3Jpem9udGFsLXJ0bDogbnVsbDtcbiAgICBAaWYgJGhvcml6b250YWwgPT0gc3RhcnQge1xuICAgICAgJGhvcml6b250YWwtbHRyOiBsZWZ0O1xuICAgICAgJGhvcml6b250YWwtcnRsOiByaWdodDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRob3Jpem9udGFsLWx0cjogcmlnaHQ7XG4gICAgICAkaG9yaXpvbnRhbC1ydGw6IGxlZnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbHRyKCkge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGhvcml6b250YWwtbHRyICRob3Jpem9udGFsLWFtb3VudCAkdmVydGljYWwgJHZlcnRpY2FsLWFtb3VudDtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGhvcml6b250YWwtcnRsICRob3Jpem9udGFsLWFtb3VudCAkdmVydGljYWwgJHZlcnRpY2FsLWFtb3VudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIG11bHRpLWRpcigpIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRob3Jpem9udGFsICRob3Jpem9udGFsLWFtb3VudCAkdmVydGljYWwgJHZlcnRpY2FsLWFtb3VudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJHgtYXhpcywgJHktYXhpczogbnVsbCkge1xuICBAaWYgJHgtYXhpcyA9PSBzdGFydCB7XG4gICAgQGluY2x1ZGUgbHRyKCkge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCAkeS1heGlzO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCAkeS1heGlzO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkeC1heGlzID09IGVuZCB7XG4gICAgQGluY2x1ZGUgbHRyKCkge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgJHktYXhpcztcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCAkeS1heGlzO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkeC1heGlzID09IGxlZnQgb3IgJHgtYXhpcyA9PSByaWdodCB7XG4gICAgQGluY2x1ZGUgbXVsdGktZGlyKCkge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogJHgtYXhpcyAkeS1heGlzO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgbHRyKCkge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogJHgtYXhpcyAkeS1heGlzO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjYWxjKDEwMCUgLSAjeyR4LWF4aXN9KSAkeS1heGlzO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGQgdHJhbnNmb3JtIGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICR0cmFuc2Zvcm1zIC0gY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgdHJhbnNmb3Jtc1xuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcy4uLikge1xuICAkZXh0cmE6IG51bGw7XG5cbiAgJHg6IG51bGw7XG4gICRsdHItdHJhbnNsYXRlOiBudWxsO1xuICAkcnRsLXRyYW5zbGF0ZTogbnVsbDtcblxuICBAZWFjaCAkdHJhbnNmb3JtIGluICR0cmFuc2Zvcm1zIHtcbiAgICBAaWYgKHN0ci1pbmRleCgkdHJhbnNmb3JtLCB0cmFuc2xhdGUzZCkpIHtcbiAgICAgICR0cmFuc2Zvcm06IHN0ci1yZXBsYWNlKCR0cmFuc2Zvcm0sICd0cmFuc2xhdGUzZCgnKTtcbiAgICAgICR0cmFuc2Zvcm06IHN0ci1yZXBsYWNlKCR0cmFuc2Zvcm0sICcpJyk7XG5cbiAgICAgICRjb29yZGluYXRlczogc3RyLXNwbGl0KCR0cmFuc2Zvcm0sICcsJyk7XG5cbiAgICAgICR4OiBudGgoJGNvb3JkaW5hdGVzLCAxKTtcbiAgICAgICR5OiBudGgoJGNvb3JkaW5hdGVzLCAyKTtcbiAgICAgICR6OiBudGgoJGNvb3JkaW5hdGVzLCAzKTtcblxuICAgICAgJGx0ci10cmFuc2xhdGU6IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xuICAgICAgJHJ0bC10cmFuc2xhdGU6IHRyYW5zbGF0ZTNkKGNhbGMoLTEgKiAjeyR4fSksICR5LCAkeik7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgJGV4dHJhID09IG51bGwge1xuICAgICAgICAkZXh0cmE6ICR0cmFuc2Zvcm07XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGV4dHJhOiAkZXh0cmEgJHRyYW5zZm9ybTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHggPT0gJzAnIG9yICR4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG11bHRpLWRpcigpIHtcbiAgICAgIHRyYW5zZm9ybTogJGx0ci10cmFuc2xhdGUgJGV4dHJhO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgbHRyKCkge1xuICAgICAgdHJhbnNmb3JtOiAkbHRyLXRyYW5zbGF0ZSAkZXh0cmE7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgdHJhbnNmb3JtOiAkcnRsLXRyYW5zbGF0ZSAkZXh0cmE7XG4gICAgfVxuICB9XG59XG4iLCAiQGltcG9ydCBcIi4uL3RoZW1lcy9pb25pYy5nbG9iYWxzXCI7XG5AaW1wb3J0IFwiLi4vdGhlbWVzL2lvbmljLm1peGluc1wiO1xuXG5cbi8vIEVsZW1lbnQgU3BhY2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDcmVhdGVzIHBhZGRpbmcgYW5kIG1hcmdpbiBhdHRyaWJ1dGVzIHRvIGJlIHVzZWQgb25cbi8vIGFueSBlbGVtZW50XG5cbiRwYWRkaW5nOiB2YXIoLS1pb24tcGFkZGluZywgMTZweCk7XG4kbWFyZ2luOiB2YXIoLS1pb24tbWFyZ2luLCAxNnB4KTtcblxuLy8gUGFkZGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmlvbi1uby1wYWRkaW5nIHtcbiAgLS1wYWRkaW5nLXN0YXJ0OiAwO1xuICAtLXBhZGRpbmctZW5kOiAwO1xuICAtLXBhZGRpbmctdG9wOiAwO1xuICAtLXBhZGRpbmctYm90dG9tOiAwO1xuXG4gIEBpbmNsdWRlIHBhZGRpbmcoMCk7XG59XG5cbi5pb24tcGFkZGluZyB7XG4gIC0tcGFkZGluZy1zdGFydDogI3skcGFkZGluZ307XG4gIC0tcGFkZGluZy1lbmQ6ICN7JHBhZGRpbmd9O1xuICAtLXBhZGRpbmctdG9wOiAjeyRwYWRkaW5nfTtcbiAgLS1wYWRkaW5nLWJvdHRvbTogI3skcGFkZGluZ307XG5cbiAgQGluY2x1ZGUgcGFkZGluZygkcGFkZGluZyk7XG59XG5cbi5pb24tcGFkZGluZy10b3Age1xuICAtLXBhZGRpbmctdG9wOiAjeyRwYWRkaW5nfTtcblxuICBAaW5jbHVkZSBwYWRkaW5nKCRwYWRkaW5nLCBudWxsLCBudWxsLCBudWxsKTtcbn1cblxuLmlvbi1wYWRkaW5nLXN0YXJ0IHtcbiAgLS1wYWRkaW5nLXN0YXJ0OiAjeyRwYWRkaW5nfTtcblxuICBAaW5jbHVkZSBwYWRkaW5nLWhvcml6b250YWwoJHBhZGRpbmcsIG51bGwpO1xufVxuXG4uaW9uLXBhZGRpbmctZW5kIHtcbiAgLS1wYWRkaW5nLWVuZDogI3skcGFkZGluZ307XG5cbiAgQGluY2x1ZGUgcGFkZGluZy1ob3Jpem9udGFsKG51bGwsICRwYWRkaW5nKTtcbn1cblxuLmlvbi1wYWRkaW5nLWJvdHRvbSB7XG4gIC0tcGFkZGluZy1ib3R0b206ICN7JHBhZGRpbmd9O1xuXG4gIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgbnVsbCwgJHBhZGRpbmcsIG51bGwpO1xufVxuXG4uaW9uLXBhZGRpbmctdmVydGljYWwge1xuICAtLXBhZGRpbmctdG9wOiAjeyRwYWRkaW5nfTtcbiAgLS1wYWRkaW5nLWJvdHRvbTogI3skcGFkZGluZ307XG5cbiAgQGluY2x1ZGUgcGFkZGluZygkcGFkZGluZywgbnVsbCwgJHBhZGRpbmcsIG51bGwpO1xufVxuXG4uaW9uLXBhZGRpbmctaG9yaXpvbnRhbCB7XG4gIC0tcGFkZGluZy1zdGFydDogI3skcGFkZGluZ307XG4gIC0tcGFkZGluZy1lbmQ6ICN7JHBhZGRpbmd9O1xuXG4gIEBpbmNsdWRlIHBhZGRpbmctaG9yaXpvbnRhbCgkcGFkZGluZyk7XG59XG5cblxuLy8gTWFyZ2luXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaW9uLW5vLW1hcmdpbiB7XG4gIC0tbWFyZ2luLXN0YXJ0OiAwO1xuICAtLW1hcmdpbi1lbmQ6IDA7XG4gIC0tbWFyZ2luLXRvcDogMDtcbiAgLS1tYXJnaW4tYm90dG9tOiAwO1xuXG4gIEBpbmNsdWRlIG1hcmdpbigwKTtcbn1cblxuLmlvbi1tYXJnaW4ge1xuICAtLW1hcmdpbi1zdGFydDogI3skbWFyZ2lufTtcbiAgLS1tYXJnaW4tZW5kOiAjeyRtYXJnaW59O1xuICAtLW1hcmdpbi10b3A6ICN7JG1hcmdpbn07XG4gIC0tbWFyZ2luLWJvdHRvbTogI3skbWFyZ2lufTtcblxuICBAaW5jbHVkZSBtYXJnaW4oJG1hcmdpbik7XG59XG5cbi5pb24tbWFyZ2luLXRvcCB7XG4gIC0tbWFyZ2luLXRvcDogI3skbWFyZ2lufTtcblxuICBAaW5jbHVkZSBtYXJnaW4oJG1hcmdpbiwgbnVsbCwgbnVsbCwgbnVsbCk7XG59XG5cbi5pb24tbWFyZ2luLXN0YXJ0IHtcbiAgLS1tYXJnaW4tc3RhcnQ6ICN7JG1hcmdpbn07XG5cbiAgQGluY2x1ZGUgbWFyZ2luLWhvcml6b250YWwoJG1hcmdpbiwgbnVsbCk7XG59XG5cbi5pb24tbWFyZ2luLWVuZCB7XG4gIC0tbWFyZ2luLWVuZDogI3skbWFyZ2lufTtcblxuICBAaW5jbHVkZSBtYXJnaW4taG9yaXpvbnRhbChudWxsLCAkbWFyZ2luKTtcbn1cblxuLmlvbi1tYXJnaW4tYm90dG9tIHtcbiAgLS1tYXJnaW4tYm90dG9tOiAjeyRtYXJnaW59O1xuXG4gIEBpbmNsdWRlIG1hcmdpbihudWxsLCBudWxsLCAkbWFyZ2luLCBudWxsKTtcbn1cblxuLmlvbi1tYXJnaW4tdmVydGljYWwge1xuICAtLW1hcmdpbi10b3A6ICN7JG1hcmdpbn07XG4gIC0tbWFyZ2luLWJvdHRvbTogI3skbWFyZ2lufTtcblxuICBAaW5jbHVkZSBtYXJnaW4oJG1hcmdpbiwgbnVsbCwgJG1hcmdpbiwgbnVsbCk7XG59XG5cbi5pb24tbWFyZ2luLWhvcml6b250YWwge1xuICAtLW1hcmdpbi1zdGFydDogI3skbWFyZ2lufTtcbiAgLS1tYXJnaW4tZW5kOiAjeyRtYXJnaW59O1xuXG4gIEBpbmNsdWRlIG1hcmdpbi1ob3Jpem9udGFsKCRtYXJnaW4pO1xufVxuIiwgIlxuLyoqXG4gKiBBIGhldXJpc3RpYyB0aGF0IGFwcGxpZXMgQ1NTIHRvIHRhYmxldFxuICogdmlld3BvcnRzLlxuICpcbiAqIFVzYWdlOlxuICogQGluY2x1ZGUgdGFibGV0LXZpZXdwb3J0KCkge1xuICogICA6aG9zdCB7XG4gKiAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XG4gKiAgIH1cbiAqIH1cbiAqL1xuQG1peGluIHRhYmxldC12aWV3cG9ydCgpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vKipcbiAqIEEgaGV1cmlzdGljIHRoYXQgYXBwbGllcyBDU1MgdG8gbW9iaWxlXG4gKiB2aWV3cG9ydHMgKGkuZS4gcGhvbmVzLCBub3QgdGFibGV0cykuXG4gKlxuICogVXNhZ2U6XG4gKiBAaW5jbHVkZSBtb2JpbGUtdmlld3BvcnQoKSB7XG4gKiAgIDpob3N0IHtcbiAqICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlO1xuICogICB9XG4gKiB9XG4gKi9cbkBtaXhpbiBtb2JpbGUtdmlld3BvcnQoKSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGlucHV0LWNvdmVyKCkge1xuICBAaW5jbHVkZSBwb3NpdGlvbigwLCBudWxsLCBudWxsLCAwKTtcbiAgQGluY2x1ZGUgbWFyZ2luKDApO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuXG4gICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuKCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcblxuICBvcGFjaXR5OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5AbWl4aW4gdGV4dC1pbmhlcml0KCkge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC1pbmRlbnQ6IGluaGVyaXQ7XG4gIHRleHQtb3ZlcmZsb3c6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBidXR0b24tc3RhdGUoKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKDAsIDAsIDAsIDApO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICBjb250ZW50OiBcIlwiO1xuXG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vIEZvbnQgc21vb3RoaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG4vLyBHZXQgdGhlIGtleSBmcm9tIGEgbWFwIGJhc2VkIG9uIHRoZSBpbmRleFxuQGZ1bmN0aW9uIGluZGV4LXRvLWtleSgkbWFwLCAkaW5kZXgpIHtcbiAgJGtleXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gIEByZXR1cm4gbnRoKCRrZXlzLCAkaW5kZXgpO1xufVxuXG5cbi8vIEJyZWFrcG9pbnQgTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRzY3JlZW4tYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkc2NyZWVuLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG5cbiAgQHJldHVybiBpZigkbmFtZSAhPSBpbmRleC10by1rZXkoJGJyZWFrcG9pbnRzLCAxKSwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW5mcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkc2NyZWVuLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkc2NyZWVuLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vL1xuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlx0Ly8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcdC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRzY3JlZW4tYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkc2NyZWVuLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuXG4vLyBUZXh0IERpcmVjdGlvbiAtIGx0ciAvIHJ0bFxuLy9cbi8vIENTUyBkZWZhdWx0cyB0byB1c2UgdGhlIGx0ciBjc3MsIGFuZCBhZGRzIFtkaXI9cnRsXSBzZWxlY3RvcnNcbi8vIHRvIG92ZXJyaWRlIGx0ciBkZWZhdWx0cy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIG11bHRpLWRpcigpIHtcbiAgQGNvbnRlbnQ7XG5cbiAgLy8gJHJvb3Q6ICN7Jn07XG4gIC8vIEBhdC1yb290IFtkaXJdIHtcbiAgLy8gICAjeyRyb290fSB7XG4gIC8vICAgICBAY29udGVudDtcbiAgLy8gICB9XG4gIC8vIH1cbn1cblxuQG1peGluIHJ0bCgpIHtcbiAgJHJvb3Q6ICN7Jn07XG5cbiAgJHJvb3RTcGxpdDogc3RyLXNwbGl0KCRyb290LCBcIixcIik7XG4gICRzZWxlY3RvcnM6ICN7YWRkLXJvb3Qtc2VsZWN0b3IoJHJvb3QsIFwiW2Rpcj1ydGxdXCIpfTtcbiAgJHNlbGVjdG9yc1NwbGl0OiBzdHItc3BsaXQoJHNlbGVjdG9ycywgXCIsXCIpO1xuXG4gICRob3N0Q29udGV4dFNlbGVjdG9yczogKCk7XG4gICRyZXN0U2VsZWN0b3JzOiAoKTtcbiAgJGRpclNlbGVjdG9yczogKCk7XG5cbiAgLy8gU2VsZWN0b3JzIG11c3QgYmUgc3BsaXQgaW50byBpbmRpdmlkdWFsIHNlbGVjdG9ycyBpbiBjYXNlIHRoZSBicm93c2VyXG4gIC8vIGRvZXNuJ3Qgc3VwcG9ydCBhIHNwZWNpZmljIHNlbGVjdG9yLlxuICAvLyBGb3IgZXhhbXBsZSwgRmlyZWZveCBhbmQgU2FmYXJpIGRvZXNuJ3Qgc3VwcG9ydCBgOmhvc3QtY29udGV4dCgpYC5cbiAgLy8gSWYgYW4gaW52YWxpZCBzZWxlY3RvciBpcyB1c2VkLCB0aGVuIHRoZSBlbnRpcmUgZ3JvdXAgb2Ygc2VsZWN0b3JzXG4gIC8vIHdpbGwgYmUgaWdub3JlZC5cbiAgLy8gQGxpbmsgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlbGVjdG9ycy0zLyNncm91cGluZ1xuICBAZWFjaCAkc2VsZWN0b3IgaW4gJHNlbGVjdG9yc1NwbGl0IHtcbiAgICAvLyBHcm91cCB0aGUgc2VsZWN0b3JzIGJhY2sgaW50byBhIHNpbmdsZSBzZWxlY3RvciB0byBvcHRpbWl6ZSB0aGUgb3V0cHV0LlxuICAgIEBpZiBzdHItaW5kZXgoJHNlbGVjdG9yLCBcIjpob3N0LWNvbnRleHRcIikge1xuICAgICAgJGhvc3RDb250ZXh0U2VsZWN0b3JzOiBhcHBlbmQoJGhvc3RDb250ZXh0U2VsZWN0b3JzLCAkc2VsZWN0b3IsIGNvbW1hKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEdyb3VwIHRoZSBzZWxlY3RvcnMgYmFjayBpbnRvIGEgc2luZ2xlIHNlbGVjdG9yIHRvIG9wdGltaXplIHRoZSBvdXRwdXQuXG4gICAgICAkcmVzdFNlbGVjdG9yczogYXBwZW5kKCRyZXN0U2VsZWN0b3JzLCAkc2VsZWN0b3IsIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICAvLyBTdXBwb3J0ZWQgYnkgQ2hyb21lLlxuICBAaWYgbGVuZ3RoKCRob3N0Q29udGV4dFNlbGVjdG9ycykgPiAwIHtcbiAgICBAYXQtcm9vdCAjeyRob3N0Q29udGV4dFNlbGVjdG9yc30ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gU3VwcG9ydGVkIGJ5IGFsbCBicm93c2Vycy5cbiAgQGlmIGxlbmd0aCgkcmVzdFNlbGVjdG9ycykgPiAwIHtcbiAgICBAYXQtcm9vdCAjeyRyZXN0U2VsZWN0b3JzfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBJZiBicm93c2VyIGNhbiBzdXBwb3J0IGA6ZGlyKClgLCB0aGVuIGFkZCB0aGUgYDpkaXIoKWAgc2VsZWN0b3JzLlxuICBAc3VwcG9ydHMgc2VsZWN0b3IoOmRpcihydGwpKSB7XG4gICAgLy8gQWRkaW5nIDpkaXIoKSBpbiBjYXNlIHRoZSBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBgOmhvc3QtY29udGV4dCgpYCBhbmQgZG9lcyBzdXBwb3J0IGA6ZGlyKClgLlxuICAgIC8vIGA6aG9zdC1jb250ZXh0KClgIGlzIGFkZGVkOlxuICAgIC8vIC0gdGhyb3VnaCB0aGUgYGFkZC1yb290LXNlbGVjdG9yKClgIGZ1bmN0aW9uLlxuICAgIC8vIC0gZmlyc3Qgc28gdGhhdCBpdCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgYDpkaXIoKWAuXG4gICAgLy8gRm9yIGV4YW1wbGUsXG4gICAgLy8gLSBGaXJlZm94IGRvZXNuJ3Qgc3VwcG9ydCBgOmhvc3QtY29udGV4dCgpYCwgYnV0IGRvZXMgc3VwcG9ydCBgOmRpcigpYC5cbiAgICAvLyAtIFNhZmFyaSBkb2Vzbid0IHN1cHBvcnQgYDpob3N0LWNvbnRleHQoKWAsIGJ1dCBTYWZhcmkgMTYuNCsgc3VwcG9ydHMgYDpkaXIoKWBcbiAgICAvLyBAbGluayBodHRwczovL3dlYmtpdC5vcmcvYmxvZy8xMzk2Ni93ZWJraXQtZmVhdHVyZXMtaW4tc2FmYXJpLTE2LTQvXG4gICAgLy8gLS0gSG93ZXZlciwgdGhlcmUgaXMgYSBXZWJraXQgYnVnIG9uIHYxNiB0aGF0IHByZXZlbnRzIGA6ZGlyKClgIGZyb20gd29ya2luZyB3aGVuXG4gICAgLy8gLS0gdGhlIGFwcCBkaXJlY3Rpb24gaXMgY2hhbmdlZCBkeW5hbWljYWxseS4gdjE3KyB3b3JrcyBmaW5lLlxuICAgIC8vIC0tIEBsaW5rIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTcxMzNcblxuICAgIC8vIFN1cHBvcnRlZCBieSBGaXJlZm94LlxuICAgIEBhdC1yb290ICN7YWRkLXJvb3Qtc2VsZWN0b3IoJHJvb3QsIFwiOmRpcihydGwpXCIsIGZhbHNlKX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsdHIoKSB7XG4gIEBjb250ZW50O1xufVxuXG5cbi8vIFNWRyBCYWNrZ3JvdW5kIEltYWdlIE1peGluXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN2Z1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHN2Zy1iYWNrZ3JvdW5kLWltYWdlKCRzdmcsICRmbGlwLXJ0bDogZmFsc2UpIHtcbiAgJHVybDogdXJsLWVuY29kZSgkc3ZnKTtcbiAgJHZpZXdCb3g6IHN0ci1zcGxpdChzdHItZXh0cmFjdCgkc3ZnLCBcInZpZXdCb3g9J1wiLCBcIidcIiksIFwiIFwiKTtcblxuICBAaWYgJGZsaXAtcnRsICE9IHRydWUgb3IgJHZpZXdCb3ggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbXVsdGktZGlyKCkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsI3skdXJsfVwiKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICR0cmFuc2Zvcm06IFwidHJhbnNmb3JtPSd0cmFuc2xhdGUoI3tudGgoJHZpZXdCb3gsIDMpfSwgMCkgc2NhbGUoLTEsIDEpJ1wiO1xuICAgICRmbGlwcGVkLXVybDogJHN2ZztcbiAgICAkZmxpcHBlZC11cmw6IHN0ci1yZXBsYWNlKCRmbGlwcGVkLXVybCwgXCI8cGF0aFwiLCBcIjxwYXRoICN7JHRyYW5zZm9ybX1cIik7XG4gICAgJGZsaXBwZWQtdXJsOiBzdHItcmVwbGFjZSgkZmxpcHBlZC11cmwsIFwiPGxpbmVcIiwgXCI8bGluZSAjeyR0cmFuc2Zvcm19XCIpO1xuICAgICRmbGlwcGVkLXVybDogc3RyLXJlcGxhY2UoJGZsaXBwZWQtdXJsLCBcIjxwb2x5Z29uXCIsIFwiPHBvbHlnb24gI3skdHJhbnNmb3JtfVwiKTtcbiAgICAkZmxpcHBlZC11cmw6IHVybC1lbmNvZGUoJGZsaXBwZWQtdXJsKTtcblxuICAgIEBpbmNsdWRlIGx0ciAoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwjeyR1cmx9XCIpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwjeyRmbGlwcGVkLXVybH1cIik7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZCBwcm9wZXJ0eSBob3Jpem9udGFsXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHByb3BlcnR5LWhvcml6b250YWwoJHByb3AsICRzdGFydCwgJGVuZDogJHN0YXJ0KSB7XG4gIEBpZiAkc3RhcnQgPT0gMCBhbmQgJGVuZCA9PSAwIHtcbiAgICAjeyRwcm9wfS1sZWZ0OiAkc3RhcnQ7XG4gICAgI3skcHJvcH0tcmlnaHQ6ICRlbmQ7XG5cbiAgfSBAZWxzZSB7XG4gICAgLXdlYmtpdC0jeyRwcm9wfS1zdGFydDogJHN0YXJ0O1xuICAgICN7JHByb3B9LWlubGluZS1zdGFydDogJHN0YXJ0O1xuICAgIC13ZWJraXQtI3skcHJvcH0tZW5kOiAkZW5kO1xuICAgICN7JHByb3B9LWlubGluZS1lbmQ6ICRlbmQ7XG4gIH1cbn1cblxuLy8gQWRkIHByb3BlcnR5IGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICRwcm9wXG4vLyBAcGFyYW0ge3N0cmluZ30gJHRvcFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkYm90dG9tXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyBAcGFyYW0ge2Jvb2xlYW59ICRjb250ZW50IGluY2x1ZGUgY29udGVudCBvciB1c2UgZGVmYXVsdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHByb3BlcnR5KCRwcm9wLCAkdG9wLCAkZW5kOiAkdG9wLCAkYm90dG9tOiAkdG9wLCAkc3RhcnQ6ICRlbmQpIHtcbiAgQGluY2x1ZGUgcHJvcGVydHktaG9yaXpvbnRhbCgkcHJvcCwgJHN0YXJ0LCAkZW5kKTtcbiAgI3skcHJvcH0tdG9wOiAkdG9wO1xuICAjeyRwcm9wfS1ib3R0b206ICRib3R0b207XG59XG5cbi8vIEFkZCBwYWRkaW5nIGhvcml6b250YWxcbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcGFkZGluZy1ob3Jpem9udGFsKCRzdGFydCwgJGVuZDogJHN0YXJ0KSB7XG4gIEBpbmNsdWRlIHByb3BlcnR5LWhvcml6b250YWwocGFkZGluZywgJHN0YXJ0LCAkZW5kKTtcbn1cblxuLy8gQWRkIHBhZGRpbmcgZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHRvcFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkYm90dG9tXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcGFkZGluZygkdG9wLCAkZW5kOiAkdG9wLCAkYm90dG9tOiAkdG9wLCAkc3RhcnQ6ICRlbmQpIHtcbiAgQGluY2x1ZGUgcHJvcGVydHkocGFkZGluZywgJHRvcCwgJGVuZCwgJGJvdHRvbSwgJHN0YXJ0KTtcbn1cblxuLy8gQWRkIG1hcmdpbiBob3Jpem9udGFsXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIG1hcmdpbi1ob3Jpem9udGFsKCRzdGFydCwgJGVuZDogJHN0YXJ0KSB7XG4gIEBpbmNsdWRlIHByb3BlcnR5LWhvcml6b250YWwobWFyZ2luLCAkc3RhcnQsICRlbmQpO1xufVxuXG4vLyBBZGQgbWFyZ2luIGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICR0b3Bcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyBAcGFyYW0ge3N0cmluZ30gJGJvdHRvbVxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIG1hcmdpbigkdG9wLCAkZW5kOiAkdG9wLCAkYm90dG9tOiAkdG9wLCAkc3RhcnQ6ICRlbmQpIHtcbiAgQGluY2x1ZGUgcHJvcGVydHkobWFyZ2luLCAkdG9wLCAkZW5kLCAkYm90dG9tLCAkc3RhcnQpO1xufVxuXG4vLyBBZGQgcG9zaXRpb24gaG9yaXpvbnRhbFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydCAtIGFtb3VudCB0byBwb3NpdGlvbiBzdGFydFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmQgLSBhbW91bnQgdG8gbGVmdDogMDsgZW5kXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcG9zaXRpb24taG9yaXpvbnRhbCgkc3RhcnQ6IG51bGwsICRlbmQ6IG51bGwpIHtcbiAgQGlmICRzdGFydCA9PSAkZW5kIHtcbiAgICBAaW5jbHVkZSBtdWx0aS1kaXIoKSB7XG4gICAgICBsZWZ0OiAkc3RhcnQ7XG4gICAgICByaWdodDogJGVuZDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgICYge1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6ICRzdGFydDtcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogJGVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkIHBvc2l0aW9uIGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICR0b3Bcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyBAcGFyYW0ge3N0cmluZ30gJGJvdHRvbVxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHBvc2l0aW9uKCR0b3A6IG51bGwsICRlbmQ6IG51bGwsICRib3R0b206IG51bGwsICRzdGFydDogbnVsbCkge1xuICBAaW5jbHVkZSBwb3NpdGlvbi1ob3Jpem9udGFsKCRzdGFydCwgJGVuZCk7XG4gIHRvcDogJHRvcDtcbiAgYm90dG9tOiAkYm90dG9tO1xufVxuXG4vLyBBZGQgYm9yZGVyIGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICR0b3Bcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyBAcGFyYW0ge3N0cmluZ30gJGJvdHRvbVxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGJvcmRlcigkdG9wLCAkZW5kOiAkdG9wLCAkYm90dG9tOiAkdG9wLCAkc3RhcnQ6ICRlbmQpIHtcbiAgQGluY2x1ZGUgcHJvcGVydHkoYm9yZGVyLCAkdG9wLCAkZW5kLCAkYm90dG9tLCAkc3RhcnQpO1xufVxuXG4vLyBBZGQgYm9yZGVyIHJhZGl1cyBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wLXN0YXJ0XG4vLyBAcGFyYW0ge3N0cmluZ30gJHRvcC1lbmRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkYm90dG9tLWVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b20tc3RhcnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBib3JkZXItcmFkaXVzKCR0b3Atc3RhcnQsICR0b3AtZW5kOiAkdG9wLXN0YXJ0LCAkYm90dG9tLWVuZDogJHRvcC1zdGFydCwgJGJvdHRvbS1zdGFydDogJHRvcC1lbmQpIHtcbiAgQGlmICR0b3Atc3RhcnQgPT0gJHRvcC1lbmQgYW5kICR0b3Atc3RhcnQgPT0gJGJvdHRvbS1lbmQgYW5kICR0b3Atc3RhcnQgPT0gJGJvdHRvbS1zdGFydCB7XG4gICAgYm9yZGVyLXJhZGl1czogJHRvcC1zdGFydDtcbiAgfSBAZWxzZSB7XG4gICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogJHRvcC1zdGFydDtcbiAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogJHRvcC1lbmQ7XG4gICAgYm9yZGVyLWVuZC1lbmQtcmFkaXVzOiAkYm90dG9tLWVuZDtcbiAgICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogJGJvdHRvbS1zdGFydDtcbiAgfVxufVxuXG4vLyBBZGQgZGlyZWN0aW9uIGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICRkaXIgLSBEaXJlY3Rpb24gb24gTFRSXG5AbWl4aW4gZGlyZWN0aW9uKCRkaXIpIHtcbiAgJG90aGVyLWRpcjogbnVsbDtcblxuICBAaWYgJGRpciA9PSBsdHIge1xuICAgICRvdGhlci1kaXI6IHJ0bDtcbiAgfSBAZWxzZSB7XG4gICAgJG90aGVyLWRpcjogbHRyO1xuICB9XG5cbiAgQGluY2x1ZGUgbHRyKCkge1xuICAgIGRpcmVjdGlvbjogJGRpcjtcbiAgfVxuICBAaW5jbHVkZSBydGwoKSB7XG4gICAgZGlyZWN0aW9uOiAkb3RoZXItZGlyO1xuICB9XG59XG5cbi8vIEFkZCBmbG9hdCBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkc2lkZVxuLy8gQHBhcmFtIHtzdHJpbmd9ICRkZWNvcmF0b3IgLSAhaW1wb3J0YW50XG5AbWl4aW4gZmxvYXQoJHNpZGUsICRkZWNvcmF0b3I6IG51bGwpIHtcbiAgQGlmICRzaWRlID09IHN0YXJ0IHtcbiAgICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgICBmbG9hdDogbGVmdCAkZGVjb3JhdG9yO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICBmbG9hdDogcmlnaHQgJGRlY29yYXRvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJHNpZGUgPT0gZW5kIHtcbiAgICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgICBmbG9hdDogcmlnaHQgJGRlY29yYXRvcjtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgZmxvYXQ6IGxlZnQgJGRlY29yYXRvcjtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIG11bHRpLWRpcigpIHtcbiAgICAgIGZsb2F0OiAkc2lkZSAkZGVjb3JhdG9yO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYmFja2dyb3VuZC1wb3NpdGlvbigkaG9yaXpvbnRhbCwgJGhvcml6b250YWwtYW1vdW50OiBudWxsLCAkdmVydGljYWw6IG51bGwsICR2ZXJ0aWNhbC1hbW91bnQ6IG51bGwpIHtcbiAgQGlmICRob3Jpem9udGFsID09IHN0YXJ0IG9yICRob3Jpem9udGFsID09IGVuZCB7XG4gICAgJGhvcml6b250YWwtbHRyOiBudWxsO1xuICAgICRob3Jpem9udGFsLXJ0bDogbnVsbDtcbiAgICBAaWYgJGhvcml6b250YWwgPT0gc3RhcnQge1xuICAgICAgJGhvcml6b250YWwtbHRyOiBsZWZ0O1xuICAgICAgJGhvcml6b250YWwtcnRsOiByaWdodDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRob3Jpem9udGFsLWx0cjogcmlnaHQ7XG4gICAgICAkaG9yaXpvbnRhbC1ydGw6IGxlZnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbHRyKCkge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGhvcml6b250YWwtbHRyICRob3Jpem9udGFsLWFtb3VudCAkdmVydGljYWwgJHZlcnRpY2FsLWFtb3VudDtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGhvcml6b250YWwtcnRsICRob3Jpem9udGFsLWFtb3VudCAkdmVydGljYWwgJHZlcnRpY2FsLWFtb3VudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIG11bHRpLWRpcigpIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRob3Jpem9udGFsICRob3Jpem9udGFsLWFtb3VudCAkdmVydGljYWwgJHZlcnRpY2FsLWFtb3VudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJHgtYXhpcywgJHktYXhpczogbnVsbCkge1xuICBAaWYgJHgtYXhpcyA9PSBzdGFydCB7XG4gICAgQGluY2x1ZGUgbHRyKCkge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCAkeS1heGlzO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCAkeS1heGlzO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkeC1heGlzID09IGVuZCB7XG4gICAgQGluY2x1ZGUgbHRyKCkge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgJHktYXhpcztcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCAkeS1heGlzO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkeC1heGlzID09IGxlZnQgb3IgJHgtYXhpcyA9PSByaWdodCB7XG4gICAgQGluY2x1ZGUgbXVsdGktZGlyKCkge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogJHgtYXhpcyAkeS1heGlzO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgbHRyKCkge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogJHgtYXhpcyAkeS1heGlzO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjYWxjKDEwMCUgLSAjeyR4LWF4aXN9KSAkeS1heGlzO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGQgdHJhbnNmb3JtIGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICR0cmFuc2Zvcm1zIC0gY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgdHJhbnNmb3Jtc1xuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcy4uLikge1xuICAkZXh0cmE6IG51bGw7XG5cbiAgJHg6IG51bGw7XG4gICRsdHItdHJhbnNsYXRlOiBudWxsO1xuICAkcnRsLXRyYW5zbGF0ZTogbnVsbDtcblxuICBAZWFjaCAkdHJhbnNmb3JtIGluICR0cmFuc2Zvcm1zIHtcbiAgICBAaWYgKHN0ci1pbmRleCgkdHJhbnNmb3JtLCB0cmFuc2xhdGUzZCkpIHtcbiAgICAgICR0cmFuc2Zvcm06IHN0ci1yZXBsYWNlKCR0cmFuc2Zvcm0sICd0cmFuc2xhdGUzZCgnKTtcbiAgICAgICR0cmFuc2Zvcm06IHN0ci1yZXBsYWNlKCR0cmFuc2Zvcm0sICcpJyk7XG5cbiAgICAgICRjb29yZGluYXRlczogc3RyLXNwbGl0KCR0cmFuc2Zvcm0sICcsJyk7XG5cbiAgICAgICR4OiBudGgoJGNvb3JkaW5hdGVzLCAxKTtcbiAgICAgICR5OiBudGgoJGNvb3JkaW5hdGVzLCAyKTtcbiAgICAgICR6OiBudGgoJGNvb3JkaW5hdGVzLCAzKTtcblxuICAgICAgJGx0ci10cmFuc2xhdGU6IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xuICAgICAgJHJ0bC10cmFuc2xhdGU6IHRyYW5zbGF0ZTNkKGNhbGMoLTEgKiAjeyR4fSksICR5LCAkeik7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgJGV4dHJhID09IG51bGwge1xuICAgICAgICAkZXh0cmE6ICR0cmFuc2Zvcm07XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGV4dHJhOiAkZXh0cmEgJHRyYW5zZm9ybTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHggPT0gJzAnIG9yICR4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG11bHRpLWRpcigpIHtcbiAgICAgIHRyYW5zZm9ybTogJGx0ci10cmFuc2xhdGUgJGV4dHJhO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgbHRyKCkge1xuICAgICAgdHJhbnNmb3JtOiAkbHRyLXRyYW5zbGF0ZSAkZXh0cmE7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgdHJhbnNmb3JtOiAkcnRsLXRyYW5zbGF0ZSAkZXh0cmE7XG4gICAgfVxuICB9XG59XG4iLCAiQGltcG9ydCBcIi4uL3RoZW1lcy9pb25pYy5nbG9iYWxzXCI7XG5AaW1wb3J0IFwiLi4vdGhlbWVzL2lvbmljLm1peGluc1wiO1xuXG4vLyBGbG9hdCBFbGVtZW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENyZWF0ZXMgZmxvYXQgY2xhc3NlcyBiYXNlZCBvbiBzY3JlZW4gc2l6ZVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkc2NyZWVuLWJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJHNjcmVlbi1icmVha3BvaW50cyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJHNjcmVlbi1icmVha3BvaW50cykge1xuICAgIC8vIFByb3ZpZGUgYC5pb24tZmxvYXQte2JwfS17c2lkZX1gIGNsYXNzZXMgZm9yIGZsb2F0aW5nIHRoZSBlbGVtZW50IGJhc2VkXG4gICAgLy8gb24gdGhlIGJyZWFrcG9pbnQgYW5kIHNpZGVcbiAgICAuaW9uLWZsb2F0I3skaW5maXh9LWxlZnQge1xuICAgICAgQGluY2x1ZGUgZmxvYXQobGVmdCwgIWltcG9ydGFudCk7XG4gICAgfVxuXG4gICAgLmlvbi1mbG9hdCN7JGluZml4fS1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBmbG9hdChyaWdodCwgIWltcG9ydGFudCk7XG4gICAgfVxuXG4gICAgLmlvbi1mbG9hdCN7JGluZml4fS1zdGFydCB7XG4gICAgICBAaW5jbHVkZSBmbG9hdChzdGFydCwgIWltcG9ydGFudCk7XG4gICAgfVxuXG4gICAgLmlvbi1mbG9hdCN7JGluZml4fS1lbmQge1xuICAgICAgQGluY2x1ZGUgZmxvYXQoZW5kLCAhaW1wb3J0YW50KTtcbiAgICB9XG4gIH1cbn1cbiIsICJcbi8qKlxuICogQSBoZXVyaXN0aWMgdGhhdCBhcHBsaWVzIENTUyB0byB0YWJsZXRcbiAqIHZpZXdwb3J0cy5cbiAqXG4gKiBVc2FnZTpcbiAqIEBpbmNsdWRlIHRhYmxldC12aWV3cG9ydCgpIHtcbiAqICAgOmhvc3Qge1xuICogICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xuICogICB9XG4gKiB9XG4gKi9cbkBtaXhpbiB0YWJsZXQtdmlld3BvcnQoKSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLyoqXG4gKiBBIGhldXJpc3RpYyB0aGF0IGFwcGxpZXMgQ1NTIHRvIG1vYmlsZVxuICogdmlld3BvcnRzIChpLmUuIHBob25lcywgbm90IHRhYmxldHMpLlxuICpcbiAqIFVzYWdlOlxuICogQGluY2x1ZGUgbW9iaWxlLXZpZXdwb3J0KCkge1xuICogICA6aG9zdCB7XG4gKiAgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTtcbiAqICAgfVxuICogfVxuICovXG5AbWl4aW4gbW9iaWxlLXZpZXdwb3J0KCkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBpbnB1dC1jb3ZlcigpIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oMCwgbnVsbCwgbnVsbCwgMCk7XG4gIEBpbmNsdWRlIG1hcmdpbigwKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcblxuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcblxuICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbigpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuQG1peGluIHRleHQtaW5oZXJpdCgpIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtaW5kZW50OiBpbmhlcml0O1xuICB0ZXh0LW92ZXJmbG93OiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gYnV0dG9uLXN0YXRlKCkge1xuICBAaW5jbHVkZSBwb3NpdGlvbigwLCAwLCAwLCAwKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgY29udGVudDogXCJcIjtcblxuICBvcGFjaXR5OiAwO1xufVxuXG4vLyBGb250IHNtb290aGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuLy8gR2V0IHRoZSBrZXkgZnJvbSBhIG1hcCBiYXNlZCBvbiB0aGUgaW5kZXhcbkBmdW5jdGlvbiBpbmRleC10by1rZXkoJG1hcCwgJGluZGV4KSB7XG4gICRrZXlzOiBtYXAta2V5cygkbWFwKTtcblxuICBAcmV0dXJuIG50aCgka2V5cywgJGluZGV4KTtcbn1cblxuXG4vLyBCcmVha3BvaW50IE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkc2NyZWVuLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJHNjcmVlbi1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuXG4gIEByZXR1cm4gaWYoJG5hbWUgIT0gaW5kZXgtdG8ta2V5KCRicmVha3BvaW50cywgMSksICRtaW4sIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJHNjcmVlbi1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJHNjcmVlbi1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy9cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cdC8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXHQvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkc2NyZWVuLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAuMDIsIG51bGwpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJHNjcmVlbi1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cblxuLy8gVGV4dCBEaXJlY3Rpb24gLSBsdHIgLyBydGxcbi8vXG4vLyBDU1MgZGVmYXVsdHMgdG8gdXNlIHRoZSBsdHIgY3NzLCBhbmQgYWRkcyBbZGlyPXJ0bF0gc2VsZWN0b3JzXG4vLyB0byBvdmVycmlkZSBsdHIgZGVmYXVsdHMuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBtdWx0aS1kaXIoKSB7XG4gIEBjb250ZW50O1xuXG4gIC8vICRyb290OiAjeyZ9O1xuICAvLyBAYXQtcm9vdCBbZGlyXSB7XG4gIC8vICAgI3skcm9vdH0ge1xuICAvLyAgICAgQGNvbnRlbnQ7XG4gIC8vICAgfVxuICAvLyB9XG59XG5cbkBtaXhpbiBydGwoKSB7XG4gICRyb290OiAjeyZ9O1xuXG4gICRyb290U3BsaXQ6IHN0ci1zcGxpdCgkcm9vdCwgXCIsXCIpO1xuICAkc2VsZWN0b3JzOiAje2FkZC1yb290LXNlbGVjdG9yKCRyb290LCBcIltkaXI9cnRsXVwiKX07XG4gICRzZWxlY3RvcnNTcGxpdDogc3RyLXNwbGl0KCRzZWxlY3RvcnMsIFwiLFwiKTtcblxuICAkaG9zdENvbnRleHRTZWxlY3RvcnM6ICgpO1xuICAkcmVzdFNlbGVjdG9yczogKCk7XG4gICRkaXJTZWxlY3RvcnM6ICgpO1xuXG4gIC8vIFNlbGVjdG9ycyBtdXN0IGJlIHNwbGl0IGludG8gaW5kaXZpZHVhbCBzZWxlY3RvcnMgaW4gY2FzZSB0aGUgYnJvd3NlclxuICAvLyBkb2Vzbid0IHN1cHBvcnQgYSBzcGVjaWZpYyBzZWxlY3Rvci5cbiAgLy8gRm9yIGV4YW1wbGUsIEZpcmVmb3ggYW5kIFNhZmFyaSBkb2Vzbid0IHN1cHBvcnQgYDpob3N0LWNvbnRleHQoKWAuXG4gIC8vIElmIGFuIGludmFsaWQgc2VsZWN0b3IgaXMgdXNlZCwgdGhlbiB0aGUgZW50aXJlIGdyb3VwIG9mIHNlbGVjdG9yc1xuICAvLyB3aWxsIGJlIGlnbm9yZWQuXG4gIC8vIEBsaW5rIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZWxlY3RvcnMtMy8jZ3JvdXBpbmdcbiAgQGVhY2ggJHNlbGVjdG9yIGluICRzZWxlY3RvcnNTcGxpdCB7XG4gICAgLy8gR3JvdXAgdGhlIHNlbGVjdG9ycyBiYWNrIGludG8gYSBzaW5nbGUgc2VsZWN0b3IgdG8gb3B0aW1pemUgdGhlIG91dHB1dC5cbiAgICBAaWYgc3RyLWluZGV4KCRzZWxlY3RvciwgXCI6aG9zdC1jb250ZXh0XCIpIHtcbiAgICAgICRob3N0Q29udGV4dFNlbGVjdG9yczogYXBwZW5kKCRob3N0Q29udGV4dFNlbGVjdG9ycywgJHNlbGVjdG9yLCBjb21tYSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBHcm91cCB0aGUgc2VsZWN0b3JzIGJhY2sgaW50byBhIHNpbmdsZSBzZWxlY3RvciB0byBvcHRpbWl6ZSB0aGUgb3V0cHV0LlxuICAgICAgJHJlc3RTZWxlY3RvcnM6IGFwcGVuZCgkcmVzdFNlbGVjdG9ycywgJHNlbGVjdG9yLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU3VwcG9ydGVkIGJ5IENocm9tZS5cbiAgQGlmIGxlbmd0aCgkaG9zdENvbnRleHRTZWxlY3RvcnMpID4gMCB7XG4gICAgQGF0LXJvb3QgI3skaG9zdENvbnRleHRTZWxlY3RvcnN9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFN1cHBvcnRlZCBieSBhbGwgYnJvd3NlcnMuXG4gIEBpZiBsZW5ndGgoJHJlc3RTZWxlY3RvcnMpID4gMCB7XG4gICAgQGF0LXJvb3QgI3skcmVzdFNlbGVjdG9yc30ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgYnJvd3NlciBjYW4gc3VwcG9ydCBgOmRpcigpYCwgdGhlbiBhZGQgdGhlIGA6ZGlyKClgIHNlbGVjdG9ycy5cbiAgQHN1cHBvcnRzIHNlbGVjdG9yKDpkaXIocnRsKSkge1xuICAgIC8vIEFkZGluZyA6ZGlyKCkgaW4gY2FzZSB0aGUgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgYDpob3N0LWNvbnRleHQoKWAgYW5kIGRvZXMgc3VwcG9ydCBgOmRpcigpYC5cbiAgICAvLyBgOmhvc3QtY29udGV4dCgpYCBpcyBhZGRlZDpcbiAgICAvLyAtIHRocm91Z2ggdGhlIGBhZGQtcm9vdC1zZWxlY3RvcigpYCBmdW5jdGlvbi5cbiAgICAvLyAtIGZpcnN0IHNvIHRoYXQgaXQgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIGA6ZGlyKClgLlxuICAgIC8vIEZvciBleGFtcGxlLFxuICAgIC8vIC0gRmlyZWZveCBkb2Vzbid0IHN1cHBvcnQgYDpob3N0LWNvbnRleHQoKWAsIGJ1dCBkb2VzIHN1cHBvcnQgYDpkaXIoKWAuXG4gICAgLy8gLSBTYWZhcmkgZG9lc24ndCBzdXBwb3J0IGA6aG9zdC1jb250ZXh0KClgLCBidXQgU2FmYXJpIDE2LjQrIHN1cHBvcnRzIGA6ZGlyKClgXG4gICAgLy8gQGxpbmsgaHR0cHM6Ly93ZWJraXQub3JnL2Jsb2cvMTM5NjYvd2Via2l0LWZlYXR1cmVzLWluLXNhZmFyaS0xNi00L1xuICAgIC8vIC0tIEhvd2V2ZXIsIHRoZXJlIGlzIGEgV2Via2l0IGJ1ZyBvbiB2MTYgdGhhdCBwcmV2ZW50cyBgOmRpcigpYCBmcm9tIHdvcmtpbmcgd2hlblxuICAgIC8vIC0tIHRoZSBhcHAgZGlyZWN0aW9uIGlzIGNoYW5nZWQgZHluYW1pY2FsbHkuIHYxNysgd29ya3MgZmluZS5cbiAgICAvLyAtLSBAbGluayBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU3MTMzXG5cbiAgICAvLyBTdXBwb3J0ZWQgYnkgRmlyZWZveC5cbiAgICBAYXQtcm9vdCAje2FkZC1yb290LXNlbGVjdG9yKCRyb290LCBcIjpkaXIocnRsKVwiLCBmYWxzZSl9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbHRyKCkge1xuICBAY29udGVudDtcbn1cblxuXG4vLyBTVkcgQmFja2dyb3VuZCBJbWFnZSBNaXhpblxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBzdmctYmFja2dyb3VuZC1pbWFnZSgkc3ZnLCAkZmxpcC1ydGw6IGZhbHNlKSB7XG4gICR1cmw6IHVybC1lbmNvZGUoJHN2Zyk7XG4gICR2aWV3Qm94OiBzdHItc3BsaXQoc3RyLWV4dHJhY3QoJHN2ZywgXCJ2aWV3Qm94PSdcIiwgXCInXCIpLCBcIiBcIik7XG5cbiAgQGlmICRmbGlwLXJ0bCAhPSB0cnVlIG9yICR2aWV3Qm94ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG11bHRpLWRpcigpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCN7JHVybH1cIik7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkdHJhbnNmb3JtOiBcInRyYW5zZm9ybT0ndHJhbnNsYXRlKCN7bnRoKCR2aWV3Qm94LCAzKX0sIDApIHNjYWxlKC0xLCAxKSdcIjtcbiAgICAkZmxpcHBlZC11cmw6ICRzdmc7XG4gICAgJGZsaXBwZWQtdXJsOiBzdHItcmVwbGFjZSgkZmxpcHBlZC11cmwsIFwiPHBhdGhcIiwgXCI8cGF0aCAjeyR0cmFuc2Zvcm19XCIpO1xuICAgICRmbGlwcGVkLXVybDogc3RyLXJlcGxhY2UoJGZsaXBwZWQtdXJsLCBcIjxsaW5lXCIsIFwiPGxpbmUgI3skdHJhbnNmb3JtfVwiKTtcbiAgICAkZmxpcHBlZC11cmw6IHN0ci1yZXBsYWNlKCRmbGlwcGVkLXVybCwgXCI8cG9seWdvblwiLCBcIjxwb2x5Z29uICN7JHRyYW5zZm9ybX1cIik7XG4gICAgJGZsaXBwZWQtdXJsOiB1cmwtZW5jb2RlKCRmbGlwcGVkLXVybCk7XG5cbiAgICBAaW5jbHVkZSBsdHIgKCkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsI3skdXJsfVwiKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsI3skZmxpcHBlZC11cmx9XCIpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGQgcHJvcGVydHkgaG9yaXpvbnRhbFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwcm9wZXJ0eS1ob3Jpem9udGFsKCRwcm9wLCAkc3RhcnQsICRlbmQ6ICRzdGFydCkge1xuICBAaWYgJHN0YXJ0ID09IDAgYW5kICRlbmQgPT0gMCB7XG4gICAgI3skcHJvcH0tbGVmdDogJHN0YXJ0O1xuICAgICN7JHByb3B9LXJpZ2h0OiAkZW5kO1xuXG4gIH0gQGVsc2Uge1xuICAgIC13ZWJraXQtI3skcHJvcH0tc3RhcnQ6ICRzdGFydDtcbiAgICAjeyRwcm9wfS1pbmxpbmUtc3RhcnQ6ICRzdGFydDtcbiAgICAtd2Via2l0LSN7JHByb3B9LWVuZDogJGVuZDtcbiAgICAjeyRwcm9wfS1pbmxpbmUtZW5kOiAkZW5kO1xuICB9XG59XG5cbi8vIEFkZCBwcm9wZXJ0eSBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkcHJvcFxuLy8gQHBhcmFtIHtzdHJpbmd9ICR0b3Bcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyBAcGFyYW0ge3N0cmluZ30gJGJvdHRvbVxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gQHBhcmFtIHtib29sZWFufSAkY29udGVudCBpbmNsdWRlIGNvbnRlbnQgb3IgdXNlIGRlZmF1bHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwcm9wZXJ0eSgkcHJvcCwgJHRvcCwgJGVuZDogJHRvcCwgJGJvdHRvbTogJHRvcCwgJHN0YXJ0OiAkZW5kKSB7XG4gIEBpbmNsdWRlIHByb3BlcnR5LWhvcml6b250YWwoJHByb3AsICRzdGFydCwgJGVuZCk7XG4gICN7JHByb3B9LXRvcDogJHRvcDtcbiAgI3skcHJvcH0tYm90dG9tOiAkYm90dG9tO1xufVxuXG4vLyBBZGQgcGFkZGluZyBob3Jpem9udGFsXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHBhZGRpbmctaG9yaXpvbnRhbCgkc3RhcnQsICRlbmQ6ICRzdGFydCkge1xuICBAaW5jbHVkZSBwcm9wZXJ0eS1ob3Jpem9udGFsKHBhZGRpbmcsICRzdGFydCwgJGVuZCk7XG59XG5cbi8vIEFkZCBwYWRkaW5nIGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICR0b3Bcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyBAcGFyYW0ge3N0cmluZ30gJGJvdHRvbVxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHBhZGRpbmcoJHRvcCwgJGVuZDogJHRvcCwgJGJvdHRvbTogJHRvcCwgJHN0YXJ0OiAkZW5kKSB7XG4gIEBpbmNsdWRlIHByb3BlcnR5KHBhZGRpbmcsICR0b3AsICRlbmQsICRib3R0b20sICRzdGFydCk7XG59XG5cbi8vIEFkZCBtYXJnaW4gaG9yaXpvbnRhbFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBtYXJnaW4taG9yaXpvbnRhbCgkc3RhcnQsICRlbmQ6ICRzdGFydCkge1xuICBAaW5jbHVkZSBwcm9wZXJ0eS1ob3Jpem9udGFsKG1hcmdpbiwgJHN0YXJ0LCAkZW5kKTtcbn1cblxuLy8gQWRkIG1hcmdpbiBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wXG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b21cbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBtYXJnaW4oJHRvcCwgJGVuZDogJHRvcCwgJGJvdHRvbTogJHRvcCwgJHN0YXJ0OiAkZW5kKSB7XG4gIEBpbmNsdWRlIHByb3BlcnR5KG1hcmdpbiwgJHRvcCwgJGVuZCwgJGJvdHRvbSwgJHN0YXJ0KTtcbn1cblxuLy8gQWRkIHBvc2l0aW9uIGhvcml6b250YWxcbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnQgLSBhbW91bnQgdG8gcG9zaXRpb24gc3RhcnRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kIC0gYW1vdW50IHRvIGxlZnQ6IDA7IGVuZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHBvc2l0aW9uLWhvcml6b250YWwoJHN0YXJ0OiBudWxsLCAkZW5kOiBudWxsKSB7XG4gIEBpZiAkc3RhcnQgPT0gJGVuZCB7XG4gICAgQGluY2x1ZGUgbXVsdGktZGlyKCkge1xuICAgICAgbGVmdDogJHN0YXJ0O1xuICAgICAgcmlnaHQ6ICRlbmQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICAmIHtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAkc3RhcnQ7XG4gICAgICAgIGluc2V0LWlubGluZS1lbmQ6ICRlbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZCBwb3NpdGlvbiBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wXG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b21cbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwb3NpdGlvbigkdG9wOiBudWxsLCAkZW5kOiBudWxsLCAkYm90dG9tOiBudWxsLCAkc3RhcnQ6IG51bGwpIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24taG9yaXpvbnRhbCgkc3RhcnQsICRlbmQpO1xuICB0b3A6ICR0b3A7XG4gIGJvdHRvbTogJGJvdHRvbTtcbn1cblxuLy8gQWRkIGJvcmRlciBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wXG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b21cbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBib3JkZXIoJHRvcCwgJGVuZDogJHRvcCwgJGJvdHRvbTogJHRvcCwgJHN0YXJ0OiAkZW5kKSB7XG4gIEBpbmNsdWRlIHByb3BlcnR5KGJvcmRlciwgJHRvcCwgJGVuZCwgJGJvdHRvbSwgJHN0YXJ0KTtcbn1cblxuLy8gQWRkIGJvcmRlciByYWRpdXMgZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHRvcC1zdGFydFxuLy8gQHBhcmFtIHtzdHJpbmd9ICR0b3AtZW5kXG4vLyBAcGFyYW0ge3N0cmluZ30gJGJvdHRvbS1lbmRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkYm90dG9tLXN0YXJ0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkdG9wLXN0YXJ0LCAkdG9wLWVuZDogJHRvcC1zdGFydCwgJGJvdHRvbS1lbmQ6ICR0b3Atc3RhcnQsICRib3R0b20tc3RhcnQ6ICR0b3AtZW5kKSB7XG4gIEBpZiAkdG9wLXN0YXJ0ID09ICR0b3AtZW5kIGFuZCAkdG9wLXN0YXJ0ID09ICRib3R0b20tZW5kIGFuZCAkdG9wLXN0YXJ0ID09ICRib3R0b20tc3RhcnQge1xuICAgIGJvcmRlci1yYWRpdXM6ICR0b3Atc3RhcnQ7XG4gIH0gQGVsc2Uge1xuICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6ICR0b3Atc3RhcnQ7XG4gICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6ICR0b3AtZW5kO1xuICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogJGJvdHRvbS1lbmQ7XG4gICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6ICRib3R0b20tc3RhcnQ7XG4gIH1cbn1cblxuLy8gQWRkIGRpcmVjdGlvbiBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZGlyIC0gRGlyZWN0aW9uIG9uIExUUlxuQG1peGluIGRpcmVjdGlvbigkZGlyKSB7XG4gICRvdGhlci1kaXI6IG51bGw7XG5cbiAgQGlmICRkaXIgPT0gbHRyIHtcbiAgICAkb3RoZXItZGlyOiBydGw7XG4gIH0gQGVsc2Uge1xuICAgICRvdGhlci1kaXI6IGx0cjtcbiAgfVxuXG4gIEBpbmNsdWRlIGx0cigpIHtcbiAgICBkaXJlY3Rpb246ICRkaXI7XG4gIH1cbiAgQGluY2x1ZGUgcnRsKCkge1xuICAgIGRpcmVjdGlvbjogJG90aGVyLWRpcjtcbiAgfVxufVxuXG4vLyBBZGQgZmxvYXQgZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHNpZGVcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZGVjb3JhdG9yIC0gIWltcG9ydGFudFxuQG1peGluIGZsb2F0KCRzaWRlLCAkZGVjb3JhdG9yOiBudWxsKSB7XG4gIEBpZiAkc2lkZSA9PSBzdGFydCB7XG4gICAgQGluY2x1ZGUgbHRyKCkge1xuICAgICAgZmxvYXQ6IGxlZnQgJGRlY29yYXRvcjtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0ICRkZWNvcmF0b3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICRzaWRlID09IGVuZCB7XG4gICAgQGluY2x1ZGUgbHRyKCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0ICRkZWNvcmF0b3I7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIGZsb2F0OiBsZWZ0ICRkZWNvcmF0b3I7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBtdWx0aS1kaXIoKSB7XG4gICAgICBmbG9hdDogJHNpZGUgJGRlY29yYXRvcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJhY2tncm91bmQtcG9zaXRpb24oJGhvcml6b250YWwsICRob3Jpem9udGFsLWFtb3VudDogbnVsbCwgJHZlcnRpY2FsOiBudWxsLCAkdmVydGljYWwtYW1vdW50OiBudWxsKSB7XG4gIEBpZiAkaG9yaXpvbnRhbCA9PSBzdGFydCBvciAkaG9yaXpvbnRhbCA9PSBlbmQge1xuICAgICRob3Jpem9udGFsLWx0cjogbnVsbDtcbiAgICAkaG9yaXpvbnRhbC1ydGw6IG51bGw7XG4gICAgQGlmICRob3Jpem9udGFsID09IHN0YXJ0IHtcbiAgICAgICRob3Jpem9udGFsLWx0cjogbGVmdDtcbiAgICAgICRob3Jpem9udGFsLXJ0bDogcmlnaHQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkaG9yaXpvbnRhbC1sdHI6IHJpZ2h0O1xuICAgICAgJGhvcml6b250YWwtcnRsOiBsZWZ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRob3Jpem9udGFsLWx0ciAkaG9yaXpvbnRhbC1hbW91bnQgJHZlcnRpY2FsICR2ZXJ0aWNhbC1hbW91bnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRob3Jpem9udGFsLXJ0bCAkaG9yaXpvbnRhbC1hbW91bnQgJHZlcnRpY2FsICR2ZXJ0aWNhbC1hbW91bnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBtdWx0aS1kaXIoKSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaG9yaXpvbnRhbCAkaG9yaXpvbnRhbC1hbW91bnQgJHZlcnRpY2FsICR2ZXJ0aWNhbC1hbW91bnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCR4LWF4aXMsICR5LWF4aXM6IG51bGwpIHtcbiAgQGlmICR4LWF4aXMgPT0gc3RhcnQge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgJHktYXhpcztcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgJHktYXhpcztcbiAgICB9XG4gIH0gQGVsc2UgaWYgJHgtYXhpcyA9PSBlbmQge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0ICR5LWF4aXM7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgJHktYXhpcztcbiAgICB9XG4gIH0gQGVsc2UgaWYgJHgtYXhpcyA9PSBsZWZ0IG9yICR4LWF4aXMgPT0gcmlnaHQge1xuICAgIEBpbmNsdWRlIG11bHRpLWRpcigpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICR4LWF4aXMgJHktYXhpcztcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICR4LWF4aXMgJHktYXhpcztcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2FsYygxMDAlIC0gI3skeC1heGlzfSkgJHktYXhpcztcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkIHRyYW5zZm9ybSBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdHJhbnNmb3JtcyAtIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIHRyYW5zZm9ybXNcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMuLi4pIHtcbiAgJGV4dHJhOiBudWxsO1xuXG4gICR4OiBudWxsO1xuICAkbHRyLXRyYW5zbGF0ZTogbnVsbDtcbiAgJHJ0bC10cmFuc2xhdGU6IG51bGw7XG5cbiAgQGVhY2ggJHRyYW5zZm9ybSBpbiAkdHJhbnNmb3JtcyB7XG4gICAgQGlmIChzdHItaW5kZXgoJHRyYW5zZm9ybSwgdHJhbnNsYXRlM2QpKSB7XG4gICAgICAkdHJhbnNmb3JtOiBzdHItcmVwbGFjZSgkdHJhbnNmb3JtLCAndHJhbnNsYXRlM2QoJyk7XG4gICAgICAkdHJhbnNmb3JtOiBzdHItcmVwbGFjZSgkdHJhbnNmb3JtLCAnKScpO1xuXG4gICAgICAkY29vcmRpbmF0ZXM6IHN0ci1zcGxpdCgkdHJhbnNmb3JtLCAnLCcpO1xuXG4gICAgICAkeDogbnRoKCRjb29yZGluYXRlcywgMSk7XG4gICAgICAkeTogbnRoKCRjb29yZGluYXRlcywgMik7XG4gICAgICAkejogbnRoKCRjb29yZGluYXRlcywgMyk7XG5cbiAgICAgICRsdHItdHJhbnNsYXRlOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbiAgICAgICRydGwtdHJhbnNsYXRlOiB0cmFuc2xhdGUzZChjYWxjKC0xICogI3skeH0pLCAkeSwgJHopO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmICRleHRyYSA9PSBudWxsIHtcbiAgICAgICAgJGV4dHJhOiAkdHJhbnNmb3JtO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRleHRyYTogJGV4dHJhICR0cmFuc2Zvcm07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICR4ID09ICcwJyBvciAkeCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtdWx0aS1kaXIoKSB7XG4gICAgICB0cmFuc2Zvcm06ICRsdHItdHJhbnNsYXRlICRleHRyYTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIHRyYW5zZm9ybTogJGx0ci10cmFuc2xhdGUgJGV4dHJhO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIHRyYW5zZm9ybTogJHJ0bC10cmFuc2xhdGUgJGV4dHJhO1xuICAgIH1cbiAgfVxufVxuIiwgIkBpbXBvcnQgXCIuLi90aGVtZXMvaW9uaWMuZ2xvYmFsc1wiO1xuQGltcG9ydCBcIi4uL3RoZW1lcy9pb25pYy5taXhpbnNcIjtcblxuLy8gVGV4dCBBbGlnbm1lbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDcmVhdGVzIHRleHQgYWxpZ25tZW50IGF0dHJpYnV0ZXMgYmFzZWQgb24gc2NyZWVuIHNpemVcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJHNjcmVlbi1icmVha3BvaW50cykge1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRzY3JlZW4tYnJlYWtwb2ludHMpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRzY3JlZW4tYnJlYWtwb2ludHMpIHtcbiAgICAvLyBQcm92aWRlIGAuaW9uLXRleHQte2JwfWAgY2xhc3NlcyBmb3IgYWxpZ25pbmcgdGhlIHRleHQgYmFzZWRcbiAgICAvLyBvbiB0aGUgYnJlYWtwb2ludFxuICAgIC5pb24tdGV4dCN7JGluZml4fS1jZW50ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmlvbi10ZXh0I3skaW5maXh9LWp1c3RpZnkge1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5pb24tdGV4dCN7JGluZml4fS1zdGFydCB7XG4gICAgICB0ZXh0LWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5pb24tdGV4dCN7JGluZml4fS1lbmQge1xuICAgICAgdGV4dC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmlvbi10ZXh0I3skaW5maXh9LWxlZnQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5pb24tdGV4dCN7JGluZml4fS1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5pb24tdGV4dCN7JGluZml4fS1ub3dyYXAge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5pb24tdGV4dCN7JGluZml4fS13cmFwIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsICJcbi8qKlxuICogQSBoZXVyaXN0aWMgdGhhdCBhcHBsaWVzIENTUyB0byB0YWJsZXRcbiAqIHZpZXdwb3J0cy5cbiAqXG4gKiBVc2FnZTpcbiAqIEBpbmNsdWRlIHRhYmxldC12aWV3cG9ydCgpIHtcbiAqICAgOmhvc3Qge1xuICogICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xuICogICB9XG4gKiB9XG4gKi9cbkBtaXhpbiB0YWJsZXQtdmlld3BvcnQoKSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLyoqXG4gKiBBIGhldXJpc3RpYyB0aGF0IGFwcGxpZXMgQ1NTIHRvIG1vYmlsZVxuICogdmlld3BvcnRzIChpLmUuIHBob25lcywgbm90IHRhYmxldHMpLlxuICpcbiAqIFVzYWdlOlxuICogQGluY2x1ZGUgbW9iaWxlLXZpZXdwb3J0KCkge1xuICogICA6aG9zdCB7XG4gKiAgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTtcbiAqICAgfVxuICogfVxuICovXG5AbWl4aW4gbW9iaWxlLXZpZXdwb3J0KCkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBpbnB1dC1jb3ZlcigpIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oMCwgbnVsbCwgbnVsbCwgMCk7XG4gIEBpbmNsdWRlIG1hcmdpbigwKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcblxuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcblxuICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbigpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuQG1peGluIHRleHQtaW5oZXJpdCgpIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtaW5kZW50OiBpbmhlcml0O1xuICB0ZXh0LW92ZXJmbG93OiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gYnV0dG9uLXN0YXRlKCkge1xuICBAaW5jbHVkZSBwb3NpdGlvbigwLCAwLCAwLCAwKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgY29udGVudDogXCJcIjtcblxuICBvcGFjaXR5OiAwO1xufVxuXG4vLyBGb250IHNtb290aGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuLy8gR2V0IHRoZSBrZXkgZnJvbSBhIG1hcCBiYXNlZCBvbiB0aGUgaW5kZXhcbkBmdW5jdGlvbiBpbmRleC10by1rZXkoJG1hcCwgJGluZGV4KSB7XG4gICRrZXlzOiBtYXAta2V5cygkbWFwKTtcblxuICBAcmV0dXJuIG50aCgka2V5cywgJGluZGV4KTtcbn1cblxuXG4vLyBCcmVha3BvaW50IE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkc2NyZWVuLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJHNjcmVlbi1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuXG4gIEByZXR1cm4gaWYoJG5hbWUgIT0gaW5kZXgtdG8ta2V5KCRicmVha3BvaW50cywgMSksICRtaW4sIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJHNjcmVlbi1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJHNjcmVlbi1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy9cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cdC8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXHQvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkc2NyZWVuLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAuMDIsIG51bGwpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJHNjcmVlbi1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cblxuLy8gVGV4dCBEaXJlY3Rpb24gLSBsdHIgLyBydGxcbi8vXG4vLyBDU1MgZGVmYXVsdHMgdG8gdXNlIHRoZSBsdHIgY3NzLCBhbmQgYWRkcyBbZGlyPXJ0bF0gc2VsZWN0b3JzXG4vLyB0byBvdmVycmlkZSBsdHIgZGVmYXVsdHMuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBtdWx0aS1kaXIoKSB7XG4gIEBjb250ZW50O1xuXG4gIC8vICRyb290OiAjeyZ9O1xuICAvLyBAYXQtcm9vdCBbZGlyXSB7XG4gIC8vICAgI3skcm9vdH0ge1xuICAvLyAgICAgQGNvbnRlbnQ7XG4gIC8vICAgfVxuICAvLyB9XG59XG5cbkBtaXhpbiBydGwoKSB7XG4gICRyb290OiAjeyZ9O1xuXG4gICRyb290U3BsaXQ6IHN0ci1zcGxpdCgkcm9vdCwgXCIsXCIpO1xuICAkc2VsZWN0b3JzOiAje2FkZC1yb290LXNlbGVjdG9yKCRyb290LCBcIltkaXI9cnRsXVwiKX07XG4gICRzZWxlY3RvcnNTcGxpdDogc3RyLXNwbGl0KCRzZWxlY3RvcnMsIFwiLFwiKTtcblxuICAkaG9zdENvbnRleHRTZWxlY3RvcnM6ICgpO1xuICAkcmVzdFNlbGVjdG9yczogKCk7XG4gICRkaXJTZWxlY3RvcnM6ICgpO1xuXG4gIC8vIFNlbGVjdG9ycyBtdXN0IGJlIHNwbGl0IGludG8gaW5kaXZpZHVhbCBzZWxlY3RvcnMgaW4gY2FzZSB0aGUgYnJvd3NlclxuICAvLyBkb2Vzbid0IHN1cHBvcnQgYSBzcGVjaWZpYyBzZWxlY3Rvci5cbiAgLy8gRm9yIGV4YW1wbGUsIEZpcmVmb3ggYW5kIFNhZmFyaSBkb2Vzbid0IHN1cHBvcnQgYDpob3N0LWNvbnRleHQoKWAuXG4gIC8vIElmIGFuIGludmFsaWQgc2VsZWN0b3IgaXMgdXNlZCwgdGhlbiB0aGUgZW50aXJlIGdyb3VwIG9mIHNlbGVjdG9yc1xuICAvLyB3aWxsIGJlIGlnbm9yZWQuXG4gIC8vIEBsaW5rIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZWxlY3RvcnMtMy8jZ3JvdXBpbmdcbiAgQGVhY2ggJHNlbGVjdG9yIGluICRzZWxlY3RvcnNTcGxpdCB7XG4gICAgLy8gR3JvdXAgdGhlIHNlbGVjdG9ycyBiYWNrIGludG8gYSBzaW5nbGUgc2VsZWN0b3IgdG8gb3B0aW1pemUgdGhlIG91dHB1dC5cbiAgICBAaWYgc3RyLWluZGV4KCRzZWxlY3RvciwgXCI6aG9zdC1jb250ZXh0XCIpIHtcbiAgICAgICRob3N0Q29udGV4dFNlbGVjdG9yczogYXBwZW5kKCRob3N0Q29udGV4dFNlbGVjdG9ycywgJHNlbGVjdG9yLCBjb21tYSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBHcm91cCB0aGUgc2VsZWN0b3JzIGJhY2sgaW50byBhIHNpbmdsZSBzZWxlY3RvciB0byBvcHRpbWl6ZSB0aGUgb3V0cHV0LlxuICAgICAgJHJlc3RTZWxlY3RvcnM6IGFwcGVuZCgkcmVzdFNlbGVjdG9ycywgJHNlbGVjdG9yLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU3VwcG9ydGVkIGJ5IENocm9tZS5cbiAgQGlmIGxlbmd0aCgkaG9zdENvbnRleHRTZWxlY3RvcnMpID4gMCB7XG4gICAgQGF0LXJvb3QgI3skaG9zdENvbnRleHRTZWxlY3RvcnN9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFN1cHBvcnRlZCBieSBhbGwgYnJvd3NlcnMuXG4gIEBpZiBsZW5ndGgoJHJlc3RTZWxlY3RvcnMpID4gMCB7XG4gICAgQGF0LXJvb3QgI3skcmVzdFNlbGVjdG9yc30ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgYnJvd3NlciBjYW4gc3VwcG9ydCBgOmRpcigpYCwgdGhlbiBhZGQgdGhlIGA6ZGlyKClgIHNlbGVjdG9ycy5cbiAgQHN1cHBvcnRzIHNlbGVjdG9yKDpkaXIocnRsKSkge1xuICAgIC8vIEFkZGluZyA6ZGlyKCkgaW4gY2FzZSB0aGUgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgYDpob3N0LWNvbnRleHQoKWAgYW5kIGRvZXMgc3VwcG9ydCBgOmRpcigpYC5cbiAgICAvLyBgOmhvc3QtY29udGV4dCgpYCBpcyBhZGRlZDpcbiAgICAvLyAtIHRocm91Z2ggdGhlIGBhZGQtcm9vdC1zZWxlY3RvcigpYCBmdW5jdGlvbi5cbiAgICAvLyAtIGZpcnN0IHNvIHRoYXQgaXQgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIGA6ZGlyKClgLlxuICAgIC8vIEZvciBleGFtcGxlLFxuICAgIC8vIC0gRmlyZWZveCBkb2Vzbid0IHN1cHBvcnQgYDpob3N0LWNvbnRleHQoKWAsIGJ1dCBkb2VzIHN1cHBvcnQgYDpkaXIoKWAuXG4gICAgLy8gLSBTYWZhcmkgZG9lc24ndCBzdXBwb3J0IGA6aG9zdC1jb250ZXh0KClgLCBidXQgU2FmYXJpIDE2LjQrIHN1cHBvcnRzIGA6ZGlyKClgXG4gICAgLy8gQGxpbmsgaHR0cHM6Ly93ZWJraXQub3JnL2Jsb2cvMTM5NjYvd2Via2l0LWZlYXR1cmVzLWluLXNhZmFyaS0xNi00L1xuICAgIC8vIC0tIEhvd2V2ZXIsIHRoZXJlIGlzIGEgV2Via2l0IGJ1ZyBvbiB2MTYgdGhhdCBwcmV2ZW50cyBgOmRpcigpYCBmcm9tIHdvcmtpbmcgd2hlblxuICAgIC8vIC0tIHRoZSBhcHAgZGlyZWN0aW9uIGlzIGNoYW5nZWQgZHluYW1pY2FsbHkuIHYxNysgd29ya3MgZmluZS5cbiAgICAvLyAtLSBAbGluayBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU3MTMzXG5cbiAgICAvLyBTdXBwb3J0ZWQgYnkgRmlyZWZveC5cbiAgICBAYXQtcm9vdCAje2FkZC1yb290LXNlbGVjdG9yKCRyb290LCBcIjpkaXIocnRsKVwiLCBmYWxzZSl9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbHRyKCkge1xuICBAY29udGVudDtcbn1cblxuXG4vLyBTVkcgQmFja2dyb3VuZCBJbWFnZSBNaXhpblxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBzdmctYmFja2dyb3VuZC1pbWFnZSgkc3ZnLCAkZmxpcC1ydGw6IGZhbHNlKSB7XG4gICR1cmw6IHVybC1lbmNvZGUoJHN2Zyk7XG4gICR2aWV3Qm94OiBzdHItc3BsaXQoc3RyLWV4dHJhY3QoJHN2ZywgXCJ2aWV3Qm94PSdcIiwgXCInXCIpLCBcIiBcIik7XG5cbiAgQGlmICRmbGlwLXJ0bCAhPSB0cnVlIG9yICR2aWV3Qm94ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG11bHRpLWRpcigpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCN7JHVybH1cIik7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkdHJhbnNmb3JtOiBcInRyYW5zZm9ybT0ndHJhbnNsYXRlKCN7bnRoKCR2aWV3Qm94LCAzKX0sIDApIHNjYWxlKC0xLCAxKSdcIjtcbiAgICAkZmxpcHBlZC11cmw6ICRzdmc7XG4gICAgJGZsaXBwZWQtdXJsOiBzdHItcmVwbGFjZSgkZmxpcHBlZC11cmwsIFwiPHBhdGhcIiwgXCI8cGF0aCAjeyR0cmFuc2Zvcm19XCIpO1xuICAgICRmbGlwcGVkLXVybDogc3RyLXJlcGxhY2UoJGZsaXBwZWQtdXJsLCBcIjxsaW5lXCIsIFwiPGxpbmUgI3skdHJhbnNmb3JtfVwiKTtcbiAgICAkZmxpcHBlZC11cmw6IHN0ci1yZXBsYWNlKCRmbGlwcGVkLXVybCwgXCI8cG9seWdvblwiLCBcIjxwb2x5Z29uICN7JHRyYW5zZm9ybX1cIik7XG4gICAgJGZsaXBwZWQtdXJsOiB1cmwtZW5jb2RlKCRmbGlwcGVkLXVybCk7XG5cbiAgICBAaW5jbHVkZSBsdHIgKCkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsI3skdXJsfVwiKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsI3skZmxpcHBlZC11cmx9XCIpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGQgcHJvcGVydHkgaG9yaXpvbnRhbFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwcm9wZXJ0eS1ob3Jpem9udGFsKCRwcm9wLCAkc3RhcnQsICRlbmQ6ICRzdGFydCkge1xuICBAaWYgJHN0YXJ0ID09IDAgYW5kICRlbmQgPT0gMCB7XG4gICAgI3skcHJvcH0tbGVmdDogJHN0YXJ0O1xuICAgICN7JHByb3B9LXJpZ2h0OiAkZW5kO1xuXG4gIH0gQGVsc2Uge1xuICAgIC13ZWJraXQtI3skcHJvcH0tc3RhcnQ6ICRzdGFydDtcbiAgICAjeyRwcm9wfS1pbmxpbmUtc3RhcnQ6ICRzdGFydDtcbiAgICAtd2Via2l0LSN7JHByb3B9LWVuZDogJGVuZDtcbiAgICAjeyRwcm9wfS1pbmxpbmUtZW5kOiAkZW5kO1xuICB9XG59XG5cbi8vIEFkZCBwcm9wZXJ0eSBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkcHJvcFxuLy8gQHBhcmFtIHtzdHJpbmd9ICR0b3Bcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyBAcGFyYW0ge3N0cmluZ30gJGJvdHRvbVxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gQHBhcmFtIHtib29sZWFufSAkY29udGVudCBpbmNsdWRlIGNvbnRlbnQgb3IgdXNlIGRlZmF1bHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwcm9wZXJ0eSgkcHJvcCwgJHRvcCwgJGVuZDogJHRvcCwgJGJvdHRvbTogJHRvcCwgJHN0YXJ0OiAkZW5kKSB7XG4gIEBpbmNsdWRlIHByb3BlcnR5LWhvcml6b250YWwoJHByb3AsICRzdGFydCwgJGVuZCk7XG4gICN7JHByb3B9LXRvcDogJHRvcDtcbiAgI3skcHJvcH0tYm90dG9tOiAkYm90dG9tO1xufVxuXG4vLyBBZGQgcGFkZGluZyBob3Jpem9udGFsXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHBhZGRpbmctaG9yaXpvbnRhbCgkc3RhcnQsICRlbmQ6ICRzdGFydCkge1xuICBAaW5jbHVkZSBwcm9wZXJ0eS1ob3Jpem9udGFsKHBhZGRpbmcsICRzdGFydCwgJGVuZCk7XG59XG5cbi8vIEFkZCBwYWRkaW5nIGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICR0b3Bcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyBAcGFyYW0ge3N0cmluZ30gJGJvdHRvbVxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHBhZGRpbmcoJHRvcCwgJGVuZDogJHRvcCwgJGJvdHRvbTogJHRvcCwgJHN0YXJ0OiAkZW5kKSB7XG4gIEBpbmNsdWRlIHByb3BlcnR5KHBhZGRpbmcsICR0b3AsICRlbmQsICRib3R0b20sICRzdGFydCk7XG59XG5cbi8vIEFkZCBtYXJnaW4gaG9yaXpvbnRhbFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBtYXJnaW4taG9yaXpvbnRhbCgkc3RhcnQsICRlbmQ6ICRzdGFydCkge1xuICBAaW5jbHVkZSBwcm9wZXJ0eS1ob3Jpem9udGFsKG1hcmdpbiwgJHN0YXJ0LCAkZW5kKTtcbn1cblxuLy8gQWRkIG1hcmdpbiBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wXG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b21cbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBtYXJnaW4oJHRvcCwgJGVuZDogJHRvcCwgJGJvdHRvbTogJHRvcCwgJHN0YXJ0OiAkZW5kKSB7XG4gIEBpbmNsdWRlIHByb3BlcnR5KG1hcmdpbiwgJHRvcCwgJGVuZCwgJGJvdHRvbSwgJHN0YXJ0KTtcbn1cblxuLy8gQWRkIHBvc2l0aW9uIGhvcml6b250YWxcbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnQgLSBhbW91bnQgdG8gcG9zaXRpb24gc3RhcnRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kIC0gYW1vdW50IHRvIGxlZnQ6IDA7IGVuZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHBvc2l0aW9uLWhvcml6b250YWwoJHN0YXJ0OiBudWxsLCAkZW5kOiBudWxsKSB7XG4gIEBpZiAkc3RhcnQgPT0gJGVuZCB7XG4gICAgQGluY2x1ZGUgbXVsdGktZGlyKCkge1xuICAgICAgbGVmdDogJHN0YXJ0O1xuICAgICAgcmlnaHQ6ICRlbmQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICAmIHtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAkc3RhcnQ7XG4gICAgICAgIGluc2V0LWlubGluZS1lbmQ6ICRlbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZCBwb3NpdGlvbiBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wXG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b21cbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwb3NpdGlvbigkdG9wOiBudWxsLCAkZW5kOiBudWxsLCAkYm90dG9tOiBudWxsLCAkc3RhcnQ6IG51bGwpIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24taG9yaXpvbnRhbCgkc3RhcnQsICRlbmQpO1xuICB0b3A6ICR0b3A7XG4gIGJvdHRvbTogJGJvdHRvbTtcbn1cblxuLy8gQWRkIGJvcmRlciBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wXG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b21cbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBib3JkZXIoJHRvcCwgJGVuZDogJHRvcCwgJGJvdHRvbTogJHRvcCwgJHN0YXJ0OiAkZW5kKSB7XG4gIEBpbmNsdWRlIHByb3BlcnR5KGJvcmRlciwgJHRvcCwgJGVuZCwgJGJvdHRvbSwgJHN0YXJ0KTtcbn1cblxuLy8gQWRkIGJvcmRlciByYWRpdXMgZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHRvcC1zdGFydFxuLy8gQHBhcmFtIHtzdHJpbmd9ICR0b3AtZW5kXG4vLyBAcGFyYW0ge3N0cmluZ30gJGJvdHRvbS1lbmRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkYm90dG9tLXN0YXJ0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkdG9wLXN0YXJ0LCAkdG9wLWVuZDogJHRvcC1zdGFydCwgJGJvdHRvbS1lbmQ6ICR0b3Atc3RhcnQsICRib3R0b20tc3RhcnQ6ICR0b3AtZW5kKSB7XG4gIEBpZiAkdG9wLXN0YXJ0ID09ICR0b3AtZW5kIGFuZCAkdG9wLXN0YXJ0ID09ICRib3R0b20tZW5kIGFuZCAkdG9wLXN0YXJ0ID09ICRib3R0b20tc3RhcnQge1xuICAgIGJvcmRlci1yYWRpdXM6ICR0b3Atc3RhcnQ7XG4gIH0gQGVsc2Uge1xuICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6ICR0b3Atc3RhcnQ7XG4gICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6ICR0b3AtZW5kO1xuICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogJGJvdHRvbS1lbmQ7XG4gICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6ICRib3R0b20tc3RhcnQ7XG4gIH1cbn1cblxuLy8gQWRkIGRpcmVjdGlvbiBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZGlyIC0gRGlyZWN0aW9uIG9uIExUUlxuQG1peGluIGRpcmVjdGlvbigkZGlyKSB7XG4gICRvdGhlci1kaXI6IG51bGw7XG5cbiAgQGlmICRkaXIgPT0gbHRyIHtcbiAgICAkb3RoZXItZGlyOiBydGw7XG4gIH0gQGVsc2Uge1xuICAgICRvdGhlci1kaXI6IGx0cjtcbiAgfVxuXG4gIEBpbmNsdWRlIGx0cigpIHtcbiAgICBkaXJlY3Rpb246ICRkaXI7XG4gIH1cbiAgQGluY2x1ZGUgcnRsKCkge1xuICAgIGRpcmVjdGlvbjogJG90aGVyLWRpcjtcbiAgfVxufVxuXG4vLyBBZGQgZmxvYXQgZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHNpZGVcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZGVjb3JhdG9yIC0gIWltcG9ydGFudFxuQG1peGluIGZsb2F0KCRzaWRlLCAkZGVjb3JhdG9yOiBudWxsKSB7XG4gIEBpZiAkc2lkZSA9PSBzdGFydCB7XG4gICAgQGluY2x1ZGUgbHRyKCkge1xuICAgICAgZmxvYXQ6IGxlZnQgJGRlY29yYXRvcjtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0ICRkZWNvcmF0b3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICRzaWRlID09IGVuZCB7XG4gICAgQGluY2x1ZGUgbHRyKCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0ICRkZWNvcmF0b3I7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIGZsb2F0OiBsZWZ0ICRkZWNvcmF0b3I7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBtdWx0aS1kaXIoKSB7XG4gICAgICBmbG9hdDogJHNpZGUgJGRlY29yYXRvcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJhY2tncm91bmQtcG9zaXRpb24oJGhvcml6b250YWwsICRob3Jpem9udGFsLWFtb3VudDogbnVsbCwgJHZlcnRpY2FsOiBudWxsLCAkdmVydGljYWwtYW1vdW50OiBudWxsKSB7XG4gIEBpZiAkaG9yaXpvbnRhbCA9PSBzdGFydCBvciAkaG9yaXpvbnRhbCA9PSBlbmQge1xuICAgICRob3Jpem9udGFsLWx0cjogbnVsbDtcbiAgICAkaG9yaXpvbnRhbC1ydGw6IG51bGw7XG4gICAgQGlmICRob3Jpem9udGFsID09IHN0YXJ0IHtcbiAgICAgICRob3Jpem9udGFsLWx0cjogbGVmdDtcbiAgICAgICRob3Jpem9udGFsLXJ0bDogcmlnaHQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkaG9yaXpvbnRhbC1sdHI6IHJpZ2h0O1xuICAgICAgJGhvcml6b250YWwtcnRsOiBsZWZ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRob3Jpem9udGFsLWx0ciAkaG9yaXpvbnRhbC1hbW91bnQgJHZlcnRpY2FsICR2ZXJ0aWNhbC1hbW91bnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRob3Jpem9udGFsLXJ0bCAkaG9yaXpvbnRhbC1hbW91bnQgJHZlcnRpY2FsICR2ZXJ0aWNhbC1hbW91bnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBtdWx0aS1kaXIoKSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaG9yaXpvbnRhbCAkaG9yaXpvbnRhbC1hbW91bnQgJHZlcnRpY2FsICR2ZXJ0aWNhbC1hbW91bnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCR4LWF4aXMsICR5LWF4aXM6IG51bGwpIHtcbiAgQGlmICR4LWF4aXMgPT0gc3RhcnQge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgJHktYXhpcztcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgJHktYXhpcztcbiAgICB9XG4gIH0gQGVsc2UgaWYgJHgtYXhpcyA9PSBlbmQge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0ICR5LWF4aXM7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgJHktYXhpcztcbiAgICB9XG4gIH0gQGVsc2UgaWYgJHgtYXhpcyA9PSBsZWZ0IG9yICR4LWF4aXMgPT0gcmlnaHQge1xuICAgIEBpbmNsdWRlIG11bHRpLWRpcigpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICR4LWF4aXMgJHktYXhpcztcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICR4LWF4aXMgJHktYXhpcztcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2FsYygxMDAlIC0gI3skeC1heGlzfSkgJHktYXhpcztcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkIHRyYW5zZm9ybSBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdHJhbnNmb3JtcyAtIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIHRyYW5zZm9ybXNcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMuLi4pIHtcbiAgJGV4dHJhOiBudWxsO1xuXG4gICR4OiBudWxsO1xuICAkbHRyLXRyYW5zbGF0ZTogbnVsbDtcbiAgJHJ0bC10cmFuc2xhdGU6IG51bGw7XG5cbiAgQGVhY2ggJHRyYW5zZm9ybSBpbiAkdHJhbnNmb3JtcyB7XG4gICAgQGlmIChzdHItaW5kZXgoJHRyYW5zZm9ybSwgdHJhbnNsYXRlM2QpKSB7XG4gICAgICAkdHJhbnNmb3JtOiBzdHItcmVwbGFjZSgkdHJhbnNmb3JtLCAndHJhbnNsYXRlM2QoJyk7XG4gICAgICAkdHJhbnNmb3JtOiBzdHItcmVwbGFjZSgkdHJhbnNmb3JtLCAnKScpO1xuXG4gICAgICAkY29vcmRpbmF0ZXM6IHN0ci1zcGxpdCgkdHJhbnNmb3JtLCAnLCcpO1xuXG4gICAgICAkeDogbnRoKCRjb29yZGluYXRlcywgMSk7XG4gICAgICAkeTogbnRoKCRjb29yZGluYXRlcywgMik7XG4gICAgICAkejogbnRoKCRjb29yZGluYXRlcywgMyk7XG5cbiAgICAgICRsdHItdHJhbnNsYXRlOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbiAgICAgICRydGwtdHJhbnNsYXRlOiB0cmFuc2xhdGUzZChjYWxjKC0xICogI3skeH0pLCAkeSwgJHopO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmICRleHRyYSA9PSBudWxsIHtcbiAgICAgICAgJGV4dHJhOiAkdHJhbnNmb3JtO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRleHRyYTogJGV4dHJhICR0cmFuc2Zvcm07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICR4ID09ICcwJyBvciAkeCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtdWx0aS1kaXIoKSB7XG4gICAgICB0cmFuc2Zvcm06ICRsdHItdHJhbnNsYXRlICRleHRyYTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIHRyYW5zZm9ybTogJGx0ci10cmFuc2xhdGUgJGV4dHJhO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIHRyYW5zZm9ybTogJHJ0bC10cmFuc2xhdGUgJGV4dHJhO1xuICAgIH1cbiAgfVxufVxuIiwgIkBpbXBvcnQgXCIuLi90aGVtZXMvaW9uaWMuZ2xvYmFsc1wiO1xuQGltcG9ydCBcIi4uL3RoZW1lcy9pb25pYy5taXhpbnNcIjtcblxuLy8gVGV4dCBUcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENyZWF0ZXMgdGV4dCB0cmFuc2Zvcm0gYXR0cmlidXRlcyBiYXNlZCBvbiBzY3JlZW4gc2l6ZVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkc2NyZWVuLWJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJHNjcmVlbi1icmVha3BvaW50cyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJHNjcmVlbi1icmVha3BvaW50cykge1xuICAgIC8vIFByb3ZpZGUgYC5pb24tdGV4dC17YnB9YCBjbGFzc2VzIGZvciB0cmFuc2Zvcm1pbmcgdGhlIHRleHQgYmFzZWRcbiAgICAvLyBvbiB0aGUgYnJlYWtwb2ludFxuICAgIC5pb24tdGV4dCN7JGluZml4fS11cHBlcmNhc2Uge1xuICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5pb24tdGV4dCN7JGluZml4fS1sb3dlcmNhc2Uge1xuICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5pb24tdGV4dCN7JGluZml4fS1jYXBpdGFsaXplIHtcbiAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi9cbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCAiXG4vKipcbiAqIEEgaGV1cmlzdGljIHRoYXQgYXBwbGllcyBDU1MgdG8gdGFibGV0XG4gKiB2aWV3cG9ydHMuXG4gKlxuICogVXNhZ2U6XG4gKiBAaW5jbHVkZSB0YWJsZXQtdmlld3BvcnQoKSB7XG4gKiAgIDpob3N0IHtcbiAqICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjtcbiAqICAgfVxuICogfVxuICovXG5AbWl4aW4gdGFibGV0LXZpZXdwb3J0KCkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8qKlxuICogQSBoZXVyaXN0aWMgdGhhdCBhcHBsaWVzIENTUyB0byBtb2JpbGVcbiAqIHZpZXdwb3J0cyAoaS5lLiBwaG9uZXMsIG5vdCB0YWJsZXRzKS5cbiAqXG4gKiBVc2FnZTpcbiAqIEBpbmNsdWRlIG1vYmlsZS12aWV3cG9ydCgpIHtcbiAqICAgOmhvc3Qge1xuICogICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XG4gKiAgIH1cbiAqIH1cbiAqL1xuQG1peGluIG1vYmlsZS12aWV3cG9ydCgpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaW5wdXQtY292ZXIoKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKDAsIG51bGwsIG51bGwsIDApO1xuICBAaW5jbHVkZSBtYXJnaW4oMCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG5cbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4oKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcblxuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuXG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbkBtaXhpbiB0ZXh0LWluaGVyaXQoKSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LWluZGVudDogaW5oZXJpdDtcbiAgdGV4dC1vdmVyZmxvdzogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIGJ1dHRvbi1zdGF0ZSgpIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oMCwgMCwgMCwgMCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIGNvbnRlbnQ6IFwiXCI7XG5cbiAgb3BhY2l0eTogMDtcbn1cblxuLy8gRm9udCBzbW9vdGhpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbi8vIEdldCB0aGUga2V5IGZyb20gYSBtYXAgYmFzZWQgb24gdGhlIGluZGV4XG5AZnVuY3Rpb24gaW5kZXgtdG8ta2V5KCRtYXAsICRpbmRleCkge1xuICAka2V5czogbWFwLWtleXMoJG1hcCk7XG5cbiAgQHJldHVybiBudGgoJGtleXMsICRpbmRleCk7XG59XG5cblxuLy8gQnJlYWtwb2ludCBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJHNjcmVlbi1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRzY3JlZW4tYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcblxuICBAcmV0dXJuIGlmKCRuYW1lICE9IGluZGV4LXRvLWtleSgkYnJlYWtwb2ludHMsIDEpLCAkbWluLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbmZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRzY3JlZW4tYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRzY3JlZW4tYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXHQvLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVx0Ly8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJHNjcmVlbi1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRzY3JlZW4tYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5cbi8vIFRleHQgRGlyZWN0aW9uIC0gbHRyIC8gcnRsXG4vL1xuLy8gQ1NTIGRlZmF1bHRzIHRvIHVzZSB0aGUgbHRyIGNzcywgYW5kIGFkZHMgW2Rpcj1ydGxdIHNlbGVjdG9yc1xuLy8gdG8gb3ZlcnJpZGUgbHRyIGRlZmF1bHRzLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbXVsdGktZGlyKCkge1xuICBAY29udGVudDtcblxuICAvLyAkcm9vdDogI3smfTtcbiAgLy8gQGF0LXJvb3QgW2Rpcl0ge1xuICAvLyAgICN7JHJvb3R9IHtcbiAgLy8gICAgIEBjb250ZW50O1xuICAvLyAgIH1cbiAgLy8gfVxufVxuXG5AbWl4aW4gcnRsKCkge1xuICAkcm9vdDogI3smfTtcblxuICAkcm9vdFNwbGl0OiBzdHItc3BsaXQoJHJvb3QsIFwiLFwiKTtcbiAgJHNlbGVjdG9yczogI3thZGQtcm9vdC1zZWxlY3Rvcigkcm9vdCwgXCJbZGlyPXJ0bF1cIil9O1xuICAkc2VsZWN0b3JzU3BsaXQ6IHN0ci1zcGxpdCgkc2VsZWN0b3JzLCBcIixcIik7XG5cbiAgJGhvc3RDb250ZXh0U2VsZWN0b3JzOiAoKTtcbiAgJHJlc3RTZWxlY3RvcnM6ICgpO1xuICAkZGlyU2VsZWN0b3JzOiAoKTtcblxuICAvLyBTZWxlY3RvcnMgbXVzdCBiZSBzcGxpdCBpbnRvIGluZGl2aWR1YWwgc2VsZWN0b3JzIGluIGNhc2UgdGhlIGJyb3dzZXJcbiAgLy8gZG9lc24ndCBzdXBwb3J0IGEgc3BlY2lmaWMgc2VsZWN0b3IuXG4gIC8vIEZvciBleGFtcGxlLCBGaXJlZm94IGFuZCBTYWZhcmkgZG9lc24ndCBzdXBwb3J0IGA6aG9zdC1jb250ZXh0KClgLlxuICAvLyBJZiBhbiBpbnZhbGlkIHNlbGVjdG9yIGlzIHVzZWQsIHRoZW4gdGhlIGVudGlyZSBncm91cCBvZiBzZWxlY3RvcnNcbiAgLy8gd2lsbCBiZSBpZ25vcmVkLlxuICAvLyBAbGluayBodHRwczovL3d3dy53My5vcmcvVFIvc2VsZWN0b3JzLTMvI2dyb3VwaW5nXG4gIEBlYWNoICRzZWxlY3RvciBpbiAkc2VsZWN0b3JzU3BsaXQge1xuICAgIC8vIEdyb3VwIHRoZSBzZWxlY3RvcnMgYmFjayBpbnRvIGEgc2luZ2xlIHNlbGVjdG9yIHRvIG9wdGltaXplIHRoZSBvdXRwdXQuXG4gICAgQGlmIHN0ci1pbmRleCgkc2VsZWN0b3IsIFwiOmhvc3QtY29udGV4dFwiKSB7XG4gICAgICAkaG9zdENvbnRleHRTZWxlY3RvcnM6IGFwcGVuZCgkaG9zdENvbnRleHRTZWxlY3RvcnMsICRzZWxlY3RvciwgY29tbWEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gR3JvdXAgdGhlIHNlbGVjdG9ycyBiYWNrIGludG8gYSBzaW5nbGUgc2VsZWN0b3IgdG8gb3B0aW1pemUgdGhlIG91dHB1dC5cbiAgICAgICRyZXN0U2VsZWN0b3JzOiBhcHBlbmQoJHJlc3RTZWxlY3RvcnMsICRzZWxlY3RvciwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN1cHBvcnRlZCBieSBDaHJvbWUuXG4gIEBpZiBsZW5ndGgoJGhvc3RDb250ZXh0U2VsZWN0b3JzKSA+IDAge1xuICAgIEBhdC1yb290ICN7JGhvc3RDb250ZXh0U2VsZWN0b3JzfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBTdXBwb3J0ZWQgYnkgYWxsIGJyb3dzZXJzLlxuICBAaWYgbGVuZ3RoKCRyZXN0U2VsZWN0b3JzKSA+IDAge1xuICAgIEBhdC1yb290ICN7JHJlc3RTZWxlY3RvcnN9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIGJyb3dzZXIgY2FuIHN1cHBvcnQgYDpkaXIoKWAsIHRoZW4gYWRkIHRoZSBgOmRpcigpYCBzZWxlY3RvcnMuXG4gIEBzdXBwb3J0cyBzZWxlY3Rvcig6ZGlyKHJ0bCkpIHtcbiAgICAvLyBBZGRpbmcgOmRpcigpIGluIGNhc2UgdGhlIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGA6aG9zdC1jb250ZXh0KClgIGFuZCBkb2VzIHN1cHBvcnQgYDpkaXIoKWAuXG4gICAgLy8gYDpob3N0LWNvbnRleHQoKWAgaXMgYWRkZWQ6XG4gICAgLy8gLSB0aHJvdWdoIHRoZSBgYWRkLXJvb3Qtc2VsZWN0b3IoKWAgZnVuY3Rpb24uXG4gICAgLy8gLSBmaXJzdCBzbyB0aGF0IGl0IHRha2VzIHByZWNlZGVuY2Ugb3ZlciBgOmRpcigpYC5cbiAgICAvLyBGb3IgZXhhbXBsZSxcbiAgICAvLyAtIEZpcmVmb3ggZG9lc24ndCBzdXBwb3J0IGA6aG9zdC1jb250ZXh0KClgLCBidXQgZG9lcyBzdXBwb3J0IGA6ZGlyKClgLlxuICAgIC8vIC0gU2FmYXJpIGRvZXNuJ3Qgc3VwcG9ydCBgOmhvc3QtY29udGV4dCgpYCwgYnV0IFNhZmFyaSAxNi40KyBzdXBwb3J0cyBgOmRpcigpYFxuICAgIC8vIEBsaW5rIGh0dHBzOi8vd2Via2l0Lm9yZy9ibG9nLzEzOTY2L3dlYmtpdC1mZWF0dXJlcy1pbi1zYWZhcmktMTYtNC9cbiAgICAvLyAtLSBIb3dldmVyLCB0aGVyZSBpcyBhIFdlYmtpdCBidWcgb24gdjE2IHRoYXQgcHJldmVudHMgYDpkaXIoKWAgZnJvbSB3b3JraW5nIHdoZW5cbiAgICAvLyAtLSB0aGUgYXBwIGRpcmVjdGlvbiBpcyBjaGFuZ2VkIGR5bmFtaWNhbGx5LiB2MTcrIHdvcmtzIGZpbmUuXG4gICAgLy8gLS0gQGxpbmsgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NzEzM1xuXG4gICAgLy8gU3VwcG9ydGVkIGJ5IEZpcmVmb3guXG4gICAgQGF0LXJvb3QgI3thZGQtcm9vdC1zZWxlY3Rvcigkcm9vdCwgXCI6ZGlyKHJ0bClcIiwgZmFsc2UpfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGx0cigpIHtcbiAgQGNvbnRlbnQ7XG59XG5cblxuLy8gU1ZHIEJhY2tncm91bmQgSW1hZ2UgTWl4aW5cbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3ZnXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gc3ZnLWJhY2tncm91bmQtaW1hZ2UoJHN2ZywgJGZsaXAtcnRsOiBmYWxzZSkge1xuICAkdXJsOiB1cmwtZW5jb2RlKCRzdmcpO1xuICAkdmlld0JveDogc3RyLXNwbGl0KHN0ci1leHRyYWN0KCRzdmcsIFwidmlld0JveD0nXCIsIFwiJ1wiKSwgXCIgXCIpO1xuXG4gIEBpZiAkZmxpcC1ydGwgIT0gdHJ1ZSBvciAkdmlld0JveCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtdWx0aS1kaXIoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwjeyR1cmx9XCIpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJHRyYW5zZm9ybTogXCJ0cmFuc2Zvcm09J3RyYW5zbGF0ZSgje250aCgkdmlld0JveCwgMyl9LCAwKSBzY2FsZSgtMSwgMSknXCI7XG4gICAgJGZsaXBwZWQtdXJsOiAkc3ZnO1xuICAgICRmbGlwcGVkLXVybDogc3RyLXJlcGxhY2UoJGZsaXBwZWQtdXJsLCBcIjxwYXRoXCIsIFwiPHBhdGggI3skdHJhbnNmb3JtfVwiKTtcbiAgICAkZmxpcHBlZC11cmw6IHN0ci1yZXBsYWNlKCRmbGlwcGVkLXVybCwgXCI8bGluZVwiLCBcIjxsaW5lICN7JHRyYW5zZm9ybX1cIik7XG4gICAgJGZsaXBwZWQtdXJsOiBzdHItcmVwbGFjZSgkZmxpcHBlZC11cmwsIFwiPHBvbHlnb25cIiwgXCI8cG9seWdvbiAjeyR0cmFuc2Zvcm19XCIpO1xuICAgICRmbGlwcGVkLXVybDogdXJsLWVuY29kZSgkZmxpcHBlZC11cmwpO1xuXG4gICAgQGluY2x1ZGUgbHRyICgpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCN7JHVybH1cIik7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCN7JGZsaXBwZWQtdXJsfVwiKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkIHByb3BlcnR5IGhvcml6b250YWxcbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcHJvcGVydHktaG9yaXpvbnRhbCgkcHJvcCwgJHN0YXJ0LCAkZW5kOiAkc3RhcnQpIHtcbiAgQGlmICRzdGFydCA9PSAwIGFuZCAkZW5kID09IDAge1xuICAgICN7JHByb3B9LWxlZnQ6ICRzdGFydDtcbiAgICAjeyRwcm9wfS1yaWdodDogJGVuZDtcblxuICB9IEBlbHNlIHtcbiAgICAtd2Via2l0LSN7JHByb3B9LXN0YXJ0OiAkc3RhcnQ7XG4gICAgI3skcHJvcH0taW5saW5lLXN0YXJ0OiAkc3RhcnQ7XG4gICAgLXdlYmtpdC0jeyRwcm9wfS1lbmQ6ICRlbmQ7XG4gICAgI3skcHJvcH0taW5saW5lLWVuZDogJGVuZDtcbiAgfVxufVxuXG4vLyBBZGQgcHJvcGVydHkgZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHByb3Bcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wXG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b21cbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIEBwYXJhbSB7Ym9vbGVhbn0gJGNvbnRlbnQgaW5jbHVkZSBjb250ZW50IG9yIHVzZSBkZWZhdWx0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcHJvcGVydHkoJHByb3AsICR0b3AsICRlbmQ6ICR0b3AsICRib3R0b206ICR0b3AsICRzdGFydDogJGVuZCkge1xuICBAaW5jbHVkZSBwcm9wZXJ0eS1ob3Jpem9udGFsKCRwcm9wLCAkc3RhcnQsICRlbmQpO1xuICAjeyRwcm9wfS10b3A6ICR0b3A7XG4gICN7JHByb3B9LWJvdHRvbTogJGJvdHRvbTtcbn1cblxuLy8gQWRkIHBhZGRpbmcgaG9yaXpvbnRhbFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRzdGFydFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwYWRkaW5nLWhvcml6b250YWwoJHN0YXJ0LCAkZW5kOiAkc3RhcnQpIHtcbiAgQGluY2x1ZGUgcHJvcGVydHktaG9yaXpvbnRhbChwYWRkaW5nLCAkc3RhcnQsICRlbmQpO1xufVxuXG4vLyBBZGQgcGFkZGluZyBmb3IgYWxsIGRpcmVjdGlvbnNcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wXG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b21cbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwYWRkaW5nKCR0b3AsICRlbmQ6ICR0b3AsICRib3R0b206ICR0b3AsICRzdGFydDogJGVuZCkge1xuICBAaW5jbHVkZSBwcm9wZXJ0eShwYWRkaW5nLCAkdG9wLCAkZW5kLCAkYm90dG9tLCAkc3RhcnQpO1xufVxuXG4vLyBBZGQgbWFyZ2luIGhvcml6b250YWxcbi8vIEBwYXJhbSB7c3RyaW5nfSAkc3RhcnRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkZW5kXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gbWFyZ2luLWhvcml6b250YWwoJHN0YXJ0LCAkZW5kOiAkc3RhcnQpIHtcbiAgQGluY2x1ZGUgcHJvcGVydHktaG9yaXpvbnRhbChtYXJnaW4sICRzdGFydCwgJGVuZCk7XG59XG5cbi8vIEFkZCBtYXJnaW4gZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHRvcFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkYm90dG9tXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gbWFyZ2luKCR0b3AsICRlbmQ6ICR0b3AsICRib3R0b206ICR0b3AsICRzdGFydDogJGVuZCkge1xuICBAaW5jbHVkZSBwcm9wZXJ0eShtYXJnaW4sICR0b3AsICRlbmQsICRib3R0b20sICRzdGFydCk7XG59XG5cbi8vIEFkZCBwb3NpdGlvbiBob3Jpem9udGFsXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0IC0gYW1vdW50IHRvIHBvc2l0aW9uIHN0YXJ0XG4vLyBAcGFyYW0ge3N0cmluZ30gJGVuZCAtIGFtb3VudCB0byBsZWZ0OiAwOyBlbmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwb3NpdGlvbi1ob3Jpem9udGFsKCRzdGFydDogbnVsbCwgJGVuZDogbnVsbCkge1xuICBAaWYgJHN0YXJ0ID09ICRlbmQge1xuICAgIEBpbmNsdWRlIG11bHRpLWRpcigpIHtcbiAgICAgIGxlZnQ6ICRzdGFydDtcbiAgICAgIHJpZ2h0OiAkZW5kO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgJiB7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogJHN0YXJ0O1xuICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAkZW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBZGQgcG9zaXRpb24gZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHRvcFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkYm90dG9tXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcG9zaXRpb24oJHRvcDogbnVsbCwgJGVuZDogbnVsbCwgJGJvdHRvbTogbnVsbCwgJHN0YXJ0OiBudWxsKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uLWhvcml6b250YWwoJHN0YXJ0LCAkZW5kKTtcbiAgdG9wOiAkdG9wO1xuICBib3R0b206ICRib3R0b207XG59XG5cbi8vIEFkZCBib3JkZXIgZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHRvcFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRlbmRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkYm90dG9tXG4vLyBAcGFyYW0ge3N0cmluZ30gJHN0YXJ0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gYm9yZGVyKCR0b3AsICRlbmQ6ICR0b3AsICRib3R0b206ICR0b3AsICRzdGFydDogJGVuZCkge1xuICBAaW5jbHVkZSBwcm9wZXJ0eShib3JkZXIsICR0b3AsICRlbmQsICRib3R0b20sICRzdGFydCk7XG59XG5cbi8vIEFkZCBib3JkZXIgcmFkaXVzIGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICR0b3Atc3RhcnRcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdG9wLWVuZFxuLy8gQHBhcmFtIHtzdHJpbmd9ICRib3R0b20tZW5kXG4vLyBAcGFyYW0ge3N0cmluZ30gJGJvdHRvbS1zdGFydFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGJvcmRlci1yYWRpdXMoJHRvcC1zdGFydCwgJHRvcC1lbmQ6ICR0b3Atc3RhcnQsICRib3R0b20tZW5kOiAkdG9wLXN0YXJ0LCAkYm90dG9tLXN0YXJ0OiAkdG9wLWVuZCkge1xuICBAaWYgJHRvcC1zdGFydCA9PSAkdG9wLWVuZCBhbmQgJHRvcC1zdGFydCA9PSAkYm90dG9tLWVuZCBhbmQgJHRvcC1zdGFydCA9PSAkYm90dG9tLXN0YXJ0IHtcbiAgICBib3JkZXItcmFkaXVzOiAkdG9wLXN0YXJ0O1xuICB9IEBlbHNlIHtcbiAgICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiAkdG9wLXN0YXJ0O1xuICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiAkdG9wLWVuZDtcbiAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6ICRib3R0b20tZW5kO1xuICAgIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiAkYm90dG9tLXN0YXJ0O1xuICB9XG59XG5cbi8vIEFkZCBkaXJlY3Rpb24gZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJGRpciAtIERpcmVjdGlvbiBvbiBMVFJcbkBtaXhpbiBkaXJlY3Rpb24oJGRpcikge1xuICAkb3RoZXItZGlyOiBudWxsO1xuXG4gIEBpZiAkZGlyID09IGx0ciB7XG4gICAgJG90aGVyLWRpcjogcnRsO1xuICB9IEBlbHNlIHtcbiAgICAkb3RoZXItZGlyOiBsdHI7XG4gIH1cblxuICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgZGlyZWN0aW9uOiAkZGlyO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICBkaXJlY3Rpb246ICRvdGhlci1kaXI7XG4gIH1cbn1cblxuLy8gQWRkIGZsb2F0IGZvciBhbGwgZGlyZWN0aW9uc1xuLy8gQHBhcmFtIHtzdHJpbmd9ICRzaWRlXG4vLyBAcGFyYW0ge3N0cmluZ30gJGRlY29yYXRvciAtICFpbXBvcnRhbnRcbkBtaXhpbiBmbG9hdCgkc2lkZSwgJGRlY29yYXRvcjogbnVsbCkge1xuICBAaWYgJHNpZGUgPT0gc3RhcnQge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIGZsb2F0OiBsZWZ0ICRkZWNvcmF0b3I7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIGZsb2F0OiByaWdodCAkZGVjb3JhdG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkc2lkZSA9PSBlbmQge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIGZsb2F0OiByaWdodCAkZGVjb3JhdG9yO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICBmbG9hdDogbGVmdCAkZGVjb3JhdG9yO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgbXVsdGktZGlyKCkge1xuICAgICAgZmxvYXQ6ICRzaWRlICRkZWNvcmF0b3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLXBvc2l0aW9uKCRob3Jpem9udGFsLCAkaG9yaXpvbnRhbC1hbW91bnQ6IG51bGwsICR2ZXJ0aWNhbDogbnVsbCwgJHZlcnRpY2FsLWFtb3VudDogbnVsbCkge1xuICBAaWYgJGhvcml6b250YWwgPT0gc3RhcnQgb3IgJGhvcml6b250YWwgPT0gZW5kIHtcbiAgICAkaG9yaXpvbnRhbC1sdHI6IG51bGw7XG4gICAgJGhvcml6b250YWwtcnRsOiBudWxsO1xuICAgIEBpZiAkaG9yaXpvbnRhbCA9PSBzdGFydCB7XG4gICAgICAkaG9yaXpvbnRhbC1sdHI6IGxlZnQ7XG4gICAgICAkaG9yaXpvbnRhbC1ydGw6IHJpZ2h0O1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGhvcml6b250YWwtbHRyOiByaWdodDtcbiAgICAgICRob3Jpem9udGFsLXJ0bDogbGVmdDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaG9yaXpvbnRhbC1sdHIgJGhvcml6b250YWwtYW1vdW50ICR2ZXJ0aWNhbCAkdmVydGljYWwtYW1vdW50O1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaG9yaXpvbnRhbC1ydGwgJGhvcml6b250YWwtYW1vdW50ICR2ZXJ0aWNhbCAkdmVydGljYWwtYW1vdW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgbXVsdGktZGlyKCkge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGhvcml6b250YWwgJGhvcml6b250YWwtYW1vdW50ICR2ZXJ0aWNhbCAkdmVydGljYWwtYW1vdW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkeC1heGlzLCAkeS1heGlzOiBudWxsKSB7XG4gIEBpZiAkeC1heGlzID09IHN0YXJ0IHtcbiAgICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0ICR5LWF4aXM7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0ICR5LWF4aXM7XG4gICAgfVxuICB9IEBlbHNlIGlmICR4LWF4aXMgPT0gZW5kIHtcbiAgICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCAkeS1heGlzO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0ICR5LWF4aXM7XG4gICAgfVxuICB9IEBlbHNlIGlmICR4LWF4aXMgPT0gbGVmdCBvciAkeC1heGlzID09IHJpZ2h0IHtcbiAgICBAaW5jbHVkZSBtdWx0aS1kaXIoKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAkeC1heGlzICR5LWF4aXM7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAkeC1heGlzICR5LWF4aXM7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNhbGMoMTAwJSAtICN7JHgtYXhpc30pICR5LWF4aXM7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZCB0cmFuc2Zvcm0gZm9yIGFsbCBkaXJlY3Rpb25zXG4vLyBAcGFyYW0ge3N0cmluZ30gJHRyYW5zZm9ybXMgLSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiB0cmFuc2Zvcm1zXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zLi4uKSB7XG4gICRleHRyYTogbnVsbDtcblxuICAkeDogbnVsbDtcbiAgJGx0ci10cmFuc2xhdGU6IG51bGw7XG4gICRydGwtdHJhbnNsYXRlOiBudWxsO1xuXG4gIEBlYWNoICR0cmFuc2Zvcm0gaW4gJHRyYW5zZm9ybXMge1xuICAgIEBpZiAoc3RyLWluZGV4KCR0cmFuc2Zvcm0sIHRyYW5zbGF0ZTNkKSkge1xuICAgICAgJHRyYW5zZm9ybTogc3RyLXJlcGxhY2UoJHRyYW5zZm9ybSwgJ3RyYW5zbGF0ZTNkKCcpO1xuICAgICAgJHRyYW5zZm9ybTogc3RyLXJlcGxhY2UoJHRyYW5zZm9ybSwgJyknKTtcblxuICAgICAgJGNvb3JkaW5hdGVzOiBzdHItc3BsaXQoJHRyYW5zZm9ybSwgJywnKTtcblxuICAgICAgJHg6IG50aCgkY29vcmRpbmF0ZXMsIDEpO1xuICAgICAgJHk6IG50aCgkY29vcmRpbmF0ZXMsIDIpO1xuICAgICAgJHo6IG50aCgkY29vcmRpbmF0ZXMsIDMpO1xuXG4gICAgICAkbHRyLXRyYW5zbGF0ZTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAkcnRsLXRyYW5zbGF0ZTogdHJhbnNsYXRlM2QoY2FsYygtMSAqICN7JHh9KSwgJHksICR6KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiAkZXh0cmEgPT0gbnVsbCB7XG4gICAgICAgICRleHRyYTogJHRyYW5zZm9ybTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkZXh0cmE6ICRleHRyYSAkdHJhbnNmb3JtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkeCA9PSAnMCcgb3IgJHggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbXVsdGktZGlyKCkge1xuICAgICAgdHJhbnNmb3JtOiAkbHRyLXRyYW5zbGF0ZSAkZXh0cmE7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBsdHIoKSB7XG4gICAgICB0cmFuc2Zvcm06ICRsdHItdHJhbnNsYXRlICRleHRyYTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICB0cmFuc2Zvcm06ICRydGwtdHJhbnNsYXRlICRleHRyYTtcbiAgICB9XG4gIH1cbn1cbiIsICIvLyBGbGV4IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENyZWF0ZXMgZmxleCBjbGFzc2VzIHRvIGFsaWduIGZsZXggY29udGFpbmVyc1xuLy8gYW5kIGl0ZW1zXG5cbi8vIEFsaWduIFNlbGZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5pb24tYWxpZ24tc2VsZi1zdGFydCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLmlvbi1hbGlnbi1zZWxmLWVuZCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi5pb24tYWxpZ24tc2VsZi1jZW50ZXIge1xuICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmlvbi1hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7XG59XG5cbi5pb24tYWxpZ24tc2VsZi1iYXNlbGluZSB7XG4gIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG59XG5cbi5pb24tYWxpZ24tc2VsZi1hdXRvIHtcbiAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEZsZXggV3JhcFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmlvbi13cmFwIHtcbiAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG59XG5cbi5pb24tbm93cmFwIHtcbiAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLmlvbi13cmFwLXJldmVyc2Uge1xuICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEp1c3RpZnkgQ29udGVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmlvbi1qdXN0aWZ5LWNvbnRlbnQtc3RhcnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLmlvbi1qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmlvbi1qdXN0aWZ5LWNvbnRlbnQtZW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xufVxuXG4uaW9uLWp1c3RpZnktY29udGVudC1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xufVxuXG4uaW9uLWp1c3RpZnktY29udGVudC1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG59XG5cbi5pb24tanVzdGlmeS1jb250ZW50LWV2ZW5seSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5ICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQWxpZ24gSXRlbXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5pb24tYWxpZ24taXRlbXMtc3RhcnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG4uaW9uLWFsaWduLWl0ZW1zLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmlvbi1hbGlnbi1pdGVtcy1lbmQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcbn1cblxuLmlvbi1hbGlnbi1pdGVtcy1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbn1cblxuLmlvbi1hbGlnbi1pdGVtcy1iYXNlbGluZSB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50O1xufVxuIiwgIi8qKlxuICogU3dpcGVyIDEyLjEuMlxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcbiAqIGh0dHBzOi8vc3dpcGVyanMuY29tXG4gKlxuICogQ29weXJpZ2h0IDIwMTQtMjAyNiBWbGFkaW1pciBLaGFybGFtcGlkaVxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxuICpcbiAqIFJlbGVhc2VkIG9uOiBGZWJydWFyeSAxOCwgMjAyNlxuICovXG5cbjpyb290IHtcbiAgLS1zd2lwZXItdGhlbWUtY29sb3I6ICMwMDdhZmY7XG4gIC8qXG4gIC0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjogdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKTtcbiAgLS1zd2lwZXItd3JhcHBlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogaW5pdGlhbDtcbiAgKi9cbn1cbjpob3N0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgei1pbmRleDogMTtcbn1cbi5zd2lwZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIC8qIEZpeCBvZiBXZWJraXQgZmxpY2tlcmluZyAqL1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnN3aXBlci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zd2lwZXItd3JhcHBlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgaW5pdGlhbCk7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuLnN3aXBlci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWlvcyAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xufVxuLnN3aXBlci1ob3Jpem9udGFsIHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cbi5zd2lwZXItdmVydGljYWwge1xuICB0b3VjaC1hY3Rpb246IHBhbi14O1xufVxuLnN3aXBlci1zbGlkZSB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWF1dG9oZWlnaHQsXG4uc3dpcGVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZSB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5zd2lwZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG59XG4uc3dpcGVyLWJhY2tmYWNlLWhpZGRlbiAuc3dpcGVyLXNsaWRlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG4vKiAzRCBFZmZlY3RzICovXG4uc3dpcGVyLTNkLnN3aXBlci1jc3MtbW9kZSAuc3dpcGVyLXdyYXBwZXIge1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xufVxuLnN3aXBlci0zZCAuc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuLnN3aXBlci0zZCB7XG4gIHBlcnNwZWN0aXZlOiAxMjAwcHg7XG4gIC5zd2lwZXItc2xpZGUsXG4gIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIH1cbn1cblxuLyogQ1NTIE1vZGUgKi9cbi5zd2lwZXItY3NzLW1vZGUge1xuICA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGb3IgRmlyZWZveCAqL1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogRm9yIEludGVybmV0IEV4cGxvcmVyIGFuZCBFZGdlICovXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlIHtcbiAgICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQgc3RhcnQ7XG4gIH1cbiAgJi5zd2lwZXItaG9yaXpvbnRhbCB7XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gICAgfVxuICAgID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zd2lwZXItc2xpZGVzLW9mZnNldC1iZWZvcmUpO1xuICAgICAgc2Nyb2xsLW1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLXN3aXBlci1zbGlkZXMtb2Zmc2V0LWJlZm9yZSk7XG4gICAgfVxuICAgID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1zd2lwZXItc2xpZGVzLW9mZnNldC1hZnRlcik7XG4gICAgfVxuICB9XG4gICYuc3dpcGVyLXZlcnRpY2FsIHtcbiAgICA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgICBzY3JvbGwtc25hcC10eXBlOiB5IG1hbmRhdG9yeTtcbiAgICB9XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc3dpcGVyLXNsaWRlcy1vZmZzZXQtYmVmb3JlKTtcbiAgICAgIHNjcm9sbC1tYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXN3aXBlci1zbGlkZXMtb2Zmc2V0LWJlZm9yZSk7XG4gICAgfVxuICAgID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXN3aXBlci1zbGlkZXMtb2Zmc2V0LWFmdGVyKTtcbiAgICB9XG4gIH1cbiAgJi5zd2lwZXItZnJlZS1tb2RlIHtcbiAgICA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgICBzY3JvbGwtc25hcC10eXBlOiBub25lO1xuICAgIH1cbiAgICA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGUge1xuICAgICAgc2Nyb2xsLXNuYXAtYWxpZ246IG5vbmU7XG4gICAgfVxuICB9XG4gICYuc3dpcGVyLWNlbnRlcmVkIHtcbiAgICA+IC5zd2lwZXItd3JhcHBlcjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBvcmRlcjogOTk5OTtcbiAgICB9XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIHNjcm9sbC1zbmFwLWFsaWduOiBjZW50ZXIgY2VudGVyO1xuICAgICAgc2Nyb2xsLXNuYXAtc3RvcDogYWx3YXlzO1xuICAgIH1cbiAgfVxuICAmLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItaG9yaXpvbnRhbCB7XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKTtcbiAgICB9XG4gICAgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgICB3aWR0aDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcik7XG4gICAgfVxuICB9XG4gICYuc3dpcGVyLWNlbnRlcmVkLnN3aXBlci12ZXJ0aWNhbCB7XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1iZWZvcmUpO1xuICAgIH1cbiAgICA+IC5zd2lwZXItd3JhcHBlcjo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgICBoZWlnaHQ6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXIpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBTbGlkZSBzdHlsZXMgc3RhcnQgKi9cbi8qIDNEIFNoYWRvd3MgKi9cbi5zd2lwZXItM2Qge1xuICAuc3dpcGVyLXNsaWRlLXNoYWRvdyxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdyxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0yMXB4O1xuICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgei1pbmRleDogMTA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tc3dpcGVyLXByZWxvYWRlci1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc3dpcGVyOm5vdCguc3dpcGVyLXdhdGNoLXByb2dyZXNzKSxcbi5zd2lwZXItd2F0Y2gtcHJvZ3Jlc3MgLnN3aXBlci1zbGlkZS12aXNpYmxlIHtcbiAgLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gICAgYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgaW5maW5pdGUgbGluZWFyO1xuICB9XG59XG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlIHtcbiAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiAjZmZmO1xufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlci1ibGFjayB7XG4gIC0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjogIzAwMDtcbn1cbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbi8qIFNsaWRlIHN0eWxlcyBlbmQgKi9cbiIsICIvLyBodHRwOi8vaW9uaWNmcmFtZXdvcmsuY29tL2RvY3MvdGhlbWluZy9cbkBpbXBvcnQgJ0Bpb25pYy9hbmd1bGFyL2Nzcy9jb3JlLmNzcyc7XG5AaW1wb3J0ICdAaW9uaWMvYW5ndWxhci9jc3Mvbm9ybWFsaXplLmNzcyc7XG5AaW1wb3J0ICdAaW9uaWMvYW5ndWxhci9jc3Mvc3RydWN0dXJlLmNzcyc7XG5AaW1wb3J0ICdAaW9uaWMvYW5ndWxhci9jc3MvdHlwb2dyYXBoeS5jc3MnO1xuQGltcG9ydCAnQGlvbmljL2FuZ3VsYXIvY3NzL2Rpc3BsYXkuY3NzJztcbkBpbXBvcnQgJ0Bpb25pYy9hbmd1bGFyL2Nzcy9wYWRkaW5nLmNzcyc7XG5AaW1wb3J0ICdAaW9uaWMvYW5ndWxhci9jc3MvZmxvYXQtZWxlbWVudHMuY3NzJztcbkBpbXBvcnQgJ0Bpb25pYy9hbmd1bGFyL2Nzcy90ZXh0LWFsaWdubWVudC5jc3MnO1xuQGltcG9ydCAnQGlvbmljL2FuZ3VsYXIvY3NzL3RleHQtdHJhbnNmb3JtYXRpb24uY3NzJztcbkBpbXBvcnQgJ0Bpb25pYy9hbmd1bGFyL2Nzcy9mbGV4LXV0aWxzLmNzcyc7XG5AaW1wb3J0ICdzd2lwZXIvc3dpcGVyLmNzcyc7XG5cbkBpbXBvcnQgJy4vdGhlbWUvYWN0aW9uLXNoZWV0Lmxlc3MnO1xuQGltcG9ydCAnLi90aGVtZS9kaWFsb2dzLmxlc3MnO1xuQGltcG9ydCAnLi90aGVtZS9lZGl0b3IubGVzcyc7XG5AaW1wb3J0ICcuL3RoZW1lL21vZGFsLmxlc3MnO1xuQGltcG9ydCAnLi90aGVtZS9wb3BvdmVyLmxlc3MnO1xuQGltcG9ydCAnLi90aGVtZS9yZWZyZXNoZXIubGVzcyc7XG5AaW1wb3J0ICcuL3RoZW1lL3Njcm9sbC5sZXNzJztcbkBpbXBvcnQgJy4vdGhlbWUvc2VhcmNoLWJhci5sZXNzJztcbkBpbXBvcnQgJy4vdGhlbWUvc2VsZWN0Lmxlc3MnO1xuQGltcG9ydCAnLi90aGVtZS9zcGlubmVyLmxlc3MnO1xuQGltcG9ydCAnLi90aGVtZS90b2FzdC5sZXNzJztcblxuQGltcG9ydCAnbWRzL3Rva2Vucy5sZXNzJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuXG46cm9vdCB7XG4gIC8vIGlPUyBzYWZlIGFyZWEgZmFsbGJhY2tcbiAgJi5wbHQtaW9zIHtcbiAgICAtLXNhZmUtYXJlYS1pbnNldC10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgICAtLXNhZmUtYXJlYS1pbnNldC1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcbiAgfVxuICAvLyBBbmRyb2lkIHNhZmUgYXJlYSBzdXBwb3J0XG4gICYucGx0LWFuZHJvaWQge1xuICAgIC0tc2FmZS1hcmVhLWluc2V0LXRvcDogbWF4KGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKSwgMjRweCk7XG4gICAgLS1zYWZlLWFyZWEtaW5zZXQtYm90dG9tOiBtYXgoZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pLCA0OHB4KTtcbiAgICBib2R5IHtcbiAgICAgIC0taW9uLXNhZmUtYXJlYS10b3A6IHZhcigtLXNhZmUtYXJlYS1pbnNldC10b3ApO1xuICAgICAgLS1pb24tc2FmZS1hcmVhLWJvdHRvbTogdmFyKC0tc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG4gICAgfVxuICB9XG5cbiAgY29sb3Itc2NoZW1lOiBsaWdodCBkYXJrO1xuICAtLWlvbi1mb250LWZhbWlseTogQGZvbnQtZmFtaWx5LWRlZmF1bHQ7XG59XG5cbmlvbi1tb2RhbCB7XG4gIC0tYmFja2dyb3VuZDogQGNvbG9yLWdyZXktMjAwO1xuICAtLWlvbi10b29sYmFyLWJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1zdGVwLTE1MCk7XG4gIC0taW9uLXRvb2xiYXItYm9yZGVyLWNvbG9yOiB2YXIoLS1pb24tY29sb3Itc3RlcC0yNTApO1xuICAtLWlvbi1pdGVtLWJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1zdGVwLTE1MCk7XG4gIDpyb290LmRhcmttb2RlICYge1xuICAgIC0tYmFja2dyb3VuZDogQGNvbG9yLWdyZXktZGFyay05MDA7XG4gIH1cbn1cblxuLyoqKiBBTElHTk1FTlQgKioqKi9cblxuLmNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnF1ZXN0aW9uICoge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vLy9HRU5FUklDIENPTVBPTkVOVFMgLSBBTFBIQUJFVElDIC0gTkVXIE1EU1xuXG5pb24taXRlbSBpb24tbGFiZWwge1xuICAuZWxsaXBzaXMoKTtcbn1cblxuaW9uLWJ1dHRvbiB7XG4gIGhlaWdodDogQHMxMTtcbiAgbWluLWhlaWdodDogZml0LWNvbnRlbnQ7XG4gIG1pbi13aWR0aDogYXV0bztcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjMycHg7XG59XG5cbmlvbi1jb250ZW50IHtcbiAgLS1iYWNrZ3JvdW5kOiBAY29sb3ItZ3JleS0yMDA7XG4gIDpyb290LmRhcmttb2RlICYge1xuICAgIC0tYmFja2dyb3VuZDogQGNvbG9yLWdyZXktZGFyay05MDA7XG4gIH1cbn1cblxuaW9uLWNvbCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmlvbi1ncmlkIHtcbiAgcGFkZGluZzogQHM0O1xufVxuXG4uaW5wdXQtY2xlYXItaWNvbi5zYy1pb24taW5wdXQtaW9zIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIj48cGF0aCBmaWxsPVwiZ3JleVwiIGQ9XCJNNDA1IDEzNi43OThMMzc1LjIwMiAxMDcgMjU2IDIyNi4yMDIgMTM2Ljc5OCAxMDcgMTA3IDEzNi43OTggMjI2LjIwMiAyNTYgMTA3IDM3NS4yMDIgMTM2Ljc5OCA0MDUgMjU2IDI4NS43OTggMzc1LjIwMiA0MDUgNDA1IDM3NS4yMDIgMjg1Ljc5OCAyNTZ6XCIvPjwvc3ZnPicpO1xufVxuXG4uYWxlcnQtc3ViLXRpdGxlLnNjLWlvbi1hbGVydC1pb3Mge1xuICAudGV4dC1ncmV5LTEwMDAtMTAwKCk7XG59XG5cbi5hbGVydC1tZXNzYWdlLnNjLWlvbi1hbGVydC1tZCB7XG4gIC50ZXh0LWdyZXktODAwLTQwMCgpO1xufVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuaW9uLWRhdGV0aW1lLmlvcyB7XG4gIC0tYmFja2dyb3VuZDogdmFyKC0tY2FyZC1iY2tnKTtcbiAgLS1iYWNrZ3JvdW5kLXJnYjogdmFyKC0tY2FyZC1iY2tnLXJnYik7XG4gIC50ZXh0LWdyZXktMTAwMC0xMDAoKTtcbiAgYm9yZGVyLXJhZGl1czogQHJhZGl1cy1yb3VuZGVkO1xuICAtLXdoZWVsLWhpZ2hsaWdodC1iYWNrZ3JvdW5kOiB2YXIoLS1zZWN0aW9uLWxpbmUpO1xuICAtLWlvbi1jb2xvci1zdGVwLTMwMDogdmFyKC0tY2hldnJvbi1jb2xvcik7IC8vIGRheSBvZiB3ZWVrIG92ZXJyaWRlXG5cbiAgJjo6cGFydChjYWxlbmRhci1kYXkgdG9kYXkpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kZWZhdWx0KTtcbiAgfVxuXG4gICY6OnBhcnQoY2FsZW5kYXItZGF5IGFjdGl2ZSksXG4gICY6OnBhcnQoY2FsZW5kYXItZGF5IGZvY3VzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kZWZhdWx0KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmFzaWMtd2hpdGUpO1xuICB9XG5cbiAgJjo6cGFydCh0aW1lLWJ1dHRvbikge1xuICAgIC5saWdodC1kYXJrLWJnKEBjb2xvci1ncmV5LTQwMCwgQGNvbG9yLWdyZXktZGFyay02MDApO1xuICAgIC50ZXh0LWdyZXktMTAwMC0xMDAoKTtcbiAgfVxufVxuXG5pb24tcGlja2VyIHtcbiAgLS1oaWdobGlnaHQtYmFja2dyb3VuZDogdmFyKC0tc2VjdGlvbi1saW5lKTtcbn1cblxuLy8gb3duIGNvbXBvbmVudHMgLSBpbnRlcmFjdGlvbnMgd2l0aCBpb25pY1xuaW9uLWl0ZW06aGFzKD4gcnRtLWNoZWNrYm94KSxcbmlvbi1pdGVtOmhhcyg+IHJ0bS10b2dnbGUpIHtcbiAgLS1wYWRkaW5nLXN0YXJ0OiAwICFpbXBvcnRhbnQ7XG4gIC0tcGFkZGluZy1lbmQ6IDAgIWltcG9ydGFudDtcbiAgLS1pbm5lci1wYWRkaW5nLXN0YXJ0OiAwICFpbXBvcnRhbnQ7XG4gIC0taW5uZXItcGFkZGluZy1lbmQ6IDAgIWltcG9ydGFudDtcbiAgcnRtLWNoZWNrYm94LFxuICBydG0tdG9nZ2xlIHtcbiAgICBwYWRkaW5nOiAwIEBzNDtcbiAgfVxufVxuXG4vLyBpbnRlcmFjdGlvbiBzdHlsZXNcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLnRhcHBhYmxlOmhvdmVyIHtcbiAgICBvcGFjaXR5OiBAb3BhY2l0eS1ob3ZlcjtcbiAgfVxufVxuXG4udGFwcGFibGUge1xuICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEwMG1zIGxpbmVhcjtcbiAgJjphY3RpdmUge1xuICAgIG9wYWNpdHk6IEBvcGFjaXR5LXByZXNzZWQ7XG4gIH1cbn1cbiIsICJAaW1wb3J0ICdtZHMvdG9rZW5zJztcblxuLnNjLWlvbi1hY3Rpb24tc2hlZXQtaW9zIHtcbiAgLmFjdGlvbi1zaGVldC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICM5YjliOWI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2NjZDA7XG4gIH1cblxuICAuYWN0aW9uLXNoZWV0LWJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGVmYXVsdCk7XG4gIH1cblxuICAuYWN0aW9uLXNoZWV0LWRlc3RydWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItZGVmYXVsdCk7XG4gIH1cblxuICAuYWN0aW9uLXNoZWV0LWNhbmNlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxufVxuXG4uc2MtaW9uLWFjdGlvbi1zaGVldC1tZCB7XG4gIC5hY3Rpb24tc2hlZXQtZGVzdHJ1Y3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1kZWZhdWx0KTtcbiAgfVxufVxuIiwgIiNldmFsdWF0aW9uLWZvcm0tbW9kYWwge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAZGltZW5zaW9uLW1vZGFsLWJyZWFrcG9pbnQpIHtcbiAgICAtLW1heC13aWR0aDogQGRpbWVuc2lvbi1tb2RhbC1sYXJnZS13aWR0aDtcbiAgICAtLXdpZHRoOiAxMDAlO1xuICAgIC0tbWluLWhlaWdodDogY2FsYygxMDAlIC0gMTIwcHgpO1xuICB9XG59XG5cbi5tb2RhbC1kZWZhdWx0IHtcbiAgLS1iYWNrZHJvcC1vcGFjaXR5OiAwLjYgIWltcG9ydGFudDtcbn1cblxuLm1vZGFsLW5vcm1hbCB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBkaW1lbnNpb24tbW9kYWwtYnJlYWtwb2ludCkge1xuICAgIC0tbWF4LXdpZHRoOiBAZGltZW5zaW9uLW1vZGFsLW5vcm1hbC13aWR0aDtcbiAgICAtLXdpZHRoOiBjYWxjKDEwMCUgLSAxMjBweCk7XG4gICAgLS1taW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAxMjBweCk7XG4gIH1cbn1cblxuLm1vZGFsLWRhdGVwaWNrZXIge1xuICAtLXdpZHRoOiBjYWxjKDEwMCUgLSBAczgpO1xuICAtLWhlaWdodDogMzUwcHg7XG4gIC0tYm9yZGVyLXJhZGl1czogQHMzO1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAZGltZW5zaW9uLW1vZGFsLWJyZWFrcG9pbnQpIHtcbiAgICAtLXdpZHRoOiBjYWxjKEBkaW1lbnNpb24tbW9kYWwtbm9ybWFsLXdpZHRoIC0gQHM4KTtcbiAgfVxufVxuXG4uYm90dG9tc2hlZXQtbW9kYWwge1xuICAtLWhlaWdodDogYXV0bztcbiAgLS1iYWNrZ3JvdW5kOiBAY29sb3ItZ3JleS0yMDA7XG4gIC8vIHdvcmthcm91bmQ6IHRoZXJlIGlzIG5vIGNvbmZpZyBtb2RlIGZvciBpb24tbW9kYWwgaGFuZGxlXG4gIC0taW9uLWNvbG9yLXN0ZXAtMzUwOiBAY29sb3ItZ3JleS01MDA7XG4gIDpob3N0LWNvbnRleHQoOnJvb3QuZGFya21vZGUpICYge1xuICAgIC0tYmFja2dyb3VuZDogQGNvbG9yLWdyZXktZGFyay05MDA7XG4gICAgLS1pb24tY29sb3Itc3RlcC0zNTA6IEBjb2xvci1ncmV5LWRhcmstNzAwO1xuICB9XG4gICY6OnBhcnQoaGFuZGxlKSB7XG4gICAgd2lkdGg6IDQycHg7XG4gICAgaGVpZ2h0OiBAczE7XG4gICAgbWFyZ2luLXRvcDogQHMyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZXktNTAwKTtcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAZGltZW5zaW9uLW1vZGFsLWJyZWFrcG9pbnQpIHtcbiAgICAtLW1heC13aWR0aDogQGRpbWVuc2lvbi1tb2RhbC1ub3JtYWwtd2lkdGg7XG4gICAgLS1tYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMjBweCk7XG4gICAgLS13aWR0aDogY2FsYygxMDAlIC0gMTIwcHgpO1xuICB9XG59XG5cbi5ib3R0b21zaGVldC1zY3JvbGxhYmxlLW1vZGFsIHtcbiAgLmJvdHRvbXNoZWV0LW1vZGFsKCk7XG4gIC0taGVpZ2h0OiA0MHZoO1xufVxuXG4uYm90dG9tc2hlZXQtbGFyZ2Utc2Nyb2xsYWJsZS1tb2RhbCB7XG4gIC5ib3R0b21zaGVldC1tb2RhbCgpO1xuICAtLWhlaWdodDogODB2aDtcbn1cblxuLm1vZGFsLWRpYWxvZyB7XG4gIC0taGVpZ2h0OiBhdXRvO1xuICAtLW1heC1oZWlnaHQ6IDkwdmg7XG4gIC0tYm9yZGVyLXJhZGl1czogQHMzIEBzMyAwIDA7XG4gIC0tYmFja2dyb3VuZDogdmFyKC0tZGVsZXRlLWJja2ctY29sb3IpO1xuICBAbWVkaWEgKG1pbi13aWR0aDogQGRpbWVuc2lvbi10YWJsZXQtbWluKSB7XG4gICAgLS1tYXgtd2lkdGg6IEBkaW1lbnNpb24tbW9kYWwtbm9ybWFsLXdpZHRoO1xuICAgIC0tYm9yZGVyLXJhZGl1czogQHMzO1xuICB9XG4gICY6OnBhcnQoY29udGVudCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBkaW1lbnNpb24tdGFibGV0LW1pbikge1xuICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgfVxuICB9XG59XG5cbi5tb2RhbC1jb25maXJtIHtcbiAgLm1vZGFsLWRpYWxvZygpO1xuICBAbWVkaWEgKG1pbi13aWR0aDogQGRpbWVuc2lvbi10YWJsZXQtbWluKSB7XG4gICAgLS13aWR0aDogYXV0bztcbiAgICAtLW1heC13aWR0aDogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtcHJvbXB0IHtcbiAgLS1ib3JkZXItc3R5bGU6IHNvbGlkO1xuICAtLWJvcmRlci13aWR0aDogMXB4O1xuICAtLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kZWZhdWx0KTtcbiAgLS1iYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0ZXN0KTtcbiAgOnJvb3QuZGFya21vZGUgJiB7XG4gICAgLS1iYWNrZ3JvdW5kOiBAY29sb3ItZ3JleS1kYXJrLTgwMDtcbiAgfVxuICAtLWJvcmRlci1yYWRpdXM6IEBzMztcbiAgLS13aWR0aDogYXV0bztcbiAgLS1oZWlnaHQ6IGF1dG87XG4gIC0tbWF4LXdpZHRoOiAzMDBweDtcbiAgJjo6cGFydChjb250ZW50KSB7XG4gICAgcGFkZGluZzogQHM0O1xuICB9XG59XG5cbi5tZW50aW9ucy1kaWFsb2cge1xuICAtLXdpZHRoOiAwcHg7XG4gIC0taGVpZ2h0OiAwcHg7XG4gIGp1c3RpZnktY29udGVudDogaW5pdGlhbDtcbiAgYWxpZ24taXRlbXM6IGluaXRpYWw7XG4gIC0tYmFja2dyb3VuZDogQGNvbG9yLWJhc2ljLXdoaXRlO1xuICA6aG9zdC1jb250ZXh0KDpyb290LmRhcmttb2RlKSAmIHtcbiAgICAtLWJhY2tncm91bmQ6IEBjb2xvci1iYXNpYy1kYXJrLWJsYWNrO1xuICB9XG4gICY6OnBhcnQoY29udGVudCkge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG59XG4iLCAiQGltcG9ydCAnbWRzL3Rva2Vucyc7XG5cbi50ZW1wbGF0ZS1maWVsZCxcbi5zY2hlZHVsZXItbGluayB7XG4gIGZvbnQtc2l6ZTogMjJweDsgLy8gdG8ga2VlcCBvdXRsaW5lIHByb3Blcmx5XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIG1hcmdpbi1yaWdodDogMnB4O1xuICBib3JkZXItcmFkaXVzOiBAcmFkaXVzLWRlZmF1bHQ7XG4gICYgPiBzcGFuIHtcbiAgICB1c2VyLXNlbGVjdDogYWxsICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1sYWJlbC1pbmRlbnQsIDBweCkpO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiBAcmFkaXVzLWRlZmF1bHQ7XG4gICAgcGFkZGluZzogMnB4IEBzMjtcbiAgICB0ZXh0LWluZGVudDogMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktZGVmYXVsdCk7XG4gICAgLnRleHQtZ3JleS04MDAtNDAwKCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbGlzdC1iY2tnLWNvbG9yKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLnN1Yi1oZWFkaW5nLTIoKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJiAudGVtcGxhdGUtYnJhY2tldCB7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGVmYXVsdCk7XG4gICAgfVxuICAgICYgLmljb24tc3RhcnQge1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBmaWxsOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRlZmF1bHQpO1xuICAgIH1cbiAgICAmIC5pY29uLWVuZCB7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGZpbGw6IHZhcigtLWNvbG9yLXByaW1hcnktZGVmYXVsdCk7XG4gICAgfVxuICAgICYgLnRlbXBsYXRlLWNvbnRlbnQge1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgIH1cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi50ZW1wbGF0ZS1zZWxlY3RlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcbiAgICAgIC5saWdodC1kYXJrLWJnKEBjb2xvci1wcmltYXJ5LWxpZ2h0LCBAY29sb3ItcHJpbWFyeS1kYXJrLWxpZ2h0ZXN0KTtcbiAgICAgIC5saWdodC1kYXJrLWNvbG9yKEBjb2xvci1ncmV5LTgwMCwgQGNvbG9yLWdyZXktMjAwKTtcbiAgICB9XG4gIH1cbn1cblxuLnRlbXBsYXRlLWVtcHR5LFxuLnNjaGVkdWxlci1saW5rLWVycm9yIHtcbiAgJiA+IHNwYW4ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWVycm9yLWRlZmF1bHQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1kZWZhdWx0KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1saXN0LWJja2ctY29sb3IpO1xuICAgICYgLnRlbXBsYXRlLWJyYWNrZXQge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLWRlZmF1bHQpO1xuICAgIH1cbiAgICAmIC5pY29uLXN0YXJ0IHtcbiAgICAgIGZpbGw6IHZhcigtLWNvbG9yLWVycm9yLWRlZmF1bHQpO1xuICAgIH1cbiAgICAmIC5pY29uLWVuZCB7XG4gICAgICBmaWxsOiB2YXIoLS1jb2xvci1lcnJvci1kZWZhdWx0KTtcbiAgICB9XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYudGVtcGxhdGUtc2VsZWN0ZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItbGlnaHQpO1xuICAgIH1cbiAgICA6cm9vdC5kYXJrbW9kZSAmOmhvdmVyLFxuICAgIDpyb290LmRhcmttb2RlICY6Zm9jdXMge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLWRlZmF1bHQpO1xuICAgIH1cbiAgfVxufVxuXG4udGVtcGxhdGUtZW1wdHkge1xuICBzcGFuLnRlbXBsYXRlLWNvbnRlbnQge1xuICAgIC50ZXh0LWdyZXktNjAwLTUwMCgpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICB9XG59XG5cbi5Qcm9zZU1pcnJvci1zZWxlY3RlZG5vZGUge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tY29sb3ItcHJpbWFyeS1kZWZhdWx0KTtcbiAgJi50ZW1wbGF0ZS1maWVsZCxcbiAgJi5zY2hlZHVsZXItbGluayB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAmID4gc3BhbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tY29sb3ItcHJpbWFyeS1kZWZhdWx0KTtcbiAgICB9XG4gICAgJi50ZW1wbGF0ZS1lbXB0eSA+IHNwYW4sXG4gICAgJi5zY2hlZHVsZXItbGluay1lcnJvciA+IHNwYW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWNvbG9yLWVycm9yLWRlZmF1bHQpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBNYWtlIHN1cmUgbGkgc2VsZWN0aW9ucyB3cmFwIGFyb3VuZCBtYXJrZXJzICovXG5cbmxpLlByb3NlTWlycm9yLXNlbGVjdGVkbm9kZSB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbmxpLlByb3NlTWlycm9yLXNlbGVjdGVkbm9kZTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0zMnB4O1xuICByaWdodDogLTJweDtcbiAgdG9wOiAtMnB4O1xuICBib3R0b206IC0ycHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM4Y2Y7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwgIi53ZWlnaHQtNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4ud2VpZ2h0LTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLndlaWdodC01MDAge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8vaGVhZGluZ1xuXG4uaGVhZGluZy0xIHtcbiAgZm9udC1zaXplOiAzNHB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMzdweDtcbiAgLndlaWdodC03MDAoKTtcbn1cblxuLmhlYWRpbmctMiB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjM2cHg7XG4gIC53ZWlnaHQtNzAwO1xufVxuXG4uaGVhZGluZy0zIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMzVweDtcbiAgLndlaWdodC03MDA7XG59XG5cbi5oZWFkaW5nLTQge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4zOHB4O1xuICAud2VpZ2h0LTcwMDtcbn1cblxuLmhlYWRpbmctNSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjM4cHg7XG4gIC53ZWlnaHQtNzAwO1xufVxuXG4uaGVhZGluZy02IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMzhweDtcbiAgLndlaWdodC03MDA7XG59XG5cbi5zdWItaGVhZGluZy0xIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjQ1cHg7XG4gIC53ZWlnaHQtNjAwO1xufVxuXG4uc3ViLWhlYWRpbmctMiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4zMnB4O1xuICAud2VpZ2h0LTYwMDtcbn1cblxuLnN1Yi1oZWFkaW5nLTMge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMTVweDtcbiAgLndlaWdodC02MDA7XG59XG5cbi5zdWItaGVhZGluZy00IHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgLndlaWdodC02MDA7XG59XG5cbi5zdWItaGVhZGluZy01IHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMTJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTJweDtcbiAgLndlaWdodC02MDA7XG59XG5cbi8vdWktdGV4dFxuLnVpLXRleHQtMSB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4zMnB4O1xuICAud2VpZ2h0LTUwMDtcbn1cblxuLnVpLXRleHQtMiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4zMnB4O1xuICAud2VpZ2h0LTUwMDtcbn1cblxuLnVpLXRleHQtMyB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4xNXB4O1xuICAud2VpZ2h0LTUwMDtcbn1cblxuLnVpLXRleHQtNCB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wOHB4O1xuICAud2VpZ2h0LTUwMDtcbn1cblxuLnVpLXRleHQtNSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIC53ZWlnaHQtNTAwO1xufVxuXG4udWktdGV4dC02IHtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMTJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDdweDtcbiAgLndlaWdodC01MDA7XG59XG5cbi5ydW5uaW5nLXRleHQtMSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4zMnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4ucnVubmluZy10ZXh0LTIge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMTU0cHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5ydW5uaW5nLXRleHQtMl9sbjE2IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjE1NHB4O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ucnVubmluZy10ZXh0LTMge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uY2FwdGlvbi10ZXh0LTEge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMTVweDtcbn1cblxuLmNhcHRpb24tdGV4dC0yIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmNhcHRpb24tdGV4dC0zIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTJweDtcbn1cblxuLmNhcHRpb24tdGV4dC00IHtcbiAgZm9udC1zaXplOiA4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZXR0ZXItc3BhY2luZzogLTAuNHB4O1xufVxuIiwgIkBpbXBvcnQgJ2NvbG9ycy1saWdodC5sZXNzJztcbkBpbXBvcnQgJ2NvbG9ycy1kYXJrLmxlc3MnO1xuXG4vLyBQQUxFVFRFUyBGT1IgTElHSFQgQU5EIERBUktcblxuLmxpZ2h0LXJlY3J1aXRlZS1wYWxldHRlIHtcbiAgY29sb3Itc2NoZW1lOiBsaWdodDtcbiAgLS1hdmF0YXItYmNrZy1jb2xvcjogQGNvbG9yLWdyZXktNzAwO1xuICAtLWF2YXRhci1sYWJlbC1jb2xvcjogQGNvbG9yLWJhc2ljLXdoaXRlO1xuICAtLWNhcmQtYmNrZzogQGNvbG9yLWJhc2ljLXdoaXRlO1xuICAtLWNhcmQtYmNrZy1yZ2I6IDI1NSwgMjU1LCAyNTU7XG4gIC0tY2FyZC1iY2tnLWNvbG9yOiBmYWRlKEBjb2xvci1ncmV5LTEwMCwgNSUpO1xuICAtLWNhcmQtYmNrZy1vdmVybGF5OiBsaW5lYXItZ3JhZGllbnQoXG4gICAgLTE4MGRlZyxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDQwJSxcbiAgICByZ2IoMjU1LCAyNTUsIDI1NSkgMTAwJVxuICApO1xuICAtLWNhcmQtc3RhY2tlZC1iY2tnOiBAY29sb3ItZ3JleS0xMDA7XG4gIC0tY2hldnJvbi1jb2xvcjogQGNvbG9yLWdyZXktNjAwO1xuICAtLWhlYWRlci1jb2xvcjogQGNvbG9yLWdyZXktODAwO1xuICAtLWluZm8tYm9yZGVyLWNvbG9yOiBAY29sb3ItZ3JleS01MDA7XG4gIC0tbW9kYWwtaGVhZGVyLWNvbG9yOiBAY29sb3ItYmFzaWMtd2hpdGU7XG4gIC0tbW9yZS1idG4tY29sb3I6IEBjb2xvci1ncmV5LTgwMDtcbiAgLS1saXN0LWJja2ctY29sb3I6IEBjb2xvci1iYXNpYy13aGl0ZTtcbiAgLS1waWxsLWJja2c6IEBjb2xvci1ncmV5LTIwMDtcbiAgLS1wbGFjZWhvbGRlci1jb2xvcjogQGNvbG9yLWdyZXktNjAwO1xuICAtLXNlY3Rpb24tbGluZTogQGNvbG9yLWdyZXktNTAwO1xuICAtLXNlZ21lbnQtYmNrZy1jb2xvcjogQGNvbG9yLWdyZXktMzAwO1xuICAtLXNoYWRvdy1jYXJkLW92ZXJsYXA6IDBweCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wOCksIDBweCAwcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIC0tdGFnLWxhYmVsLWNvbG9yOiBAY29sb3ItZ3JleS04MDA7XG4gIC0tdGFnLWljb24tY29sb3I6IEBjb2xvci1ncmV5LTgwMDtcbiAgLS10YWctYm9yZGVyLWNvbG9yOiBAY29sb3ItZ3JleS00MDA7XG4gIC0tY2hpcC1ib3JkZXItY29sb3I6IEBjb2xvci1ncmV5LTUwMDtcbiAgLS1zdGFja2VkLWNhcmQtc2hhZG93OiAwcHggMXB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMDQpLCAwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuICAtLXNlYXJjaGJhci1iY2tnOiBAY29sb3ItZ3JleS00MDA7XG4gIC0tYnV0dG9uLWJja2ctY29sb3I6IEBjb2xvci1iYXNpYy13aGl0ZTtcbiAgLS1iY2tnLWFjdGl2YXRlZDogQGNvbG9yLWJhc2ljLWJsYWNrO1xuICAtLWJja2ctZm9jdXNlZDogQGNvbG9yLWJhc2ljLWJsYWNrO1xuICAtLWJja2ctaG92ZXI6IEBjb2xvci1iYXNpYy1ibGFjaztcbiAgLS1iY2tnLWFjdGl2YXRlZC1vcGFjaXR5OiAwLjEyO1xuICAtLWJja2ctZm9jdXNlZC1vcGFjaXR5OiAwLjE1O1xuICAtLWJja2ctaG92ZXItb3BhY2l0eTogMC4wNDtcbiAgLS1idXR0b24tYmNrZy1ob3ZlcjogQGNvbG9yLWdyZXktMTAwO1xuXG4gIC8vIElPTklDXG4gIC0taW9uLWNvbG9yLXByaW1hcnk6IEBjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XG4gIC0taW9uLWNvbG9yLXByaW1hcnktcmdiOiA5MCwgMjgsIDE4MztcblxuICAtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItZ3JleS0yMDA7XG4gIC0taW9uLWJhY2tncm91bmQtY29sb3ItcmdiOiAyNDYsIDI0NSwgMjUwO1xuXG4gIC0taW9uLXRleHQtY29sb3I6IEBjb2xvci1ncmV5LTEwMDA7XG4gIC0taW9uLXRleHQtY29sb3ItcmdiOiA0MCwgMzYsIDQ2O1xuXG4gIC0taW9uLWNvbG9yLXN0ZXAtNTA6IEBjb2xvci1ncmV5LTEwMDtcbiAgLS1pb24tY29sb3Itc3RlcC0xMDA6IEBjb2xvci1ncmV5LTEwMDtcbiAgLS1pb24tY29sb3Itc3RlcC0xNTA6IEBjb2xvci1ncmV5LTIwMDtcbiAgLS1pb24tY29sb3Itc3RlcC0yMDA6IEBjb2xvci1ncmV5LTIwMDtcbiAgLS1pb24tY29sb3Itc3RlcC0yNTA6IEBjb2xvci1ncmV5LTMwMDtcbiAgLS1pb24tY29sb3Itc3RlcC0zMDA6IEBjb2xvci1ncmV5LTMwMDtcbiAgLS1pb24tY29sb3Itc3RlcC0zNTA6IEBjb2xvci1ncmV5LTQwMDtcbiAgLS1pb24tY29sb3Itc3RlcC00MDA6IEBjb2xvci1ncmV5LTQwMDtcbiAgLS1pb24tY29sb3Itc3RlcC00NTA6IEBjb2xvci1ncmV5LTUwMDtcbiAgLS1pb24tY29sb3Itc3RlcC01MDA6IEBjb2xvci1ncmV5LTUwMDtcbiAgLS1pb24tY29sb3Itc3RlcC01NTA6IEBjb2xvci1ncmV5LTYwMDtcbiAgLS1pb24tY29sb3Itc3RlcC02MDA6IEBjb2xvci1ncmV5LTYwMDtcbiAgLS1pb24tY29sb3Itc3RlcC02NTA6IEBjb2xvci1ncmV5LTcwMDtcbiAgLS1pb24tY29sb3Itc3RlcC03MDA6IEBjb2xvci1ncmV5LTcwMDtcbiAgLS1pb24tY29sb3Itc3RlcC03NTA6IEBjb2xvci1ncmV5LTgwMDtcbiAgLS1pb24tY29sb3Itc3RlcC04MDA6IEBjb2xvci1ncmV5LTgwMDtcbiAgLS1pb24tY29sb3Itc3RlcC04NTA6IEBjb2xvci1ncmV5LTkwMDtcbiAgLS1pb24tY29sb3Itc3RlcC05MDA6IEBjb2xvci1ncmV5LTkwMDtcbiAgLS1pb24tY29sb3Itc3RlcC05NTA6IEBjb2xvci1ncmV5LTEwMDA7XG59XG5cbi5kYXJrLXJlY3J1aXRlZS1wYWxldHRlIHtcbiAgY29sb3Itc2NoZW1lOiBkYXJrO1xuICAtLWF2YXRhci1iY2tnLWNvbG9yOiBAY29sb3ItZ3JleS1kYXJrLTUwMDtcbiAgLS1hdmF0YXItbGFiZWwtY29sb3I6IEBjb2xvci1ncmV5LWRhcmstMTAwO1xuICAtLWNhcmQtYmNrZzogQGNvbG9yLWdyZXktZGFyay04MDA7XG4gIC0tY2FyZC1iY2tnLXJnYjogNDYsIDQ3LCA1MTtcbiAgLS1jYXJkLXN0YWNrZWQtYmNrZzogQGNvbG9yLWdyZXktZGFyay03MDA7XG4gIC0tY2FyZC1iY2tnLW92ZXJsYXk6IGxpbmVhci1ncmFkaWVudCgtMTgwZGVnLCByZ2JhKDQ2LCA0NywgNTEsIDApIDQwJSwgcmdiKDQ2LCA0NywgNTEpIDgwJSk7XG4gIC0tY2hldnJvbi1jb2xvcjogQGNvbG9yLWdyZXktZGFyay01MDA7XG4gIC0taGVhZGVyLWNvbG9yOiBAY29sb3ItZ3JleS1kYXJrLTQwMDtcbiAgLS1pbmZvLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tbW9kYWwtaGVhZGVyLWNvbG9yOiBAY29sb3ItZ3JleS1kYXJrLTEwMDA7XG4gIC0tbW9yZS1idG4tY29sb3I6IEBjb2xvci1ncmV5LWRhcmstMjAwO1xuICAtLWxpc3QtYmNrZy1jb2xvcjogQGNvbG9yLWdyZXktZGFyay04MDA7XG4gIC0tcGlsbC1iY2tnOiBAY29sb3ItZ3JleS1kYXJrLTYwMDtcbiAgLS1wbGFjZWhvbGRlci1jb2xvcjogQGNvbG9yLWdyZXktZGFyay00MDA7XG4gIC0tc2VjdGlvbi1saW5lOiBAY29sb3ItZ3JleS1kYXJrLTYwMDtcbiAgLS1zZWFyY2hiYXItYmNrZzogQGNvbG9yLWdyZXktZGFyay02MDA7XG4gIC0tc2VnbWVudC1iY2tnLWNvbG9yOiBAY29sb3ItZ3JleS1kYXJrLTYwMDtcbiAgLS1zaGFkb3ctY2FyZC1vdmVybGFwOiAwcHggMHB4IDZweCAwcHggIzAwMDAwMDdhLCAwcHggMnB4IDRweCAwcHggIzAwMDAwMDNkO1xuICAtLXN0YWNrZWQtY2FyZC1zaGFkb3c6IDBweCAxcHggNHB4IDBweCAjMDAwMDAwY2MsIDBweCAxcHggOHB4IDBweCAjMDAwMDAwMjk7XG4gIC0tdGFnLWxhYmVsLWNvbG9yOiBAY29sb3ItZ3JleS1kYXJrLTQwMDtcbiAgLS10YWctYm9yZGVyLWNvbG9yOiBAY29sb3ItZ3JleS1kYXJrLTUwMDtcbiAgLS10YWctaWNvbi1jb2xvcjogQGNvbG9yLWdyZXktZGFyay00MDA7XG4gIC0tY2hpcC1ib3JkZXItY29sb3I6IEBjb2xvci1ncmV5LWRhcmstNTAwO1xuICAtLXRvYXN0LWJja2ctY29sb3I6ICMyODM1NDI7XG4gIC0tYnV0dG9uLWJja2ctY29sb3I6IEBjb2xvci1ncmV5LWRhcmstNzAwO1xuICAtLWNhcmQtYmNrZy1jb2xvcjogZmFkZShAY29sb3ItZ3JleS1kYXJrLTgwMCwgNzAlKTtcbiAgLS1iY2tnLWFjdGl2YXRlZDogdmFyKC0tYnV0dG9uLWJja2ctY29sb3IpO1xuICAtLWJja2ctZm9jdXNlZDogdmFyKC0tYnV0dG9uLWJja2ctY29sb3IpO1xuICAtLWJja2ctaG92ZXI6IHZhcigtLWJ1dHRvbi1iY2tnLWNvbG9yKTtcbiAgLS1iY2tnLWFjdGl2YXRlZC1vcGFjaXR5OiAxO1xuICAtLWJja2ctZm9jdXNlZC1vcGFjaXR5OiAxO1xuICAtLWJja2ctaG92ZXItb3BhY2l0eTogMTtcbiAgLS1idXR0b24tYmNrZy1ob3ZlcjogQGNvbG9yLWdyZXktZGFyay04MDA7XG5cbiAgLy8gSU9OSUNcbiAgLS1pb24tY29sb3ItcHJpbWFyeTogQGNvbG9yLXByaW1hcnktZGFyay1kZWZhdWx0O1xuICAtLWlvbi1jb2xvci1wcmltYXJ5LXJnYjogMTc1LCAxMjgsIDI0NDtcblxuICAtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItZ3JleS1kYXJrLTgwMDtcbiAgLS1pb24tYmFja2dyb3VuZC1jb2xvci1yZ2I6IDQ2LCA0NywgNTE7XG5cbiAgLS1pb24tdGV4dC1jb2xvcjogQGNvbG9yLWJhc2ljLWRhcmstd2hpdGU7XG4gIC0taW9uLXRleHQtY29sb3ItcmdiOiAyNTUsIDI1NSwgMjU1O1xuXG4gIC0taW9uLWNvbG9yLXN0ZXAtNTA6IEBjb2xvci1ncmV5LWRhcmstMTAwMDtcbiAgLS1pb24tY29sb3Itc3RlcC0xMDA6IEBjb2xvci1ncmV5LWRhcmstMTAwMDtcbiAgLS1pb24tY29sb3Itc3RlcC0xNTA6IEBjb2xvci1ncmV5LWRhcmstOTAwO1xuICAtLWlvbi1jb2xvci1zdGVwLTIwMDogQGNvbG9yLWdyZXktZGFyay05MDA7XG4gIC0taW9uLWNvbG9yLXN0ZXAtMjUwOiBAY29sb3ItZ3JleS1kYXJrLTgwMDtcbiAgLS1pb24tY29sb3Itc3RlcC0zMDA6IEBjb2xvci1ncmV5LWRhcmstODAwO1xuICAtLWlvbi1jb2xvci1zdGVwLTM1MDogQGNvbG9yLWdyZXktZGFyay03MDA7XG4gIC0taW9uLWNvbG9yLXN0ZXAtNDAwOiBAY29sb3ItZ3JleS1kYXJrLTcwMDtcbiAgLS1pb24tY29sb3Itc3RlcC00NTA6IEBjb2xvci1ncmV5LWRhcmstNjAwO1xuICAtLWlvbi1jb2xvci1zdGVwLTUwMDogQGNvbG9yLWdyZXktZGFyay02MDA7XG4gIC0taW9uLWNvbG9yLXN0ZXAtNTUwOiBAY29sb3ItZ3JleS1kYXJrLTUwMDtcbiAgLS1pb24tY29sb3Itc3RlcC02MDA6IEBjb2xvci1ncmV5LWRhcmstNTAwO1xuICAtLWlvbi1jb2xvci1zdGVwLTY1MDogQGNvbG9yLWdyZXktZGFyay00MDA7XG4gIC0taW9uLWNvbG9yLXN0ZXAtNzAwOiBAY29sb3ItZ3JleS1kYXJrLTQwMDtcbiAgLS1pb24tY29sb3Itc3RlcC03NTA6IEBjb2xvci1ncmV5LWRhcmstMzAwO1xuICAtLWlvbi1jb2xvci1zdGVwLTgwMDogQGNvbG9yLWdyZXktZGFyay0zMDA7XG4gIC0taW9uLWNvbG9yLXN0ZXAtODUwOiBAY29sb3ItZ3JleS1kYXJrLTIwMDtcbiAgLS1pb24tY29sb3Itc3RlcC05MDA6IEBjb2xvci1ncmV5LWRhcmstMjAwO1xuICAtLWlvbi1jb2xvci1zdGVwLTk1MDogQGNvbG9yLWdyZXktZGFyay0xMDA7XG59XG5cbi8vIFJPT1QgU0VUVElOR1NcblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1ncmV5LTIwMDtcbiAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1iYXNpYy1ibGFjaztcbiAgfVxufVxuXG46cm9vdCB7XG4gIC5saWdodC1yZWNydWl0ZWUtcGFsZXR0ZSgpO1xufVxuXG46cm9vdC5kYXJrbW9kZSB7XG4gIC5kYXJrLXJlY3J1aXRlZS1wYWxldHRlKCk7XG59XG5cbi8vIENPTE9SIEhFTFBFUlNcblxuLmxpZ2h0LWRhcmstY29sb3IoQGxpZ2h0LCBAZGFyaykge1xuICBAc3VwcG9ydHMgKGNvbG9yOiBsaWdodC1kYXJrKEBsaWdodCwgQGRhcmspKSB7XG4gICAgY29sb3I6IGxpZ2h0LWRhcmsoQGxpZ2h0LCBAZGFyayk7XG4gIH1cbiAgQHN1cHBvcnRzIG5vdCAoY29sb3I6IGxpZ2h0LWRhcmsoQGxpZ2h0LCBAZGFyaykpIHtcbiAgICBjb2xvcjogQGxpZ2h0O1xuICAgIDpob3N0LWNvbnRleHQoOnJvb3QuZGFya21vZGUpICYge1xuICAgICAgY29sb3I6IEBkYXJrO1xuICAgIH1cbiAgfVxufVxuXG4ubGlnaHQtZGFyay1iZyhAbGlnaHQsIEBkYXJrKSB7XG4gIEBzdXBwb3J0cyAoYmFja2dyb3VuZC1jb2xvcjogbGlnaHQtZGFyayhAbGlnaHQsIEBkYXJrKSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0LWRhcmsoQGxpZ2h0LCBAZGFyayk7XG4gIH1cbiAgQHN1cHBvcnRzIG5vdCAoY29sb3I6IGxpZ2h0LWRhcmsoQGxpZ2h0LCBAZGFyaykpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHQ7XG4gICAgOmhvc3QtY29udGV4dCg6cm9vdC5kYXJrbW9kZSkgJiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZGFyaztcbiAgICB9XG4gIH1cbn1cblxuLmxpZ2h0LWRhcmstYm9yZGVyKEBsaWdodCwgQGRhcmspIHtcbiAgQHN1cHBvcnRzIChib3JkZXItY29sb3I6IGxpZ2h0LWRhcmsoQGxpZ2h0LCBAZGFyaykpIHtcbiAgICBib3JkZXItY29sb3I6IGxpZ2h0LWRhcmsoQGxpZ2h0LCBAZGFyayk7XG4gIH1cbiAgQHN1cHBvcnRzIG5vdCAoYm9yZGVyLWNvbG9yOiBsaWdodC1kYXJrKEBsaWdodCwgQGRhcmspKSB7XG4gICAgYm9yZGVyLWNvbG9yOiBAbGlnaHQ7XG4gICAgOmhvc3QtY29udGV4dCg6cm9vdC5kYXJrbW9kZSkgJiB7XG4gICAgICBib3JkZXItY29sb3I6IEBkYXJrO1xuICAgIH1cbiAgfVxufVxuXG4ubGlnaHQtZGFyay1maWxsKEBsaWdodCwgQGRhcmspIHtcbiAgQHN1cHBvcnRzIChmaWxsOiBsaWdodC1kYXJrKEBsaWdodCwgQGRhcmspKSB7XG4gICAgZmlsbDogbGlnaHQtZGFyayhAbGlnaHQsIEBkYXJrKTtcbiAgfVxuICBAc3VwcG9ydHMgbm90IChmaWxsOiBsaWdodC1kYXJrKEBsaWdodCwgQGRhcmspKSB7XG4gICAgZmlsbDogQGxpZ2h0O1xuICAgIDpob3N0LWNvbnRleHQoOnJvb3QuZGFya21vZGUpICYge1xuICAgICAgZmlsbDogQGRhcms7XG4gICAgfVxuICB9XG59XG4iLCAiQGltcG9ydCAnbWRzL3Rva2Vucyc7XG5cbmlvbi1tb2RhbC5tb2RhbC1jYXJkIHtcbiAgaW9uLWhlYWRlciBpb24tdG9vbGJhcjpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuXG4gIGlvbi1oZWFkZXIgaW9uLXRvb2xiYXI6bGFzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG4iLCAiQGltcG9ydCAnbWRzL3Rva2Vucyc7XG5cbmlvbi1yZWZyZXNoZXIge1xuICB6LWluZGV4OiAxO1xuICBpb24tc3Bpbm5lciB7XG4gICAgLS1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kZWZhdWx0KTtcbiAgfVxuICAucmVmcmVzaGVyLXB1bGxpbmcge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbiIsICJAaW1wb3J0ICdtZHMvdG9rZW5zJztcblxuaW9uLWluZmluaXRlLXNjcm9sbCB7XG4gIGlvbi1zcGlubmVyIHtcbiAgICAtLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRlZmF1bHQpO1xuICB9XG59XG5cbmNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCxcbi5zY3JvbGwtY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHdpbGwtY2hhbmdlOiBzY3JvbGwtcG9zaXRpb247XG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cblxuLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cbiIsICIuc2VhcmNoYmFyLWlucHV0LWNvbnRhaW5lciA+IC5zZWFyY2hiYXItaW5wdXQge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uc2VhcmNoYmFyLWlucHV0LWNvbnRhaW5lciA+IC5zZWFyY2hiYXItY2xlYXItYnV0dG9uIHtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG4iLCAiQGltcG9ydCAnbWRzL3Rva2Vucyc7XG5cbi5hbGVydC13cmFwcGVyLnNjLWlvbi1hbGVydC1pb3Mge1xuICB3aWR0aDogMjgwcHg7XG4gIG1pbi13aWR0aDogMjgwcHg7XG4gIG1heC13aWR0aDogMjgwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWxpc3QtYmNrZy1jb2xvcik7XG59XG5cbi5hbGVydC10aXRsZS5zYy1pb24tYWxlcnQtaW9zIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICAudGV4dC1ncmV5LTEwMDAtMTAwKCk7XG59XG5cbi5hbGVydC1tZXNzYWdlLnNjLWlvbi1hbGVydC1pb3Mge1xuICAudGV4dC1ncmV5LTEwMDAtMTAwKCk7XG59XG5cbi5hbGVydC1jaGVja2JveC1ncm91cC5zYy1pb24tYWxlcnQtaW9zLFxuLmFsZXJ0LXJhZGlvLWdyb3VwLnNjLWlvbi1hbGVydC1pb3Mge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tc2VjdGlvbi1saW5lKTtcbn1cblxuLmFsZXJ0LXRhcHBhYmxlLnNjLWlvbi1hbGVydC1pb3Mge1xuICBoZWlnaHQ6IDUxcHg7XG59XG5cbi5hbGVydC1idXR0b24uc2MtaW9uLWFsZXJ0LWlvcyB7XG4gIGhlaWdodDogNTFweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXNlY3Rpb24tbGluZSk7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXNlY3Rpb24tbGluZSk7XG59XG5cbi5hbGVydC1idXR0b24uc2MtaW9uLWFsZXJ0LWlvcyB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGVmYXVsdCk7XG59XG5cbi5hbGVydC1yYWRpby1sYWJlbC5zYy1pb24tYWxlcnQtaW9zIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgcGFkZGluZy10b3A6IDE2cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxN3B4O1xuICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG59XG5cblthcmlhLWNoZWNrZWQ9J3RydWUnXS5zYy1pb24tYWxlcnQtaW9zIC5hbGVydC1yYWRpby1sYWJlbC5zYy1pb24tYWxlcnQtaW9zIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGVmYXVsdCk7XG59XG5cblthcmlhLWNoZWNrZWQ9J3RydWUnXS5zYy1pb24tYWxlcnQtaW9zIC5hbGVydC1yYWRpby1pbm5lci5zYy1pb24tYWxlcnQtaW9zIHtcbiAgbGVmdDogMXB4O1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGVmYXVsdCk7XG59XG4iLCAiQGltcG9ydCAnbWRzL3Rva2Vucyc7XG5cbmlvbi1zcGlubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiBhdXRvO1xuXG4gIC0tY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGVmYXVsdCk7XG59XG4iLCAiQGltcG9ydCAnbWRzL3Rva2Vucyc7XG5cbmlvbi10b2FzdCB7XG4gIC0tYmFja2dyb3VuZDogQGNvbG9yLWdyZXktOTAwO1xuICAtLWNvbG9yOiBAY29sb3ItYmFzaWMtd2hpdGU7XG4gIC0tYnV0dG9uLWNvbG9yOiBAY29sb3ItcHJpbWFyeS1kYXJrLWRlZmF1bHQ7XG4gIDpyb290LmRhcmttb2RlICYge1xuICAgIC0tYmFja2dyb3VuZDogQGNvbG9yLWdyZXktZGFyay0zMDA7XG4gICAgLS1jb2xvcjogQGNvbG9yLWdyZXktZGFyay0xMDAwO1xuICAgIC0tYnV0dG9uLWNvbG9yOiBAY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xuICB9XG4gIC0tYm9yZGVyLXJhZGl1czogMTJweDtcbiAgLS1zdGFydDogOHB4O1xuICAtLWVuZDogOHB4O1xuICAudWktdGV4dC0yKCk7XG4gICY6OnBhcnQoYnV0dG9uIGNhbmNlbCkge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAtLWJ1dHRvbi1jb2xvcjogQGNvbG9yLWJhc2ljLXdoaXRlO1xuICAgIDpyb290LmRhcmttb2RlICYge1xuICAgICAgLS1idXR0b24tY29sb3I6IEBjb2xvci1ncmV5LWRhcmstMTAwMDtcbiAgICB9XG4gIH1cbn1cblxuaW9uLXRvYXN0LnRvYXN0LXJlbG9hZCB7XG4gIC0tYm94LXNoYWRvdzogMHB4IDIwcHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMSksIDBweCAxMHB4IDEwcHggcHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gIC0tYm9yZGVyLXJhZGl1czogMjBweDtcbiAgLS1oZWlnaHQ6IDQwcHg7XG4gIC0tc3RhcnQ6IGF1dG87XG4gIC0tZW5kOiAxNnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAmOjpwYXJ0KGJ1dHRvbikge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZmlsbD1cIiUyM2FmODBmNFwiIGQ9XCJNMTIsNlY5TDE2LDVMMTIsMVY0QzcuNTgsNCA0LDcuNTggNCwxMkM0LDEzLjU3IDQuNDYsMTUuMDMgNS4yNCwxNi4yNkw2LjcsMTQuOEM2LjI1LDEzLjk3IDYsMTMgNiwxMkM2LDguNjkgOC42OSw2IDEyLDZNMTguNzYsNy43NEwxNy4zLDkuMkMxNy43NCwxMC4wNCAxOCwxMSAxOCwxMkMxOCwxNS4zMSAxNS4zMSwxOCAxMiwxOFYxNUw4LDE5TDEyLDIzVjIwQzE2LjQyLDIwIDIwLDE2LjQyIDIwLDEyQzIwLDEwLjQzIDE5LjU0LDguOTcgMTguNzYsNy43NFpcIiAvPjwvc3ZnPicpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICA6cm9vdC5kYXJrbW9kZSAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGZpbGw9XCIlMjM1YTFjYjdcIiBkPVwiTTEyLDZWOUwxNiw1TDEyLDFWNEM3LjU4LDQgNCw3LjU4IDQsMTJDNCwxMy41NyA0LjQ2LDE1LjAzIDUuMjQsMTYuMjZMNi43LDE0LjhDNi4yNSwxMy45NyA2LDEzIDYsMTJDNiw4LjY5IDguNjksNiAxMiw2TTE4Ljc2LDcuNzRMMTcuMyw5LjJDMTcuNzQsMTAuMDQgMTgsMTEgMTgsMTJDMTgsMTUuMzEgMTUuMzEsMTggMTIsMThWMTVMOCwxOUwxMiwyM1YyMEMxNi40MiwyMCAyMCwxNi40MiAyMCwxMkMyMCwxMC40MyAxOS41NCw4Ljk3IDE4Ljc2LDcuNzRaXCIgLz48L3N2Zz4nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsICIvLyBCYXNpY1xuQGNvbG9yLWJhc2ljLXdoaXRlOiAjZmZmZmZmO1xuQGNvbG9yLWJhc2ljLWJsYWNrOiAjMDAwMDAwO1xuXG4vLyBHcmV5XG5AY29sb3ItZ3JleS10cmFuc2x1Y2VudDogcmdiYSgjM2EzNTQzLCAwLjAyNSk7XG5AY29sb3ItZ3JleS0xMDA6ICNmYWY5ZmI7XG5AY29sb3ItZ3JleS0yMDA6ICNmNmY1ZmE7XG5AY29sb3ItZ3JleS0zMDA6ICNmMWVlZjY7XG5AY29sb3ItZ3JleS00MDA6ICNlY2U4ZjM7XG5AY29sb3ItZ3JleS01MDA6ICNkY2Q4ZTQ7XG5AY29sb3ItZ3JleS02MDA6ICM5ZTk5YTg7XG5AY29sb3ItZ3JleS03MDA6ICM1ZDU2NmM7XG5AY29sb3ItZ3JleS04MDA6ICM0ZDQ2NWE7XG5AY29sb3ItZ3JleS05MDA6ICMzYTM1NDM7XG5AY29sb3ItZ3JleS0xMDAwOiAjMjgyNDJlO1xuXG4vLyBQcmltYXJ5XG5AY29sb3ItcHJpbWFyeS1saWdodGVzdDogI2Y1ZjBmYTtcbkBjb2xvci1wcmltYXJ5LWxpZ2h0OiAjZTllMGY1O1xuQGNvbG9yLXByaW1hcnktbWVkaXVtOiAjOWM3N2Q0O1xuQGNvbG9yLXByaW1hcnktZGVmYXVsdDogIzVhMWNiNztcbkBjb2xvci1wcmltYXJ5LWRhcms6ICM0ODE2OTI7XG5AY29sb3ItcHJpbWFyeS1kYXJrZXI6ICMzNjExNmU7XG5AY29sb3ItcHJpbWFyeS1kYXJrZXN0OiAjMjQwYjQ5O1xuXG4vLyBBY2NlbnRcbkBjb2xvci1hY2NlbnQtZGVmYXVsdDogI2Q5MWM3YTtcbkBjb2xvci1hY2NlbnQtZGFyazogI2I2MTY2NjtcblxuLy8gSW5mb1xuQGNvbG9yLWluZm8tbGlnaHRlc3Q6ICNlMWVjZmU7XG5AY29sb3ItaW5mby1saWdodDogI2JlZDlmZDtcbkBjb2xvci1pbmZvLW1lZGl1bTogIzcyYTVlZTtcbkBjb2xvci1pbmZvLWRlZmF1bHQ6ICMwNjYxZTE7XG5AY29sb3ItaW5mby1kYXJrOiAjMDU1MWJkO1xuXG4vLyBTdWNjZXNzXG5AY29sb3Itc3VjY2Vzcy1saWdodGVzdDogI2RmZmNlOTtcbkBjb2xvci1zdWNjZXNzLWxpZ2h0OiAjYzNlYWQ3O1xuQGNvbG9yLXN1Y2Nlc3MtbWVkaXVtOiAjNzVjN2ExO1xuQGNvbG9yLXN1Y2Nlc3MtZGVmYXVsdDogIzAwOTc1MDtcbkBjb2xvci1zdWNjZXNzLWRhcms6ICMwMDgwNDM7XG5cbi8vIFdhcm5pbmdcbkBjb2xvci13YXJuaW5nLWxpZ2h0ZXN0OiAjZmZlZGRiO1xuQGNvbG9yLXdhcm5pbmctbGlnaHQ6ICNmZmRkYmQ7XG5AY29sb3Itd2FybmluZy1tZWRpdW06ICNlYmFlNzU7XG5AY29sb3Itd2FybmluZy1kZWZhdWx0OiAjZGE2OTAwO1xuQGNvbG9yLXdhcm5pbmctZGFyazogI2I4NTgwMDtcblxuLy8gRXJyb3JcbkBjb2xvci1lcnJvci1saWdodGVzdDogI2ZhZTBlMztcbkBjb2xvci1lcnJvci1saWdodDogI2Y0YzdjYztcbkBjb2xvci1lcnJvci1tZWRpdW06ICNlODdkODg7XG5AY29sb3ItZXJyb3ItZGVmYXVsdDogI2QxMDAxNTtcbkBjb2xvci1lcnJvci1kYXJrOiAjYjIwMDEyO1xuXG4vLyBQcml2YXRlXG5AY29sb3ItcHJpdmF0ZS1saWdodGVzdDogI2ZmZmRmNTtcbkBjb2xvci1wcml2YXRlLWxpZ2h0OiAjZmZmYmU1O1xuQGNvbG9yLXByaXZhdGUtZGVmYXVsdDogI2ZmZjhkMTtcbkBjb2xvci1wcml2YXRlLWRhcms6ICNlYWUyYjg7XG5cbi8vIEZpbGVzXG5AY29sb3ItZmlsZXMtdGV4dC1kb2N1bWVudDogIzJhODZmMTtcbkBjb2xvci1maWxlcy1wcmVzZW50YXRpb246ICNlZTU5MmI7XG5AY29sb3ItZmlsZXMtc3ByZWFkc2hlZXQ6ICM1MDkwMTU7XG5AY29sb3ItZmlsZXMtcGRmLWRvY3VtZW50OiAjZGUyNzE1O1xuQGNvbG9yLWZpbGVzLW90aGVyLWRvY3VtZW50OiAjNWI2ZDhjO1xuXG4vLyBTdGFnZXNcbkBjb2xvci1zdGFnZXMtbm8tdHlwZS1saWdodDogI2Y1ZjFlZjtcbkBjb2xvci1zdGFnZXMtbm8tdHlwZS1kZWZhdWx0OiAjOTQ2YTU3O1xuQGNvbG9yLXN0YWdlcy1hcHBsaWVkLWxpZ2h0OiAjZWNlOWYyO1xuQGNvbG9yLXN0YWdlcy1hcHBsaWVkLWRlZmF1bHQ6ICM2ZDY5NzY7XG5AY29sb3Itc3RhZ2VzLXNjcmVlbmluZy1saWdodDogI2UxZWNmZTtcbkBjb2xvci1zdGFnZXMtc2NyZWVuaW5nLWRlZmF1bHQ6ICMwNTUxYmQ7XG5AY29sb3Itc3RhZ2VzLWludGVydmlldy1saWdodDogI2UxZWNmZTtcbkBjb2xvci1zdGFnZXMtaW50ZXJ2aWV3LWRlZmF1bHQ6ICMwNjYxZTE7XG5AY29sb3Itc3RhZ2VzLWV2YWx1YXRpb24tbGlnaHQ6ICNkY2YyZjQ7XG5AY29sb3Itc3RhZ2VzLWV2YWx1YXRpb24tZGVmYXVsdDogIzAwYTRhZDtcbkBjb2xvci1zdGFnZXMtb2ZmZXItbGlnaHQ6ICNlYWU1ZmE7XG5AY29sb3Itc3RhZ2VzLW9mZmVyLWRlZmF1bHQ6ICM5OTVjZTA7XG5AY29sb3Itc3RhZ2VzLWhpcmVkLWxpZ2h0OiAjZGZmY2U5O1xuQGNvbG9yLXN0YWdlcy1oaXJlZC1kZWZhdWx0OiAjMDA5NzUwO1xuXG4vLyBBdmF0YXJzXG5AY29sb3ItYXZhdGFycy1jYW5kaWRhdGU6ICM3MDU1YWE7XG5AY29sb3ItYXZhdGFycy10ZWFtLW1lbWJlcjogI2I3NDI3YztcblxuLmxpZ2h0LXJlY3J1aXRlZS1wYWxldHRlIHtcbiAgY29sb3Itc2NoZW1lOiBsaWdodDtcbiAgLS1jb2xvci1iYXNpYy13aGl0ZTogQGNvbG9yLWJhc2ljLXdoaXRlO1xuICAtLWNvbG9yLWJhc2ljLWJsYWNrOiBAY29sb3ItYmFzaWMtYmxhY2s7XG4gIC0tY29sb3ItZ3JleS10cmFuc2x1Y2VudDogQGNvbG9yLWdyZXktdHJhbnNsdWNlbnQ7XG4gIC0tY29sb3ItZ3JleS0xMDA6IEBjb2xvci1ncmV5LTEwMDtcbiAgLS1jb2xvci1ncmV5LTIwMDogQGNvbG9yLWdyZXktMjAwO1xuICAtLWNvbG9yLWdyZXktMzAwOiBAY29sb3ItZ3JleS0zMDA7XG4gIC0tY29sb3ItZ3JleS00MDA6IEBjb2xvci1ncmV5LTQwMDtcbiAgLS1jb2xvci1ncmV5LTUwMDogQGNvbG9yLWdyZXktNTAwO1xuICAtLWNvbG9yLWdyZXktNjAwOiBAY29sb3ItZ3JleS02MDA7XG4gIC0tY29sb3ItZ3JleS03MDA6IEBjb2xvci1ncmV5LTcwMDtcbiAgLS1jb2xvci1ncmV5LTgwMDogQGNvbG9yLWdyZXktODAwO1xuICAtLWNvbG9yLWdyZXktOTAwOiBAY29sb3ItZ3JleS05MDA7XG4gIC0tY29sb3ItZ3JleS0xMDAwOiBAY29sb3ItZ3JleS0xMDAwO1xuICAtLWNvbG9yLXByaW1hcnktbGlnaHRlc3Q6IEBjb2xvci1wcmltYXJ5LWxpZ2h0ZXN0O1xuICAtLWNvbG9yLXByaW1hcnktbGlnaHQ6IEBjb2xvci1wcmltYXJ5LWxpZ2h0O1xuICAtLWNvbG9yLXByaW1hcnktbWVkaXVtOiBAY29sb3ItcHJpbWFyeS1tZWRpdW07XG4gIC0tY29sb3ItcHJpbWFyeS1kZWZhdWx0OiBAY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xuICAtLWNvbG9yLXByaW1hcnktZGFyazogQGNvbG9yLXByaW1hcnktZGFyaztcbiAgLS1jb2xvci1wcmltYXJ5LWRhcmtlcjogQGNvbG9yLXByaW1hcnktZGFya2VyO1xuICAtLWNvbG9yLXByaW1hcnktZGFya2VzdDogQGNvbG9yLXByaW1hcnktZGFya2VzdDtcbiAgLS1jb2xvci1hY2NlbnQtZGVmYXVsdDogQGNvbG9yLWFjY2VudC1kZWZhdWx0O1xuICAtLWNvbG9yLWFjY2VudC1kYXJrOiBAY29sb3ItYWNjZW50LWRhcms7XG4gIC0tY29sb3ItaW5mby1saWdodGVzdDogQGNvbG9yLWluZm8tbGlnaHRlc3Q7XG4gIC0tY29sb3ItaW5mby1saWdodDogQGNvbG9yLWluZm8tbGlnaHQ7XG4gIC0tY29sb3ItaW5mby1tZWRpdW06IEBjb2xvci1pbmZvLW1lZGl1bTtcbiAgLS1jb2xvci1pbmZvLWRlZmF1bHQ6IEBjb2xvci1pbmZvLWRlZmF1bHQ7XG4gIC0tY29sb3ItaW5mby1kYXJrOiBAY29sb3ItaW5mby1kYXJrO1xuICAtLWNvbG9yLXN1Y2Nlc3MtbGlnaHRlc3Q6IEBjb2xvci1zdWNjZXNzLWxpZ2h0ZXN0O1xuICAtLWNvbG9yLXN1Y2Nlc3MtbGlnaHQ6IEBjb2xvci1zdWNjZXNzLWxpZ2h0O1xuICAtLWNvbG9yLXN1Y2Nlc3MtbWVkaXVtOiBAY29sb3Itc3VjY2Vzcy1tZWRpdW07XG4gIC0tY29sb3Itc3VjY2Vzcy1kZWZhdWx0OiBAY29sb3Itc3VjY2Vzcy1kZWZhdWx0O1xuICAtLWNvbG9yLXN1Y2Nlc3MtZGFyazogQGNvbG9yLXN1Y2Nlc3MtZGFyaztcbiAgLS1jb2xvci13YXJuaW5nLWxpZ2h0ZXN0OiBAY29sb3Itd2FybmluZy1saWdodGVzdDtcbiAgLS1jb2xvci13YXJuaW5nLWxpZ2h0OiBAY29sb3Itd2FybmluZy1saWdodDtcbiAgLS1jb2xvci13YXJuaW5nLW1lZGl1bTogQGNvbG9yLXdhcm5pbmctbWVkaXVtO1xuICAtLWNvbG9yLXdhcm5pbmctZGVmYXVsdDogQGNvbG9yLXdhcm5pbmctZGVmYXVsdDtcbiAgLS1jb2xvci13YXJuaW5nLWRhcms6IEBjb2xvci13YXJuaW5nLWRhcms7XG4gIC0tY29sb3ItZXJyb3ItbGlnaHRlc3Q6IEBjb2xvci1lcnJvci1saWdodGVzdDtcbiAgLS1jb2xvci1lcnJvci1saWdodDogQGNvbG9yLWVycm9yLWxpZ2h0O1xuICAtLWNvbG9yLWVycm9yLW1lZGl1bTogQGNvbG9yLWVycm9yLW1lZGl1bTtcbiAgLS1jb2xvci1lcnJvci1kZWZhdWx0OiBAY29sb3ItZXJyb3ItZGVmYXVsdDtcbiAgLS1jb2xvci1lcnJvci1kYXJrOiBAY29sb3ItZXJyb3ItZGFyaztcbiAgLS1jb2xvci1wcml2YXRlLWxpZ2h0ZXN0OiBAY29sb3ItcHJpdmF0ZS1saWdodGVzdDtcbiAgLS1jb2xvci1wcml2YXRlLWxpZ2h0OiBAY29sb3ItcHJpdmF0ZS1saWdodDtcbiAgLS1jb2xvci1wcml2YXRlLWRlZmF1bHQ6IEBjb2xvci1wcml2YXRlLWRlZmF1bHQ7XG4gIC0tY29sb3ItcHJpdmF0ZS1kYXJrOiBAY29sb3ItcHJpdmF0ZS1kYXJrO1xuICAtLWNvbG9yLWZpbGVzLXRleHQtZG9jdW1lbnQ6IEBjb2xvci1maWxlcy10ZXh0LWRvY3VtZW50O1xuICAtLWNvbG9yLWZpbGVzLXByZXNlbnRhdGlvbjogQGNvbG9yLWZpbGVzLXByZXNlbnRhdGlvbjtcbiAgLS1jb2xvci1maWxlcy1zcHJlYWRzaGVldDogQGNvbG9yLWZpbGVzLXNwcmVhZHNoZWV0O1xuICAtLWNvbG9yLWZpbGVzLXBkZi1kb2N1bWVudDogQGNvbG9yLWZpbGVzLXBkZi1kb2N1bWVudDtcbiAgLS1jb2xvci1maWxlcy1vdGhlci1kb2N1bWVudDogQGNvbG9yLWZpbGVzLW90aGVyLWRvY3VtZW50O1xuICAtLWNvbG9yLXN0YWdlcy1uby10eXBlLWxpZ2h0OiBAY29sb3Itc3RhZ2VzLW5vLXR5cGUtbGlnaHQ7XG4gIC0tY29sb3Itc3RhZ2VzLW5vLXR5cGUtZGVmYXVsdDogQGNvbG9yLXN0YWdlcy1uby10eXBlLWRlZmF1bHQ7XG4gIC0tY29sb3Itc3RhZ2VzLWFwcGxpZWQtbGlnaHQ6IEBjb2xvci1zdGFnZXMtYXBwbGllZC1saWdodDtcbiAgLS1jb2xvci1zdGFnZXMtYXBwbGllZC1kZWZhdWx0OiBAY29sb3Itc3RhZ2VzLWFwcGxpZWQtZGVmYXVsdDtcbiAgLS1jb2xvci1zdGFnZXMtc2NyZWVuaW5nLWxpZ2h0OiBAY29sb3Itc3RhZ2VzLXNjcmVlbmluZy1saWdodDtcbiAgLS1jb2xvci1zdGFnZXMtc2NyZWVuaW5nLWRlZmF1bHQ6IEBjb2xvci1zdGFnZXMtc2NyZWVuaW5nLWRlZmF1bHQ7XG4gIC0tY29sb3Itc3RhZ2VzLWludGVydmlldy1saWdodDogQGNvbG9yLXN0YWdlcy1pbnRlcnZpZXctbGlnaHQ7XG4gIC0tY29sb3Itc3RhZ2VzLWludGVydmlldy1kZWZhdWx0OiBAY29sb3Itc3RhZ2VzLWludGVydmlldy1kZWZhdWx0O1xuICAtLWNvbG9yLXN0YWdlcy1ldmFsdWF0aW9uLWxpZ2h0OiBAY29sb3Itc3RhZ2VzLWV2YWx1YXRpb24tbGlnaHQ7XG4gIC0tY29sb3Itc3RhZ2VzLWV2YWx1YXRpb24tZGVmYXVsdDogQGNvbG9yLXN0YWdlcy1ldmFsdWF0aW9uLWRlZmF1bHQ7XG4gIC0tY29sb3Itc3RhZ2VzLW9mZmVyLWxpZ2h0OiBAY29sb3Itc3RhZ2VzLW9mZmVyLWxpZ2h0O1xuICAtLWNvbG9yLXN0YWdlcy1vZmZlci1kZWZhdWx0OiBAY29sb3Itc3RhZ2VzLW9mZmVyLWRlZmF1bHQ7XG4gIC0tY29sb3Itc3RhZ2VzLWhpcmVkLWxpZ2h0OiBAY29sb3Itc3RhZ2VzLWhpcmVkLWxpZ2h0O1xuICAtLWNvbG9yLXN0YWdlcy1oaXJlZC1kZWZhdWx0OiBAY29sb3Itc3RhZ2VzLWhpcmVkLWRlZmF1bHQ7XG4gIC0tY29sb3ItYXZhdGFycy1jYW5kaWRhdGU6IEBjb2xvci1hdmF0YXJzLWNhbmRpZGF0ZTtcbiAgLS1jb2xvci1hdmF0YXJzLXRlYW0tbWVtYmVyOiBAY29sb3ItYXZhdGFycy10ZWFtLW1lbWJlcjtcbn1cbiIsICIvLyBCYXNpY1xuQGNvbG9yLWJhc2ljLWRhcmstd2hpdGU6ICNmZmZmZmY7XG5AY29sb3ItYmFzaWMtZGFyay1ibGFjazogIzAwMDAwMDtcblxuLy8gR3JleVxuQGNvbG9yLWdyZXktZGFyay10cmFuc2x1Y2VudDogcmdiYSgjZTJkYmYwLCAwLjA1KTtcbkBjb2xvci1ncmV5LWRhcmstMTAwOiAjZjdmOGY5O1xuQGNvbG9yLWdyZXktZGFyay0yMDA6ICNkZmUwZTI7XG5AY29sb3ItZ3JleS1kYXJrLTMwMDogI2QxZDNkNjtcbkBjb2xvci1ncmV5LWRhcmstNDAwOiAjYzljYmNmO1xuQGNvbG9yLWdyZXktZGFyay01MDA6ICM3NTc2N2I7XG5AY29sb3ItZ3JleS1kYXJrLTYwMDogIzQxNDA0NTtcbkBjb2xvci1ncmV5LWRhcmstNzAwOiAjMzYzNTNiO1xuQGNvbG9yLWdyZXktZGFyay04MDA6ICMyZTJmMzM7XG5AY29sb3ItZ3JleS1kYXJrLTkwMDogIzFmMjAyMztcbkBjb2xvci1ncmV5LWRhcmstMTAwMDogIzFiMWMxZTtcblxuLy8gUHJpbWFyeVxuQGNvbG9yLXByaW1hcnktZGFyay1saWdodGVzdDogIzNkMmM1NjtcbkBjb2xvci1wcmltYXJ5LWRhcmstbGlnaHQ6ICM1NDM2ODA7XG5AY29sb3ItcHJpbWFyeS1kYXJrLW1lZGl1bTogIzljNzdkNDtcbkBjb2xvci1wcmltYXJ5LWRhcmstZGVmYXVsdDogI2FmODBmNDtcbkBjb2xvci1wcmltYXJ5LWRhcmstZGFyazogI2JmOTlmNjtcbkBjb2xvci1wcmltYXJ5LWRhcmstZGFya2VyOiAjY2ZiM2Y4O1xuQGNvbG9yLXByaW1hcnktZGFyay1kYXJrZXN0OiAjZGZjY2ZiO1xuXG4vLyBBY2NlbnRcbkBjb2xvci1hY2NlbnQtZGFyay1kZWZhdWx0OiAjZmQ2MmIwO1xuQGNvbG9yLWFjY2VudC1kYXJrLWRhcms6ICNmZDgxYzA7XG5cbi8vIEluZm9cbkBjb2xvci1pbmZvLWRhcmstbGlnaHRlc3Q6ICMxNTJlNTE7XG5AY29sb3ItaW5mby1kYXJrLWxpZ2h0OiAjMWQzYTYzO1xuQGNvbG9yLWluZm8tZGFyay1tZWRpdW06ICM0ODgwY2Y7XG5AY29sb3ItaW5mby1kYXJrLWRlZmF1bHQ6ICM1YTlkZmM7XG5AY29sb3ItaW5mby1kYXJrLWRhcms6ICM3YmIxZmQ7XG5cbi8vIFN1Y2Nlc3NcbkBjb2xvci1zdWNjZXNzLWRhcmstbGlnaHRlc3Q6ICMwYjQxMmI7XG5AY29sb3Itc3VjY2Vzcy1kYXJrLWxpZ2h0OiAjMGY1MjM1O1xuQGNvbG9yLXN1Y2Nlc3MtZGFyay1tZWRpdW06ICMxZDliNjY7XG5AY29sb3Itc3VjY2Vzcy1kYXJrLWRlZmF1bHQ6ICMyM2JkN2Q7XG5AY29sb3Itc3VjY2Vzcy1kYXJrLWRhcms6ICM0MWM4OTA7XG5cbi8vIFdhcm5pbmdcbkBjb2xvci13YXJuaW5nLWRhcmstbGlnaHRlc3Q6ICM1MTJmMTA7XG5AY29sb3Itd2FybmluZy1kYXJrLWxpZ2h0OiAjNjAzOTE1O1xuQGNvbG9yLXdhcm5pbmctZGFyay1tZWRpdW06ICNjMzc3MzA7XG5AY29sb3Itd2FybmluZy1kYXJrLWRlZmF1bHQ6ICNlZDkxM2I7XG5AY29sb3Itd2FybmluZy1kYXJrLWRhcms6ICNmMWE3NjI7XG5cbi8vIEVycm9yXG5AY29sb3ItZXJyb3ItZGFyay1saWdodGVzdDogIzRmMTYxODtcbkBjb2xvci1lcnJvci1kYXJrLWxpZ2h0OiAjN2IyZDJmO1xuQGNvbG9yLWVycm9yLWRhcmstbWVkaXVtOiAjZDM1YTVjO1xuQGNvbG9yLWVycm9yLWRhcmstZGVmYXVsdDogI2ZmNzA3MztcbkBjb2xvci1lcnJvci1kYXJrLWRhcms6ICNmZjhkOGY7XG5cbi8vIFByaXZhdGVcbkBjb2xvci1wcml2YXRlLWRhcmstbGlnaHRlc3Q6ICMyMjIxMWI7XG5AY29sb3ItcHJpdmF0ZS1kYXJrLWxpZ2h0OiAjMzQzMjI4O1xuQGNvbG9yLXByaXZhdGUtZGFyay1kZWZhdWx0OiAjNjI1YjM2O1xuQGNvbG9yLXByaXZhdGUtZGFyay1kYXJrOiAjNzg3MDNmO1xuXG4vLyBGaWxlc1xuQGNvbG9yLWZpbGVzLWRhcmstdGV4dC1kb2N1bWVudDogIzJhODZmMTtcbkBjb2xvci1maWxlcy1kYXJrLXByZXNlbnRhdGlvbjogI2VlNTkyYjtcbkBjb2xvci1maWxlcy1kYXJrLXNwcmVhZHNoZWV0OiAjNTA5MDE1O1xuQGNvbG9yLWZpbGVzLWRhcmstcGRmLWRvY3VtZW50OiAjZGUyNzE1O1xuQGNvbG9yLWZpbGVzLWRhcmstb3RoZXItZG9jdW1lbnQ6ICM1YjZkOGM7XG5cbi8vIFN0YWdlc1xuQGNvbG9yLXN0YWdlcy1uby10eXBlLWRhcmstbGlnaHQ6ICM0MDJlMjY7XG5AY29sb3Itc3RhZ2VzLW5vLXR5cGUtZGFyay1kZWZhdWx0OiAjOTQ2YTU3O1xuQGNvbG9yLXN0YWdlcy1hcHBsaWVkLWRhcmstbGlnaHQ6ICMzNTM2M2I7XG5AY29sb3Itc3RhZ2VzLWFwcGxpZWQtZGFyay1kZWZhdWx0OiAjODk5N2E5O1xuQGNvbG9yLXN0YWdlcy1zY3JlZW5pbmctZGFyay1saWdodDogIzE1MmU1MTtcbkBjb2xvci1zdGFnZXMtc2NyZWVuaW5nLWRhcmstZGVmYXVsdDogIzdiYjFmZDtcbkBjb2xvci1zdGFnZXMtaW50ZXJ2aWV3LWRhcmstbGlnaHQ6ICMxNTJlNTE7XG5AY29sb3Itc3RhZ2VzLWludGVydmlldy1kYXJrLWRlZmF1bHQ6ICM1YTlkZmM7XG5AY29sb3Itc3RhZ2VzLWV2YWx1YXRpb24tZGFyay1saWdodDogIzAwM2EzZDtcbkBjb2xvci1zdGFnZXMtZXZhbHVhdGlvbi1kYXJrLWRlZmF1bHQ6ICMwMGMxY2M7XG5AY29sb3Itc3RhZ2VzLW9mZmVyLWRhcmstbGlnaHQ6ICM0MzI0Njg7XG5AY29sb3Itc3RhZ2VzLW9mZmVyLWRhcmstZGVmYXVsdDogI2FmN2ZlNjtcbkBjb2xvci1zdGFnZXMtaGlyZWQtZGFyay1saWdodDogIzBiNDEyYjtcbkBjb2xvci1zdGFnZXMtaGlyZWQtZGFyay1kZWZhdWx0OiAjMjNiZDdkO1xuXG4vLyBBdmF0YXJzXG5AY29sb3ItYXZhdGFycy1kYXJrLWNhbmRpZGF0ZTogI2FkOTRlMDtcbkBjb2xvci1hdmF0YXJzLWRhcmstdGVhbS1tZW1iZXI6ICNiZDZiYjM7XG5cbi5kYXJrLXJlY3J1aXRlZS1wYWxldHRlIHtcbiAgY29sb3Itc2NoZW1lOiBkYXJrO1xuICAtLWNvbG9yLWJhc2ljLXdoaXRlOiBAY29sb3ItYmFzaWMtZGFyay13aGl0ZTtcbiAgLS1jb2xvci1iYXNpYy1ibGFjazogQGNvbG9yLWJhc2ljLWRhcmstYmxhY2s7XG4gIC0tY29sb3ItZ3JleS10cmFuc2x1Y2VudDogQGNvbG9yLWdyZXktZGFyay10cmFuc2x1Y2VudDtcbiAgLS1jb2xvci1ncmV5LTEwMDogQGNvbG9yLWdyZXktZGFyay0xMDA7XG4gIC0tY29sb3ItZ3JleS0yMDA6IEBjb2xvci1ncmV5LWRhcmstMjAwO1xuICAtLWNvbG9yLWdyZXktMzAwOiBAY29sb3ItZ3JleS1kYXJrLTMwMDtcbiAgLS1jb2xvci1ncmV5LTQwMDogQGNvbG9yLWdyZXktZGFyay00MDA7XG4gIC0tY29sb3ItZ3JleS01MDA6IEBjb2xvci1ncmV5LWRhcmstNTAwO1xuICAtLWNvbG9yLWdyZXktNjAwOiBAY29sb3ItZ3JleS1kYXJrLTYwMDtcbiAgLS1jb2xvci1ncmV5LTcwMDogQGNvbG9yLWdyZXktZGFyay03MDA7XG4gIC0tY29sb3ItZ3JleS04MDA6IEBjb2xvci1ncmV5LWRhcmstODAwO1xuICAtLWNvbG9yLWdyZXktOTAwOiBAY29sb3ItZ3JleS1kYXJrLTkwMDtcbiAgLS1jb2xvci1ncmV5LTEwMDA6IEBjb2xvci1ncmV5LWRhcmstMTAwMDtcbiAgLS1jb2xvci1wcmltYXJ5LWxpZ2h0ZXN0OiBAY29sb3ItcHJpbWFyeS1kYXJrLWxpZ2h0ZXN0O1xuICAtLWNvbG9yLXByaW1hcnktbGlnaHQ6IEBjb2xvci1wcmltYXJ5LWRhcmstbGlnaHQ7XG4gIC0tY29sb3ItcHJpbWFyeS1tZWRpdW06IEBjb2xvci1wcmltYXJ5LWRhcmstbWVkaXVtO1xuICAtLWNvbG9yLXByaW1hcnktZGVmYXVsdDogQGNvbG9yLXByaW1hcnktZGFyay1kZWZhdWx0O1xuICAtLWNvbG9yLXByaW1hcnktZGFyazogQGNvbG9yLXByaW1hcnktZGFyay1kYXJrO1xuICAtLWNvbG9yLXByaW1hcnktZGFya2VyOiBAY29sb3ItcHJpbWFyeS1kYXJrLWRhcmtlcjtcbiAgLS1jb2xvci1wcmltYXJ5LWRhcmtlc3Q6IEBjb2xvci1wcmltYXJ5LWRhcmstZGFya2VzdDtcbiAgLS1jb2xvci1hY2NlbnQtZGVmYXVsdDogQGNvbG9yLWFjY2VudC1kYXJrLWRlZmF1bHQ7XG4gIC0tY29sb3ItYWNjZW50LWRhcms6IEBjb2xvci1hY2NlbnQtZGFyay1kYXJrO1xuICAtLWNvbG9yLWluZm8tbGlnaHRlc3Q6IEBjb2xvci1pbmZvLWRhcmstbGlnaHRlc3Q7XG4gIC0tY29sb3ItaW5mby1saWdodDogQGNvbG9yLWluZm8tZGFyay1saWdodDtcbiAgLS1jb2xvci1pbmZvLW1lZGl1bTogQGNvbG9yLWluZm8tZGFyay1tZWRpdW07XG4gIC0tY29sb3ItaW5mby1kZWZhdWx0OiBAY29sb3ItaW5mby1kYXJrLWRlZmF1bHQ7XG4gIC0tY29sb3ItaW5mby1kYXJrOiBAY29sb3ItaW5mby1kYXJrLWRhcms7XG4gIC0tY29sb3Itc3VjY2Vzcy1saWdodGVzdDogQGNvbG9yLXN1Y2Nlc3MtZGFyay1saWdodGVzdDtcbiAgLS1jb2xvci1zdWNjZXNzLWxpZ2h0OiBAY29sb3Itc3VjY2Vzcy1kYXJrLWxpZ2h0O1xuICAtLWNvbG9yLXN1Y2Nlc3MtbWVkaXVtOiBAY29sb3Itc3VjY2Vzcy1kYXJrLW1lZGl1bTtcbiAgLS1jb2xvci1zdWNjZXNzLWRlZmF1bHQ6IEBjb2xvci1zdWNjZXNzLWRhcmstZGVmYXVsdDtcbiAgLS1jb2xvci1zdWNjZXNzLWRhcms6IEBjb2xvci1zdWNjZXNzLWRhcmstZGFyaztcbiAgLS1jb2xvci13YXJuaW5nLWxpZ2h0ZXN0OiBAY29sb3Itd2FybmluZy1kYXJrLWxpZ2h0ZXN0O1xuICAtLWNvbG9yLXdhcm5pbmctbGlnaHQ6IEBjb2xvci13YXJuaW5nLWRhcmstbGlnaHQ7XG4gIC0tY29sb3Itd2FybmluZy1tZWRpdW06IEBjb2xvci13YXJuaW5nLWRhcmstbWVkaXVtO1xuICAtLWNvbG9yLXdhcm5pbmctZGVmYXVsdDogQGNvbG9yLXdhcm5pbmctZGFyay1kZWZhdWx0O1xuICAtLWNvbG9yLWVycm9yLWxpZ2h0ZXN0OiBAY29sb3ItZXJyb3ItZGFyay1saWdodGVzdDtcbiAgLS1jb2xvci1lcnJvci1saWdodDogQGNvbG9yLWVycm9yLWRhcmstbGlnaHQ7XG4gIC0tY29sb3ItZXJyb3ItbWVkaXVtOiBAY29sb3ItZXJyb3ItZGFyay1tZWRpdW07XG4gIC0tY29sb3ItZXJyb3ItZGVmYXVsdDogQGNvbG9yLWVycm9yLWRhcmstZGVmYXVsdDtcbiAgLS1jb2xvci1wcml2YXRlLWxpZ2h0ZXN0OiBAY29sb3ItcHJpdmF0ZS1kYXJrLWxpZ2h0ZXN0O1xuICAtLWNvbG9yLXByaXZhdGUtbGlnaHQ6IEBjb2xvci1wcml2YXRlLWRhcmstbGlnaHQ7XG4gIC0tY29sb3ItcHJpdmF0ZS1kZWZhdWx0OiBAY29sb3ItcHJpdmF0ZS1kYXJrLWRlZmF1bHQ7XG4gIC0tY29sb3ItcHJpdmF0ZS1kYXJrOiBAY29sb3ItcHJpdmF0ZS1kYXJrLWRhcms7XG4gIC0tY29sb3ItZmlsZXMtdGV4dC1kb2N1bWVudDogQGNvbG9yLWZpbGVzLWRhcmstdGV4dC1kb2N1bWVudDtcbiAgLS1jb2xvci1maWxlcy1wcmVzZW50YXRpb246IEBjb2xvci1maWxlcy1kYXJrLXByZXNlbnRhdGlvbjtcbiAgLS1jb2xvci1maWxlcy1zcHJlYWRzaGVldDogQGNvbG9yLWZpbGVzLWRhcmstc3ByZWFkc2hlZXQ7XG4gIC0tY29sb3ItZmlsZXMtcGRmLWRvY3VtZW50OiBAY29sb3ItZmlsZXMtZGFyay1wZGYtZG9jdW1lbnQ7XG4gIC0tY29sb3ItZmlsZXMtb3RoZXItZG9jdW1lbnQ6IEBjb2xvci1maWxlcy1kYXJrLW90aGVyLWRvY3VtZW50O1xuICAtLWNvbG9yLXN0YWdlcy1uby10eXBlLWxpZ2h0OiBAY29sb3Itc3RhZ2VzLW5vLXR5cGUtZGFyay1saWdodDtcbiAgLS1jb2xvci1zdGFnZXMtbm8tdHlwZS1kZWZhdWx0OiBAY29sb3Itc3RhZ2VzLW5vLXR5cGUtZGFyay1kZWZhdWx0O1xuICAtLWNvbG9yLXN0YWdlcy1hcHBsaWVkLWxpZ2h0OiBAY29sb3Itc3RhZ2VzLWFwcGxpZWQtZGFyay1saWdodDtcbiAgLS1jb2xvci1zdGFnZXMtYXBwbGllZC1kZWZhdWx0OiBAY29sb3Itc3RhZ2VzLWFwcGxpZWQtZGFyay1kZWZhdWx0O1xuICAtLWNvbG9yLXN0YWdlcy1zY3JlZW5pbmctbGlnaHQ6IEBjb2xvci1zdGFnZXMtc2NyZWVuaW5nLWRhcmstbGlnaHQ7XG4gIC0tY29sb3Itc3RhZ2VzLXNjcmVlbmluZy1kZWZhdWx0OiBAY29sb3Itc3RhZ2VzLXNjcmVlbmluZy1kYXJrLWRlZmF1bHQ7XG4gIC0tY29sb3Itc3RhZ2VzLWludGVydmlldy1saWdodDogQGNvbG9yLXN0YWdlcy1pbnRlcnZpZXctZGFyay1saWdodDtcbiAgLS1jb2xvci1zdGFnZXMtaW50ZXJ2aWV3LWRlZmF1bHQ6IEBjb2xvci1zdGFnZXMtaW50ZXJ2aWV3LWRhcmstZGVmYXVsdDtcbiAgLS1jb2xvci1zdGFnZXMtZXZhbHVhdGlvbi1saWdodDogQGNvbG9yLXN0YWdlcy1ldmFsdWF0aW9uLWRhcmstbGlnaHQ7XG4gIC0tY29sb3Itc3RhZ2VzLWV2YWx1YXRpb24tZGVmYXVsdDogQGNvbG9yLXN0YWdlcy1ldmFsdWF0aW9uLWRhcmstZGVmYXVsdDtcbiAgLS1jb2xvci1zdGFnZXMtb2ZmZXItbGlnaHQ6IEBjb2xvci1zdGFnZXMtb2ZmZXItZGFyay1saWdodDtcbiAgLS1jb2xvci1zdGFnZXMtb2ZmZXItZGVmYXVsdDogQGNvbG9yLXN0YWdlcy1vZmZlci1kYXJrLWRlZmF1bHQ7XG4gIC0tY29sb3Itc3RhZ2VzLWhpcmVkLWxpZ2h0OiBAY29sb3Itc3RhZ2VzLWhpcmVkLWRhcmstbGlnaHQ7XG4gIC0tY29sb3Itc3RhZ2VzLWhpcmVkLWRlZmF1bHQ6IEBjb2xvci1zdGFnZXMtaGlyZWQtZGFyay1kZWZhdWx0O1xuICAtLWNvbG9yLWF2YXRhcnMtY2FuZGlkYXRlOiBAY29sb3ItYXZhdGFycy1kYXJrLWNhbmRpZGF0ZTtcbiAgLS1jb2xvci1hdmF0YXJzLXRlYW0tbWVtYmVyOiBAY29sb3ItYXZhdGFycy1kYXJrLXRlYW0tbWVtYmVyO1xufVxuIiwgIkBpbXBvcnQgJ21kcy90b2tlbnMnO1xuXG4vL1RFWFRfQ09MT1Jcbi50ZXh0LXdoaXRlIHtcbiAgLmxpZ2h0LWRhcmstY29sb3IoQGNvbG9yLWJhc2ljLXdoaXRlLCBAY29sb3ItYmFzaWMtZGFyay1ibGFjayk7XG59XG5cbi50ZXh0LWdyZXktODAwLTQwMCB7XG4gIC5saWdodC1kYXJrLWNvbG9yKEBjb2xvci1ncmV5LTgwMCwgQGNvbG9yLWdyZXktZGFyay00MDApO1xufVxuXG4udGV4dC1ncmV5LTYwMC01MDAge1xuICAubGlnaHQtZGFyay1jb2xvcihAY29sb3ItZ3JleS02MDAsIEBjb2xvci1ncmV5LWRhcmstNTAwKTtcbn1cblxuLnRleHQtZ3JleS02MDAtNDAwIHtcbiAgLmxpZ2h0LWRhcmstY29sb3IoQGNvbG9yLWdyZXktNjAwLCBAY29sb3ItZ3JleS1kYXJrLTQwMCk7XG59XG5cbi50ZXh0LWdyZXktMTAwMC0xMDAge1xuICAubGlnaHQtZGFyay1jb2xvcihAY29sb3ItZ3JleS0xMDAwLCBAY29sb3ItZ3JleS1kYXJrLTEwMCk7XG59XG5cbi50ZXh0LXByaW1hcnktZGVmYXVsdCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRlZmF1bHQpO1xufVxuXG4udGV4dC1pbmZvLWRlZmF1bHQge1xuICBjb2xvcjogdmFyKC0tY29sb3ItaW5mby1kZWZhdWx0KTtcbn1cblxuLnRleHQtc3VjY2Vzcy1kZWZhdWx0IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGVmYXVsdCk7XG59XG5cbi8vUEFERElOR1xuXG4ucGFkLWxlZnQtczIge1xuICBwYWRkaW5nLWxlZnQ6IEBzMjtcbn1cblxuLnBhZC1sZWZ0LXM0IHtcbiAgcGFkZGluZy1sZWZ0OiBAczQ7XG59XG5cbi5wYWQtcmlnaHQtczIge1xuICBwYWRkaW5nLXJpZ2h0OiBAczI7XG59XG5cbi5wYWQtcmlnaHQtczMge1xuICBwYWRkaW5nLXJpZ2h0OiBAczM7XG59XG5cbi5wYWQtdG9wLXMyIHtcbiAgcGFkZGluZy10b3A6IEBzMjtcbn1cblxuLnBhZC1sZWZ0LTAge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5uby1wYWRkaW5nIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLy8gTUFSR0lOU1xuXG4ubWFyLXRvcC1ib3QtczQge1xuICBtYXJnaW46IEBzNCAwIEBzNCAwO1xufVxuXG4ubWFyLXRvcC1zMSB7XG4gIG1hcmdpbi10b3A6IEBzMTtcbn1cblxuLm1hci10b3AtczIge1xuICBtYXJnaW4tdG9wOiBAczI7XG59XG5cbi5tYXItdG9wLXM0IHtcbiAgbWFyZ2luLXRvcDogQHM0O1xufVxuXG4ubWFyLWJvdC1zNCB7XG4gIG1hcmdpbi1ib3R0b206IEBzNDtcbn1cblxuLm1hci1ib3QtczIge1xuICBtYXJnaW4tYm90dG9tOiBAczI7XG59XG5cbi5tYXItYm90LXMxIHtcbiAgbWFyZ2luLWJvdHRvbTogQHMxO1xufVxuXG4ubWFyLXJpZ2h0LXMxIHtcbiAgbWFyZ2luLXJpZ2h0OiBAczE7XG59XG5cbi5tYXItcmlnaHQtczQge1xuICBtYXJnaW4tcmlnaHQ6IEBzNDtcbn1cblxuLm1hci1sZWZ0LXM0IHtcbiAgbWFyZ2luLWxlZnQ6IEBzNDtcbn1cblxuLm1hci1yaWdodC1zMiB7XG4gIG1hcmdpbi1yaWdodDogQHMyO1xufVxuXG4ubWFyLWxlZnQtczIge1xuICBtYXJnaW4tbGVmdDogQHMyO1xufVxuXG4ubWFyLWxlZnQtczEge1xuICBtYXJnaW4tbGVmdDogQHMxO1xufVxuXG4ubWFyLWxlZnQtYXV0byB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4ubWFyLWFsbC1zNCB7XG4gIG1hcmdpbjogQHM0O1xufVxuXG4uaGVhZGVyIHtcbiAgbWFyZ2luOiBAczYgQHM0IEBzMiBAczQ7XG59XG5cbi8vVEVYVC1UUkFOU0ZPUk1cbi51cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vL1RFWFQtQUxJR05NRU5UXG5cbi50ZXh0LWVuZCB7XG4gIHRleHQtYWxpZ246IGVuZDtcbn1cblxuLnRleHQtc3RhcnQge1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vL0RJU1BMQVlcblxuLmZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZmxleC1zaHJpbmstMCB7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uZWxsaXBzaXMge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRleHQtd3JhcCB7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG4iLCAiLy8gcGVyOiBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL2Nzcy9zeXN0ZW0tZm9udC1zdGFjay9cbkBmb250LWZhbWlseS1kZWZhdWx0OiBzeXN0ZW0tdWksICdTZWdvZSBVSScsIFJvYm90bywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZixcbiAgJ0FwcGxlIENvbG9yIEVtb2ppJywgJ1NlZ29lIFVJIEVtb2ppJywgJ1NlZ29lIFVJIFN5bWJvbCc7XG5cbkBmb250LWZhbWlseS1lbW9qaTogJ0FwcGxlIENvbG9yIEVtb2ppJywgJ1NlZ29lIFVJIEVtb2ppJywgJ1NlZ29lIFVJIFN5bWJvbCcsIHN5c3RlbS11aSwgJ1NlZ29lIFVJJyxcbiAgUm9ib3RvLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG46cm9vdCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cbiIsICIvLyBCYXNpY1xuQGNvbG9yLWJhc2ljLXdoaXRlOiAjZmZmZmZmO1xuQGNvbG9yLWJhc2ljLWJsYWNrOiAjMDAwMDAwO1xuXG4vLyBHcmV5XG5AY29sb3ItZ3JleS10cmFuc2x1Y2VudDogcmdiYSgjM2EzNTQzLCAwLjAyNSk7XG5AY29sb3ItZ3JleS0xMDA6ICNmYWY5ZmI7XG5AY29sb3ItZ3JleS0yMDA6ICNmNmY1ZmE7XG5AY29sb3ItZ3JleS0zMDA6ICNmMWVlZjY7XG5AY29sb3ItZ3JleS00MDA6ICNlY2U4ZjM7XG5AY29sb3ItZ3JleS01MDA6ICNkY2Q4ZTQ7XG5AY29sb3ItZ3JleS02MDA6ICM5ZTk5YTg7XG5AY29sb3ItZ3JleS03MDA6ICM1ZDU2NmM7XG5AY29sb3ItZ3JleS04MDA6ICM0ZDQ2NWE7XG5AY29sb3ItZ3JleS05MDA6ICMzYTM1NDM7XG5AY29sb3ItZ3JleS0xMDAwOiAjMjgyNDJlO1xuXG4vLyBQcmltYXJ5XG5AY29sb3ItcHJpbWFyeS1saWdodGVzdDogI2Y1ZjBmYTtcbkBjb2xvci1wcmltYXJ5LWxpZ2h0OiAjZTllMGY1O1xuQGNvbG9yLXByaW1hcnktbWVkaXVtOiAjOWM3N2Q0O1xuQGNvbG9yLXByaW1hcnktZGVmYXVsdDogIzVhMWNiNztcbkBjb2xvci1wcmltYXJ5LWRhcms6ICM0ODE2OTI7XG5AY29sb3ItcHJpbWFyeS1kYXJrZXI6ICMzNjExNmU7XG5AY29sb3ItcHJpbWFyeS1kYXJrZXN0OiAjMjQwYjQ5O1xuXG4vLyBBY2NlbnRcbkBjb2xvci1hY2NlbnQtZGVmYXVsdDogI2Q5MWM3YTtcbkBjb2xvci1hY2NlbnQtZGFyazogI2I2MTY2NjtcblxuLy8gSW5mb1xuQGNvbG9yLWluZm8tbGlnaHRlc3Q6ICNlMWVjZmU7XG5AY29sb3ItaW5mby1saWdodDogI2JlZDlmZDtcbkBjb2xvci1pbmZvLW1lZGl1bTogIzcyYTVlZTtcbkBjb2xvci1pbmZvLWRlZmF1bHQ6ICMwNjYxZTE7XG5AY29sb3ItaW5mby1kYXJrOiAjMDU1MWJkO1xuXG4vLyBTdWNjZXNzXG5AY29sb3Itc3VjY2Vzcy1saWdodGVzdDogI2RmZmNlOTtcbkBjb2xvci1zdWNjZXNzLWxpZ2h0OiAjYzNlYWQ3O1xuQGNvbG9yLXN1Y2Nlc3MtbWVkaXVtOiAjNzVjN2ExO1xuQGNvbG9yLXN1Y2Nlc3MtZGVmYXVsdDogIzAwOTc1MDtcbkBjb2xvci1zdWNjZXNzLWRhcms6ICMwMDgwNDM7XG5cbi8vIFdhcm5pbmdcbkBjb2xvci13YXJuaW5nLWxpZ2h0ZXN0OiAjZmZlZGRiO1xuQGNvbG9yLXdhcm5pbmctbGlnaHQ6ICNmZmRkYmQ7XG5AY29sb3Itd2FybmluZy1tZWRpdW06ICNlYmFlNzU7XG5AY29sb3Itd2FybmluZy1kZWZhdWx0OiAjZGE2OTAwO1xuQGNvbG9yLXdhcm5pbmctZGFyazogI2I4NTgwMDtcblxuLy8gRXJyb3JcbkBjb2xvci1lcnJvci1saWdodGVzdDogI2ZhZTBlMztcbkBjb2xvci1lcnJvci1saWdodDogI2Y0YzdjYztcbkBjb2xvci1lcnJvci1tZWRpdW06ICNlODdkODg7XG5AY29sb3ItZXJyb3ItZGVmYXVsdDogI2QxMDAxNTtcbkBjb2xvci1lcnJvci1kYXJrOiAjYjIwMDEyO1xuXG4vLyBQcml2YXRlXG5AY29sb3ItcHJpdmF0ZS1saWdodGVzdDogI2ZmZmRmNTtcbkBjb2xvci1wcml2YXRlLWxpZ2h0OiAjZmZmYmU1O1xuQGNvbG9yLXByaXZhdGUtZGVmYXVsdDogI2ZmZjhkMTtcbkBjb2xvci1wcml2YXRlLWRhcms6ICNlYWUyYjg7XG5cbi8vIEZpbGVzXG5AY29sb3ItZmlsZXMtdGV4dC1kb2N1bWVudDogIzJhODZmMTtcbkBjb2xvci1maWxlcy1wcmVzZW50YXRpb246ICNlZTU5MmI7XG5AY29sb3ItZmlsZXMtc3ByZWFkc2hlZXQ6ICM1MDkwMTU7XG5AY29sb3ItZmlsZXMtcGRmLWRvY3VtZW50OiAjZGUyNzE1O1xuQGNvbG9yLWZpbGVzLW90aGVyLWRvY3VtZW50OiAjNWI2ZDhjO1xuXG4vLyBTdGFnZXNcbkBjb2xvci1zdGFnZXMtbm8tdHlwZS1saWdodDogI2Y1ZjFlZjtcbkBjb2xvci1zdGFnZXMtbm8tdHlwZS1kZWZhdWx0OiAjOTQ2YTU3O1xuQGNvbG9yLXN0YWdlcy1hcHBsaWVkLWxpZ2h0OiAjZWNlOWYyO1xuQGNvbG9yLXN0YWdlcy1hcHBsaWVkLWRlZmF1bHQ6ICM2ZDY5NzY7XG5AY29sb3Itc3RhZ2VzLXNjcmVlbmluZy1saWdodDogI2UxZWNmZTtcbkBjb2xvci1zdGFnZXMtc2NyZWVuaW5nLWRlZmF1bHQ6ICMwNTUxYmQ7XG5AY29sb3Itc3RhZ2VzLWludGVydmlldy1saWdodDogI2UxZWNmZTtcbkBjb2xvci1zdGFnZXMtaW50ZXJ2aWV3LWRlZmF1bHQ6ICMwNjYxZTE7XG5AY29sb3Itc3RhZ2VzLWV2YWx1YXRpb24tbGlnaHQ6ICNkY2YyZjQ7XG5AY29sb3Itc3RhZ2VzLWV2YWx1YXRpb24tZGVmYXVsdDogIzAwYTRhZDtcbkBjb2xvci1zdGFnZXMtb2ZmZXItbGlnaHQ6ICNlYWU1ZmE7XG5AY29sb3Itc3RhZ2VzLW9mZmVyLWRlZmF1bHQ6ICM5OTVjZTA7XG5AY29sb3Itc3RhZ2VzLWhpcmVkLWxpZ2h0OiAjZGZmY2U5O1xuQGNvbG9yLXN0YWdlcy1oaXJlZC1kZWZhdWx0OiAjMDA5NzUwO1xuXG4vLyBBdmF0YXJzXG5AY29sb3ItYXZhdGFycy1jYW5kaWRhdGU6ICM3MDU1YWE7XG5AY29sb3ItYXZhdGFycy10ZWFtLW1lbWJlcjogI2I3NDI3YztcblxuLmxpZ2h0LXJlY3J1aXRlZS1wYWxldHRlIHtcbiAgY29sb3Itc2NoZW1lOiBsaWdodDtcbiAgLS1jb2xvci1iYXNpYy13aGl0ZTogQGNvbG9yLWJhc2ljLXdoaXRlO1xuICAtLWNvbG9yLWJhc2ljLWJsYWNrOiBAY29sb3ItYmFzaWMtYmxhY2s7XG4gIC0tY29sb3ItZ3JleS10cmFuc2x1Y2VudDogQGNvbG9yLWdyZXktdHJhbnNsdWNlbnQ7XG4gIC0tY29sb3ItZ3JleS0xMDA6IEBjb2xvci1ncmV5LTEwMDtcbiAgLS1jb2xvci1ncmV5LTIwMDogQGNvbG9yLWdyZXktMjAwO1xuICAtLWNvbG9yLWdyZXktMzAwOiBAY29sb3ItZ3JleS0zMDA7XG4gIC0tY29sb3ItZ3JleS00MDA6IEBjb2xvci1ncmV5LTQwMDtcbiAgLS1jb2xvci1ncmV5LTUwMDogQGNvbG9yLWdyZXktNTAwO1xuICAtLWNvbG9yLWdyZXktNjAwOiBAY29sb3ItZ3JleS02MDA7XG4gIC0tY29sb3ItZ3JleS03MDA6IEBjb2xvci1ncmV5LTcwMDtcbiAgLS1jb2xvci1ncmV5LTgwMDogQGNvbG9yLWdyZXktODAwO1xuICAtLWNvbG9yLWdyZXktOTAwOiBAY29sb3ItZ3JleS05MDA7XG4gIC0tY29sb3ItZ3JleS0xMDAwOiBAY29sb3ItZ3JleS0xMDAwO1xuICAtLWNvbG9yLXByaW1hcnktbGlnaHRlc3Q6IEBjb2xvci1wcmltYXJ5LWxpZ2h0ZXN0O1xuICAtLWNvbG9yLXByaW1hcnktbGlnaHQ6IEBjb2xvci1wcmltYXJ5LWxpZ2h0O1xuICAtLWNvbG9yLXByaW1hcnktbWVkaXVtOiBAY29sb3ItcHJpbWFyeS1tZWRpdW07XG4gIC0tY29sb3ItcHJpbWFyeS1kZWZhdWx0OiBAY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xuICAtLWNvbG9yLXByaW1hcnktZGFyazogQGNvbG9yLXByaW1hcnktZGFyaztcbiAgLS1jb2xvci1wcmltYXJ5LWRhcmtlcjogQGNvbG9yLXByaW1hcnktZGFya2VyO1xuICAtLWNvbG9yLXByaW1hcnktZGFya2VzdDogQGNvbG9yLXByaW1hcnktZGFya2VzdDtcbiAgLS1jb2xvci1hY2NlbnQtZGVmYXVsdDogQGNvbG9yLWFjY2VudC1kZWZhdWx0O1xuICAtLWNvbG9yLWFjY2VudC1kYXJrOiBAY29sb3ItYWNjZW50LWRhcms7XG4gIC0tY29sb3ItaW5mby1saWdodGVzdDogQGNvbG9yLWluZm8tbGlnaHRlc3Q7XG4gIC0tY29sb3ItaW5mby1saWdodDogQGNvbG9yLWluZm8tbGlnaHQ7XG4gIC0tY29sb3ItaW5mby1tZWRpdW06IEBjb2xvci1pbmZvLW1lZGl1bTtcbiAgLS1jb2xvci1pbmZvLWRlZmF1bHQ6IEBjb2xvci1pbmZvLWRlZmF1bHQ7XG4gIC0tY29sb3ItaW5mby1kYXJrOiBAY29sb3ItaW5mby1kYXJrO1xuICAtLWNvbG9yLXN1Y2Nlc3MtbGlnaHRlc3Q6IEBjb2xvci1zdWNjZXNzLWxpZ2h0ZXN0O1xuICAtLWNvbG9yLXN1Y2Nlc3MtbGlnaHQ6IEBjb2xvci1zdWNjZXNzLWxpZ2h0O1xuICAtLWNvbG9yLXN1Y2Nlc3MtbWVkaXVtOiBAY29sb3Itc3VjY2Vzcy1tZWRpdW07XG4gIC0tY29sb3Itc3VjY2Vzcy1kZWZhdWx0OiBAY29sb3Itc3VjY2Vzcy1kZWZhdWx0O1xuICAtLWNvbG9yLXN1Y2Nlc3MtZGFyazogQGNvbG9yLXN1Y2Nlc3MtZGFyaztcbiAgLS1jb2xvci13YXJuaW5nLWxpZ2h0ZXN0OiBAY29sb3Itd2FybmluZy1saWdodGVzdDtcbiAgLS1jb2xvci13YXJuaW5nLWxpZ2h0OiBAY29sb3Itd2FybmluZy1saWdodDtcbiAgLS1jb2xvci13YXJuaW5nLW1lZGl1bTogQGNvbG9yLXdhcm5pbmctbWVkaXVtO1xuICAtLWNvbG9yLXdhcm5pbmctZGVmYXVsdDogQGNvbG9yLXdhcm5pbmctZGVmYXVsdDtcbiAgLS1jb2xvci13YXJuaW5nLWRhcms6IEBjb2xvci13YXJuaW5nLWRhcms7XG4gIC0tY29sb3ItZXJyb3ItbGlnaHRlc3Q6IEBjb2xvci1lcnJvci1saWdodGVzdDtcbiAgLS1jb2xvci1lcnJvci1saWdodDogQGNvbG9yLWVycm9yLWxpZ2h0O1xuICAtLWNvbG9yLWVycm9yLW1lZGl1bTogQGNvbG9yLWVycm9yLW1lZGl1bTtcbiAgLS1jb2xvci1lcnJvci1kZWZhdWx0OiBAY29sb3ItZXJyb3ItZGVmYXVsdDtcbiAgLS1jb2xvci1lcnJvci1kYXJrOiBAY29sb3ItZXJyb3ItZGFyaztcbiAgLS1jb2xvci1wcml2YXRlLWxpZ2h0ZXN0OiBAY29sb3ItcHJpdmF0ZS1saWdodGVzdDtcbiAgLS1jb2xvci1wcml2YXRlLWxpZ2h0OiBAY29sb3ItcHJpdmF0ZS1saWdodDtcbiAgLS1jb2xvci1wcml2YXRlLWRlZmF1bHQ6IEBjb2xvci1wcml2YXRlLWRlZmF1bHQ7XG4gIC0tY29sb3ItcHJpdmF0ZS1kYXJrOiBAY29sb3ItcHJpdmF0ZS1kYXJrO1xuICAtLWNvbG9yLWZpbGVzLXRleHQtZG9jdW1lbnQ6IEBjb2xvci1maWxlcy10ZXh0LWRvY3VtZW50O1xuICAtLWNvbG9yLWZpbGVzLXByZXNlbnRhdGlvbjogQGNvbG9yLWZpbGVzLXByZXNlbnRhdGlvbjtcbiAgLS1jb2xvci1maWxlcy1zcHJlYWRzaGVldDogQGNvbG9yLWZpbGVzLXNwcmVhZHNoZWV0O1xuICAtLWNvbG9yLWZpbGVzLXBkZi1kb2N1bWVudDogQGNvbG9yLWZpbGVzLXBkZi1kb2N1bWVudDtcbiAgLS1jb2xvci1maWxlcy1vdGhlci1kb2N1bWVudDogQGNvbG9yLWZpbGVzLW90aGVyLWRvY3VtZW50O1xuICAtLWNvbG9yLXN0YWdlcy1uby10eXBlLWxpZ2h0OiBAY29sb3Itc3RhZ2VzLW5vLXR5cGUtbGlnaHQ7XG4gIC0tY29sb3Itc3RhZ2VzLW5vLXR5cGUtZGVmYXVsdDogQGNvbG9yLXN0YWdlcy1uby10eXBlLWRlZmF1bHQ7XG4gIC0tY29sb3Itc3RhZ2VzLWFwcGxpZWQtbGlnaHQ6IEBjb2xvci1zdGFnZXMtYXBwbGllZC1saWdodDtcbiAgLS1jb2xvci1zdGFnZXMtYXBwbGllZC1kZWZhdWx0OiBAY29sb3Itc3RhZ2VzLWFwcGxpZWQtZGVmYXVsdDtcbiAgLS1jb2xvci1zdGFnZXMtc2NyZWVuaW5nLWxpZ2h0OiBAY29sb3Itc3RhZ2VzLXNjcmVlbmluZy1saWdodDtcbiAgLS1jb2xvci1zdGFnZXMtc2NyZWVuaW5nLWRlZmF1bHQ6IEBjb2xvci1zdGFnZXMtc2NyZWVuaW5nLWRlZmF1bHQ7XG4gIC0tY29sb3Itc3RhZ2VzLWludGVydmlldy1saWdodDogQGNvbG9yLXN0YWdlcy1pbnRlcnZpZXctbGlnaHQ7XG4gIC0tY29sb3Itc3RhZ2VzLWludGVydmlldy1kZWZhdWx0OiBAY29sb3Itc3RhZ2VzLWludGVydmlldy1kZWZhdWx0O1xuICAtLWNvbG9yLXN0YWdlcy1ldmFsdWF0aW9uLWxpZ2h0OiBAY29sb3Itc3RhZ2VzLWV2YWx1YXRpb24tbGlnaHQ7XG4gIC0tY29sb3Itc3RhZ2VzLWV2YWx1YXRpb24tZGVmYXVsdDogQGNvbG9yLXN0YWdlcy1ldmFsdWF0aW9uLWRlZmF1bHQ7XG4gIC0tY29sb3Itc3RhZ2VzLW9mZmVyLWxpZ2h0OiBAY29sb3Itc3RhZ2VzLW9mZmVyLWxpZ2h0O1xuICAtLWNvbG9yLXN0YWdlcy1vZmZlci1kZWZhdWx0OiBAY29sb3Itc3RhZ2VzLW9mZmVyLWRlZmF1bHQ7XG4gIC0tY29sb3Itc3RhZ2VzLWhpcmVkLWxpZ2h0OiBAY29sb3Itc3RhZ2VzLWhpcmVkLWxpZ2h0O1xuICAtLWNvbG9yLXN0YWdlcy1oaXJlZC1kZWZhdWx0OiBAY29sb3Itc3RhZ2VzLWhpcmVkLWRlZmF1bHQ7XG4gIC0tY29sb3ItYXZhdGFycy1jYW5kaWRhdGU6IEBjb2xvci1hdmF0YXJzLWNhbmRpZGF0ZTtcbiAgLS1jb2xvci1hdmF0YXJzLXRlYW0tbWVtYmVyOiBAY29sb3ItYXZhdGFycy10ZWFtLW1lbWJlcjtcbn1cbiIsICIvLyBCYXNpY1xuQGNvbG9yLWJhc2ljLWRhcmstd2hpdGU6ICNmZmZmZmY7XG5AY29sb3ItYmFzaWMtZGFyay1ibGFjazogIzAwMDAwMDtcblxuLy8gR3JleVxuQGNvbG9yLWdyZXktZGFyay10cmFuc2x1Y2VudDogcmdiYSgjZTJkYmYwLCAwLjA1KTtcbkBjb2xvci1ncmV5LWRhcmstMTAwOiAjZjdmOGY5O1xuQGNvbG9yLWdyZXktZGFyay0yMDA6ICNkZmUwZTI7XG5AY29sb3ItZ3JleS1kYXJrLTMwMDogI2QxZDNkNjtcbkBjb2xvci1ncmV5LWRhcmstNDAwOiAjYzljYmNmO1xuQGNvbG9yLWdyZXktZGFyay01MDA6ICM3NTc2N2I7XG5AY29sb3ItZ3JleS1kYXJrLTYwMDogIzQxNDA0NTtcbkBjb2xvci1ncmV5LWRhcmstNzAwOiAjMzYzNTNiO1xuQGNvbG9yLWdyZXktZGFyay04MDA6ICMyZTJmMzM7XG5AY29sb3ItZ3JleS1kYXJrLTkwMDogIzFmMjAyMztcbkBjb2xvci1ncmV5LWRhcmstMTAwMDogIzFiMWMxZTtcblxuLy8gUHJpbWFyeVxuQGNvbG9yLXByaW1hcnktZGFyay1saWdodGVzdDogIzNkMmM1NjtcbkBjb2xvci1wcmltYXJ5LWRhcmstbGlnaHQ6ICM1NDM2ODA7XG5AY29sb3ItcHJpbWFyeS1kYXJrLW1lZGl1bTogIzljNzdkNDtcbkBjb2xvci1wcmltYXJ5LWRhcmstZGVmYXVsdDogI2FmODBmNDtcbkBjb2xvci1wcmltYXJ5LWRhcmstZGFyazogI2JmOTlmNjtcbkBjb2xvci1wcmltYXJ5LWRhcmstZGFya2VyOiAjY2ZiM2Y4O1xuQGNvbG9yLXByaW1hcnktZGFyay1kYXJrZXN0OiAjZGZjY2ZiO1xuXG4vLyBBY2NlbnRcbkBjb2xvci1hY2NlbnQtZGFyay1kZWZhdWx0OiAjZmQ2MmIwO1xuQGNvbG9yLWFjY2VudC1kYXJrLWRhcms6ICNmZDgxYzA7XG5cbi8vIEluZm9cbkBjb2xvci1pbmZvLWRhcmstbGlnaHRlc3Q6ICMxNTJlNTE7XG5AY29sb3ItaW5mby1kYXJrLWxpZ2h0OiAjMWQzYTYzO1xuQGNvbG9yLWluZm8tZGFyay1tZWRpdW06ICM0ODgwY2Y7XG5AY29sb3ItaW5mby1kYXJrLWRlZmF1bHQ6ICM1YTlkZmM7XG5AY29sb3ItaW5mby1kYXJrLWRhcms6ICM3YmIxZmQ7XG5cbi8vIFN1Y2Nlc3NcbkBjb2xvci1zdWNjZXNzLWRhcmstbGlnaHRlc3Q6ICMwYjQxMmI7XG5AY29sb3Itc3VjY2Vzcy1kYXJrLWxpZ2h0OiAjMGY1MjM1O1xuQGNvbG9yLXN1Y2Nlc3MtZGFyay1tZWRpdW06ICMxZDliNjY7XG5AY29sb3Itc3VjY2Vzcy1kYXJrLWRlZmF1bHQ6ICMyM2JkN2Q7XG5AY29sb3Itc3VjY2Vzcy1kYXJrLWRhcms6ICM0MWM4OTA7XG5cbi8vIFdhcm5pbmdcbkBjb2xvci13YXJuaW5nLWRhcmstbGlnaHRlc3Q6ICM1MTJmMTA7XG5AY29sb3Itd2FybmluZy1kYXJrLWxpZ2h0OiAjNjAzOTE1O1xuQGNvbG9yLXdhcm5pbmctZGFyay1tZWRpdW06ICNjMzc3MzA7XG5AY29sb3Itd2FybmluZy1kYXJrLWRlZmF1bHQ6ICNlZDkxM2I7XG5AY29sb3Itd2FybmluZy1kYXJrLWRhcms6ICNmMWE3NjI7XG5cbi8vIEVycm9yXG5AY29sb3ItZXJyb3ItZGFyay1saWdodGVzdDogIzRmMTYxODtcbkBjb2xvci1lcnJvci1kYXJrLWxpZ2h0OiAjN2IyZDJmO1xuQGNvbG9yLWVycm9yLWRhcmstbWVkaXVtOiAjZDM1YTVjO1xuQGNvbG9yLWVycm9yLWRhcmstZGVmYXVsdDogI2ZmNzA3MztcbkBjb2xvci1lcnJvci1kYXJrLWRhcms6ICNmZjhkOGY7XG5cbi8vIFByaXZhdGVcbkBjb2xvci1wcml2YXRlLWRhcmstbGlnaHRlc3Q6ICMyMjIxMWI7XG5AY29sb3ItcHJpdmF0ZS1kYXJrLWxpZ2h0OiAjMzQzMjI4O1xuQGNvbG9yLXByaXZhdGUtZGFyay1kZWZhdWx0OiAjNjI1YjM2O1xuQGNvbG9yLXByaXZhdGUtZGFyay1kYXJrOiAjNzg3MDNmO1xuXG4vLyBGaWxlc1xuQGNvbG9yLWZpbGVzLWRhcmstdGV4dC1kb2N1bWVudDogIzJhODZmMTtcbkBjb2xvci1maWxlcy1kYXJrLXByZXNlbnRhdGlvbjogI2VlNTkyYjtcbkBjb2xvci1maWxlcy1kYXJrLXNwcmVhZHNoZWV0OiAjNTA5MDE1O1xuQGNvbG9yLWZpbGVzLWRhcmstcGRmLWRvY3VtZW50OiAjZGUyNzE1O1xuQGNvbG9yLWZpbGVzLWRhcmstb3RoZXItZG9jdW1lbnQ6ICM1YjZkOGM7XG5cbi8vIFN0YWdlc1xuQGNvbG9yLXN0YWdlcy1uby10eXBlLWRhcmstbGlnaHQ6ICM0MDJlMjY7XG5AY29sb3Itc3RhZ2VzLW5vLXR5cGUtZGFyay1kZWZhdWx0OiAjOTQ2YTU3O1xuQGNvbG9yLXN0YWdlcy1hcHBsaWVkLWRhcmstbGlnaHQ6ICMzNTM2M2I7XG5AY29sb3Itc3RhZ2VzLWFwcGxpZWQtZGFyay1kZWZhdWx0OiAjODk5N2E5O1xuQGNvbG9yLXN0YWdlcy1zY3JlZW5pbmctZGFyay1saWdodDogIzE1MmU1MTtcbkBjb2xvci1zdGFnZXMtc2NyZWVuaW5nLWRhcmstZGVmYXVsdDogIzdiYjFmZDtcbkBjb2xvci1zdGFnZXMtaW50ZXJ2aWV3LWRhcmstbGlnaHQ6ICMxNTJlNTE7XG5AY29sb3Itc3RhZ2VzLWludGVydmlldy1kYXJrLWRlZmF1bHQ6ICM1YTlkZmM7XG5AY29sb3Itc3RhZ2VzLWV2YWx1YXRpb24tZGFyay1saWdodDogIzAwM2EzZDtcbkBjb2xvci1zdGFnZXMtZXZhbHVhdGlvbi1kYXJrLWRlZmF1bHQ6ICMwMGMxY2M7XG5AY29sb3Itc3RhZ2VzLW9mZmVyLWRhcmstbGlnaHQ6ICM0MzI0Njg7XG5AY29sb3Itc3RhZ2VzLW9mZmVyLWRhcmstZGVmYXVsdDogI2FmN2ZlNjtcbkBjb2xvci1zdGFnZXMtaGlyZWQtZGFyay1saWdodDogIzBiNDEyYjtcbkBjb2xvci1zdGFnZXMtaGlyZWQtZGFyay1kZWZhdWx0OiAjMjNiZDdkO1xuXG4vLyBBdmF0YXJzXG5AY29sb3ItYXZhdGFycy1kYXJrLWNhbmRpZGF0ZTogI2FkOTRlMDtcbkBjb2xvci1hdmF0YXJzLWRhcmstdGVhbS1tZW1iZXI6ICNiZDZiYjM7XG5cbi5kYXJrLXJlY3J1aXRlZS1wYWxldHRlIHtcbiAgY29sb3Itc2NoZW1lOiBkYXJrO1xuICAtLWNvbG9yLWJhc2ljLXdoaXRlOiBAY29sb3ItYmFzaWMtZGFyay13aGl0ZTtcbiAgLS1jb2xvci1iYXNpYy1ibGFjazogQGNvbG9yLWJhc2ljLWRhcmstYmxhY2s7XG4gIC0tY29sb3ItZ3JleS10cmFuc2x1Y2VudDogQGNvbG9yLWdyZXktZGFyay10cmFuc2x1Y2VudDtcbiAgLS1jb2xvci1ncmV5LTEwMDogQGNvbG9yLWdyZXktZGFyay0xMDA7XG4gIC0tY29sb3ItZ3JleS0yMDA6IEBjb2xvci1ncmV5LWRhcmstMjAwO1xuICAtLWNvbG9yLWdyZXktMzAwOiBAY29sb3ItZ3JleS1kYXJrLTMwMDtcbiAgLS1jb2xvci1ncmV5LTQwMDogQGNvbG9yLWdyZXktZGFyay00MDA7XG4gIC0tY29sb3ItZ3JleS01MDA6IEBjb2xvci1ncmV5LWRhcmstNTAwO1xuICAtLWNvbG9yLWdyZXktNjAwOiBAY29sb3ItZ3JleS1kYXJrLTYwMDtcbiAgLS1jb2xvci1ncmV5LTcwMDogQGNvbG9yLWdyZXktZGFyay03MDA7XG4gIC0tY29sb3ItZ3JleS04MDA6IEBjb2xvci1ncmV5LWRhcmstODAwO1xuICAtLWNvbG9yLWdyZXktOTAwOiBAY29sb3ItZ3JleS1kYXJrLTkwMDtcbiAgLS1jb2xvci1ncmV5LTEwMDA6IEBjb2xvci1ncmV5LWRhcmstMTAwMDtcbiAgLS1jb2xvci1wcmltYXJ5LWxpZ2h0ZXN0OiBAY29sb3ItcHJpbWFyeS1kYXJrLWxpZ2h0ZXN0O1xuICAtLWNvbG9yLXByaW1hcnktbGlnaHQ6IEBjb2xvci1wcmltYXJ5LWRhcmstbGlnaHQ7XG4gIC0tY29sb3ItcHJpbWFyeS1tZWRpdW06IEBjb2xvci1wcmltYXJ5LWRhcmstbWVkaXVtO1xuICAtLWNvbG9yLXByaW1hcnktZGVmYXVsdDogQGNvbG9yLXByaW1hcnktZGFyay1kZWZhdWx0O1xuICAtLWNvbG9yLXByaW1hcnktZGFyazogQGNvbG9yLXByaW1hcnktZGFyay1kYXJrO1xuICAtLWNvbG9yLXByaW1hcnktZGFya2VyOiBAY29sb3ItcHJpbWFyeS1kYXJrLWRhcmtlcjtcbiAgLS1jb2xvci1wcmltYXJ5LWRhcmtlc3Q6IEBjb2xvci1wcmltYXJ5LWRhcmstZGFya2VzdDtcbiAgLS1jb2xvci1hY2NlbnQtZGVmYXVsdDogQGNvbG9yLWFjY2VudC1kYXJrLWRlZmF1bHQ7XG4gIC0tY29sb3ItYWNjZW50LWRhcms6IEBjb2xvci1hY2NlbnQtZGFyay1kYXJrO1xuICAtLWNvbG9yLWluZm8tbGlnaHRlc3Q6IEBjb2xvci1pbmZvLWRhcmstbGlnaHRlc3Q7XG4gIC0tY29sb3ItaW5mby1saWdodDogQGNvbG9yLWluZm8tZGFyay1saWdodDtcbiAgLS1jb2xvci1pbmZvLW1lZGl1bTogQGNvbG9yLWluZm8tZGFyay1tZWRpdW07XG4gIC0tY29sb3ItaW5mby1kZWZhdWx0OiBAY29sb3ItaW5mby1kYXJrLWRlZmF1bHQ7XG4gIC0tY29sb3ItaW5mby1kYXJrOiBAY29sb3ItaW5mby1kYXJrLWRhcms7XG4gIC0tY29sb3Itc3VjY2Vzcy1saWdodGVzdDogQGNvbG9yLXN1Y2Nlc3MtZGFyay1saWdodGVzdDtcbiAgLS1jb2xvci1zdWNjZXNzLWxpZ2h0OiBAY29sb3Itc3VjY2Vzcy1kYXJrLWxpZ2h0O1xuICAtLWNvbG9yLXN1Y2Nlc3MtbWVkaXVtOiBAY29sb3Itc3VjY2Vzcy1kYXJrLW1lZGl1bTtcbiAgLS1jb2xvci1zdWNjZXNzLWRlZmF1bHQ6IEBjb2xvci1zdWNjZXNzLWRhcmstZGVmYXVsdDtcbiAgLS1jb2xvci1zdWNjZXNzLWRhcms6IEBjb2xvci1zdWNjZXNzLWRhcmstZGFyaztcbiAgLS1jb2xvci13YXJuaW5nLWxpZ2h0ZXN0OiBAY29sb3Itd2FybmluZy1kYXJrLWxpZ2h0ZXN0O1xuICAtLWNvbG9yLXdhcm5pbmctbGlnaHQ6IEBjb2xvci13YXJuaW5nLWRhcmstbGlnaHQ7XG4gIC0tY29sb3Itd2FybmluZy1tZWRpdW06IEBjb2xvci13YXJuaW5nLWRhcmstbWVkaXVtO1xuICAtLWNvbG9yLXdhcm5pbmctZGVmYXVsdDogQGNvbG9yLXdhcm5pbmctZGFyay1kZWZhdWx0O1xuICAtLWNvbG9yLWVycm9yLWxpZ2h0ZXN0OiBAY29sb3ItZXJyb3ItZGFyay1saWdodGVzdDtcbiAgLS1jb2xvci1lcnJvci1saWdodDogQGNvbG9yLWVycm9yLWRhcmstbGlnaHQ7XG4gIC0tY29sb3ItZXJyb3ItbWVkaXVtOiBAY29sb3ItZXJyb3ItZGFyay1tZWRpdW07XG4gIC0tY29sb3ItZXJyb3ItZGVmYXVsdDogQGNvbG9yLWVycm9yLWRhcmstZGVmYXVsdDtcbiAgLS1jb2xvci1wcml2YXRlLWxpZ2h0ZXN0OiBAY29sb3ItcHJpdmF0ZS1kYXJrLWxpZ2h0ZXN0O1xuICAtLWNvbG9yLXByaXZhdGUtbGlnaHQ6IEBjb2xvci1wcml2YXRlLWRhcmstbGlnaHQ7XG4gIC0tY29sb3ItcHJpdmF0ZS1kZWZhdWx0OiBAY29sb3ItcHJpdmF0ZS1kYXJrLWRlZmF1bHQ7XG4gIC0tY29sb3ItcHJpdmF0ZS1kYXJrOiBAY29sb3ItcHJpdmF0ZS1kYXJrLWRhcms7XG4gIC0tY29sb3ItZmlsZXMtdGV4dC1kb2N1bWVudDogQGNvbG9yLWZpbGVzLWRhcmstdGV4dC1kb2N1bWVudDtcbiAgLS1jb2xvci1maWxlcy1wcmVzZW50YXRpb246IEBjb2xvci1maWxlcy1kYXJrLXByZXNlbnRhdGlvbjtcbiAgLS1jb2xvci1maWxlcy1zcHJlYWRzaGVldDogQGNvbG9yLWZpbGVzLWRhcmstc3ByZWFkc2hlZXQ7XG4gIC0tY29sb3ItZmlsZXMtcGRmLWRvY3VtZW50OiBAY29sb3ItZmlsZXMtZGFyay1wZGYtZG9jdW1lbnQ7XG4gIC0tY29sb3ItZmlsZXMtb3RoZXItZG9jdW1lbnQ6IEBjb2xvci1maWxlcy1kYXJrLW90aGVyLWRvY3VtZW50O1xuICAtLWNvbG9yLXN0YWdlcy1uby10eXBlLWxpZ2h0OiBAY29sb3Itc3RhZ2VzLW5vLXR5cGUtZGFyay1saWdodDtcbiAgLS1jb2xvci1zdGFnZXMtbm8tdHlwZS1kZWZhdWx0OiBAY29sb3Itc3RhZ2VzLW5vLXR5cGUtZGFyay1kZWZhdWx0O1xuICAtLWNvbG9yLXN0YWdlcy1hcHBsaWVkLWxpZ2h0OiBAY29sb3Itc3RhZ2VzLWFwcGxpZWQtZGFyay1saWdodDtcbiAgLS1jb2xvci1zdGFnZXMtYXBwbGllZC1kZWZhdWx0OiBAY29sb3Itc3RhZ2VzLWFwcGxpZWQtZGFyay1kZWZhdWx0O1xuICAtLWNvbG9yLXN0YWdlcy1zY3JlZW5pbmctbGlnaHQ6IEBjb2xvci1zdGFnZXMtc2NyZWVuaW5nLWRhcmstbGlnaHQ7XG4gIC0tY29sb3Itc3RhZ2VzLXNjcmVlbmluZy1kZWZhdWx0OiBAY29sb3Itc3RhZ2VzLXNjcmVlbmluZy1kYXJrLWRlZmF1bHQ7XG4gIC0tY29sb3Itc3RhZ2VzLWludGVydmlldy1saWdodDogQGNvbG9yLXN0YWdlcy1pbnRlcnZpZXctZGFyay1saWdodDtcbiAgLS1jb2xvci1zdGFnZXMtaW50ZXJ2aWV3LWRlZmF1bHQ6IEBjb2xvci1zdGFnZXMtaW50ZXJ2aWV3LWRhcmstZGVmYXVsdDtcbiAgLS1jb2xvci1zdGFnZXMtZXZhbHVhdGlvbi1saWdodDogQGNvbG9yLXN0YWdlcy1ldmFsdWF0aW9uLWRhcmstbGlnaHQ7XG4gIC0tY29sb3Itc3RhZ2VzLWV2YWx1YXRpb24tZGVmYXVsdDogQGNvbG9yLXN0YWdlcy1ldmFsdWF0aW9uLWRhcmstZGVmYXVsdDtcbiAgLS1jb2xvci1zdGFnZXMtb2ZmZXItbGlnaHQ6IEBjb2xvci1zdGFnZXMtb2ZmZXItZGFyay1saWdodDtcbiAgLS1jb2xvci1zdGFnZXMtb2ZmZXItZGVmYXVsdDogQGNvbG9yLXN0YWdlcy1vZmZlci1kYXJrLWRlZmF1bHQ7XG4gIC0tY29sb3Itc3RhZ2VzLWhpcmVkLWxpZ2h0OiBAY29sb3Itc3RhZ2VzLWhpcmVkLWRhcmstbGlnaHQ7XG4gIC0tY29sb3Itc3RhZ2VzLWhpcmVkLWRlZmF1bHQ6IEBjb2xvci1zdGFnZXMtaGlyZWQtZGFyay1kZWZhdWx0O1xuICAtLWNvbG9yLWF2YXRhcnMtY2FuZGlkYXRlOiBAY29sb3ItYXZhdGFycy1kYXJrLWNhbmRpZGF0ZTtcbiAgLS1jb2xvci1hdmF0YXJzLXRlYW0tbWVtYmVyOiBAY29sb3ItYXZhdGFycy1kYXJrLXRlYW0tbWVtYmVyO1xufVxuIiwgIkBpbXBvcnQgJ2NvbG9ycy1saWdodC5sZXNzJztcbkBpbXBvcnQgJ2NvbG9ycy1kYXJrLmxlc3MnO1xuXG4vLyBQQUxFVFRFUyBGT1IgTElHSFQgQU5EIERBUktcblxuLmxpZ2h0LXJlY3J1aXRlZS1wYWxldHRlIHtcbiAgY29sb3Itc2NoZW1lOiBsaWdodDtcbiAgLS1hdmF0YXItYmNrZy1jb2xvcjogQGNvbG9yLWdyZXktNzAwO1xuICAtLWF2YXRhci1sYWJlbC1jb2xvcjogQGNvbG9yLWJhc2ljLXdoaXRlO1xuICAtLWNhcmQtYmNrZzogQGNvbG9yLWJhc2ljLXdoaXRlO1xuICAtLWNhcmQtYmNrZy1yZ2I6IDI1NSwgMjU1LCAyNTU7XG4gIC0tY2FyZC1iY2tnLWNvbG9yOiBmYWRlKEBjb2xvci1ncmV5LTEwMCwgNSUpO1xuICAtLWNhcmQtYmNrZy1vdmVybGF5OiBsaW5lYXItZ3JhZGllbnQoXG4gICAgLTE4MGRlZyxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDQwJSxcbiAgICByZ2IoMjU1LCAyNTUsIDI1NSkgMTAwJVxuICApO1xuICAtLWNhcmQtc3RhY2tlZC1iY2tnOiBAY29sb3ItZ3JleS0xMDA7XG4gIC0tY2hldnJvbi1jb2xvcjogQGNvbG9yLWdyZXktNjAwO1xuICAtLWhlYWRlci1jb2xvcjogQGNvbG9yLWdyZXktODAwO1xuICAtLWluZm8tYm9yZGVyLWNvbG9yOiBAY29sb3ItZ3JleS01MDA7XG4gIC0tbW9kYWwtaGVhZGVyLWNvbG9yOiBAY29sb3ItYmFzaWMtd2hpdGU7XG4gIC0tbW9yZS1idG4tY29sb3I6IEBjb2xvci1ncmV5LTgwMDtcbiAgLS1saXN0LWJja2ctY29sb3I6IEBjb2xvci1iYXNpYy13aGl0ZTtcbiAgLS1waWxsLWJja2c6IEBjb2xvci1ncmV5LTIwMDtcbiAgLS1wbGFjZWhvbGRlci1jb2xvcjogQGNvbG9yLWdyZXktNjAwO1xuICAtLXNlY3Rpb24tbGluZTogQGNvbG9yLWdyZXktNTAwO1xuICAtLXNlZ21lbnQtYmNrZy1jb2xvcjogQGNvbG9yLWdyZXktMzAwO1xuICAtLXNoYWRvdy1jYXJkLW92ZXJsYXA6IDBweCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wOCksIDBweCAwcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIC0tdGFnLWxhYmVsLWNvbG9yOiBAY29sb3ItZ3JleS04MDA7XG4gIC0tdGFnLWljb24tY29sb3I6IEBjb2xvci1ncmV5LTgwMDtcbiAgLS10YWctYm9yZGVyLWNvbG9yOiBAY29sb3ItZ3JleS00MDA7XG4gIC0tY2hpcC1ib3JkZXItY29sb3I6IEBjb2xvci1ncmV5LTUwMDtcbiAgLS1zdGFja2VkLWNhcmQtc2hhZG93OiAwcHggMXB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMDQpLCAwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuICAtLXNlYXJjaGJhci1iY2tnOiBAY29sb3ItZ3JleS00MDA7XG4gIC0tYnV0dG9uLWJja2ctY29sb3I6IEBjb2xvci1iYXNpYy13aGl0ZTtcbiAgLS1iY2tnLWFjdGl2YXRlZDogQGNvbG9yLWJhc2ljLWJsYWNrO1xuICAtLWJja2ctZm9jdXNlZDogQGNvbG9yLWJhc2ljLWJsYWNrO1xuICAtLWJja2ctaG92ZXI6IEBjb2xvci1iYXNpYy1ibGFjaztcbiAgLS1iY2tnLWFjdGl2YXRlZC1vcGFjaXR5OiAwLjEyO1xuICAtLWJja2ctZm9jdXNlZC1vcGFjaXR5OiAwLjE1O1xuICAtLWJja2ctaG92ZXItb3BhY2l0eTogMC4wNDtcbiAgLS1idXR0b24tYmNrZy1ob3ZlcjogQGNvbG9yLWdyZXktMTAwO1xuXG4gIC8vIElPTklDXG4gIC0taW9uLWNvbG9yLXByaW1hcnk6IEBjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XG4gIC0taW9uLWNvbG9yLXByaW1hcnktcmdiOiA5MCwgMjgsIDE4MztcblxuICAtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItZ3JleS0yMDA7XG4gIC0taW9uLWJhY2tncm91bmQtY29sb3ItcmdiOiAyNDYsIDI0NSwgMjUwO1xuXG4gIC0taW9uLXRleHQtY29sb3I6IEBjb2xvci1ncmV5LTEwMDA7XG4gIC0taW9uLXRleHQtY29sb3ItcmdiOiA0MCwgMzYsIDQ2O1xuXG4gIC0taW9uLWNvbG9yLXN0ZXAtNTA6IEBjb2xvci1ncmV5LTEwMDtcbiAgLS1pb24tY29sb3Itc3RlcC0xMDA6IEBjb2xvci1ncmV5LTEwMDtcbiAgLS1pb24tY29sb3Itc3RlcC0xNTA6IEBjb2xvci1ncmV5LTIwMDtcbiAgLS1pb24tY29sb3Itc3RlcC0yMDA6IEBjb2xvci1ncmV5LTIwMDtcbiAgLS1pb24tY29sb3Itc3RlcC0yNTA6IEBjb2xvci1ncmV5LTMwMDtcbiAgLS1pb24tY29sb3Itc3RlcC0zMDA6IEBjb2xvci1ncmV5LTMwMDtcbiAgLS1pb24tY29sb3Itc3RlcC0zNTA6IEBjb2xvci1ncmV5LTQwMDtcbiAgLS1pb24tY29sb3Itc3RlcC00MDA6IEBjb2xvci1ncmV5LTQwMDtcbiAgLS1pb24tY29sb3Itc3RlcC00NTA6IEBjb2xvci1ncmV5LTUwMDtcbiAgLS1pb24tY29sb3Itc3RlcC01MDA6IEBjb2xvci1ncmV5LTUwMDtcbiAgLS1pb24tY29sb3Itc3RlcC01NTA6IEBjb2xvci1ncmV5LTYwMDtcbiAgLS1pb24tY29sb3Itc3RlcC02MDA6IEBjb2xvci1ncmV5LTYwMDtcbiAgLS1pb24tY29sb3Itc3RlcC02NTA6IEBjb2xvci1ncmV5LTcwMDtcbiAgLS1pb24tY29sb3Itc3RlcC03MDA6IEBjb2xvci1ncmV5LTcwMDtcbiAgLS1pb24tY29sb3Itc3RlcC03NTA6IEBjb2xvci1ncmV5LTgwMDtcbiAgLS1pb24tY29sb3Itc3RlcC04MDA6IEBjb2xvci1ncmV5LTgwMDtcbiAgLS1pb24tY29sb3Itc3RlcC04NTA6IEBjb2xvci1ncmV5LTkwMDtcbiAgLS1pb24tY29sb3Itc3RlcC05MDA6IEBjb2xvci1ncmV5LTkwMDtcbiAgLS1pb24tY29sb3Itc3RlcC05NTA6IEBjb2xvci1ncmV5LTEwMDA7XG59XG5cbi5kYXJrLXJlY3J1aXRlZS1wYWxldHRlIHtcbiAgY29sb3Itc2NoZW1lOiBkYXJrO1xuICAtLWF2YXRhci1iY2tnLWNvbG9yOiBAY29sb3ItZ3JleS1kYXJrLTUwMDtcbiAgLS1hdmF0YXItbGFiZWwtY29sb3I6IEBjb2xvci1ncmV5LWRhcmstMTAwO1xuICAtLWNhcmQtYmNrZzogQGNvbG9yLWdyZXktZGFyay04MDA7XG4gIC0tY2FyZC1iY2tnLXJnYjogNDYsIDQ3LCA1MTtcbiAgLS1jYXJkLXN0YWNrZWQtYmNrZzogQGNvbG9yLWdyZXktZGFyay03MDA7XG4gIC0tY2FyZC1iY2tnLW92ZXJsYXk6IGxpbmVhci1ncmFkaWVudCgtMTgwZGVnLCByZ2JhKDQ2LCA0NywgNTEsIDApIDQwJSwgcmdiKDQ2LCA0NywgNTEpIDgwJSk7XG4gIC0tY2hldnJvbi1jb2xvcjogQGNvbG9yLWdyZXktZGFyay01MDA7XG4gIC0taGVhZGVyLWNvbG9yOiBAY29sb3ItZ3JleS1kYXJrLTQwMDtcbiAgLS1pbmZvLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tbW9kYWwtaGVhZGVyLWNvbG9yOiBAY29sb3ItZ3JleS1kYXJrLTEwMDA7XG4gIC0tbW9yZS1idG4tY29sb3I6IEBjb2xvci1ncmV5LWRhcmstMjAwO1xuICAtLWxpc3QtYmNrZy1jb2xvcjogQGNvbG9yLWdyZXktZGFyay04MDA7XG4gIC0tcGlsbC1iY2tnOiBAY29sb3ItZ3JleS1kYXJrLTYwMDtcbiAgLS1wbGFjZWhvbGRlci1jb2xvcjogQGNvbG9yLWdyZXktZGFyay00MDA7XG4gIC0tc2VjdGlvbi1saW5lOiBAY29sb3ItZ3JleS1kYXJrLTYwMDtcbiAgLS1zZWFyY2hiYXItYmNrZzogQGNvbG9yLWdyZXktZGFyay02MDA7XG4gIC0tc2VnbWVudC1iY2tnLWNvbG9yOiBAY29sb3ItZ3JleS1kYXJrLTYwMDtcbiAgLS1zaGFkb3ctY2FyZC1vdmVybGFwOiAwcHggMHB4IDZweCAwcHggIzAwMDAwMDdhLCAwcHggMnB4IDRweCAwcHggIzAwMDAwMDNkO1xuICAtLXN0YWNrZWQtY2FyZC1zaGFkb3c6IDBweCAxcHggNHB4IDBweCAjMDAwMDAwY2MsIDBweCAxcHggOHB4IDBweCAjMDAwMDAwMjk7XG4gIC0tdGFnLWxhYmVsLWNvbG9yOiBAY29sb3ItZ3JleS1kYXJrLTQwMDtcbiAgLS10YWctYm9yZGVyLWNvbG9yOiBAY29sb3ItZ3JleS1kYXJrLTUwMDtcbiAgLS10YWctaWNvbi1jb2xvcjogQGNvbG9yLWdyZXktZGFyay00MDA7XG4gIC0tY2hpcC1ib3JkZXItY29sb3I6IEBjb2xvci1ncmV5LWRhcmstNTAwO1xuICAtLXRvYXN0LWJja2ctY29sb3I6ICMyODM1NDI7XG4gIC0tYnV0dG9uLWJja2ctY29sb3I6IEBjb2xvci1ncmV5LWRhcmstNzAwO1xuICAtLWNhcmQtYmNrZy1jb2xvcjogZmFkZShAY29sb3ItZ3JleS1kYXJrLTgwMCwgNzAlKTtcbiAgLS1iY2tnLWFjdGl2YXRlZDogdmFyKC0tYnV0dG9uLWJja2ctY29sb3IpO1xuICAtLWJja2ctZm9jdXNlZDogdmFyKC0tYnV0dG9uLWJja2ctY29sb3IpO1xuICAtLWJja2ctaG92ZXI6IHZhcigtLWJ1dHRvbi1iY2tnLWNvbG9yKTtcbiAgLS1iY2tnLWFjdGl2YXRlZC1vcGFjaXR5OiAxO1xuICAtLWJja2ctZm9jdXNlZC1vcGFjaXR5OiAxO1xuICAtLWJja2ctaG92ZXItb3BhY2l0eTogMTtcbiAgLS1idXR0b24tYmNrZy1ob3ZlcjogQGNvbG9yLWdyZXktZGFyay04MDA7XG5cbiAgLy8gSU9OSUNcbiAgLS1pb24tY29sb3ItcHJpbWFyeTogQGNvbG9yLXByaW1hcnktZGFyay1kZWZhdWx0O1xuICAtLWlvbi1jb2xvci1wcmltYXJ5LXJnYjogMTc1LCAxMjgsIDI0NDtcblxuICAtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItZ3JleS1kYXJrLTgwMDtcbiAgLS1pb24tYmFja2dyb3VuZC1jb2xvci1yZ2I6IDQ2LCA0NywgNTE7XG5cbiAgLS1pb24tdGV4dC1jb2xvcjogQGNvbG9yLWJhc2ljLWRhcmstd2hpdGU7XG4gIC0taW9uLXRleHQtY29sb3ItcmdiOiAyNTUsIDI1NSwgMjU1O1xuXG4gIC0taW9uLWNvbG9yLXN0ZXAtNTA6IEBjb2xvci1ncmV5LWRhcmstMTAwMDtcbiAgLS1pb24tY29sb3Itc3RlcC0xMDA6IEBjb2xvci1ncmV5LWRhcmstMTAwMDtcbiAgLS1pb24tY29sb3Itc3RlcC0xNTA6IEBjb2xvci1ncmV5LWRhcmstOTAwO1xuICAtLWlvbi1jb2xvci1zdGVwLTIwMDogQGNvbG9yLWdyZXktZGFyay05MDA7XG4gIC0taW9uLWNvbG9yLXN0ZXAtMjUwOiBAY29sb3ItZ3JleS1kYXJrLTgwMDtcbiAgLS1pb24tY29sb3Itc3RlcC0zMDA6IEBjb2xvci1ncmV5LWRhcmstODAwO1xuICAtLWlvbi1jb2xvci1zdGVwLTM1MDogQGNvbG9yLWdyZXktZGFyay03MDA7XG4gIC0taW9uLWNvbG9yLXN0ZXAtNDAwOiBAY29sb3ItZ3JleS1kYXJrLTcwMDtcbiAgLS1pb24tY29sb3Itc3RlcC00NTA6IEBjb2xvci1ncmV5LWRhcmstNjAwO1xuICAtLWlvbi1jb2xvci1zdGVwLTUwMDogQGNvbG9yLWdyZXktZGFyay02MDA7XG4gIC0taW9uLWNvbG9yLXN0ZXAtNTUwOiBAY29sb3ItZ3JleS1kYXJrLTUwMDtcbiAgLS1pb24tY29sb3Itc3RlcC02MDA6IEBjb2xvci1ncmV5LWRhcmstNTAwO1xuICAtLWlvbi1jb2xvci1zdGVwLTY1MDogQGNvbG9yLWdyZXktZGFyay00MDA7XG4gIC0taW9uLWNvbG9yLXN0ZXAtNzAwOiBAY29sb3ItZ3JleS1kYXJrLTQwMDtcbiAgLS1pb24tY29sb3Itc3RlcC03NTA6IEBjb2xvci1ncmV5LWRhcmstMzAwO1xuICAtLWlvbi1jb2xvci1zdGVwLTgwMDogQGNvbG9yLWdyZXktZGFyay0zMDA7XG4gIC0taW9uLWNvbG9yLXN0ZXAtODUwOiBAY29sb3ItZ3JleS1kYXJrLTIwMDtcbiAgLS1pb24tY29sb3Itc3RlcC05MDA6IEBjb2xvci1ncmV5LWRhcmstMjAwO1xuICAtLWlvbi1jb2xvci1zdGVwLTk1MDogQGNvbG9yLWdyZXktZGFyay0xMDA7XG59XG5cbi8vIFJPT1QgU0VUVElOR1NcblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1ncmV5LTIwMDtcbiAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1iYXNpYy1ibGFjaztcbiAgfVxufVxuXG46cm9vdCB7XG4gIC5saWdodC1yZWNydWl0ZWUtcGFsZXR0ZSgpO1xufVxuXG46cm9vdC5kYXJrbW9kZSB7XG4gIC5kYXJrLXJlY3J1aXRlZS1wYWxldHRlKCk7XG59XG5cbi8vIENPTE9SIEhFTFBFUlNcblxuLmxpZ2h0LWRhcmstY29sb3IoQGxpZ2h0LCBAZGFyaykge1xuICBAc3VwcG9ydHMgKGNvbG9yOiBsaWdodC1kYXJrKEBsaWdodCwgQGRhcmspKSB7XG4gICAgY29sb3I6IGxpZ2h0LWRhcmsoQGxpZ2h0LCBAZGFyayk7XG4gIH1cbiAgQHN1cHBvcnRzIG5vdCAoY29sb3I6IGxpZ2h0LWRhcmsoQGxpZ2h0LCBAZGFyaykpIHtcbiAgICBjb2xvcjogQGxpZ2h0O1xuICAgIDpob3N0LWNvbnRleHQoOnJvb3QuZGFya21vZGUpICYge1xuICAgICAgY29sb3I6IEBkYXJrO1xuICAgIH1cbiAgfVxufVxuXG4ubGlnaHQtZGFyay1iZyhAbGlnaHQsIEBkYXJrKSB7XG4gIEBzdXBwb3J0cyAoYmFja2dyb3VuZC1jb2xvcjogbGlnaHQtZGFyayhAbGlnaHQsIEBkYXJrKSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0LWRhcmsoQGxpZ2h0LCBAZGFyayk7XG4gIH1cbiAgQHN1cHBvcnRzIG5vdCAoY29sb3I6IGxpZ2h0LWRhcmsoQGxpZ2h0LCBAZGFyaykpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHQ7XG4gICAgOmhvc3QtY29udGV4dCg6cm9vdC5kYXJrbW9kZSkgJiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZGFyaztcbiAgICB9XG4gIH1cbn1cblxuLmxpZ2h0LWRhcmstYm9yZGVyKEBsaWdodCwgQGRhcmspIHtcbiAgQHN1cHBvcnRzIChib3JkZXItY29sb3I6IGxpZ2h0LWRhcmsoQGxpZ2h0LCBAZGFyaykpIHtcbiAgICBib3JkZXItY29sb3I6IGxpZ2h0LWRhcmsoQGxpZ2h0LCBAZGFyayk7XG4gIH1cbiAgQHN1cHBvcnRzIG5vdCAoYm9yZGVyLWNvbG9yOiBsaWdodC1kYXJrKEBsaWdodCwgQGRhcmspKSB7XG4gICAgYm9yZGVyLWNvbG9yOiBAbGlnaHQ7XG4gICAgOmhvc3QtY29udGV4dCg6cm9vdC5kYXJrbW9kZSkgJiB7XG4gICAgICBib3JkZXItY29sb3I6IEBkYXJrO1xuICAgIH1cbiAgfVxufVxuXG4ubGlnaHQtZGFyay1maWxsKEBsaWdodCwgQGRhcmspIHtcbiAgQHN1cHBvcnRzIChmaWxsOiBsaWdodC1kYXJrKEBsaWdodCwgQGRhcmspKSB7XG4gICAgZmlsbDogbGlnaHQtZGFyayhAbGlnaHQsIEBkYXJrKTtcbiAgfVxuICBAc3VwcG9ydHMgbm90IChmaWxsOiBsaWdodC1kYXJrKEBsaWdodCwgQGRhcmspKSB7XG4gICAgZmlsbDogQGxpZ2h0O1xuICAgIDpob3N0LWNvbnRleHQoOnJvb3QuZGFya21vZGUpICYge1xuICAgICAgZmlsbDogQGRhcms7XG4gICAgfVxuICB9XG59XG4iLCAiLndlaWdodC03MDAge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi53ZWlnaHQtNjAwIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4ud2VpZ2h0LTUwMCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLy9oZWFkaW5nXG5cbi5oZWFkaW5nLTEge1xuICBmb250LXNpemU6IDM0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4zN3B4O1xuICAud2VpZ2h0LTcwMCgpO1xufVxuXG4uaGVhZGluZy0yIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMzZweDtcbiAgLndlaWdodC03MDA7XG59XG5cbi5oZWFkaW5nLTMge1xuICBmb250LXNpemU6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4zNXB4O1xuICAud2VpZ2h0LTcwMDtcbn1cblxuLmhlYWRpbmctNCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjM4cHg7XG4gIC53ZWlnaHQtNzAwO1xufVxuXG4uaGVhZGluZy01IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMzhweDtcbiAgLndlaWdodC03MDA7XG59XG5cbi5oZWFkaW5nLTYge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4zOHB4O1xuICAud2VpZ2h0LTcwMDtcbn1cblxuLnN1Yi1oZWFkaW5nLTEge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsZXR0ZXItc3BhY2luZzogLTAuNDVweDtcbiAgLndlaWdodC02MDA7XG59XG5cbi5zdWItaGVhZGluZy0yIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjMycHg7XG4gIC53ZWlnaHQtNjAwO1xufVxuXG4uc3ViLWhlYWRpbmctMyB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4xNXB4O1xuICAud2VpZ2h0LTYwMDtcbn1cblxuLnN1Yi1oZWFkaW5nLTQge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAud2VpZ2h0LTYwMDtcbn1cblxuLnN1Yi1oZWFkaW5nLTUge1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4xMnB4O1xuICAud2VpZ2h0LTYwMDtcbn1cblxuLy91aS10ZXh0XG4udWktdGV4dC0xIHtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjMycHg7XG4gIC53ZWlnaHQtNTAwO1xufVxuXG4udWktdGV4dC0yIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjMycHg7XG4gIC53ZWlnaHQtNTAwO1xufVxuXG4udWktdGV4dC0zIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjE1cHg7XG4gIC53ZWlnaHQtNTAwO1xufVxuXG4udWktdGV4dC00IHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjA4cHg7XG4gIC53ZWlnaHQtNTAwO1xufVxuXG4udWktdGV4dC01IHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgLndlaWdodC01MDA7XG59XG5cbi51aS10ZXh0LTYge1xuICBmb250LXNpemU6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4wN3B4O1xuICAud2VpZ2h0LTUwMDtcbn1cblxuLnJ1bm5pbmctdGV4dC0xIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjMycHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5ydW5uaW5nLXRleHQtMiB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4xNTRweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnJ1bm5pbmctdGV4dC0yX2xuMTYge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMTU0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5ydW5uaW5nLXRleHQtMyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5jYXB0aW9uLXRleHQtMSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4xNXB4O1xufVxuXG4uY2FwdGlvbi10ZXh0LTIge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uY2FwdGlvbi10ZXh0LTMge1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4xMnB4O1xufVxuXG4uY2FwdGlvbi10ZXh0LTQge1xuICBmb250LXNpemU6IDhweDtcbiAgbGluZS1oZWlnaHQ6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC40cHg7XG59XG4iLCAiQGltcG9ydCAnbWRzL3Rva2Vucyc7XG5cbi8vVEVYVF9DT0xPUlxuLnRleHQtd2hpdGUge1xuICAubGlnaHQtZGFyay1jb2xvcihAY29sb3ItYmFzaWMtd2hpdGUsIEBjb2xvci1iYXNpYy1kYXJrLWJsYWNrKTtcbn1cblxuLnRleHQtZ3JleS04MDAtNDAwIHtcbiAgLmxpZ2h0LWRhcmstY29sb3IoQGNvbG9yLWdyZXktODAwLCBAY29sb3ItZ3JleS1kYXJrLTQwMCk7XG59XG5cbi50ZXh0LWdyZXktNjAwLTUwMCB7XG4gIC5saWdodC1kYXJrLWNvbG9yKEBjb2xvci1ncmV5LTYwMCwgQGNvbG9yLWdyZXktZGFyay01MDApO1xufVxuXG4udGV4dC1ncmV5LTYwMC00MDAge1xuICAubGlnaHQtZGFyay1jb2xvcihAY29sb3ItZ3JleS02MDAsIEBjb2xvci1ncmV5LWRhcmstNDAwKTtcbn1cblxuLnRleHQtZ3JleS0xMDAwLTEwMCB7XG4gIC5saWdodC1kYXJrLWNvbG9yKEBjb2xvci1ncmV5LTEwMDAsIEBjb2xvci1ncmV5LWRhcmstMTAwKTtcbn1cblxuLnRleHQtcHJpbWFyeS1kZWZhdWx0IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGVmYXVsdCk7XG59XG5cbi50ZXh0LWluZm8tZGVmYXVsdCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1pbmZvLWRlZmF1bHQpO1xufVxuXG4udGV4dC1zdWNjZXNzLWRlZmF1bHQge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcy1kZWZhdWx0KTtcbn1cblxuLy9QQURESU5HXG5cbi5wYWQtbGVmdC1zMiB7XG4gIHBhZGRpbmctbGVmdDogQHMyO1xufVxuXG4ucGFkLWxlZnQtczQge1xuICBwYWRkaW5nLWxlZnQ6IEBzNDtcbn1cblxuLnBhZC1yaWdodC1zMiB7XG4gIHBhZGRpbmctcmlnaHQ6IEBzMjtcbn1cblxuLnBhZC1yaWdodC1zMyB7XG4gIHBhZGRpbmctcmlnaHQ6IEBzMztcbn1cblxuLnBhZC10b3AtczIge1xuICBwYWRkaW5nLXRvcDogQHMyO1xufVxuXG4ucGFkLWxlZnQtMCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLm5vLXBhZGRpbmcge1xuICBwYWRkaW5nOiAwO1xufVxuXG4vLyBNQVJHSU5TXG5cbi5tYXItdG9wLWJvdC1zNCB7XG4gIG1hcmdpbjogQHM0IDAgQHM0IDA7XG59XG5cbi5tYXItdG9wLXMxIHtcbiAgbWFyZ2luLXRvcDogQHMxO1xufVxuXG4ubWFyLXRvcC1zMiB7XG4gIG1hcmdpbi10b3A6IEBzMjtcbn1cblxuLm1hci10b3AtczQge1xuICBtYXJnaW4tdG9wOiBAczQ7XG59XG5cbi5tYXItYm90LXM0IHtcbiAgbWFyZ2luLWJvdHRvbTogQHM0O1xufVxuXG4ubWFyLWJvdC1zMiB7XG4gIG1hcmdpbi1ib3R0b206IEBzMjtcbn1cblxuLm1hci1ib3QtczEge1xuICBtYXJnaW4tYm90dG9tOiBAczE7XG59XG5cbi5tYXItcmlnaHQtczEge1xuICBtYXJnaW4tcmlnaHQ6IEBzMTtcbn1cblxuLm1hci1yaWdodC1zNCB7XG4gIG1hcmdpbi1yaWdodDogQHM0O1xufVxuXG4ubWFyLWxlZnQtczQge1xuICBtYXJnaW4tbGVmdDogQHM0O1xufVxuXG4ubWFyLXJpZ2h0LXMyIHtcbiAgbWFyZ2luLXJpZ2h0OiBAczI7XG59XG5cbi5tYXItbGVmdC1zMiB7XG4gIG1hcmdpbi1sZWZ0OiBAczI7XG59XG5cbi5tYXItbGVmdC1zMSB7XG4gIG1hcmdpbi1sZWZ0OiBAczE7XG59XG5cbi5tYXItbGVmdC1hdXRvIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5tYXItYWxsLXM0IHtcbiAgbWFyZ2luOiBAczQ7XG59XG5cbi5oZWFkZXIge1xuICBtYXJnaW46IEBzNiBAczQgQHMyIEBzNDtcbn1cblxuLy9URVhULVRSQU5TRk9STVxuLnVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vVEVYVC1BTElHTk1FTlRcblxuLnRleHQtZW5kIHtcbiAgdGV4dC1hbGlnbjogZW5kO1xufVxuXG4udGV4dC1zdGFydCB7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xufVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vRElTUExBWVxuXG4uZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mbGV4LXNocmluay0wIHtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5lbGxpcHNpcyB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGV4dC13cmFwIHtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cbiIsICIvLyBwZXI6IGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvY3NzL3N5c3RlbS1mb250LXN0YWNrL1xuQGZvbnQtZmFtaWx5LWRlZmF1bHQ6IHN5c3RlbS11aSwgJ1NlZ29lIFVJJywgUm9ib3RvLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLFxuICAnQXBwbGUgQ29sb3IgRW1vamknLCAnU2Vnb2UgVUkgRW1vamknLCAnU2Vnb2UgVUkgU3ltYm9sJztcblxuQGZvbnQtZmFtaWx5LWVtb2ppOiAnQXBwbGUgQ29sb3IgRW1vamknLCAnU2Vnb2UgVUkgRW1vamknLCAnU2Vnb2UgVUkgU3ltYm9sJywgc3lzdGVtLXVpLCAnU2Vnb2UgVUknLFxuICBSb2JvdG8sICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbjpyb290IHtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuIiwgIi8vIEFwcCBTdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFB1dCBzdHlsZSBydWxlcyBoZXJlIHRoYXQgeW91IHdhbnQgdG8gYXBwbHkgdG8gdGhlIGVudGlyZSBhcHBsaWNhdGlvbi4gVGhlc2Vcbi8vIHN0eWxlcyBhcmUgZm9yIHRoZSBlbnRpcmUgYXBwIGFuZCBub3QganVzdCBvbmUgY29tcG9uZW50LiBBZGRpdGlvbmFsbHksIHRoaXNcbi8vIGZpbGUgY2FuIGhvbGQgU2FzcyBtaXhpbnMsIGZ1bmN0aW9ucywgYW5kIHBsYWNlaG9sZGVyIGNsYXNzZXMgdG8gYmUgaW1wb3J0ZWRcbi8vIGFuZCB1c2VkIHRocm91Z2hvdXQgdGhlIGFwcGxpY2F0aW9uLlxuXG5AaW1wb3J0ICdtZHMvdG9rZW5zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuXG5Ab2ZmbGluZS1pbmRpY2F0b3ItaGVpZ2h0OiAyOHB4O1xuQG9mZmxpbmUtaW5kaWNhdG9yLXBhZGRpbmc6IHZhcigtLWlvbi1zYWZlLWFyZWEtYm90dG9tKTtcbkBvZmZsaW5lLWluZGljYXRvci10cmFuc2l0aW9uLXRpbWU6IDAuM3M7XG5cbmJvZHkge1xuICAubGlnaHQtZGFyay1iZyhAY29sb3ItZ3JleS0yMDAsIEBjb2xvci1ncmV5LWRhcmstOTAwKTtcbiAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1kZWZhdWx0O1xufVxuXG4ubWFpbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5zcGlubmVyLWNvbnRhaW5lciB7XG4gIC5saWdodC1kYXJrLWJnKEBjb2xvci1ncmV5LTIwMCwgQGNvbG9yLWdyZXktZGFyay05MDApO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5yb290ZWQge1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IDMycHg7XG4gIHBhZGRpbmc6IDY0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIC5saWdodC1kYXJrLWJnKEBjb2xvci1ncmV5LTIwMCwgQGNvbG9yLWdyZXktZGFyay05MDApO1xufVxuXG5pb24tYXBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luLWJvdHRvbSBAb2ZmbGluZS1pbmRpY2F0b3ItdHJhbnNpdGlvbi10aW1lIGVhc2UtaW4tb3V0O1xuICAmLm9mZmxpbmUge1xuICAgIG1hcmdpbi1ib3R0b206IEBvZmZsaW5lLWluZGljYXRvci1oZWlnaHQ7XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IHZhcigtLWlvcy1rZXlib2FyZC1oZWlnaHQsIDBweCk7XG4gICAgLmxpZ2h0LWRhcmstYmcoQGNvbG9yLWdyZXktMjAwLCBAY29sb3ItZ3JleS1kYXJrLTkwMCk7XG4gIH1cbn1cblxuLmFwcC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uaW50ZXJjb20tbmFtZXNwYWNlIHtcbiAgLmludGVyY29tLWJvcmRlcmxlc3MtZnJhbWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1ncmV5LTQwMDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm94LXNoYWRvdzogcmdiKDAgMCAwIC8gMTIlKSAwcHggNHB4IDE2cHg7XG4gIH1cbiAgLmludGVyY29tLWFwcCBbbmFtZT0naW50ZXJjb20tbm90aWZpY2F0aW9ucy1mcmFtZSddIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItZ3JleS00MDA7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJveC1zaGFkb3c6IHJnYigwIDAgMCAvIDEyJSkgMHB4IDRweCAxNnB4O1xuICB9XG59XG5cbi5vZmZsaW5lLWluZGljYXRvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYyhAb2ZmbGluZS1pbmRpY2F0b3ItaGVpZ2h0ICsgQG9mZmxpbmUtaW5kaWNhdG9yLXBhZGRpbmcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246XG4gICAgdHJhbnNmb3JtIEBvZmZsaW5lLWluZGljYXRvci10cmFuc2l0aW9uLXRpbWUgZWFzZS1pbi1vdXQsXG4gICAgb3BhY2l0eSAwcyBAb2ZmbGluZS1pbmRpY2F0b3ItdHJhbnNpdGlvbi10aW1lO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy1ib3R0b206IEBvZmZsaW5lLWluZGljYXRvci1wYWRkaW5nO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDEycHg7XG4gIC5saWdodC1kYXJrLWNvbG9yKEBjb2xvci1ncmV5LTEwMDAsIEBjb2xvci1iYXNpYy1kYXJrLXdoaXRlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy1saWdodCk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci13YXJuaW5nLW1lZGl1bSk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAmLmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIG9wYWNpdHkgMHMgMHMsXG4gICAgICB0cmFuc2Zvcm0gQG9mZmxpbmUtaW5kaWNhdG9yLXRyYW5zaXRpb24tdGltZSBlYXNlLWluLW91dDtcbiAgfVxufVxuIiwgIjpyb290IHtcbiAgLS1pdGktaG92ZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIC0taXRpLWJvcmRlci1jb2xvcjogI2NjYztcbiAgLS1pdGktZGlhbGNvZGUtY29sb3I6ICM5OTk7XG4gIC0taXRpLWRyb3Bkb3duLWJnOiB3aGl0ZTtcbiAgLS1pdGktc3BhY2VyLWhvcml6b250YWw6IDhweDtcbiAgLS1pdGktZmxhZy1oZWlnaHQ6IDEycHg7XG4gIC0taXRpLWZsYWctd2lkdGg6IDE2cHg7XG4gIC0taXRpLWJvcmRlci13aWR0aDogMXB4O1xuICAtLWl0aS1hcnJvdy1oZWlnaHQ6IDRweDtcbiAgLS1pdGktYXJyb3ctd2lkdGg6IDZweDtcbiAgLS1pdGktdHJpYW5nbGUtYm9yZGVyOiBjYWxjKHZhcigtLWl0aS1hcnJvdy13aWR0aCkgLyAyKTtcbiAgLS1pdGktYXJyb3ctcGFkZGluZzogNnB4O1xuICAtLWl0aS1hcnJvdy1jb2xvcjogIzU1NTtcbiAgLS1pdGktcGF0aC1mbGFncy0xeDogdXJsKFwiLi4vaW1nL2ZsYWdzLndlYnBcIik7XG4gIC0taXRpLXBhdGgtZmxhZ3MtMng6IHVybChcIi4uL2ltZy9mbGFnc0AyeC53ZWJwXCIpO1xuICAtLWl0aS1wYXRoLWdsb2JlLTF4OiB1cmwoXCIuLi9pbWcvZ2xvYmUud2VicFwiKTtcbiAgLS1pdGktcGF0aC1nbG9iZS0yeDogdXJsKFwiLi4vaW1nL2dsb2JlQDJ4LndlYnBcIik7XG4gIC0taXRpLWZsYWctc3ByaXRlLXdpZHRoOiAzOTA0cHg7XG4gIC0taXRpLWZsYWctc3ByaXRlLWhlaWdodDogMTJweDtcbiAgLS1pdGktbW9iaWxlLXBvcHVwLW1hcmdpbjogMzBweDtcbn1cblxuLml0aSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLml0aSAqIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5pdGlfX2hpZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLml0aV9fdi1oaWRlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLml0aV9fYTExeS10ZXh0IHtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLml0aSBpbnB1dC5pdGlfX3RlbC1pbnB1dCxcbi5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXRbdHlwZT10ZXh0XSxcbi5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXRbdHlwZT10ZWxdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cbi5pdGlfX2NvdW50cnktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgcGFkZGluZzogdmFyKC0taXRpLWJvcmRlci13aWR0aCk7XG59XG4uaXRpX19zZWxlY3RlZC1jb3VudHJ5IHtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uaXRpX19zZWxlY3RlZC1jb3VudHJ5LXByaW1hcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDAgdmFyKC0taXRpLWFycm93LXBhZGRpbmcpIDAgdmFyKC0taXRpLXNwYWNlci1ob3Jpem9udGFsKTtcbn1cbi5pdGlfX2Fycm93IHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWl0aS1hcnJvdy1wYWRkaW5nKTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IHZhcigtLWl0aS10cmlhbmdsZS1ib3JkZXIpIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHZhcigtLWl0aS10cmlhbmdsZS1ib3JkZXIpIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiB2YXIoLS1pdGktYXJyb3ctaGVpZ2h0KSBzb2xpZCB2YXIoLS1pdGktYXJyb3ctY29sb3IpO1xufVxuW2Rpcj1ydGxdIC5pdGlfX2Fycm93IHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1pdGktYXJyb3ctcGFkZGluZyk7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLml0aV9fYXJyb3ctLXVwIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0taXRpLWFycm93LWhlaWdodCkgc29saWQgdmFyKC0taXRpLWFycm93LWNvbG9yKTtcbn1cbi5pdGlfX2Ryb3Bkb3duLWNvbnRlbnQge1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWl0aS1kcm9wZG93bi1iZyk7XG59XG4uaXRpLS1pbmxpbmUtZHJvcGRvd24gLml0aV9fZHJvcGRvd24tY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgbWFyZ2luLXRvcDogM3B4O1xuICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1pdGktYm9yZGVyLXdpZHRoKSAqIC0xKTtcbiAgYm9yZGVyOiB2YXIoLS1pdGktYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1pdGktYm9yZGVyLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogMXB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLml0aV9fc2VhcmNoLWlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuLml0aV9fc2VhcmNoLWlucHV0ICsgLml0aV9fY291bnRyeS1saXN0IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWl0aS1ib3JkZXItY29sb3IpO1xufVxuLml0aV9fY291bnRyeS1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbi5pdGktLWlubGluZS1kcm9wZG93biAuaXRpX19jb3VudHJ5LWxpc3Qge1xuICBtYXgtaGVpZ2h0OiAxODVweDtcbn1cbi5pdGktLWZsZXhpYmxlLWRyb3Bkb3duLXdpZHRoIC5pdGlfX2NvdW50cnktbGlzdCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgLml0aS0tZmxleGlibGUtZHJvcGRvd24td2lkdGggLml0aV9fY291bnRyeS1saXN0IHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4uaXRpX19jb3VudHJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4IHZhcigtLWl0aS1zcGFjZXItaG9yaXpvbnRhbCk7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uaXRpX19kaWFsLWNvZGUge1xuICBjb2xvcjogdmFyKC0taXRpLWRpYWxjb2RlLWNvbG9yKTtcbn1cbi5pdGlfX2NvdW50cnkuaXRpX19oaWdobGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pdGktaG92ZXItY29sb3IpO1xufVxuLml0aV9fY291bnRyeS1saXN0IC5pdGlfX2ZsYWcsIC5pdGlfX2NvdW50cnktbmFtZSB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0taXRpLXNwYWNlci1ob3Jpem9udGFsKTtcbn1cbltkaXI9cnRsXSAuaXRpX19jb3VudHJ5LWxpc3QgLml0aV9fZmxhZywgW2Rpcj1ydGxdIC5pdGlfX2NvdW50cnktbmFtZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWl0aS1zcGFjZXItaG9yaXpvbnRhbCk7XG59XG4uaXRpLS1hbGxvdy1kcm9wZG93biAuaXRpX19jb3VudHJ5LWNvbnRhaW5lcjpub3QoOmhhcygrIGlucHV0W2Rpc2FibGVkXSkpOm5vdCg6aGFzKCsgaW5wdXRbcmVhZG9ubHldKSk6aG92ZXIsIC5pdGktLWFsbG93LWRyb3Bkb3duIC5pdGlfX2NvdW50cnktY29udGFpbmVyOm5vdCg6aGFzKCsgaW5wdXRbZGlzYWJsZWRdKSk6bm90KDpoYXMoKyBpbnB1dFtyZWFkb25seV0pKTpob3ZlciBidXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaXRpLS1hbGxvdy1kcm9wZG93biAuaXRpX19jb3VudHJ5LWNvbnRhaW5lcjpub3QoOmhhcygrIGlucHV0W2Rpc2FibGVkXSkpOm5vdCg6aGFzKCsgaW5wdXRbcmVhZG9ubHldKSkgLml0aV9fc2VsZWN0ZWQtY291bnRyeS1wcmltYXJ5OmhvdmVyLFxuLml0aS0tYWxsb3ctZHJvcGRvd24gLml0aV9fY291bnRyeS1jb250YWluZXI6bm90KDpoYXMoKyBpbnB1dFtkaXNhYmxlZF0pKTpub3QoOmhhcygrIGlucHV0W3JlYWRvbmx5XSkpIC5pdGlfX3NlbGVjdGVkLWNvdW50cnk6aGFzKCsgLml0aV9fZHJvcGRvd24tY29udGVudDpob3ZlcikgLml0aV9fc2VsZWN0ZWQtY291bnRyeS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taXRpLWhvdmVyLWNvbG9yKTtcbn1cbi5pdGkgLml0aV9fc2VsZWN0ZWQtZGlhbC1jb2RlIHtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbn1cbltkaXI9cnRsXSAuaXRpIC5pdGlfX3NlbGVjdGVkLWRpYWwtY29kZSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDRweDtcbn1cbi5pdGktLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAtMTAwMHB4O1xuICBsZWZ0OiAtMTAwMHB4O1xuICB6LWluZGV4OiAxMDYwO1xuICBwYWRkaW5nOiB2YXIoLS1pdGktYm9yZGVyLXdpZHRoKTtcbn1cbi5pdGktLWNvbnRhaW5lcjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLml0aS0tZnVsbHNjcmVlbi1wb3B1cC5pdGktLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHBhZGRpbmc6IHZhcigtLWl0aS1tb2JpbGUtcG9wdXAtbWFyZ2luKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLml0aS0tZnVsbHNjcmVlbi1wb3B1cCAuaXRpX19kcm9wZG93bi1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLml0aS0tZnVsbHNjcmVlbi1wb3B1cCAuaXRpX19jb3VudHJ5IHtcbiAgcGFkZGluZzogMTBweCAxMHB4O1xuICBsaW5lLWhlaWdodDogMS41ZW07XG59XG5cbi5pdGlfX2ZsYWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogMTAwcHg7XG4gIGhlaWdodDogdmFyKC0taXRpLWZsYWctaGVpZ2h0KTtcbiAgd2lkdGg6IHZhcigtLWl0aS1mbGFnLXdpZHRoKTtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDFweCAwcHggIzg4ODtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taXRpLXBhdGgtZmxhZ3MtMXgpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB2YXIoLS1pdGktZmxhZy1vZmZzZXQpIDA7XG4gIGJhY2tncm91bmQtc2l6ZTogdmFyKC0taXRpLWZsYWctc3ByaXRlLXdpZHRoKSB2YXIoLS1pdGktZmxhZy1zcHJpdGUtaGVpZ2h0KTtcbn1cblxuLml0aV9fYWMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogMHB4O1xufVxuXG4uaXRpX19hZCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTZweDtcbn1cblxuLml0aV9fYWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMycHg7XG59XG5cbi5pdGlfX2FmIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00OHB4O1xufVxuXG4uaXRpX19hZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjRweDtcbn1cblxuLml0aV9fYWkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTgwcHg7XG59XG5cbi5pdGlfX2FsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05NnB4O1xufVxuXG4uaXRpX19hbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTEycHg7XG59XG5cbi5pdGlfX2FvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMjhweDtcbn1cblxuLml0aV9fYXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NHB4O1xufVxuXG4uaXRpX19hcyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTYwcHg7XG59XG5cbi5pdGlfX2F0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNzZweDtcbn1cblxuLml0aV9fYXUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MnB4O1xufVxuXG4uaXRpX19hdyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjA4cHg7XG59XG5cbi5pdGlfX2F4IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMjRweDtcbn1cblxuLml0aV9fYXoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MHB4O1xufVxuXG4uaXRpX19iYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjU2cHg7XG59XG5cbi5pdGlfX2JiIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNzJweDtcbn1cblxuLml0aV9fYmQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4OHB4O1xufVxuXG4uaXRpX19iZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzA0cHg7XG59XG5cbi5pdGlfX2JmIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMjBweDtcbn1cblxuLml0aV9fYmcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNnB4O1xufVxuXG4uaXRpX19iaCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzUycHg7XG59XG5cbi5pdGlfX2JpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNjhweDtcbn1cblxuLml0aV9fYmoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NHB4O1xufVxuXG4uaXRpX19ibCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDAwcHg7XG59XG5cbi5pdGlfX2JtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00MTZweDtcbn1cblxuLml0aV9fYm4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQzMnB4O1xufVxuXG4uaXRpX19ibyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDQ4cHg7XG59XG5cbi5pdGlfX2JxIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00NjRweDtcbn1cblxuLml0aV9fYnIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQ4MHB4O1xufVxuXG4uaXRpX19icyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDk2cHg7XG59XG5cbi5pdGlfX2J0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC01MTJweDtcbn1cblxuLml0aV9fYncge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTUyOHB4O1xufVxuXG4uaXRpX19ieSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNTQ0cHg7XG59XG5cbi5pdGlfX2J6IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC01NjBweDtcbn1cblxuLml0aV9fY2Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTU3NnB4O1xufVxuXG4uaXRpX19jYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNTkycHg7XG59XG5cbi5pdGlfX2NkIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02MDhweDtcbn1cblxuLml0aV9fY2Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTYyNHB4O1xufVxuXG4uaXRpX19jZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjQwcHg7XG59XG5cbi5pdGlfX2NoIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02NTZweDtcbn1cblxuLml0aV9fY2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTY3MnB4O1xufVxuXG4uaXRpX19jayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjg4cHg7XG59XG5cbi5pdGlfX2NsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC03MDRweDtcbn1cblxuLml0aV9fY20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTcyMHB4O1xufVxuXG4uaXRpX19jbiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNzM2cHg7XG59XG5cbi5pdGlfX2NvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC03NTJweDtcbn1cblxuLml0aV9fY3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTc2OHB4O1xufVxuXG4uaXRpX19jdSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNzg0cHg7XG59XG5cbi5pdGlfX2N2IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04MDBweDtcbn1cblxuLml0aV9fY3cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTgxNnB4O1xufVxuXG4uaXRpX19jeCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODMycHg7XG59XG5cbi5pdGlfX2N5IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04NDhweDtcbn1cblxuLml0aV9fY3oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTg2NHB4O1xufVxuXG4uaXRpX19kZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODgwcHg7XG59XG5cbi5pdGlfX2RqIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04OTZweDtcbn1cblxuLml0aV9fZGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTkxMnB4O1xufVxuXG4uaXRpX19kbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTI4cHg7XG59XG5cbi5pdGlfX2RvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05NDRweDtcbn1cblxuLml0aV9fZHoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTk2MHB4O1xufVxuXG4uaXRpX19lYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTc2cHg7XG59XG5cbi5pdGlfX2VlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05OTJweDtcbn1cblxuLml0aV9fZWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwMDhweDtcbn1cblxuLml0aV9fZWgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwMjRweDtcbn1cblxuLml0aV9fZXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwNDBweDtcbn1cblxuLml0aV9fZXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwNTZweDtcbn1cblxuLml0aV9fZXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwNzJweDtcbn1cblxuLml0aV9fZmkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwODhweDtcbn1cblxuLml0aV9fZmoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExMDRweDtcbn1cblxuLml0aV9fZmsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExMjBweDtcbn1cblxuLml0aV9fZm0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExMzZweDtcbn1cblxuLml0aV9fZm8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExNTJweDtcbn1cblxuLml0aV9fZnIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExNjhweDtcbn1cblxuLml0aV9fZ2Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExODRweDtcbn1cblxuLml0aV9fZ2Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyMDBweDtcbn1cblxuLml0aV9fZ2Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyMTZweDtcbn1cblxuLml0aV9fZ2Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyMzJweDtcbn1cblxuLml0aV9fZ2Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyNDhweDtcbn1cblxuLml0aV9fZ2cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyNjRweDtcbn1cblxuLml0aV9fZ2gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyODBweDtcbn1cblxuLml0aV9fZ2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyOTZweDtcbn1cblxuLml0aV9fZ2wge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzMTJweDtcbn1cblxuLml0aV9fZ20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzMjhweDtcbn1cblxuLml0aV9fZ24ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzNDRweDtcbn1cblxuLml0aV9fZ3Age1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzNjBweDtcbn1cblxuLml0aV9fZ3Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzNzZweDtcbn1cblxuLml0aV9fZ3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzOTJweDtcbn1cblxuLml0aV9fZ3Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0MDhweDtcbn1cblxuLml0aV9fZ3Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0MjRweDtcbn1cblxuLml0aV9fZ3cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NDBweDtcbn1cblxuLml0aV9fZ3kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NTZweDtcbn1cblxuLml0aV9faGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NzJweDtcbn1cblxuLml0aV9faG4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0ODhweDtcbn1cblxuLml0aV9faHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1MDRweDtcbn1cblxuLml0aV9faHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1MjBweDtcbn1cblxuLml0aV9faHUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1MzZweDtcbn1cblxuLml0aV9faWQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1NTJweDtcbn1cblxuLml0aV9faWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1NjhweDtcbn1cblxuLml0aV9faWwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1ODRweDtcbn1cblxuLml0aV9faW0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2MDBweDtcbn1cblxuLml0aV9faW4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2MTZweDtcbn1cblxuLml0aV9faW8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2MzJweDtcbn1cblxuLml0aV9faXEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2NDhweDtcbn1cblxuLml0aV9faXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2NjRweDtcbn1cblxuLml0aV9faXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2ODBweDtcbn1cblxuLml0aV9faXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2OTZweDtcbn1cblxuLml0aV9famUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3MTJweDtcbn1cblxuLml0aV9fam0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3MjhweDtcbn1cblxuLml0aV9fam8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3NDRweDtcbn1cblxuLml0aV9fanAge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3NjBweDtcbn1cblxuLml0aV9fa2Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3NzZweDtcbn1cblxuLml0aV9fa2cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3OTJweDtcbn1cblxuLml0aV9fa2gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4MDhweDtcbn1cblxuLml0aV9fa2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4MjRweDtcbn1cblxuLml0aV9fa20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4NDBweDtcbn1cblxuLml0aV9fa24ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4NTZweDtcbn1cblxuLml0aV9fa3Age1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4NzJweDtcbn1cblxuLml0aV9fa3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4ODhweDtcbn1cblxuLml0aV9fa3cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MDRweDtcbn1cblxuLml0aV9fa3kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MjBweDtcbn1cblxuLml0aV9fa3oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MzZweDtcbn1cblxuLml0aV9fbGEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5NTJweDtcbn1cblxuLml0aV9fbGIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5NjhweDtcbn1cblxuLml0aV9fbGMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5ODRweDtcbn1cblxuLml0aV9fbGkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwMDBweDtcbn1cblxuLml0aV9fbGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwMTZweDtcbn1cblxuLml0aV9fbHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwMzJweDtcbn1cblxuLml0aV9fbHMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwNDhweDtcbn1cblxuLml0aV9fbHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwNjRweDtcbn1cblxuLml0aV9fbHUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwODBweDtcbn1cblxuLml0aV9fbHYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwOTZweDtcbn1cblxuLml0aV9fbHkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxMTJweDtcbn1cblxuLml0aV9fbWEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxMjhweDtcbn1cblxuLml0aV9fbWMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxNDRweDtcbn1cblxuLml0aV9fbWQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxNjBweDtcbn1cblxuLml0aV9fbWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxNzZweDtcbn1cblxuLml0aV9fbWYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxOTJweDtcbn1cblxuLml0aV9fbWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyMDhweDtcbn1cblxuLml0aV9fbWgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyMjRweDtcbn1cblxuLml0aV9fbWsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyNDBweDtcbn1cblxuLml0aV9fbWwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyNTZweDtcbn1cblxuLml0aV9fbW0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyNzJweDtcbn1cblxuLml0aV9fbW4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyODhweDtcbn1cblxuLml0aV9fbW8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzMDRweDtcbn1cblxuLml0aV9fbXAge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzMjBweDtcbn1cblxuLml0aV9fbXEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzMzZweDtcbn1cblxuLml0aV9fbXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzNTJweDtcbn1cblxuLml0aV9fbXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzNjhweDtcbn1cblxuLml0aV9fbXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzODRweDtcbn1cblxuLml0aV9fbXUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MDBweDtcbn1cblxuLml0aV9fbXYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MTZweDtcbn1cblxuLml0aV9fbXcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MzJweDtcbn1cblxuLml0aV9fbXgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0NDhweDtcbn1cblxuLml0aV9fbXkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0NjRweDtcbn1cblxuLml0aV9fbXoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0ODBweDtcbn1cblxuLml0aV9fbmEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0OTZweDtcbn1cblxuLml0aV9fbmMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1MTJweDtcbn1cblxuLml0aV9fbmUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1MjhweDtcbn1cblxuLml0aV9fbmYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1NDRweDtcbn1cblxuLml0aV9fbmcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1NjBweDtcbn1cblxuLml0aV9fbmkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1NzZweDtcbn1cblxuLml0aV9fbmwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1OTJweDtcbn1cblxuLml0aV9fbm8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2MDhweDtcbn1cblxuLml0aV9fbnAge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2MjRweDtcbn1cblxuLml0aV9fbnIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2NDBweDtcbn1cblxuLml0aV9fbnUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2NTZweDtcbn1cblxuLml0aV9fbnoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2NzJweDtcbn1cblxuLml0aV9fb20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2ODhweDtcbn1cblxuLml0aV9fcGEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3MDRweDtcbn1cblxuLml0aV9fcGUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3MjBweDtcbn1cblxuLml0aV9fcGYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3MzZweDtcbn1cblxuLml0aV9fcGcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3NTJweDtcbn1cblxuLml0aV9fcGgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3NjhweDtcbn1cblxuLml0aV9fcGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3ODRweDtcbn1cblxuLml0aV9fcGwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4MDBweDtcbn1cblxuLml0aV9fcG0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4MTZweDtcbn1cblxuLml0aV9fcHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4MzJweDtcbn1cblxuLml0aV9fcHMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4NDhweDtcbn1cblxuLml0aV9fcHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4NjRweDtcbn1cblxuLml0aV9fcHcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4ODBweDtcbn1cblxuLml0aV9fcHkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4OTZweDtcbn1cblxuLml0aV9fcWEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5MTJweDtcbn1cblxuLml0aV9fcmUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5MjhweDtcbn1cblxuLml0aV9fcm8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5NDRweDtcbn1cblxuLml0aV9fcnMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5NjBweDtcbn1cblxuLml0aV9fcnUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5NzZweDtcbn1cblxuLml0aV9fcncge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5OTJweDtcbn1cblxuLml0aV9fc2Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwMDhweDtcbn1cblxuLml0aV9fc2Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwMjRweDtcbn1cblxuLml0aV9fc2Mge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwNDBweDtcbn1cblxuLml0aV9fc2Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwNTZweDtcbn1cblxuLml0aV9fc2Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwNzJweDtcbn1cblxuLml0aV9fc2cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwODhweDtcbn1cblxuLml0aV9fc2gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxMDRweDtcbn1cblxuLml0aV9fc2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxMjBweDtcbn1cblxuLml0aV9fc2oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxMzZweDtcbn1cblxuLml0aV9fc2sge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxNTJweDtcbn1cblxuLml0aV9fc2wge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxNjhweDtcbn1cblxuLml0aV9fc20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxODRweDtcbn1cblxuLml0aV9fc24ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyMDBweDtcbn1cblxuLml0aV9fc28ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyMTZweDtcbn1cblxuLml0aV9fc3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyMzJweDtcbn1cblxuLml0aV9fc3Mge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyNDhweDtcbn1cblxuLml0aV9fc3Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyNjRweDtcbn1cblxuLml0aV9fc3Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyODBweDtcbn1cblxuLml0aV9fc3gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyOTZweDtcbn1cblxuLml0aV9fc3kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzMTJweDtcbn1cblxuLml0aV9fc3oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzMjhweDtcbn1cblxuLml0aV9fdGMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNDRweDtcbn1cblxuLml0aV9fdGQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNjBweDtcbn1cblxuLml0aV9fdGcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNzZweDtcbn1cblxuLml0aV9fdGgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzOTJweDtcbn1cblxuLml0aV9fdGoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0MDhweDtcbn1cblxuLml0aV9fdGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0MjRweDtcbn1cblxuLml0aV9fdGwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0NDBweDtcbn1cblxuLml0aV9fdG0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0NTZweDtcbn1cblxuLml0aV9fdG4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0NzJweDtcbn1cblxuLml0aV9fdG8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0ODhweDtcbn1cblxuLml0aV9fdHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1MDRweDtcbn1cblxuLml0aV9fdHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1MjBweDtcbn1cblxuLml0aV9fdHYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1MzZweDtcbn1cblxuLml0aV9fdHcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1NTJweDtcbn1cblxuLml0aV9fdHoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1NjhweDtcbn1cblxuLml0aV9fdWEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1ODRweDtcbn1cblxuLml0aV9fdWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2MDBweDtcbn1cblxuLml0aV9fdXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2MTZweDtcbn1cblxuLml0aV9fdXkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2MzJweDtcbn1cblxuLml0aV9fdXoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2NDhweDtcbn1cblxuLml0aV9fdmEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2NjRweDtcbn1cblxuLml0aV9fdmMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2ODBweDtcbn1cblxuLml0aV9fdmUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2OTZweDtcbn1cblxuLml0aV9fdmcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3MTJweDtcbn1cblxuLml0aV9fdmkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3MjhweDtcbn1cblxuLml0aV9fdm4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3NDRweDtcbn1cblxuLml0aV9fdnUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3NjBweDtcbn1cblxuLml0aV9fd2Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3NzZweDtcbn1cblxuLml0aV9fd3Mge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3OTJweDtcbn1cblxuLml0aV9feGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4MDhweDtcbn1cblxuLml0aV9feWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4MjRweDtcbn1cblxuLml0aV9feXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NDBweDtcbn1cblxuLml0aV9femEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NTZweDtcbn1cblxuLml0aV9fem0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NzJweDtcbn1cblxuLml0aV9fencge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4ODhweDtcbn1cblxuLml0aV9fZ2xvYmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pdGktcGF0aC1nbG9iZS0xeCk7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGhlaWdodDogMTlweDtcbn1cblxuQG1lZGlhIChtaW4tcmVzb2x1dGlvbjogMngpIHtcbiAgLml0aV9fZmxhZyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taXRpLXBhdGgtZmxhZ3MtMngpO1xuICB9XG4gIC5pdGlfX2dsb2JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pdGktcGF0aC1nbG9iZS0yeCk7XG4gIH1cbn0iLCAidGxtLXJlbG9hZC1waWxsLFxudGxtLWxpdmUtdXBkYXRlLWRpYWxvZyB7XG4gIGJhY2tncm91bmQ6IHJnYigyMDksIDIxMSwgMjE0KTtcbiAgY29sb3I6IHJnYig0MCwgMzYsIDQ2KTtcbiAgZm9udC1mYW1pbHk6XG4gICAgc3lzdGVtLXVpLFxuICAgIFNlZ29lIFVJLFxuICAgIFJvYm90byxcbiAgICBIZWx2ZXRpY2EgTmV1ZSxcbiAgICBIZWx2ZXRpY2EsXG4gICAgQXJpYWwsXG4gICAgc2Fucy1zZXJpZixcbiAgICAnQXBwbGUgQ29sb3IgRW1vamknLFxuICAgICdTZWdvZSBVSSBFbW9qaScsXG4gICAgU2Vnb2UgVUkgU3ltYm9sO1xufVxuXG50bG0tcmVsb2FkLXBpbGwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgbWF4LWhlaWdodDogNDBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuXG4gIG1hcmdpbjogMDtcbiAgdG9wOiBjYWxjKDEycHggKyB2YXIoLS1pb24tc2FmZS1hcmVhLXRvcCwgMHB4KSk7XG4gIHJpZ2h0OiAxMnB4O1xuICBnYXA6IDhweDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MnB4LCAwcHgpO1xufVxuXG50bG0tcmVsb2FkLXBpbGwudmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG59XG5cbnRsbS1yZWxvYWQtcGlsbCBwIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG50bG0tcmVsb2FkLXBpbGwgc3ZnIHtcbiAgZmlsbDogIzVhMWNiNztcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbn1cblxudGxtLXJlbG9hZC1waWxsIGJ1dHRvbiB7XG4gIGNvbG9yOiAjNWExY2I3O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogNnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgZWFzZS1pbi1vdXQ7XG59XG5cbnRsbS1saXZlLXVwZGF0ZS1kaWFsb2cge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG50bG0tbGl2ZS11cGRhdGUtZGlhbG9nIHNlY3Rpb24ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB3aWR0aDogODAlO1xuICBtYXgtaGVpZ2h0OiA4MCU7XG4gIGJhY2tncm91bmQ6IHJnYigyNDYsIDI0NSwgMjUwKTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDEwMHZoLCAwcHgpO1xuICBwYWRkaW5nOiAyNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEycHg7XG59XG5cbnRsbS1saXZlLXVwZGF0ZS1kaWFsb2cgaDEge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxudGxtLWxpdmUtdXBkYXRlLWRpYWxvZyBidXR0b24ge1xuICBtYXJnaW46IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYigyMjAsIDIxNiwgMjI4KTtcbiAgY29sb3I6IHJnYig3NywgNzAsIDkwKTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgaGVpZ2h0OiA1MXB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudGxtLWxpdmUtdXBkYXRlLWRpYWxvZyBidXR0b24ucHJpbWFyeSB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjNWExY2I3O1xufVxuXG50bG0tbGl2ZS11cGRhdGUtZGlhbG9nIGRpdi5iYWNrZHJvcCB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZS1pbi1vdXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IC0xO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnRsbS1saXZlLXVwZGF0ZS1kaWFsb2cudmlzaWJsZSBkaXYuYmFja2Ryb3Age1xuICBvcGFjaXR5OiAxO1xufVxuXG50bG0tbGl2ZS11cGRhdGUtZGlhbG9nLnZpc2libGUgc2VjdGlvbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwdmgsIDBweCk7XG59XG5cbkBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICB0bG0tcmVsb2FkLXBpbGwgYnV0dG9uOmhvdmVyLFxuICB0bG0tbGl2ZS11cGRhdGUtZGlhbG9nIGJ1dHRvbjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC44O1xuICB9XG59XG5cbnRsbS1yZWxvYWQtcGlsbCBidXR0b246YWN0aXZlLFxudGxtLWxpdmUtdXBkYXRlLWRpYWxvZyBidXR0b246YWN0aXZlIHtcbiAgb3BhY2l0eTogMC42O1xufVxuXG5odG1sIGZvb3Rlci5ib3R0b20tYmFyIHtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDBweCk7XG59XG5cbmh0bWwua2V5Ym9hcmQtaXMtb3BlbiBmb290ZXIuYm90dG9tLWJhciB7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1pb3Mta2V5Ym9hcmQtaGVpZ2h0LCAwcHgpO1xufVxuXG50bG0tY29waWVkLXRvYXN0IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYmFja2dyb3VuZDogcmdiKDQwLCAzNiwgNDYpO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtZmFtaWx5OlxuICAgIHN5c3RlbS11aSxcbiAgICBTZWdvZSBVSSxcbiAgICBSb2JvdG8sXG4gICAgSGVsdmV0aWNhIE5ldWUsXG4gICAgSGVsdmV0aWNhLFxuICAgIEFyaWFsLFxuICAgIHNhbnMtc2VyaWYsXG4gICAgJ0FwcGxlIENvbG9yIEVtb2ppJyxcbiAgICAnU2Vnb2UgVUkgRW1vamknLFxuICAgIFNlZ29lIFVJIFN5bWJvbDtcblxuICBib3R0b206IGNhbGMoMjRweCArIHZhcigtLXNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDBweCkpO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMjBweCwgMCk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246XG4gICAgb3BhY2l0eSAzMDBtcyBlYXNlLWluLW91dCxcbiAgICB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbi1vdXQ7XG4gIHotaW5kZXg6IDk5OTk7XG59XG5cbnRsbS1jb3BpZWQtdG9hc3QudmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG59XG5cbnRsbS1jb3BpZWQtdG9hc3QgcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUtBLE1BT0kscUJBQUEsUUFDQSx5QkFBQSxDQUFBLEVBQUEsRUFBQSxFQUFBLElBQ0EsOEJBQUEsS0FDQSxrQ0FBQSxHQUFBLEVBQUEsR0FBQSxFQUFBLElBQ0EsMkJBQUEsUUFDQSwwQkFBQSxRQUxBLHVCQUFBLFFBQ0EsMkJBQUEsQ0FBQSxFQUFBLEVBQUEsRUFBQSxJQUNBLGdDQUFBLEtBQ0Esb0NBQUEsR0FBQSxFQUFBLEdBQUEsRUFBQSxJQUNBLDZCQUFBLFFBQ0EsNEJBQUEsUUFMQSxzQkFBQSxRQUNBLDBCQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsSUFDQSwrQkFBQSxLQUNBLG1DQUFBLEdBQUEsRUFBQSxH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QSxVQUFBLENBQUEsY0FBQSxPQUFBLEVBQUEsQ0FBQSxjQUFBLE9BQUEsQ0FBQSxhQUFBLENBQUEsZUFBQSxDQUFBLGNBQUEsT0FPRSxRQUFBLElBQUEsQ0FhRixDQUFBLGdCQUFBLEtBQUEsQ0FBQSxhQUNFLFNBQUEsTUFBQSxDQVVGLFVBQUEsSUFBQSxTQUFBLENBQUEsSUFBQSxFQUFBLGNBQ0UsQ0FaRixpQkFhSSxTQUFBLE1BQUEsQ0FBQSxDSzdhSixNQUFBLE9BQUEsU0FBQSxNQUlFLGVBQUEsUUFBQSxDQUtGLEtBQUEsS0FBQSxDQUFBLFdBQ0UsUUFBQSxLQUVBLE9BQUEsQ0FBQSxDQVFGLEVBQUEsT0FFRSxZQUFBLEdBQUEsQ0FPRixJQUNFLFVBQUEsSUFBQSxDQU1GLEdBQ0UsT0FBQSxJQUVBLGFBQUEsRUFFQSxXQUFBLFdBQUEsQ0FJRixJQUNFLFNBQUEsSUFBQSxDQUlGLEtBQUEsSUFBQSxJQUFBLEtBSUUsWUFBQSxTQUFBLENBQUEsVUFDQSxVQUFBLEdBQUEsQ0FnQkYsTUFBQSxNQUFBLE9BQUEsU0FJRSxZQUFBLFFBQ0EsWUFBQSxNQUFBLENBR0YsU0FDRSxTQUFBLEtBRUEsT0FBQSxLQUVBLEtBQUEsUUFDQSxNQUFBLE9BQUEsQ0FHRixRQUFBLGNBQ0UsYUFBQSxHQUFBLENBR0YsS0FBQSxNQUFBLFNBQUEsT0E1RkEsT0FnR0UsRUFFQSxLQUFBLFFBQ0EsTUFBQSxPQUFBLENBUUYsS0FBQSxLQUFBLENBQUEsYUFBQSxLQUFBLENBQUEsWUFBQSxLQUFBLENBQUEsYUFHRSxPQUFBLFFBRUEsbUJBQUEsTUFBQSxDQUlGLEVBQUEsRUFBQSxJQUFBLEVBQUEsS0FBQSxFQUFBLFNBQUEsRUFBQSxVQUFBLE9BQUEsT0FBQSxJQUFBLE9BQUEsS0FBQSxPQUFBLFNBQUEsT0FBQSxVQUFBLENBQUEsYUFBQSxDQUFBLFVBQUEsQ0FBQSxVQUFBLElBQUEsQ0FBQSxVQUFBLEtBQUEsQ0FBQSxVQUFBLFNBQUEsQ0FBQSxVQUFBLFVBQUEsTUFBQSxTQWtCRSxhQUFBLFlBQUEsQ0FHRixFQUFBLFVBQUEs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Q0FHRixDQUFBLGNBQ0UsWUFBQSxnQkFBQSxDQ3VIRixPQUFBLFVBQUEsT0RwSkEsQ0FBQSxtQkFDRSxXQUFBLGdCQUFBLENBR0YsQ0FBQSxvQkFDRSxXQUFBLGlCQUFBLENBR0YsQ0FBQSxrQkFDRSxXQUFBLGVBQUEsQ0FHRixDQUFBLGdCQUNFLFdBQUEsYUFBQSxDQUdGLENBQUEsaUJBQ0UsV0FBQSxjQUFBLENBR0YsQ0FBQSxrQkFDRSxXQUFBLGVBQUEsQ0FHRixDQUFBLG1CQUNFLFlBQUEsZ0JBQUEsQ0FHRixDQUFBLGlCQUNFLFlBQUEsZ0JBQUEsQ0FBQSxDQ3VIRixPQUFBLFVBQUEsT0RwSkEsQ0FBQSxtQkFDRSxXQUFBLGdCQUFBLENBR0YsQ0FBQSxvQkFDRSxXQUFBLGlCQUFBLENBR0YsQ0FBQSxrQkFDRSxXQUFBLGVBQUEsQ0FHRixDQUFBLGdCQUNFLFdBQUEsYUFBQSxDQUdGLENBQUEsaUJBQ0UsV0FBQSxjQUFBLENBR0YsQ0FBQSxrQkFDRSxXQUFBLGVBQUEsQ0FHRixDQUFBLG1CQUNFLFlBQUEsZ0JBQUEsQ0FHRixDQUFBLGlCQUNFLFlBQUEsZ0JBQUEsQ0FBQSxDQ3VIRixPQUFBLFVBQUEsT0RwSkEsQ0FBQSxtQkFDRSxXQUFBLGdCQUFBLENBR0YsQ0FBQSxvQkFDRSxXQUFBLGlCQUFBLENBR0YsQ0FBQSxrQkFDRSxXQUFBLGVBQUEsQ0FHRixDQUFBLGdCQUNFLFdBQUEsYUFBQSxDQUdGLENBQUEsaUJBQ0UsV0FBQSxjQUFBLENBR0YsQ0FBQSxrQkFDRSxXQUFBLGVBQUEsQ0FHRixDQUFBLG1CQUNFLFlBQUEsZ0JBQUEsQ0FHRixDQUFBLGlCQUNFLFlBQUEsZ0JBQUEsQ0FBQSxDQ3VIRixPQUFBLFVBQUEsUURwSkEsQ0FBQSxtQkFDRSxXQUFBLGdCQUFBLENBR0YsQ0FBQSxvQkFDRSxXQUFBLGlCQUFBLENBR0YsQ0FBQSxrQkFDRSxXQUFBLGVBQUEsQ0FHRixDQUFBLGdCQUNFLFdBQUEsYUFBQSxDQUdGLENBQUEsaUJBQ0UsV0FBQSxjQUFBLENBR0YsQ0FBQSxrQkFDRSxXQUFBLGVB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QUFBLENBQUEsRUFBQSxDQUFBLEVBQUEsQ0FBQSxFQUFBLElBQUEsRUFBQSxJQUFBLElBQUEsSUFBQSxLQUFBLENBQUEsRUFBQSxDQUFBLEVBQUEsQ0FBQSxFQUFBLEtBQ0Esa0JBQUEsUUFDQSxxQkFBQSxRQUNBLGtCQUFBLFFBQ0EsZ0JBQUEsUUFDQSxjQUFBLFFBQ0EsMEJBQUEsSUFDQSx3QkFBQSxJQUNBLHNCQUFBLElBQ0EscUJBQUEsUUFHQSxxQkFBQSxRQUNBLHlCQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsSUFFQSx3QkFBQSxRQUNBLDRCQUFBLEdBQUEsRUFBQSxHQUFBLEVBQUEsSUFFQSxrQkFBQSxRQUNBLHNCQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsR0FFQSxxQkFBQSxRQUNBLHNCQUFBLFFBQ0Esc0JBQUEsUUFDQSxzQkFBQSxRQUNBLHNCQUFBLFFBQ0Esc0JBQUEsUUFDQSxzQkFBQSxRQUNBLHNCQUFBLFFBQ0Esc0JBQUEsUUFDQSxzQkFBQSxRQUNBLHNCQUFBLFFBQ0Esc0JBQUEsUUFDQSxzQkFBQSxRQUNBLHNCQUFBLFFBQ0Esc0JBQUEsUUFDQSxzQkFBQSxRQUNBLHNCQUFBLFFBQ0Esc0JBQUEsUUFDQSxzQkFBQSxRQUdGLENEZ0JBLHVCQ2ZFLGFBQUEsS0FDQSxxQkFBQSxRQUNBLHNCQUFBLFFBQ0EsYUFBQSxRQUNBLGlCQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsR0FDQSxxQkFBQSxRQUNBLHFCQUFxQixnQkFBQSxPQUFBLEVBQUEsS0FBQSxFQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQSxHQUFBLEdBQUEsRUFBQSxRQUFBLEtBQ3JCLGlCQUFBLFFBQ0EsZ0JBQUEsUUFDQSxxQkFBQSxZQUNBLHNCQUFBLFFBQ0Esa0JBQUEsUUFDQSxtQkFBQSxRQUNBLGFBQUEsUUFDQSxxQkFBQSxRQUNBLGdCQUFBLFFBQ0Esa0JBQUEsUUFDQSxzQkFBQSxRQUNBLHVCQUFBLElBQUEsSUFBQSxJQUFBLElBQUEsU0FBQSxFQUFBLElBQUEsSUFBQSxJQUFBLElBQUEsVUFDQSx1QkFBQSxJ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QSxFQUFBLElBQUEsRUFBQSxJQUFBLElBQUEsSUFBQSxLQUFBLENBQUEsRUFBQSxDQUFBLEVBQUEsQ0FBQSxFQUFBLEtBQ0EsbUJBQUEsUUFDQSxrQkFBQSxRQUNBLG9CQUFBLFFBQ0EscUJBQUEsUUFDQSx1QkFBQSxJQUFBLElBQUEsSUFBQSxLQUFBLENBQUEsRUFBQSxDQUFBLEVBQUEsQ0FBQSxFQUFBLElBQUEsRUFBQSxJQUFBLElBQUEsSUFBQSxLQUFBLENBQUEsRUFBQSxDQUFBLEVBQUEsQ0FBQSxFQUFBLEtBQ0Esa0JBQUEsUUFDQSxxQkFBQSxRQUNBLGtCQUFBLFFBQ0EsZ0JBQUEsUUFDQSxjQUFBLFFBQ0EsMEJBQUEsSUFDQSx3QkFBQSxJQUNBLHNCQUFBLElBQ0EscUJBQUEsUUFHQSxxQkFBQSxRQUNBLHlCQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsSUFFQSx3QkFBQSxRQUNBLDRCQUFBLEdBQUEsRUFBQSxHQUFBLEVBQUEsSUFFQSxrQkFBQSxRQUNBLHNCQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsR0FFQSxxQkFBQSxRQUNBLHNCQUFBLFFBQ0Esc0JBQUEsUUFDQSxzQkFBQSxRQUNBLHNCQUFBLFFBQ0Esc0JBQUEsUUFDQSxzQkFBQSxRQUNBLHNCQUFBLFFBQ0Esc0JBQUEsUUFDQSxzQkFBQSxRQUNBLHNCQUFBLFFBQ0Esc0JBQUEsUUFDQSxzQkFBQSxRQUNBLHNCQUFBLFFBQ0Esc0JBQUEsUUFDQSxzQkFBQSxRQUNBLHNCQUFBLFFBQ0Esc0JBQUEsUUFDQSxzQkFBQSxRQW1GRixLQUFLLENBQUEsU0Q5REgscUJBQUEsUUFDQSxxQkFBQSxRQUNBLDBCQUFBLEtBQUEsR0FBQSxFQUFBLEdBQUEsRUFBQSxHQUFBLEVBQUEsS0FDQSxrQkFBQSxRQUNBLGtCQUFBLFFBQ0Esa0JBQUEsUUFDQSxrQkFBQSxRQUNBLGtCQUFBLFFBQ0Esa0JBQUEsUUFDQSxrQkFBQSxRQUNBLGtCQUFBLFFBQ0Esa0JBQUEsUUFDQSxtQkFBQSxRQUNBLDBCQUFBLFFBQ0EsdUJBQUEsUUFDQSx3QkFBQSxRQUNBLHlC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cEQsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLEdBQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixLQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsS0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLEtBQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixLQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsS0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLEtBQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixNQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsTUFDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE1BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixNQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsTUFDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE1BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixNQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsTUFDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE1BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixNQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsTUFDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE1BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixNQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsTUFDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE1BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixNQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsTUFDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE1BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixNQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsTUFDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE1BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixNQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsTUFDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE1BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixNQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsTUFDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE1BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixNQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsTUFDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE1BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixNQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsTUFDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE1BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixNQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsTUFDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE1BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixNQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsTUFDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE1BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixNQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsTUFDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE1BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixNQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsTUFDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE1BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixNQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsTUFDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE1BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixNQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsTUFDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE1BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixNQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsTUFDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE1BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixNQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsTUFDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FDckIsQ0FFQSxDQUFDLFFBQ0MsbUJBQW1CLE9BQ3JCLENBRUEsQ0FBQyxRQUNDLG1CQUFtQixPQUNyQixDQUVBLENBQUMsUUFDQyxtQkFBbUIsT0FD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Y0EyR2lCLElBQ2YsT0FBUSxPQUNWLENBRUEsdUJBQXVCLE1BQU0sQ0FBQyxRQUM1QixNQUFPLEtBQ1AsT0FBUSxLQUNSLFdBQVksT0FDZCxDQUVBLHVCQUF1QixHQUFHLENBQUMsU0FDekIsV0FBWSxRQUFRLElBQU0sWUFDMUIsU0FBVSxTQUNWLE1BQUssRUFJTCxXQUFZLFVBQ1osUUFBUyxFQUNULFFBQVMsR0FDVCxPQUFRLE9BQ1YsQ0FFQSxzQkFBc0IsQ0E1Rk4sUUE0RmUsR0FBRyxDQWJQLFNBY3pCLFFBQVMsQ0FDWCxDQUVBLHNCQUFzQixDQWhHTixRQWdHZSxRQUM3QixRQUFTLEVBQ1QsVUFBVyxXQUFzQixFQUNuQyxDQUVBLE9BQU8sVUFBWSxPQUNqQixnQkFBZ0IsTUFBTSxPQUN0Qix1QkFBdUIsTUFBTSxPQUMzQixRQUFTLEVBQ1gsQ0FDRixDQUVBLGdCQUFnQixNQUFNLFFBQ3RCLHVCQUF1QixNQUFNLFFBQzNCLFFBQVMsRUFDWCxDQUVBLEtBQUssTUFBTSxDQUFDLFdBQ1YsZUFBZ0IsSUFBSSx3QkFBd0IsRUFBRSxJQUNoRCxDQUVBLElBQUksQ0FBQyxpQkFBaUIsTUFBTSxDQUpoQixXQUtWLGVBQWdCLElBQUkscUJBQXFCLEVBQUUsSUFDN0MsQ0FFQSxpQkFDRSxTQUFVLE1BQ1YsUUFBUyxLQUNULFlBQWEsT0FDYixnQkFBaUIsT0FuS25CLGNBb0tpQixJQXBLakIsUUFxS1csS0FBSyxLQUNkLFVBQVcsS0FDWCxZQUFhLElBQ2IsV0FBWSxRQUNaLE1BQU8sS0FDUCxZQUNFLFNBQVMsQ0FDVCxNQUFNLEVBQUUsQ0FDUixNQUFNLENBQ04sVUFBVSxJQUFJLENBQ2QsU0FBUyxDQUNULEtBQUssQ0FDTCxVQUFVLENBQ1YsbUJBQW1CLENBQ25CLGdCQUFnQixDQUNoQixNQUFNLEdBQUcsT0FFWCxPQUFRLEtBQUssS0FBSyxFQUFFLElBQUksd0JBQXdCLEVBQUUsTUFDbEQsS0FBTSxJQUNOLFVBQVcsWUFBWSxJQUFJLENBQUUsSUFBSSxDQUFFLEdBQ25DLFFBQVMsRUFDVCxXQUNFLFFBQVEsSUFBTSxXQUFXLENBQ3pCLFVBQVUsSUFBTSxZQUNsQixRQUFTLElBQ1gsQ0FFQSxnQkFBZ0IsQ0ExSkEsUUEySmQsUUFBUyxFQUNULFVBQVcsWUFBWSxJQUFJLENBQUUsQ0FBQyxDQUFFLEVBQ2xDLENBRUEsaUJBQWlCLEVBck1qQixPQXNNVSxFQXRNVixRQXVNVyxDQUNYIiwKICAibmFtZXMiOiBbXQp9Cg== */