@import url(//hello.myfonts.net/count/381f98);
@font-face{src:url(assets/type/381F98_0_0.f6ee1ef2e39c618d07541434a2d75dd0-ecd7d452.eot);src:local("\2660"),url(assets/type/381F98_0_0.f6ee1ef2e39c618d07541434a2d75dd0-ecd7d452.eot) format("embedded-opentype"),url(assets/type/381F98_0_0.232bb8a192834d279138d05afc9ab8ae-757d1bc2.woff) format("woff"),url(assets/type/381F98_0_0.aa451bb2657d538a8ef9f5f1fca3a6bf.woff2) format("woff2");font-family:"Eurostile";font-style:normal;font-weight:bold}@font-face{src:url(assets/type/FormaDJRMicro-Regular_licensed-to-teyepe.ec8268de70c5a90cf0a08831588aea5e-f5a0c19c.eot);src:local("\2660"),url(assets/type/FormaDJRMicro-Regular_licensed-to-teyepe.ec8268de70c5a90cf0a08831588aea5e-f5a0c19c.eot) format("embedded-opentype"),url(assets/type/FormaDJRMicro-Regular_licensed-to-teyepe.2846b1a459ccb5cd5d038dd92692eec1-84d475ca.woff) format("woff"),url(assets/type/FormaDJRMicro-Regular_licensed-to-teyepe.45355f3dfc6f63a74b70558dda5e99c0.woff2) format("woff2");font-family:"Forma-Micro";font-style:normal;font-weight:normal}@font-face{src:url(assets/type/FormaDJRText-Regular_licensed-to-teyepe.680abe3e70b46096e10a3ff4e80790f8-b10936b6.eot);src:local("\2660"),url(assets/type/FormaDJRText-Regular_licensed-to-teyepe.680abe3e70b46096e10a3ff4e80790f8-b10936b6.eot) format("embedded-opentype"),url(assets/type/FormaDJRText-Regular_licensed-to-teyepe.fe8aae18913c7828a7bdef1cca49f77e-44c89036.woff) format("woff"),url(assets/type/FormaDJRText-Regular_licensed-to-teyepe.b4ffa919e815407c0fe142601bd700e8.woff2) format("woff2");font-family:"Forma-Text";font-style:normal;font-weight:normal}@font-face{src:url(assets/type/FormaDJRDeck-Regular_licensed-to-teyepe.36e0d9ce4e390452b5eefae83b0a9966-611685e4.eot);src:local("\2660"),url(assets/type/FormaDJRDeck-Regular_licensed-to-teyepe.36e0d9ce4e390452b5eefae83b0a9966-611685e4.eot) format("embedded-opentype"),url(assets/type/FormaDJRDeck-Regular_licensed-to-teyepe.f58958f42e06ef274ea805d2d139c741-07e363b9.woff) format("woff"),url(assets/type/FormaDJRDeck-Regular_licensed-to-teyepe.4f5dd12d496b4a063b4fcd67b0b7509a.woff2) format("woff2");font-family:"Forma-Deck";font-style:normal;font-weight:normal}@font-face{src:url(assets/type/FormaDJRDisplay-Regular_licensed-to-teyepe.88b82c24b8635320b11a762e75d7b087-5036e2c0.eot);src:local("\2660"),url(assets/type/FormaDJRDisplay-Regular_licensed-to-teyepe.88b82c24b8635320b11a762e75d7b087-5036e2c0.eot) format("embedded-opentype"),url(assets/type/FormaDJRDisplay-Regular_licensed-to-teyepe.9fab85edbc262f4c82509d7e842f329a-5faa97ac.woff) format("woff"),url(assets/type/FormaDJRDisplay-Regular_licensed-to-teyepe.20988dbe848c0c6cc5cfc105c9912685.woff2) format("woff2");font-family:"Forma-Display";font-style:normal;font-weight:normal}@font-face{src:url(assets/type/FormaDJRBanner-Regular_licensed-to-teyepe.5da4a5010637e7473be481225516f036-1e0ad73c.eot);src:local("\2660"),url(assets/type/FormaDJRBanner-Regular_licensed-to-teyepe.5da4a5010637e7473be481225516f036-1e0ad73c.eot) format("embedded-opentype"),url(assets/type/FormaDJRBanner-Regular_licensed-to-teyepe.41cc1fb3ed8d3aeb2242fd2f765e9113-b4d0d913.woff) format("woff"),url(assets/type/FormaDJRBanner-Regular_licensed-to-teyepe.8d7ab4015c501c464fddc8434ef9485f.woff2) format("woff2");font-family:"Forma-Banner";font-style:normal;font-weight:normal}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{vertical-align:baseline;margin:0;border:0;padding:0;font:inherit;font-size:100%}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}:root{font-size:100%}body{font-family:"Forma-Micro","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:calc(0vw + 1rem);font-weight:normal;line-height:1.125}b,strong{font-weight:bold}em,i{font-style:italic}p{margin-bottom:.9135rem;padding-top:.2115rem;font-family:"Forma-Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:calc(.896vw + 1.1592rem);font-weight:normal;line-height:1.125}h1,h2,h3,h4,h5,h6{font-family:"Forma-Micro","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:calc(0vw + 1rem);font-weight:normal;line-height:1.125}.c-title--h1{margin-bottom:.815625rem;padding-top:.215625rem;color:#EBE8E2;font-family:"Eurostile","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:calc(5.9006976vw + 2.25578752rem);font-weight:bold;letter-spacing:calc(-.1625vw + -.36257812rem);line-height:1.03125}.c-title--h2{margin-bottom:.8625rem;padding-top:.2625rem;font-family:"Eurostile","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:calc(1.75616vw + 2.272032rem);font-weight:bold;letter-spacing:calc(-.1vw + -.129375rem);line-height:1.125}.c-title--h3{margin-bottom:.925rem;padding-top:.2rem;font-family:"Forma-Banner","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:calc(1.2544vw + 1.62288rem);font-weight:normal;line-height:1.125}.c-title--h4{margin-bottom:.925rem;padding-top:.2rem;font-family:"Forma-Deck","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:calc(.896vw + 1.1592rem);font-weight:normal;line-height:1.125}.c-title--h5{margin-bottom:.9135rem;padding-top:.2115rem;font-family:"Forma-Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:calc(.34685447vw + 1.08999882rem);font-weight:normal;line-height:1.125}.c-title--h6{margin-bottom:.9135rem;padding-top:.2115rem;font-family:"Forma-Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:calc(.15273384vw + 1.04671009rem);font-weight:normal;line-height:1.125}small{margin-bottom:.9135rem;padding-top:.2115rem;font-family:"Forma-Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:calc(0vw + .71428571rem);font-weight:normal;line-height:1.125}sub,sup{position:relative;top:u(-0.4rem);vertical-align:baseline;margin-right:u(0.125rem);font-size:75%}sub{top:u(0.4rem)}html{box-sizing:border-box}*,*:after,*:before{box-sizing:inherit}a{transition:all 0.15s ease-out 0s;text-decoration:none}a,a:hover{color:#F96033}a:hover{transition:all 0.15s ease-in 0s}a:active{color:#F96033}p span{word-wrap:break-word;-ms-word-break:break-all;font-family:"Eurostile","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:110.22494888%;font-weight:bold;hyphens:auto;word-break:break-all;word-break:break-word;overflow-wrap:break-word}svg .svg-color--orange{fill:#F96033}svg .svg-color--deepblue{fill:#181238}.header{position:fixed;top:0;right:0;left:0;z-index:5;width:100vw;height:6rem}.header__title{color:#181238;font-family:"Eurostile","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:calc(0vw + 3.8416rem);font-weight:bold;letter-spacing:calc(-.3vw + -.075625rem);line-height:1.125}.header__title:hover{color:#F96033}.header__logo svg{fill:#181238;position:absolute;width:100%;height:auto;max-height:105%}.footer{background:url(544110bc74775cc1ce658f31c5f22d00-515d2812.png) 0 0 repeat fixed #181238;color:#F96033}.footer .aside__sticky-wrapper{top:0;width:100%;height:304px}.footer a:hover,.footer h2{color:#EBE8E2}.footer__colophon{margin-top:1.5rem;color:#EBE8E2}.footer__colophon h3{font-family:"Eurostile","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold}.footer__colophon p{font-family:"Forma-Micro","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:calc(.24775319vw + .77857058rem);font-weight:normal;line-height:1.5}.footer__colophon p span{position:relative;bottom:-.125rem;margin:0 .125rem -.125rem;font-size:120%}.footer__copyright small{color:#EBE8E2;font-family:"Forma-Micro","Helvetica Neue",Helvetica,Arial,sans-serif}.aside{background:url(544110bc74775cc1ce658f31c5f22d00-515d2812.png) 0 0 repeat fixed #EBE8E2}.aside__sticky-wrapper{position:relative;position:sticky;top:0;width:100%;height:100vh}.aside__list{position:absolute;bottom:1.875rem;left:calc(50% - 9px);transform:rotate(-90deg) translateY(100%);transform-origin:left bottom;opacity:0.99;z-index:10;width:16.25rem}.aside__item{float:left;margin-right:1.5rem}.aside__item:last-child{margin-right:0}.line{display:block;opacity:0.65;z-index:10;margin:0;border:0;background-color:#e0482e;width:1px}.line--light{background-color:#8d8b88}.line--vertical{position:relative;top:-6rem;grid-column:1 / span 5;transform:translateX(calc(-50vw + 50%));margin:0 calc(-50vw + 50%);width:100vw;height:1px}.line--start{grid-column:col / span 1;grid-row:row / span 10}header .line--start{grid-row:row / span 5}.line--1a{grid-column:col 3 / span 1;grid-row:row / span 10;justify-self:end}header .line--1a{grid-row:row / span 5}.line--1b{grid-column:col 4 / span 1;grid-row:row / span 10}header .line--1b{grid-row:row / span 5}.line--2a{display:none;grid-row:row / span 10;justify-self:end}header .line--2a{grid-row:row / span 5}.line--2b{display:none;grid-row:row / span 10}header .line--2b{grid-row:row / span 5}.line--3a{display:none}.line--3b{display:none}.line--end{display:none}.line--v1{grid-row:row 4;align-self:end}.line--v2{grid-row:row 5}.line--v3{grid-row:row 2;align-self:end}.line--v4{grid-row:row 3}.line--v5{grid-row:row 6;align-self:end}.button{-webkit-transition:all 0.15s ease-out 0s;display:inline-block;vertical-align:middle;transition:all 0.15s ease-out 0s;margin-top:1.875rem;border:0;border-radius:.3125rem;background:url(9f5166c468771f91bae0fd4db8070ac2-abdbc62c.png) 0 0 repeat fixed #F96033;padding:1.875rem 2.5rem;color:#EBE8E2;font-family:"Forma-Micro","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:calc(.16613735vw + 1.13856654rem);font-weight:normal;line-height:1.125;text-align:center;text-transform:uppercase;white-space:nowrap}.button:focus,.button:hover{-webkit-box-shadow:0 .78125rem 1.25rem -.625rem rgba(102,40,27,0.6);-webkit-transition:all 0.095s ease-in 0s;transition:all 0.095s ease-in 0s;cursor:pointer;box-shadow:0 .78125rem 1.25rem -.625rem rgba(102,40,27,0.6);background-color:#e57550;color:#EBE8E2}.button:focus:after,.button:hover:after{-webkit-transform:translateX(.625rem);transform:translateX(.625rem)}.button:active{-webkit-box-shadow:none;cursor:pointer;box-shadow:none;background-color:#e0482e}.button:focus{outline:0}.index{-webkit-overflow-scrolling:touch;background:url(9f5166c468771f91bae0fd4db8070ac2-abdbc62c.png) 0 0 repeat fixed #F96033;padding-top:7.5rem;height:100%;overflow-x:hidden;overflow-y:auto;color:#181238}.index,.main{width:100%}.photograph{position:relative;width:100%;height:100%}.photograph img{position:absolute;top:0;right:0;left:0;opacity:0.05;mix-blend-mode:screen;width:100%;height:100%;object-fit:cover;object-position:top left}.photograph:hover img{opacity:1}.turing-canvas{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;transform:translateZ(0);width:101%;height:auto}.pseudoheader{position:absolute;top:0;right:0;left:0;z-index:0;background:url(544110bc74775cc1ce658f31c5f22d00-515d2812.png) 0 0 repeat fixed #EBE8E2;height:6rem;content:''}.intro{grid-gap:1.5rem 1.875rem;position:relative;grid-template-columns:repeat(10, [col] 1fr);grid-template-rows:repeat(2, [row] auto)}.intro p{margin-top:1.5rem;margin-bottom:.925rem;padding-top:.2rem;color:#EBE8E2;font-family:"Forma-Deck","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:calc(2.1504vw + .82208rem);font-weight:normal;hyphens:manual;line-height:1.125}.intro p span{word-wrap:break-word;-ms-word-break:break-all;hyphens:auto;letter-spacing:calc(-.175vw + .03140625rem);word-break:break-all;word-break:break-word;overflow-wrap:break-word}.intro p del{display:inline-block;position:relative;text-decoration:none}.intro p del:after{position:absolute;top:calc(0.5em + 2.5px);right:-2px;left:-2px;background:#181238;height:5px;content:''}.about{background:url(544110bc74775cc1ce658f31c5f22d00-515d2812.png) 0 0 repeat fixed #EBE8E2}.about h2{color:#F96033}.about p{margin-bottom:.9135rem;padding-top:.2115rem;font-family:"Forma-Micro","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:calc(.896vw + 1.1592rem);font-weight:normal;line-height:1.125}.sample__anchor{cursor:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjQiIGhlaWdodD0iMzIiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA2NCAzMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjQgMzI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojRjk2MDMzO30KPC9zdHlsZT4KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSI2NCwxMi4wNyAxNi42NSwxMi4wNyAzMS43MSwwIDE4Ljg0LDAgMCwxNiAxOC44NCwzMiAzMS43MSwzMiAxNi42NSwxOS45MyA2NCwxOS45MyAiLz4KPC9zdmc+Cg==) 0 12,auto}.sample__anchor:hover .sample__item{display:block}.sample__item{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);z-index:-100;background-blend-mode:color;width:66.66666667%;height:calc(100% - 12rem)}.sample__item--portrait{width:33.33333333%;height:100vh}.sample__item--portrait img{width:auto;height:100%;object-fit:cover}.sample__item img{max-width:100%;height:auto;object-fit:cover}.grid{grid-gap:1.5rem 1.875rem;display:grid;grid-template-columns:repeat(4, [col] 1fr) minmax(min-content, 1.875rem);grid-template-rows:repeat(6, [row] 10vh);margin:0 auto;padding:0 1.875rem;max-width:89.375rem}.grid--a{grid-gap:0 1.875rem;grid-template-rows:repeat(4, [row] 1.5rem)}.grid--b{grid-template-rows:repeat(10, [row] 6rem)}.grid__item--header{grid-column:col / span 3;grid-row:row 3 / span 2}.grid__item--logo{display:none}.grid__item--a{grid-column:col 1 / span 4;grid-row:row 4 / span 6;z-index:1;padding:0 0 6rem}.grid__item--b{grid-column:col 1 / span 4;grid-row:row 4 / span 4;z-index:1;padding:0 0 6rem}.grid__item--c{grid-column:col 1 / span 4;grid-row:row 2 / span 4;padding-top:1.125rem}.grid__item--d{position:relative;grid-column:col 1 / span 4;grid-row:row 3 / span 5;z-index:1;background-color:#181238;overflow:hidden}.grid__item--e{grid-column:5 / span 1;grid-row:row / span 10}.grid__item--f{grid-column:col 1 / span 4;grid-row:row 6 / span 3}.grid__item--g{grid-column:col 1 / span 4;grid-row:row 10 / span 1}.grid__item--illustration{position:relative;grid-column:col 1 / span 2;grid-row:row / span 2;transform:translateY(-50%)}.grid__item--illustration svg{width:100%;min-width:100%}.loop{-webkit-overflow-scrolling:touch;position:relative;height:100%}@media (min-width: 26.875rem){.line{opacity:0.8}.line--2a{grid-column:col 4 / span 1}.line--2b{grid-column:5 / span 1}.grid{grid-template-columns:repeat(4, [col] 1fr) minmax(min-content, 3.75rem)}.grid__item--d{grid-column:col 2 / span 3}}@media (min-width: 26.875rem) and (max-width: 59.95rem){.grid__item--illustration svg{min-width:7.5rem}}@media (min-width: 60rem){.line{opacity:1}.line--vertical{grid-column:1 / span 10}.line--1a{grid-column:col 6 / span 1}.line--1b{grid-column:col 7 / span 1}.line--2a{grid-column:col 7 / span 1}.line--2b{grid-column:col 8 / span 1}.line--3a{display:block;grid-column:col 8 / span 1;grid-row:row / span 10;justify-self:end}header .line--3a{grid-row:row / span 5}.line--3b{display:block;grid-column:col 9 / span 1;grid-row:row / span 10}header .line--3b{grid-row:row / span 5}.line--end{display:block;grid-column:col 9 / span 1;grid-row:row / span 10;justify-self:end}header .line--end{grid-row:row / span 5}.grid{grid-template-columns:repeat(9, [col] 1fr) minmax(min-content, 6.25rem)}.grid__item--header{grid-column:col 1 / span 4}.grid__item--logo{display:block;position:relative;bottom:-1.5rem;grid-column:col 8 / span 2;grid-row:row 1 / span 4}.grid__item--a{grid-column:col 4 / span 5}.grid__item--b{grid-column:col 4 / span 5;padding:6rem 0}.grid__item--c{grid-column:col 4 / span 5}.grid__item--d{grid-column:col 2 / span 4}.grid__item--e{grid-column:10 / span 1}.grid__item--f{grid-column:col 4 / span 5}.grid__item--g{grid-column:col 4 / span 5}.grid__item--illustration{grid-column:col 2 / span 2}}@media (min-width: 89.375rem){body{font-size:1rem}p{font-size:1.96rem}h1,h2,h3,h4,h5,h6{font-size:1rem}.c-title--h1{font-size:7.529536rem}.c-title--h1{letter-spacing:-.5078125rem}.c-title--h2{font-size:3.8416rem}.c-title--h2{letter-spacing:-.21875rem}.c-title--h3{font-size:2.744rem}.c-title--h4{font-size:1.96rem}.c-title--h5{font-size:1.4rem}.c-title--h6{font-size:1.18321596rem}small{font-size:.71428571rem}.header__title{font-size:3.8416rem}.header__title{letter-spacing:-.34375rem}.footer__colophon p{font-size:1rem}.intro p{font-size:2.744rem}.intro p span{letter-spacing:-.125rem}.about p{font-size:1.96rem}}@media (max-width: 26.825rem){body{font-size:1rem}p{font-size:1.4rem}h1,h2,h3,h4,h5,h6{font-size:1rem}.c-title--h1{font-size:3.8416rem}.c-title--h1{letter-spacing:-.40625rem}.c-title--h2{font-size:2.744rem}.c-title--h2{letter-spacing:-.15625rem}.c-title--h3{font-size:1.96rem}.c-title--h4{font-size:1.4rem}.c-title--h5{font-size:1.18321596rem}.c-title--h6{font-size:1.08775731rem}small{font-size:.71428571rem}.header__title{font-size:3.8416rem}.header__title{letter-spacing:-.15625rem}.footer__colophon p{font-size:.84515425rem}.intro p{font-size:1.4rem}.intro p span{letter-spacing:-.015625rem}.about p{font-size:1.4rem}}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS9hc3NldHMvY3NzLzAyX3Rvb2xzL19mb250cy5zY3NzIiwic291cmNlL2Fzc2V0cy9jc3MvMDJfdG9vbHMvX21peGlucy5zY3NzIiwic291cmNlL2Fzc2V0cy9jc3MvMDNfZ2VuZXJpYy9fcmVzZXQuc2NzcyIsInNvdXJjZS9hc3NldHMvY3NzLzAzX2dlbmVyaWMvX3R5cG9ncmFwaHkuc2NzcyIsInNvdXJjZS9hc3NldHMvY3NzLzAyX3Rvb2xzL19mdW5jdGlvbnMuc2NzcyIsInNvdXJjZS9hc3NldHMvY3NzLzAxX3NldHRpbmdzL19TZXR0aW5ncy5zY3NzIiwic291cmNlL2Fzc2V0cy9jc3MvMDJfdG9vbHMvX2NvbG9yLnNjc3MiLCJzb3VyY2UvYXNzZXRzL2Nzcy8wM19nZW5lcmljL19zaGFyZWQuc2NzcyIsInNvdXJjZS9hc3NldHMvY3NzLzA0X3BhcnRpYWxzL19oZWFkZXIuc2NzcyIsInNvdXJjZS9hc3NldHMvY3NzLzA0X3BhcnRpYWxzL19mb290ZXIuc2NzcyIsInNvdXJjZS9hc3NldHMvY3NzLzA0X3BhcnRpYWxzL19hc2lkZS5zY3NzIiwic291cmNlL2Fzc2V0cy9jc3MvMDRfcGFydGlhbHMvX2dyaWQtbGluZXMuc2NzcyIsInNvdXJjZS9hc3NldHMvY3NzLzA1X2NvbXBvbmVudHMvX0NvbXBvbmVudHMuc2NzcyIsInNvdXJjZS9hc3NldHMvY3NzL3N0eWxlLnNjc3MiLCJub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL19icmVha3BvaW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0JBLDZDQUFZLENDckJSLFdBQ0ksaUNBQXVELENBTW5ELHNLQUd5RCxDQUFlLHVCQUdoRSxDRFVvRCxpQkFBQSxDQ1ZuQyxnQkRVa0QsQ0FBTSxXQ3ZCL0UsK0RBQ0QsQ0FBa0QsZ1FBU00sQ0FBQSx5QkFHakQsQ0RXZ0YsaUJBQUEsQ0NYaEYsa0JEV3FHLENBQUEsV0N4QnJILDhEQUNTLENBQUEsNlBBU3dELENBQUEsd0JBR2pELENEWThFLGlCQUFBLENDWjlFLGtCRFltRyxDQUFBLFdDekJuSCw4REFDUyxDQUFBLDZQQVN3RCxDQUFBLHdCQUdqRCxDRGE4RSxpQkFBQSxDQ2I5RSxrQkRhbUcsQ0FBQSxXQzFCbkgsaUVBQ1MsQ0FBQSxzUUFTd0QsQ0FBQSwyQkFHakQsQ0Rjb0YsaUJBQUEsQ0NkcEYsa0JEY3lHLENBQUEsV0MzQnpILGdFQUNTLENBQUEsbVFBU3dELENBQUEsMEJBR2pELENEZWtGLGlCQUFBLENDZmxGLGtCRGV1RyxDQUFBLDJaRVBuSCx1QkFBQSxDQUxXLFFBQ2pCLENBQ0EsUUFDQSxDQUZBLFNBQ0EsQ0FFUyxZQUNILENBRk4sY0FHZ0IsQ0FBQSw4RUFJaUIsYUFDMUIsQ0FBRSxLQUFLLGFBR2QsQ0FBQSxNQUNELGVBRUMsQ0FBVSxhQUNYLFdBRUMsQ0FBTSxvREFHRyxVQUNULENBQUEsWUFDQSxDQUFPLE1BQ1Isd0JBRWtCLENBQUEsZ0JBQ2pCLENBQUEsTUFDRCxjQzlDRyxDQUFTLEtDaUNELHFFQ2RnQyxDRm5CekIsMEJDaUNQLENDZGdDLGtCRmZYLENBQUEsaUJGcURiLENBekJDLFNFeEJyQixnQkFDSSxDQUFXLEtBQU0saUJBS0wsQ0FBQSxFQ2RKLHNCSDZEUSxDQUFBLG9CQUFBLENHNUJSLG9FQ2RnQyxDRkw1QixrQ0NtQkosQ0NkZ0Msa0JGRFosQ0FBQSxpQkY0Q1osQ0E5QkMsa0JHQ1QscUVDZGdDLENGTTVDLDBCQ1FZLENDZGdDLGtCRlFYLENBQUEsaUJGOEJiLENBekJDLGFHaENULHdCSDZEUSxDQUFBLHNCQUNBLENHN0JSLGFBQUEsQ0FBQSxtRUNkZ0MsQ0ZZeEMsMkNDRVEsQ0NkZ0MsZ0JKbUN4QyxDQVFnQiw2Q0c3QlIsQ0hxQkcsbUJLckRKLENMK0JVLGFHaENULHNCSDZEUSxDQUFBLG9CQUNBLENHN0JSLG1FQ2RnQyxDRmlCeEMsdUNDSFEsQ0NkZ0MsZ0JKbUN4QyxDQVFnQix3Q0FBQSxDQVJMLGlCR3JCSCxDSERTLGFHaENULHFCSDZEUSxDQUFBLGlCQUFBLENHNUJSLHNFQ2RnQyxDRnFCeEMscUNDUFEsQ0NkZ0Msa0JGc0JOLENBQUEsaUJGcUJwQixDQTlCRyxhR2hDVCxxQkg2RFEsQ0FBQSxpQkFBQSxDRzVCUixvRUNkZ0MsQ0Z3QnhDLGtDQ1ZRLENDZGdDLGtCRnlCUixDQUFBLGlCRmtCbEIsQ0E5QkcsYUdoQ1Qsc0JINkRRLENBQUEsb0JBQUEsQ0c1QlIsb0VDZGdDLENGMkJ4QywyQ0NiUSxDQ2RnQyxrQkY0QlIsQ0FBQSxpQkZlaEIsQ0E5QkMsYUdoQ1Qsc0JINkRRLENBQUEsb0JBQUEsQ0c1QlIsb0VDZGdDLENGOEJ4QywyQ0NoQlEsQ0NkZ0Msa0JGK0JSLENBQUEsaUJGWWhCLENBOUJDLE1HaENULHNCSDZEUSxDQUFBLG9CQUFBLENHNUJSLG9FQ2RnQyxDRm1DNUMsa0NDckJZLENDZGdDLGtCRm9DWixDQUFBLGlCRk9aLENBOUJDLFFFNkJILGlCQUNKLENBQUEsY0FDTCxDQUFBLHVCQUFBLENBSEwsd0JBQ2MsQ0FIbEIsYUFNb0IsQ0FBQSxJQUFBLGFBSVgsQ0FBQSxLQUFTLHFCSXBFRixDQUFBLG1CQUtmLGtCQUNlLENBQUEsRUFLRyxnQ0FBQSxDRFpWLG9CQ2FPLENBQUEsVUFOQSxhQVNJLENBSEosUURiUCwrQkNnQlcsQ0FBQSxTQU5uQixhRFZRLENBQUEsT0xnRlUsb0JBQ0osQ0FBQSx3QkFDSyxDTXpETCxtRUZMNkIsQ0pvRWpDLHVCTS9ESSxDRkw2QixnQkFBQSxDSm1FekIsWUFDZixDQU5nQixvQkFDSixDQUFBLHFCQUNBLENNN0RmLHdCQUlHLENBQVcsdUJBSVgsWUQvQkssQ0FBQSx5QkNrQ0wsWUQvQk8sQ0FBQSxRRUZELGNBQ0UsQ0FBRSxLQUFLLENBRWYsT0FDQSxDQUZBLE1BQ0EsQ0FDQSxTQUNBLENBQUEsV0FBQSxDRDhCQyxXQzdCSSxDQUFFLGVKMkJDLGFBQUEsQ0FBQSxtRUNkZ0MsQ0daeEMsK0JKMEJRLENDZGdDLGdCSm1DeEMsQ0FHZ0Isd0NHeEJSLENIcUJHLGlCS3BESixDTDhCVSxxQk96QlQsYUZSSCxDQUFBLGtCRWNBLFlGWEUs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Q0QsZUR1Q3BCLDBCQUlxQixDQzNDRCwwQkQ4Q3BCLDBCQU1xQixDRnZHakIsQ1ZpQmEsOEJha0NHLEtBQVMsY2IvQnpCLENhK0JnQixFQUFBLGlCYi9CSCxDYStCRyxrQlh0Q3hCLGNGT1EsQ2ErQmdCLGFYaENwQixxQkZDaUIsQ2ErQkcsYVhoQ3BCLDJCRkNpQixDYStCRyxhWDNCcEIsbUJGSmlCLENhK0JHLGFYM0JwQix5QkZKaUIsQ2ErQkcsYVh2QnBCLGtCRlJpQixDYStCRyxhWHBCcEIsaUJGWGlCLENhK0JHLGFYakJwQixnQkZkaUIsQ2ErQkcsYVhkcEIsdUJGakJpQixDYStCRyxNWFR4QixzQkZ0QnFCLENhK0JHLGVOeERwQixtQlB5QmlCLENhK0JHLGVOeERwQix5QlB5QmlCLENhK0JHLG9CTGhEbkIsY1JpQkcsQ2ErQmdCLFNGTHhCLGtCWDFCcUIsQ2ErQkcsY0ZBbkIsdUJYL0JnQixDYStCRyxTRjBCeEIsaUJYekRxQixDQUFELENBeUJBLDhCYU1JLEtBQVMsY2JsQ3pCLENha0NnQixFQUFBLGdCYmxDSCxDYWtDRyxrQlh0Q3hCLGNGSVEsQ2FrQ2dCLGFYaENwQixtQkZGaUIsQ2FrQ0csYVhoQ3BCLHlCRkZpQixDYWtDRyxhWDNCcEIsa0JGUGlCLENha0NHLGFYM0JwQix5QkZQaUIsQ2FrQ0csYVh2QnBCLGlCRlhpQixDYWtDRyxhWHBCcEIsZ0JGZGlCLENha0NHLGFYakJwQix1QkZqQmlCLENha0NHLGFYZHBCLHVCRnBCaUIsQ2FrQ0csTVhUeEIsc0JGekJxQixDYWtDRyxlTnhEcEIsbUJQc0JpQixDYWtDRyxlTnhEcEIseUJQc0JpQixDYWtDRyxvQkxoRG5CLHNCUmNnQixDYWtDRyxTRkx4QixnQlg3QnFCLENha0NHLGNGQW5CLDBCWGxDZ0IsQ2FrQ0csU0YwQnhCLGdCWDVEcUIsQ0FBRCIsImZpbGUiOiJzb3VyY2UvYXNzZXRzL2Nzcy9zdHlsZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIE15Rm9udHMgV2ViZm9udCBCdWlsZCBJRCAzNjc4MTA0LCAyMDE4LTExLTI2VDA1OjA3OjM5LTA1MDBcclxuICogXHJcbiAqIFRoZSBmb250cyBsaXN0ZWQgaW4gdGhpcyBub3RpY2UgYXJlIHN1YmplY3QgdG8gdGhlIEVuZCBVc2VyIExpY2Vuc2VcclxuICogQWdyZWVtZW50KHMpIGVudGVyZWQgaW50byBieSB0aGUgd2Vic2l0ZSBvd25lci4gQWxsIG90aGVyIHBhcnRpZXMgYXJlIFxyXG4gKiBleHBsaWNpdGx5IHJlc3RyaWN0ZWQgZnJvbSB1c2luZyB0aGUgTGljZW5zZWQgV2ViZm9udHMocykuXHJcbiAqIFxyXG4gKiBZb3UgbWF5IG9idGFpbiBhIHZhbGlkIGxpY2Vuc2UgYXQgdGhlIFVSTHMgYmVsb3cuXHJcbiAqIFxyXG4gKiBXZWJmb250OiBFdXJvc3RpbGVFeHQtQmxhIGJ5IFVSV1xyXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2ZvbnRzL3Vydy9ldXJvc3RpbGUvdC1ibGFjay1leHRlbmRlZC9cclxuICogQ29weXJpZ2h0OiBDb3B5cmlnaHQgMjAxMCBVUlcrKyBEZXNpZ24gJmFtcDsgRGV2ZWxvcG1lbnQgSGFtYnVyZ1xyXG4gKiBMaWNlbnNlZCBwYWdldmlld3M6IDEwLDAwMFxyXG4gKiBcclxuICogXHJcbiAqIExpY2Vuc2U6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL3ZpZXdsaWNlbnNlP3R5cGU9d2ViJmJ1aWxkaWQ9MzY3ODEwNFxyXG4gKiBcclxuICogwqkgMjAxOCBNeUZvbnRzIEluY1xyXG4qL1xyXG5cclxuXHJcbkBpbXBvcnQgdXJsKC8vaGVsbG8ubXlmb250cy5uZXQvY291bnQvMzgxZjk4KTtcclxuXHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgkd29mZjIsICdFdXJvc3RpbGUnLCAnMzgxRjk4XzBfMCcsICRmb250LXdlaWdodDogYm9sZCwgJGZvbnQtc3R5bGU6IG5vcm1hbCk7XHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgkd29mZjIsICdGb3JtYS1NaWNybycsICdGb3JtYURKUk1pY3JvLVJlZ3VsYXJfbGljZW5zZWQtdG8tdGV5ZXBlJywgJGZvbnQtd2VpZ2h0OiBub3JtYWwsICRmb250LXN0eWxlOiBub3JtYWwpO1xyXG5AaW5jbHVkZSBmb250LWZhY2UoJHdvZmYyLCAnRm9ybWEtVGV4dCcsICdGb3JtYURKUlRleHQtUmVndWxhcl9saWNlbnNlZC10by10ZXllcGUnLCAkZm9udC13ZWlnaHQ6IG5vcm1hbCwgJGZvbnQtc3R5bGU6IG5vcm1hbCk7XHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgkd29mZjIsICdGb3JtYS1EZWNrJywgJ0Zvcm1hREpSRGVjay1SZWd1bGFyX2xpY2Vuc2VkLXRvLXRleWVwZScsICRmb250LXdlaWdodDogbm9ybWFsLCAkZm9udC1zdHlsZTogbm9ybWFsKTtcclxuQGluY2x1ZGUgZm9udC1mYWNlKCR3b2ZmMiwgJ0Zvcm1hLURpc3BsYXknLCAnRm9ybWFESlJEaXNwbGF5LVJlZ3VsYXJfbGljZW5zZWQtdG8tdGV5ZXBlJywgJGZvbnQtd2VpZ2h0OiBub3JtYWwsICRmb250LXN0eWxlOiBub3JtYWwpO1xyXG5AaW5jbHVkZSBmb250LWZhY2UoJHdvZmYyLCAnRm9ybWEtQmFubmVyJywgJ0Zvcm1hREpSQmFubmVyLVJlZ3VsYXJfbGljZW5zZWQtdG8tdGV5ZXBlJywgJGZvbnQtd2VpZ2h0OiBub3JtYWwsICRmb250LXN0eWxlOiBub3JtYWwpO1xyXG5cclxuIiwiQG1peGluIGZvbnQtZmFjZSgkd29mZjIsICRmb250LWZhbWlseSwgJGZvbnQtZmlsZW5hbWUsICRmb250LXdlaWdodDogbm9ybWFsLCAkZm9udC1zdHlsZTogbm9ybWFsLCAkZm9udC1wYXRoOiAnLi4vLi4vLi4vYXNzZXRzL3R5cGUvJykge1xyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgc3JjOiB1cmwoJyN7dW5xdW90ZSgkZm9udF9wYXRoKX0jeyRmb250X2ZpbGVuYW1lfS5lb3QnKTtcclxuICAgICAgICBAaWYgJHdvZmYyID09IG51bGwge1xyXG4gICAgICAgICAgICBzcmM6IGxvY2FsKCdcXDI2NjAnKSxcclxuICAgICAgICAgICAgICAgIHVybCgnI3t1bnF1b3RlKCRmb250X3BhdGgpfSN7JGZvbnRfZmlsZW5hbWV9LmVvdD8jJykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgICAgICAgICAgdXJsKCcje3VucXVvdGUoJGZvbnRfcGF0aCl9I3skZm9udF9maWxlbmFtZX0ud29mZicpIGZvcm1hdCgnd29mZicpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBzcmM6IGxvY2FsKCdcXDI2NjAnKSxcclxuICAgICAgICAgICAgICAgIHVybCgnI3t1bnF1b3RlKCRmb250X3BhdGgpfSN7JGZvbnRfZmlsZW5hbWV9LmVvdD8jJykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgICAgICAgICAgdXJsKCcje3VucXVvdGUoJGZvbnRfcGF0aCl9I3skZm9udF9maWxlbmFtZX0ud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgICAgICAgICAgdXJsKCcje3VucXVvdGUoJGZvbnRfcGF0aCl9I3skZm9udF9maWxlbmFtZX0ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQ6IHtcclxuICAgICAgICAgICAgZmFtaWx5OiAnI3skZm9udC1mYW1pbHl9JztcclxuICAgICAgICAgICAgd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIHN0eWxlOiAkZm9udF9zdHlsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjc3MtbG9jayAoXHJcbiAgICAkbWluLXNpemUsXHJcbiAgICAkbWF4LXNpemUsXHJcbiAgICAkcHJvcGVydHksXHJcbiAgICAkbWluLXdpZHRoOiAkYnAtLXNtLFxyXG4gICAgJG1heC13aWR0aDogJGJwLS1sZ1xyXG4pIHtcclxuICAgICN7JHByb3BlcnR5fTogbG9jay1jYWxjKCRtaW4tc2l6ZSwgJG1heC1zaXplLCAkbWluLXdpZHRoLCAkbWF4LXdpZHRoKTtcclxuICAgIEBpbmNsdWRlIHRvKDEpIHtcclxuICAgICAgICAjeyRwcm9wZXJ0eX06ICN7JG1pbi1zaXplfTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGZyb20oNCkge1xyXG4gICAgICAgICN7JHByb3BlcnR5fTogI3skbWF4LXNpemV9O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udCAoXHJcbiAgICAkZm9udC1mYW1pbHksXHJcbiAgICAkZm9udC13ZWlnaHQsXHJcbiAgICAkbWluLXNjYWxlLFxyXG4gICAgJG1heC1zY2FsZSxcclxuICAgICRiYXNlbGluZS1kaXZpc2lvbnM6IDQsXHJcbiAgICAkdmFsdWUxOiBudWxsLFxyXG4gICAgJHZhbHVlMjogbnVsbCxcclxuICAgICRmb250LXN0eWxlOiBub3JtYWxcclxuKSB7XHJcbiAgICAkY2FwLWhlaWdodDogZ2x5cGgteC1oZWlnaHQoJGZvbnQtZmFtaWx5KTtcclxuICAgICRsaW5lLWhlaWdodC1mcmFjdGlvbjogJGJhc2VsaW5lLWRpdmlzaW9ucztcclxuICAgICRsaW5lLXJoeXRobTogJGxpbmUtaGVpZ2h0IC8gJGxpbmUtaGVpZ2h0LWZyYWN0aW9uO1xyXG4gICAgJGxpbmVzOiBwYXJzZS1pbnQoY2VpbCgoJGZvbnQtc2l6ZSArIDAuMDEpIC8gJGxpbmUtcmh5dGhtKSk7XHJcbiAgICAkdW5pdC1saW5lLWhlaWdodDogJGxpbmVzICogJGxpbmUtcmh5dGhtO1xyXG4gICAgJGJhc2VsaW5lLWRpc3RhbmNlOiAoJHVuaXQtbGluZS1oZWlnaHQgLSAkY2FwLWhlaWdodCkgLyAyO1xyXG4gICAgQGluY2x1ZGUgY3NzLWxvY2sobXMoJG1pbi1zY2FsZSksIG1zKCRtYXgtc2NhbGUpLCBmb250LXNpemUpO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseSwgJGZvbnQtc3RhY2s7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xyXG4gICAgbGluZS1oZWlnaHQ6ICR1bml0LWxpbmUtaGVpZ2h0O1xyXG4gICAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XHJcbiAgICAgICAgI3skdmFsdWUyfTogKCRiYXNlbGluZS1kaXN0YW5jZSArIHJlbSk7XHJcbiAgICB9IEBlbHNlIGlmICR2YWx1ZTIgPT0gbnVsbCB7XHJcbiAgICAgICAgI3skdmFsdWUxfTogKCR1bml0LWxpbmUtaGVpZ2h0IC0gJGJhc2VsaW5lLWRpc3RhbmNlICsgcmVtKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICN7JHZhbHVlMX06ICgkdW5pdC1saW5lLWhlaWdodCAtICRiYXNlbGluZS1kaXN0YW5jZSArIHJlbSk7XHJcbiAgICAgICAgI3skdmFsdWUyfTogKCRiYXNlbGluZS1kaXN0YW5jZSArIHJlbSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygkdmFsdWU6IG9uKSB7XHJcbiAgICBAaWYgJHZhbHVlID09IG9uIHtcclxuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xyXG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xyXG5AbWl4aW4gd29yZC13cmFwKCkge1xyXG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcclxuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICAgIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gICAgLW1zLWh5cGhlbnM6IGF1dG87XHJcbiAgICAtbW96LWh5cGhlbnM6IGF1dG87XHJcbiAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XHJcbiAgICBoeXBoZW5zOiBhdXRvO1xyXG59XHJcbi8qIHN0eWxlbGludC1lbmFibGUgKi9cclxuXHJcbkBtaXhpbiBzaWxlbnQtY2xhc3MoJGNsYXNzLW5hbWUpIHtcclxuICAgIC4jeyRjbGFzcy1uYW1lfSxcclxuICAgICUjeyRjbGFzcy1uYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzZWxlY3Rpb24ge1xyXG4gICAgOjpzZWxlY3Rpb24ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdW5pdHMoJHByb3BlcnR5LCAkdmFsdWVzKSB7XHJcbiAgICAkcHg6ICgpO1xyXG4gICAgJHJlbTogKCk7XHJcblxyXG4gICAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xyXG5cclxuICAgICAgICBAaWYgJHZhbHVlID09IDAgb3IgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIG9yIHVuaXQoJHZhbHVlKSAhPSAncmVtJyBvciB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XHJcbiAgICAgICAgICAgICRweDogYXBwZW5kKCRweCwgJHZhbHVlKTtcclxuICAgICAgICAgICAgJHJlbTogYXBwZW5kKCRyZW0sICR2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAZWxzZSB7IFxyXG4gICAgICAgICAgICAkdW5pdDogdW5pdCgkdmFsdWUpO1xyXG4gICAgICAgICAgICAkdmFsOiBwYXJzZUludCgkdmFsdWUpO1xyXG5cclxuICAgICAgICAgICAgQGlmICR1bml0ID09ICdweCcge1xyXG4gICAgICAgICAgICAgICAgJHB4OiBhcHBlbmQoJHB4LCAkdmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgJHJlbTogYXBwZW5kKCRyZW0sICgkdmFsIC8gMTYgKyByZW0pKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGlmICR1bml0ID09ICdyZW0nIHtcclxuICAgICAgICAgICAgICAgICRweDogYXBwZW5kKCRweCwgKCR2YWwgKiAxNiArIHB4KSk7XHJcbiAgICAgICAgICAgICAgICAkcmVtOiBhcHBlbmQoJHJlbSwgJHZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHB4ID09ICRyZW0ge1xyXG4gICAgICAgICN7JHByb3BlcnR5fTogJHJlbTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICN7JHByb3BlcnR5fTogJHJlbTtcclxuICAgICAgICAubm8tY3NzcmVtdW5pdCAmIHtcclxuICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBDbGVhcmZpeFxyXG5cclxuQG1peGluIGNmKCkge1xyXG4gICAgJjpiZWZvcmUsXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBHZW5lcmF0ZSBjb2xvciByYW5nZXMgZm9yIGEgbGlzdCBvZiBjbGFzc2VzXHJcblxyXG5AbWl4aW4gY29sb3ItcmFuZ2UoJGNvbG9yLCAkY29sb3ItdmFsLCAkZGVncmVlczogMzYwLCAkY2xhc3NlczogKCkpIHtcclxuICAgICRvZmZzZXQ6ICRkZWdyZWVzIC8gbGVuZ3RoKCRjbGFzc2VzKTtcclxuICAgICRjb2xvci1yYW5nZTogKCk7XHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkY2xhc3Nlcykge1xyXG4gICAgICAgICRjb2xvci1yYW5nZTogKGFkanVzdC1odWUoJGNvbG9yLCAkb2Zmc2V0ICogJGkpKTtcclxuICAgICAgICAuI3tudGgoJGNsYXNzZXMsICRpKX0ge1xyXG4gICAgICAgICAgICAjeyRjb2xvci12YWx9OiAkY29sb3ItcmFuZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBLZXlmcmFtZSBNaXhpbiAtIGFkZHMgdmVuZG9yIHByZWZpeGVzIHRvIGtleWZyYW1lc1xyXG5cclxuQG1peGluIGtleWZyYW1lKCRuYW1lKSB7XHJcbiAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQW5pbWF0aW9uIE1peGluXHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uKCRuYW1lLCAkZHVyYXRpb24sICRmdW5jdGlvbiwgJGRlbGF5LCAkY291bnQsICRkaXJlY3Rpb24sICRtb2RlLCAkc3RhdGUpIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiAkbmFtZTsgICAgICAgICAgICAgICAgICAvLyBhbmltYXRpb24gbmFtZVxyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247ICAgICAgICAgIC8vIC41c1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJGZ1bmN0aW9uOyAgIC8vIGVhc2UtaW4tb3V0XHJcbiAgICBhbmltYXRpb24tZGVsYXk6ICRkZWxheTsgICAgICAgICAgICAgICAgLy8gMHNcclxuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRjb3VudDsgICAgICAvLyBpbmZpbml0ZSB8IDxudW1iZXI+XHJcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uOyAgICAgICAgLy8gbm9ybWFsIHwgcmV2ZXJzZSB8IGFsdGVybmF0ZSB8IGFsdGVybmF0ZS1yZXZlcnNlXHJcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiAkbW9kZTsgICAgICAgICAgICAgLy8gbm9uZSB8IGZvcndhcmRzIHwgYmFja3dhcmRzIHwgYm90aFxyXG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6ICRzdGF0ZTsgICAgICAgICAgIC8vIHJ1bm5pbmcgfCBwYXVzZWRcclxufVxyXG5cclxuLy8gQmFja2dyb3VuZCBHcmFkaWVudHNcclxuXHJcbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJGNvbG9ycy1zdG9wczogKCksICRkZWc6IDE4MCkge1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHVucXVvdGUoJyN7JGRlZ31kZWcnKSwgJGNvbG9ycy1zdG9wcyk7XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudCgkY29sb3IxLCAkY29sb3IyLCAkc3RvcDE6IDAsICRzdG9wMjogMTAwJSwgJGRlZzogMTgwZGVnKSB7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJGNvbG9yMSwgJGNvbG9yMSAkc3RvcDEsICRjb2xvcjIgJHN0b3AxLCAkY29sb3IyICRzdG9wMik7XHJcbn1cclxuIiwiLyogaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rvb2xzL2Nzcy9yZXNldC8gXHJcbiAgIHYyLjAgfCAyMDExMDEyNlxyXG4gICBMaWNlbnNlOiBub25lIChwdWJsaWMgZG9tYWluKVxyXG4qL1xyXG5cclxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXHJcbmEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcclxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxyXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxyXG5iLCB1LCBpLCBjZW50ZXIsXHJcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXHJcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxyXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcclxuYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsIFxyXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIFxyXG5tZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcclxudGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgZm9udC1zaXplOiAxMDAlO1xyXG4gIGZvbnQ6IGluaGVyaXQ7XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcbi8qIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnMgKi9cclxuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgXHJcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuYm9keSB7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbn1cclxub2wsIHVsIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcbmJsb2NrcXVvdGUsIHEge1xyXG4gIHF1b3Rlczogbm9uZTtcclxufVxyXG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcclxucTpiZWZvcmUsIHE6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIGNvbnRlbnQ6IG5vbmU7XHJcbn1cclxudGFibGUge1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbn1cclxuIiwiOnJvb3Qge1xyXG4gICAgZm9udC1zaXplOiAxMDAlO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICAgIEBpbmNsdWRlIGZvbnQoJ0Zvcm1hLU1pY3JvJywgbm9ybWFsLCAwLCAwLCA0KTtcclxufVxyXG5cclxuYixcclxuc3Ryb25nIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG5pLFxyXG5lbSB7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbnAge1xyXG4gICAgQGluY2x1ZGUgZm9udCgnRm9ybWEtVGV4dCcsIG5vcm1hbCwgMSwgMiwgNCwgbWFyZ2luLWJvdHRvbSwgcGFkZGluZy10b3ApO1xyXG59XHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuICAgIEBpbmNsdWRlIGZvbnQoJ0Zvcm1hLU1pY3JvJywgbm9ybWFsLCAwLCAwLCA0KTtcclxufVxyXG5cclxuLmMtdGl0bGUge1xyXG4gICAgJi0taDEge1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQoJ0V1cm9zdGlsZScsIGJvbGQsICA0LCA2LCAxNiwgbWFyZ2luLWJvdHRvbSwgcGFkZGluZy10b3ApO1xyXG4gICAgICAgIEBpbmNsdWRlIGNzcy1sb2NrKC0wLjY1KiRzcCwgLTAuODEyNSokc3AsIGxldHRlci1zcGFjaW5nKTtcclxuICAgICAgICBjb2xvcjogJG9mZndoaXRlO1xyXG4gICAgfVxyXG4gICAgJi0taDIge1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQoJ0V1cm9zdGlsZScsIGJvbGQsIDMsIDQsIDQsIG1hcmdpbi1ib3R0b20sIHBhZGRpbmctdG9wKTtcclxuICAgICAgICBAaW5jbHVkZSBjc3MtbG9jaygtMC4yNSokc3AsIC0wLjM1KiRzcCwgbGV0dGVyLXNwYWNpbmcpO1xyXG4gICAgfVxyXG4gICAgJi0taDMge1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQoJ0Zvcm1hLUJhbm5lcicsIG5vcm1hbCwgMiwgMywgNCwgbWFyZ2luLWJvdHRvbSwgcGFkZGluZy10b3ApO1xyXG4gICAgfVxyXG4gICAgJi0taDQge1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQoJ0Zvcm1hLURlY2snLCBub3JtYWwsIDEsIDIsIDQsIG1hcmdpbi1ib3R0b20sIHBhZGRpbmctdG9wKTtcclxuICAgIH1cclxuICAgICYtLWg1IHsgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgZm9udCgnRm9ybWEtVGV4dCcsIG5vcm1hbCwgMC41LCAxLCA0LCBtYXJnaW4tYm90dG9tLCBwYWRkaW5nLXRvcCk7XHJcbiAgICB9XHJcbiAgICAmLS1oNiB7ICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQoJ0Zvcm1hLVRleHQnLCBub3JtYWwsIDAuMjUsIDAuNSwgNCwgbWFyZ2luLWJvdHRvbSwgcGFkZGluZy10b3ApO1xyXG4gICAgfVxyXG59XHJcblxyXG5zbWFsbCB7XHJcbiAgICBAaW5jbHVkZSBmb250KCdGb3JtYS1UZXh0Jywgbm9ybWFsLCAtMSwgLTEsIDQsIG1hcmdpbi1ib3R0b20sIHBhZGRpbmctdG9wKTtcclxufVxyXG5cclxuc3VwLFxyXG5zdWIge1xyXG4gICAgZm9udC1zaXplOiA3NSU7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IHUoMC4xMjVyZW0pO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiB1KC0wLjRyZW0pO1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG5zdWIge1xyXG4gICAgdG9wOiB1KDAuNHJlbSk7XHJcbn1cclxuIiwiQGZ1bmN0aW9uIHBhcnNlLWludCgkbikge1xyXG4gICAgQHJldHVybiAkbiAvICgkbiAqIDAgKyAxKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHVuaXQtY29udmVydCgkdmFsdWVzKSB7XHJcbiAgICAkbGlzdDogKCk7XHJcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XHJcbiAgICAgICAgQGlmICh0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyKSBhbmQgKCR2YWx1ZSAhPSAwKSB7XHJcbiAgICAgICAgICAgICRzcHQ6IHVuaXQoJHZhbHVlKTtcclxuICAgICAgICAgICAgJHZhbDogcGFyc2UtaW50KCR2YWx1ZSk7XHJcbiAgICAgICAgICAgIEBpZiAkZ2V0LXB4IGFuZCAkc3B0ID09IHJlbSB7XHJcbiAgICAgICAgICAgICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAoJHZhbCoxNikgKyBweCk7XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgJHNwdCA9PSByZW0ge1xyXG4gICAgICAgICAgICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgKCR2YWwqMTYpICsgcHgpO1xyXG4gICAgICAgICAgICB9IEBlbHNlIGlmICRzcHQgPT0gcHgge1xyXG4gICAgICAgICAgICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgKCR2YWwvMTYpICsgcmVtKTtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBAd2FybiAnVGhlcmUgaXMgbm8gdW5pdCBjb252ZXJzaW9uIGZvciAjeyRzcHR9JztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAcmV0dXJuICRsaXN0KCk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBsb2NrLWNhbGMoJG1pbi1zaXplLCAkbWF4LXNpemUsICRtaW4td2lkdGgsICRtYXgtd2lkdGgpIHtcclxuICAgICRzaXplLWRlbHRhOiBwYXJzZS1pbnQoJG1heC1zaXplIC0gJG1pbi1zaXplKTtcclxuICAgICR2aWV3cG9ydC1kZWx0YTogcGFyc2UtaW50KCRtYXgtd2lkdGggLSAkbWluLXdpZHRoKTtcclxuICAgICRzaXplLXNsb3BlOiAkc2l6ZS1kZWx0YSAvICR2aWV3cG9ydC1kZWx0YTtcclxuICAgICR2aWV3cG9ydC1pbmNyZWFzZTogJHNpemUtc2xvcGUqMTAwI3t2d307XHJcbiAgICAkemVyby1zaXplOiAkbWluLXNpemUgLSAkc2l6ZS1zbG9wZSAqICRtaW4td2lkdGg7XHJcblxyXG4gICAgQHJldHVybiBjYWxjKCN7JHZpZXdwb3J0LWluY3JlYXNlfSArICN7JHplcm8tc2l6ZX0pO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZ2x5cGgteC1oZWlnaHQoJGZvbnQtZmFtaWx5KSB7XHJcbiAgICBAaWYgKCRmb250LWZhbWlseSA9PSAnRXVyb3N0aWxlJykge1xyXG4gICAgICAgIEByZXR1cm4gMC42O1xyXG4gICAgfSBAZWxzZSBpZiAoJGZvbnQtZmFtaWx5ID09ICdGb3JtYS1UZXh0Jykgb3IgKCRmb250LWZhbWlseSA9PSAnRm9ybWEtTWljcm8nKSB7XHJcbiAgICAgICAgQHJldHVybiAwLjcwMjtcclxuICAgIH1cclxuICAgIEByZXR1cm4gMC43MjU7XHJcbn1cclxuXHJcbi8vIFJldHVybnMgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYCBhcyBhIGZsb2F0IChiZXR3ZWVuIDAgYW5kIDEpXHJcbi8vIDEgaXMgcHVyZSB3aGl0ZSwgMCBpcyBwdXJlIGJsYWNrXHJcbi8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yXHJcbi8vIEByZXR1cm4ge051bWJlcn1cclxuLy8gQGxpbmsgaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZiBSZWZlcmVuY2VcclxuQGZ1bmN0aW9uIGx1bWluYW5jZSgkY29sb3IpIHtcclxuICAgICRyZ2I6IChcclxuICAgICAgICAncmVkJzogcmVkKCRjb2xvciksXHJcbiAgICAgICAgJ2dyZWVuJzogZ3JlZW4oJGNvbG9yKSxcclxuICAgICAgICAnYmx1ZSc6IGJsdWUoJGNvbG9yKVxyXG4gICAgKTtcclxuICAgIEByZXR1cm4gY2VpbCgoKG1hcC1nZXQoJHJnYiwgJ3JlZCcpICogMC4yMTI2KSArIChtYXAtZ2V0KCRyZ2IsICdncmVlbicpICogMC43MTUyKSArIChtYXAtZ2V0KCRyZ2IsICdibHVlJykgKiAwLjA3MjIpKSAqIDEwMC8yNTUpOyAgICBcclxufVxyXG5cclxuLy8gY29sb3IgdGludCAmIHNoYWRlIGZ1bmN0aW9uc1xyXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50YWdlKSB7XHJcbiAgICBAcmV0dXJuIG1peCgjRkZGLCAkY29sb3IsICRwZXJjZW50YWdlKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnRhZ2UpIHtcclxuICAgIEByZXR1cm4gbWl4KCMwMDAsICRjb2xvciwgJHBlcmNlbnRhZ2UpO1xyXG59XHJcblxyXG4vLyBjb2xvciB0aW50ICYgc2hhZGUgZnVuY3Rpb25zIGJhc2VkIG9uIE3DvGxsZXIgVGhlb3J5IFxyXG4vLyBsaW5rOiBodHRwOi8vd3d3LmNvbG91cmxvdmVycy5jb20vYmxvZy8yMDA3LzA5LzAyL3RoZS1tdWxsZXItZm9ybXVsYS1vci1wcmVkaWN0YWJsZS1jb2xvci1wcmVmZXJlbmNlc1xyXG5AZnVuY3Rpb24gdGludC1jaHJvbWEoJGNvbG9yLCAkcGVyY2VudGFnZSkge1xyXG4gICAgLy8gQHJldHVybiBtaXgoI0ZGRiwgYWRqdXN0LWh1ZSgkY29sb3IsIChsdW1pbmFuY2UoZ3JheXNjYWxlKCRjb2xvcikpKSAtIChsdW1pbmFuY2UoZ3JheXNjYWxlKG1peCgjMDAwLCAkY29sb3IsICRwZXJjZW50YWdlKSkpKSksICRwZXJjZW50YWdlKTtcclxuICAgIEBpZiBodWUoJGNvbG9yKSA8IDI0MCBhbmQgaHVlKCRjb2xvcikgPiA2MCB7XHJcbiAgICAgICAgQHJldHVybiB0aW50KGFkanVzdC1odWUoJGNvbG9yLCAoKGx1bWluYW5jZSgkY29sb3IpLShsdW1pbmFuY2UodGludCgkY29sb3IsICRwZXJjZW50YWdlKSkpKSkpLCAkcGVyY2VudGFnZSk7ICAgIFxyXG4gICAgfVxyXG4gICAgQHJldHVybiB0aW50KGFkanVzdC1odWUoJGNvbG9yLCAoKGx1bWluYW5jZSgkY29sb3IpLShsdW1pbmFuY2Uoc2hhZGUoJGNvbG9yLCAkcGVyY2VudGFnZSkpKSkpKSwgJHBlcmNlbnRhZ2UpOyAgICBcclxufVxyXG5cclxuQGZ1bmN0aW9uIHNoYWRlLWNocm9tYSgkY29sb3IsICRwZXJjZW50YWdlKSB7XHJcbiAgICAvLyBAcmV0dXJuIG1peCgjMDAwLCBhZGp1c3QtaHVlKCRjb2xvciwgKGx1bWluYW5jZShncmF5c2NhbGUoJGNvbG9yKSkpIC0gKGx1bWluYW5jZShncmF5c2NhbGUobWl4KCNGRkYsICRjb2xvciwgJHBlcmNlbnRhZ2UpKSkpKSwgJHBlcmNlbnRhZ2UpO1xyXG4gICAgQGlmIGh1ZSgkY29sb3IpIDwgMjQwIGFuZCBodWUoJGNvbG9yKSA+IDYwIHtcclxuICAgICAgICBAcmV0dXJuIHNoYWRlKGFkanVzdC1odWUoJGNvbG9yLCAoKGx1bWluYW5jZSgkY29sb3IpLShsdW1pbmFuY2Uoc2hhZGUoJGNvbG9yLCAkcGVyY2VudGFnZSkpKSkpKSwgJHBlcmNlbnRhZ2UpOyAgICBcclxuICAgIH1cclxuICAgIEByZXR1cm4gc2hhZGUoYWRqdXN0LWh1ZSgkY29sb3IsICgobHVtaW5hbmNlKCRjb2xvciktKGx1bWluYW5jZSh0aW50KCRjb2xvciwgJHBlcmNlbnRhZ2UpKSkpKSksICRwZXJjZW50YWdlKTsgICAgXHJcbn1cclxuXHJcbi8vIGEgYmV0dGVyIHdheSB0byBkZXRlcm1pbmUgaWYgYSBjb2xvciBpcyBcImxpZ2h0XCIgb3IgXCJkYXJrXCIgKGh0dHBzOi8vZ2l0aHViLmNvbS90aW1oZXR0bGVyL2NvbXBhc3MteWlxLWNvbG9yLWNvbnRyYXN0KVxyXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yKSB7XHJcbiAgICBAaWYgKHlpcS1pcy1saWdodCgkY29sb3IsIDEyOCkpIHtcclxuICAgICAgICBAcmV0dXJuIHNoYWRlKCRjb2xvciwgOTApO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHJldHVybiB0aW50KCRjb2xvciwgOTApO1xyXG4gICAgfVxyXG59XHJcbiIsIkBpbXBvcnQgJy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb2R1bGFyc2NhbGUtc2Fzcy9zdHlsZXNoZWV0cy9tb2R1bGFyc2NhbGUnO1xyXG5AaW1wb3J0ICcuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQnO1xyXG5AaW1wb3J0ICcuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zbGljZXIvc3R5bGVzaGVldHMvYnJlYWtwb2ludC1zbGljZXInO1xyXG5AaW1wb3J0ICcuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvbWF0aHNhc3MvZGlzdC9tYXRoJztcclxuXHJcbiRnZXQtcHg6IGZhbHNlICFkZWZhdWx0O1xyXG4kaXMtcHJpbnRlZDogZmFsc2UgIWdsb2JhbDtcclxuJHdvZmYyOiBmYWxzZTtcclxuJGZvbnQtc2l6ZS1hcmI6IGlmKCRpcy1wcmludGVkLCAxMiwgMTYpO1xyXG4kZm9udC1zaXplLXB4OiAkZm9udC1zaXplLWFyYioxcHg7XHJcbiRmb250LXNpemU6IGlmKCRpcy1wcmludGVkLCAoJGZvbnQtc2l6ZS1hcmIvMTIpKjFwdCwgKCRmb250LXNpemUtYXJiLzE2KSoxcmVtKTtcclxuJGxpbmUtaGVpZ2h0OiBpZigkaXMtcHJpbnRlZCwgMTQsIDI0KS8kZm9udC1zaXplLWFyYjtcclxuXHJcbiRtcy1iYXNlOiAkZm9udC1zaXplO1xyXG4kbXMtcmF0aW86IDEuNDtcclxuXHJcbiRzcDogJGZvbnQtc2l6ZSoxMC8kZm9udC1zaXplLWFyYjtcclxuJHNwLS15OiAkc3AqMi40O1xyXG5cclxuJHNlcmlmOiAoR2VvcmdpYSwgQ2FtYnJpYSwgJ1RpbWVzIE5ldyBSb21hbicsIFRpbWVzLCBzZXJpZik7XHJcbiRzYW5zOiAoJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZik7XHJcbiRzeXN0ZW0tZm9udHM6ICgtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgJ0FwcGxlIENvbG9yIEVtb2ppJywgJ1NlZ29lIFVJIEVtb2ppJywgJ1NlZ29lIFVJIFN5bWJvbCcpO1xyXG4kZm9udC1zdGFjazogJHNhbnMgIWdsb2JhbDtcclxuXHJcbi8vIFBhZ2Ugc2l6ZXMgLSBicmVha3BvaW50cyhicCA9IEJyZWFrUG9pbnQpOlxyXG4kYnAtLWxnOiAkc3AqMTQzO1xyXG4kYnAtLW1kOiAkc3AqOTY7XHJcbiRicC0tc206ICRzcCo0MztcclxuXHJcbi8vIEJyZWFrcG9pbnRzXHJcbiRzbGljZXItYnJlYWtwb2ludHM6IDAgJGJwLS1zbSAkYnAtLW1kICRicC0tbGc7XHJcbiRzbGljZXItYnJlYWtwb2ludC1uYW1lczogJ3hzJyAnc20nICdtZCcgJ2xnJztcclxuJHNsaWNlci1hbnRpLW92ZXJsYXAtY29ycmVjdGlvbnM6IC0xcHgsIC0wLjA1cmVtO1xyXG4kYnJlYWtwb2ludC1uby1xdWVyeS13cmFwcGVyczogdHJ1ZTtcclxuIiwiJG9yYW5nZTogI0Y5NjAzMztcclxuJG9yYW5nZS0tZGFyazogc2hhZGUtY2hyb21hKCRvcmFuZ2UsIDEwKTtcclxuJG9mZndoaXRlOiAjRUJFOEUyO1xyXG4kZGVlcGJsdWU6ICMxODEyMzg7XHJcbiIsImh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmEge1xuICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQgMHM7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbiAwcztcbiAgICB9IFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgfSBcbn1cblxucCBzcGFuIHtcbiAgICBAaW5jbHVkZSB3b3JkLXdyYXAoKTtcbiAgICBmb250LXNpemU6IHBlcmNlbnRhZ2UoNTM5IC8gNDg5KTtcbiAgICBmb250LWZhbWlseTogJ0V1cm9zdGlsZScsICRmb250LXN0YWNrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5zdmcge1xuICAgIC5zdmctY29sb3ItLW9yYW5nZSB7XG4gICAgICAgIGZpbGw6ICRvcmFuZ2U7XG4gICAgfVxuICAgIC5zdmctY29sb3ItLWRlZXBibHVlIHtcbiAgICAgICAgZmlsbDogJGRlZXBibHVlO1xuICAgIH1cbn1cbiIsIi5oZWFkZXIge1xuICAgIGhlaWdodDogJHNwLS15KjQ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgnRXVyb3N0aWxlJywgYm9sZCwgNCwgNCwgNCk7XG4gICAgICAgIEBpbmNsdWRlIGNzcy1sb2NrKC0wLjI1KiRzcCwgLTAuNTUqJHNwLCBsZXR0ZXItc3BhY2luZyk7XG4gICAgICAgIGNvbG9yOiAkZGVlcGJsdWU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbG9nbyB7ICAgIFxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgZmlsbDogJGRlZXBibHVlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDUlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCIuZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltZy9iZy0tb3JhbmdlLnBuZykgMCAwIHJlcGVhdCBmaXhlZCAkZGVlcGJsdWU7XG4gICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgLmFzaWRlX19zdGlja3ktd3JhcHBlciB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMzA0cHg7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICRvZmZ3aGl0ZTtcbiAgICB9XG4gICAgYSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRvZmZ3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19jb2xvcGhvbiB7XG4gICAgICAgIGNvbG9yOiAkb2Zmd2hpdGU7XG4gICAgICAgIG1hcmdpbi10b3A6ICRzcC0teTtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdFdXJvc3RpbGUnLCAkc2FucztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCgnRm9ybWEtTWljcm8nLCBub3JtYWwsIC0wLjUsIDAsIDIpO1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICRzcCowLjIgMCAtJHNwKjAuMjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtJHNwKjAuMjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEyMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fY29weXJpZ2h0IHtcbiAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgY29sb3I6ICRvZmZ3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnRm9ybWEtTWljcm8nLCAkZm9udC1zdGFjaztcbiAgICAgICAgfSAgICAgICAgXG4gICAgfVxufVxuIiwiLmFzaWRlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltZy9iZy0tb3JhbmdlLnBuZykgMCAwIHJlcGVhdCBmaXhlZCAkb2Zmd2hpdGU7XG4gICAgJl9fc3RpY2t5LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgICZfX2xpc3Qge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogJHNwKjM7XG4gICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gOXB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgb3BhY2l0eTogMC45OTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHdpZHRoOiAkc3AqMjY7XG4gICAgfVxuICAgICZfX2l0ZW0ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3AtLXk7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubGluZSB7XG4gICAgd2lkdGg6IDFweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlLS1kYXJrO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogMTA7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBAaW5jbHVkZSBmcm9tKDIpIHtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cbiAgICBAaW5jbHVkZSBmcm9tKDMpIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgJi0tbGlnaHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZS1jaHJvbWEoJG9mZndoaXRlLCA0MCk7XG4gICAgfVxuICAgICYtLXZlcnRpY2FsIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDU7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTUwdncgKyA1MCUpKTtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luOiAwIGNhbGMoLTUwdncgKyA1MCUpO1xuICAgICAgICB0b3A6IC0kc3AtLXkqNDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBmcm9tKDMpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS1zdGFydCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiBjb2wgLyBzcGFuIDE7XG4gICAgICAgIGdyaWQtcm93OiByb3cgLyBzcGFuIDEwO1xuICAgICAgICBoZWFkZXIgJiB7XG4gICAgICAgICAgICBncmlkLXJvdzogcm93IC8gc3BhbiA1O1xuICAgICAgICB9XG4gICAgfVxuICAgICYtLTFhIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IGNvbCAzIC8gc3BhbiAxO1xuICAgICAgICBncmlkLXJvdzogcm93IC8gc3BhbiAxMDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIEBpbmNsdWRlIGZyb20oMykge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGNvbCA2IC8gc3BhbiAxO1xuICAgICAgICB9XG4gICAgICAgIGhlYWRlciAmIHtcbiAgICAgICAgICAgIGdyaWQtcm93OiByb3cgLyBzcGFuIDU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi0tMWIge1xuICAgICAgICBncmlkLWNvbHVtbjogY29sIDQgLyBzcGFuIDE7XG4gICAgICAgIGdyaWQtcm93OiByb3cgLyBzcGFuIDEwO1xuICAgICAgICBAaW5jbHVkZSBmcm9tKDMpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBjb2wgNyAvIHNwYW4gMTtcbiAgICAgICAgfVxuICAgICAgICBoZWFkZXIgJiB7XG4gICAgICAgICAgICBncmlkLXJvdzogcm93IC8gc3BhbiA1O1xuICAgICAgICB9XG4gICAgfVxuICAgICYtLTJhIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZ3JpZC1yb3c6IHJvdyAvIHNwYW4gMTA7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBAaW5jbHVkZSBmcm9tKDIpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBjb2wgNCAvIHNwYW4gMTsgICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBmcm9tKDMpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBjb2wgNyAvIHNwYW4gMTtcbiAgICAgICAgfVxuICAgICAgICBoZWFkZXIgJiB7XG4gICAgICAgICAgICBncmlkLXJvdzogcm93IC8gc3BhbiA1O1xuICAgICAgICB9XG4gICAgfVxuICAgICYtLTJiIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZ3JpZC1yb3c6IHJvdyAvIHNwYW4gMTA7XG4gICAgICAgIEBpbmNsdWRlIGZyb20oMikge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDUgLyBzcGFuIDE7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgZnJvbSgzKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogY29sIDggLyBzcGFuIDE7XG4gICAgICAgIH1cbiAgICAgICAgaGVhZGVyICYge1xuICAgICAgICAgICAgZ3JpZC1yb3c6IHJvdyAvIHNwYW4gNTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS0zYSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGZyb20oMykge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogY29sIDggLyBzcGFuIDE7XG4gICAgICAgICAgICBncmlkLXJvdzogcm93IC8gc3BhbiAxMDtcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICAgICAgaGVhZGVyICYge1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiByb3cgLyBzcGFuIDU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi0tM2Ige1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBmcm9tKDMpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGNvbCA5IC8gc3BhbiAxO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IHJvdyAvIHNwYW4gMTA7XG4gICAgICAgICAgICBoZWFkZXIgJiB7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IHJvdyAvIHNwYW4gNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS1lbmQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBmcm9tKDMpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGNvbCA5IC8gc3BhbiAxO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IHJvdyAvIHNwYW4gMTA7XG4gICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgICAgIGhlYWRlciAmIHtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogcm93IC8gc3BhbiA1O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYtLXYxIHtcbiAgICAgICAgZ3JpZC1yb3c6IHJvdyA0O1xuICAgICAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gICAgfVxuICAgICYtLXYyIHtcbiAgICAgICAgZ3JpZC1yb3c6IHJvdyA1O1xuICAgIH1cbiAgICAmLS12MyB7XG4gICAgICAgIGdyaWQtcm93OiByb3cgMjtcbiAgICAgICAgYWxpZ24tc2VsZjogZW5kO1xuICAgIH1cbiAgICAmLS12NCB7XG4gICAgICAgIGdyaWQtcm93OiByb3cgMztcbiAgICB9XG4gICAgJi0tdjUge1xuICAgICAgICBncmlkLXJvdzogcm93IDY7XG4gICAgICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgICB9XG59XG4iLCIuaW5kZXgge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBjb2xvcjogJGRlZXBibHVlO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi8uLi9hc3NldHMvaW1nL2JnLS1vZmZ3aGl0ZS5wbmcpIDAgMCByZXBlYXQgZml4ZWQgJG9yYW5nZTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgcGFkZGluZy10b3A6ICRzcC0teSo1O1xufVxuXG4ubWFpbiB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5waG90b2dyYXBoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWl4LWJsZW5kLW1vZGU6IHNjcmVlbjtcbiAgICAgICAgLy8gbWl4LWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogdG9wIGxlZnQ7XG4gICAgICAgIG9wYWNpdHk6IDAuMDU7XG4gICAgfVxuICAgICY6aG92ZXIgaW1nIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi50dXJpbmctY2FudmFzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMXB4O1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgcmlnaHQ6IC0xcHg7XG4gICAgYm90dG9tOiAtMXB4O1xuICAgIHdpZHRoOiAxMDElO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG59XG5cbi5wc2V1ZG9oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi8uLi9hc3NldHMvaW1nL2JnLS1vcmFuZ2UucG5nKSAwIDAgcmVwZWF0IGZpeGVkICRvZmZ3aGl0ZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAkc3AtLXkqNDtcbiAgICB6LWluZGV4OiAwO1xufVxuXG4uaW50cm8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBncmlkLWdhcDogJHNwLS15ICRzcCozO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEwLCBbY29sXSAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIFtyb3ddIGF1dG8pO1xuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250KCdGb3JtYS1EZWNrJywgbm9ybWFsLCAxLCAzLCA4LCBtYXJnaW4tYm90dG9tLCBwYWRkaW5nLXRvcCk7XG4gICAgICAgIG1hcmdpbi10b3A6ICRzcC0teTtcbiAgICAgICAgaHlwaGVuczogbWFudWFsO1xuICAgICAgICBjb2xvcjogJG9mZndoaXRlO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNzcy1sb2NrKC0wLjAyNSokc3AsIC0wLjIqJHNwLCBsZXR0ZXItc3BhY2luZyk7XG4gICAgICAgICAgICBAaW5jbHVkZSB3b3JkLXdyYXAoKTtcbiAgICAgICAgfVxuICAgICAgICBkZWwge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgbGVmdDogLTJweDtcbiAgICAgICAgICAgICAgICByaWdodDogLTJweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGRlZXBibHVlO1xuICAgICAgICAgICAgICAgIHRvcDogY2FsYygwLjVlbSArIDIuNXB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFib3V0IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltZy9iZy0tb3JhbmdlLnBuZykgMCAwIHJlcGVhdCBmaXhlZCAkb2Zmd2hpdGU7XG4gICAgaDIge1xuICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICB9XG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoJ0Zvcm1hLU1pY3JvJywgbm9ybWFsLCAxLCAyLCA0LCBtYXJnaW4tYm90dG9tLCBwYWRkaW5nLXRvcCk7XG4gICAgfVxufVxuXG4uc2FtcGxlIHtcbiAgICAmX19hbmNob3Ige1xuICAgICAgICBjdXJzb3I6IHVybCguLi8uLi9pbWcvY3Vyc29yLnN2ZykgMCAxMiwgYXV0bztcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuc2FtcGxlX19pdGVtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgyLzMpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7JHNwLS15Kjh9KTtcbiAgICAgICAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBjb2xvcjtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIHotaW5kZXg6IC0xMDA7XG4gICAgICAgICYtLXBvcnRyYWl0IHtcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvMyk7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJEVOVjogREVWRUxPUDtcbkBjaGFyc2V0ICdVVEYtOCc7XG5cbkBpbXBvcnQgJy4uLy4uLy4uL3NvdXJjZS9hc3NldHMvY3NzLzAxX3NldHRpbmdzL1NldHRpbmdzJztcbkBpbXBvcnQgJy4uLy4uLy4uL3NvdXJjZS9hc3NldHMvY3NzLzAyX3Rvb2xzL1Rvb2xzJztcbkBpbXBvcnQgJy4uLy4uLy4uL3NvdXJjZS9hc3NldHMvY3NzLzAzX2dlbmVyaWMvR2VuZXJpYyc7XG5AaW1wb3J0ICcuLi8uLi8uLi9zb3VyY2UvYXNzZXRzL2Nzcy8wNF9wYXJ0aWFscy9QYXJ0aWFscyc7XG5AaW1wb3J0ICcuLi8uLi8uLi9zb3VyY2UvYXNzZXRzL2Nzcy8wNV9jb21wb25lbnRzL0NvbXBvbmVudHMnO1xuXG4uZ3JpZCB7XG4gICAgbWF4LXdpZHRoOiAkYnAtLWxnO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGFkZGluZzogMCAkc3AqMztcbiAgICBncmlkLWdhcDogJHNwLS15ICRzcCozO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIFtjb2xdIDFmcikgbWlubWF4KG1pbi1jb250ZW50LCAkc3AqMyk7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNiwgW3Jvd10gMTB2aCk7XG4gICAgQGluY2x1ZGUgZnJvbSgyKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIFtjb2xdIDFmcikgbWlubWF4KG1pbi1jb250ZW50LCAkc3AqNik7XG4gICAgfVxuICAgIEBpbmNsdWRlIGZyb20oMykge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg5LCBbY29sXSAxZnIpIG1pbm1heChtaW4tY29udGVudCwgJHNwKjEwKTtcbiAgICB9XG4gICAgJi0tYSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDQsIFtyb3ddICRzcC0teSk7XG4gICAgICAgIGdyaWQtZ2FwOiAwICRzcCozO1xuICAgIH1cbiAgICAmLS1iIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMTAsIFtyb3ddICRzcC0teSo0KTtcbiAgICB9XG4gICAgJl9faXRlbS0taGVhZGVyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IGNvbCAvIHNwYW4gMztcbiAgICAgICAgZ3JpZC1yb3c6IHJvdyAzIC8gc3BhbiAyO1xuICAgICAgICBAaW5jbHVkZSBmcm9tKDMpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBjb2wgMSAvIHNwYW4gNDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pdGVtLS1sb2dvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgZnJvbSgzKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogY29sIDggLyBzcGFuIDI7XG4gICAgICAgICAgICBncmlkLXJvdzogcm93IDEgLyBzcGFuIDQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJvdHRvbTogLSRzcC0teTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pdGVtLS1hIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzcC0teSozLzQ7XG4gICAgICAgIGdyaWQtY29sdW1uOiBjb2wgMSAvIHNwYW4gNDtcbiAgICAgICAgZ3JpZC1yb3c6IHJvdyA0IC8gc3BhbiA2O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBwYWRkaW5nOiAwIDAgJHNwLS15KjQ7XG4gICAgICAgIEBpbmNsdWRlIGZyb20oMykge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGNvbCA0IC8gc3BhbiA1O1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2l0ZW0tLWIge1xuICAgICAgICBncmlkLWNvbHVtbjogY29sIDEgLyBzcGFuIDQ7XG4gICAgICAgIGdyaWQtcm93OiByb3cgNCAvIHNwYW4gNDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcGFkZGluZzogMCAwICRzcC0teSo0O1xuICAgICAgICBAaW5jbHVkZSBmcm9tKDMpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBjb2wgNCAvIHNwYW4gNTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcC0teSo0IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faXRlbS0tYyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc3AtLXkqMy80O1xuICAgICAgICBncmlkLWNvbHVtbjogY29sIDEgLyBzcGFuIDQ7XG4gICAgICAgIGdyaWQtcm93OiByb3cgMiAvIHNwYW4gNDtcbiAgICAgICAgQGluY2x1ZGUgZnJvbSgzKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogY29sIDQgLyBzcGFuIDU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faXRlbS0tZCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiBjb2wgMSAvIHNwYW4gNDtcbiAgICAgICAgZ3JpZC1yb3c6IHJvdyAzIC8gc3BhbiA1O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVlcGJsdWU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgQGluY2x1ZGUgZnJvbSgyKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogY29sIDIgLyBzcGFuIDM7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgZnJvbSgzKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogY29sIDIgLyBzcGFuIDQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faXRlbS0tZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiA1IC8gc3BhbiAxO1xuICAgICAgICBncmlkLXJvdzogcm93IC8gc3BhbiAxMDtcbiAgICAgICAgQGluY2x1ZGUgZnJvbSgzKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMTAgLyBzcGFuIDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faXRlbS0tZiB7XG4gICAgICAgIGdyaWQtY29sdW1uOiBjb2wgMSAvIHNwYW4gNDtcbiAgICAgICAgZ3JpZC1yb3c6IHJvdyA2IC8gc3BhbiAzO1xuICAgICAgICBAaW5jbHVkZSBmcm9tKDMpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBjb2wgNCAvIHNwYW4gNTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pdGVtLS1nIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IGNvbCAxIC8gc3BhbiA0O1xuICAgICAgICBncmlkLXJvdzogcm93IDEwIC8gc3BhbiAxO1xuICAgICAgICBAaW5jbHVkZSBmcm9tKDMpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBjb2wgNCAvIHNwYW4gNTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pdGVtLS1pbGx1c3RyYXRpb24ge1xuICAgICAgICBncmlkLWNvbHVtbjogY29sIDEgLyBzcGFuIDI7XG4gICAgICAgIGdyaWQtcm93OiByb3cgLyBzcGFuIDI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBAaW5jbHVkZSBmcm9tKDMpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBjb2wgMiAvIHNwYW4gMjtcbiAgICAgICAgfVxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBhdCgyKSB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAkc3AqMTI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sb29wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRGVmYXVsdCBWYXJpYWJsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJEJyZWFrcG9pbnQtU2V0dGluZ3M6IChcbiAgJ2RlZmF1bHQgbWVkaWEnOiBhbGwsXG4gICdkZWZhdWx0IGZlYXR1cmUnOiBtaW4td2lkdGgsXG4gICdkZWZhdWx0IHBhaXInOiB3aWR0aCxcblxuICAnZm9yY2UgYWxsIG1lZGlhIHR5cGUnOiBmYWxzZSxcbiAgJ3RvIGVtcyc6IGZhbHNlLFxuICAndHJhbnNmb3JtIHJlc29sdXRpb25zJzogdHJ1ZSxcblxuICAnbm8gcXVlcmllcyc6IGZhbHNlLFxuICAnbm8gcXVlcnkgZmFsbGJhY2tzJzogZmFsc2UsXG5cbiAgJ2Jhc2UgZm9udCBzaXplJzogMTZweCxcblxuICAnbGVnYWN5IHN5bnRheCc6IGZhbHNlXG4pO1xuXG4kYnJlYWtwb2ludDogKCkgIWRlZmF1bHQ7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiYnJlYWtwb2ludC9zZXR0aW5nc1wiO1xuQGltcG9ydCAnYnJlYWtwb2ludC9jb250ZXh0JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvaGVscGVycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L3BhcnNlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9uby1xdWVyeSc7XG5cbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcmVzcG9uZC10byc7XG5cbkBpbXBvcnQgXCJicmVha3BvaW50L2xlZ2FjeS1zZXR0aW5nc1wiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJyZWFrcG9pbnQgTWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgbGVnYWN5LXNldHRpbmdzLXdhcm5pbmc7XG5cbiAgLy8gUmVzZXQgY29udGV4dHNcbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG5cbiAgJGJyZWFrcG9pbnQ6IGJyZWFrcG9pbnQoJHF1ZXJ5LCBmYWxzZSk7XG5cbiAgJHF1ZXJ5LXN0cmluZzogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5Jyk7XG4gICRxdWVyeS1mYWxsYmFjazogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2ZhbGxiYWNrJyk7XG5cbiAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2NvbnRleHQgaG9sZGVyJykgIWdsb2JhbDtcbiAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5IGNvdW50JykgIWdsb2JhbDtcblxuICAvLyBBbGxvdyBmb3IgYW4gYXMtbmVlZGVkIG92ZXJyaWRlIG9yIHVzYWdlIG9mIG5vIHF1ZXJ5IGZhbGxiYWNrLlxuICBAaWYgJG5vLXF1ZXJ5ICE9IGZhbHNlIHtcbiAgICAkcXVlcnktZmFsbGJhY2s6ICRuby1xdWVyeTtcbiAgfVxuXG4gIEBpZiAkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2Uge1xuICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCduby1xdWVyeScsICRxdWVyeS1mYWxsYmFjayk7XG4gIH1cblxuICAvLyBQcmludCBPdXQgUXVlcnkgU3RyaW5nXG4gIEBpZiBub3QgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSB7XG4gICAgQG1lZGlhICN7JHF1ZXJ5LXN0cmluZ30ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSAhPSBmYWxzZSBvciBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpID09IHRydWUge1xuXG4gICAgJHR5cGU6IHR5cGUtb2YoYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpKTtcbiAgICAkcHJpbnQ6IGZhbHNlO1xuXG4gICAgQGlmICgkdHlwZSA9PSAnYm9vbCcpIHtcbiAgICAgICRwcmludDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCR0eXBlID09ICdzdHJpbmcnKSB7XG4gICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgICAgICRwcmludDogdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgKCR0eXBlID09ICdsaXN0Jykge1xuICAgICAgQGVhY2ggJHdyYXBwZXIgaW4gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSAkd3JhcHBlciB7XG4gICAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gV3JpdGUgRmFsbGJhY2tcbiAgICBAaWYgKCRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSkgYW5kICgkcHJpbnQgPT0gdHJ1ZSkge1xuICAgICAgJHR5cGUtZmFsbGJhY2s6IHR5cGUtb2YoJHF1ZXJ5LWZhbGxiYWNrKTtcblxuICAgICAgQGlmICgkdHlwZS1mYWxsYmFjayAhPSAnYm9vbCcpIHtcbiAgICAgICAgI3skcXVlcnktZmFsbGJhY2t9ICYge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xufVxuXG5cbkBtaXhpbiBtcSgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iXX0= */
