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,main,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{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}[hidden]{display:none}body{line-height:1}menu,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}.grid{box-sizing:border-box;display:flex;flex-direction:column;padding:0 10px}.grid--container{margin:0 auto;max-width:1200px;width:100%}.grid--no-gutters{padding:0}.grid--xs-no-gutters{margin:0}@media (min-width:544px){.grid--sm-no-gutters{margin:0}}@media (min-width:768px){.grid--md-no-gutters{margin:0}}@media (min-width:992px){.grid--lg-no-gutters{margin:0}}@media (min-width:1100px){.grid--xl-no-gutters{margin:0}}.row{box-sizing:border-box;display:flex;flex:0 1 100%;flex-direction:row;flex-wrap:wrap;list-style:none;margin:-20px -10px 20px;padding:0}.row:last-child{margin-bottom:0}.row--no-gutters{margin:0}.row--top{align-items:flex-start}.row--center{align-items:center}.row--bottom{align-items:flex-end}.row--reverse{flex-direction:row-reverse}.row--xs-no-gutters{margin:0}.row--xs-top{align-items:flex-start}.row--xs-center{align-items:center}.row--xs-bottom{align-items:flex-end}.row--xs-reverse{flex-direction:row-reverse}@media (min-width:544px){.row--sm-no-gutters{margin:0}.row--sm-top{align-items:flex-start}.row--sm-center{align-items:center}.row--sm-bottom{align-items:flex-end}.row--sm-reverse{flex-direction:row-reverse}}@media (min-width:768px){.row--md-no-gutters{margin:0}.row--md-top{align-items:flex-start}.row--md-center{align-items:center}.row--md-bottom{align-items:flex-end}.row--md-reverse{flex-direction:row-reverse}}@media (min-width:992px){.row--lg-no-gutters{margin:0}.row--lg-top{align-items:flex-start}.row--lg-center{align-items:center}.row--lg-bottom{align-items:flex-end}.row--lg-reverse{flex-direction:row-reverse}}@media (min-width:1100px){.row--xl-no-gutters{margin:0}.row--xl-top{align-items:flex-start}.row--xl-center{align-items:center}.row--xl-bottom{align-items:flex-end}.row--xl-reverse{flex-direction:row-reverse}}.col{box-sizing:border-box;flex:0 0 100%;flex-direction:column;max-width:100%;padding:20px 10px 0}.col--no-gutters{padding:0}.col--align-top{align-self:flex-start}.col--align-center{align-self:center}.col--align-bottom{align-self:flex-end}.col--first{order:-1}.col--last{order:1}.col--reset{order:0}.col--flex{display:flex}.col--xs-no-gutters{padding:0}.col--xs-align-top{align-self:flex-start}.col--xs-align-center{align-self:center}.col--xs-align-bottom{align-self:flex-end}.col--xs-first{order:-1}.col--xs-last{order:1}.col--xs-reset{order:0}.col--xs-flex{display:flex}.col--xs{flex-grow:1;flex-basis:0;max-width:100%}.col--xs-0{flex:0 0 0;max-width:0}.col--xs-1{flex:0 0 8.33333%;max-width:8.33333%}.col--xs-2{flex:0 0 16.66667%;max-width:16.66667%}.col--xs-3{flex:0 0 25%;max-width:25%}.col--xs-4{flex:0 0 33.33333%;max-width:33.33333%}.col--xs-5{flex:0 0 41.66667%;max-width:41.66667%}.col--xs-6{flex:0 0 50%;max-width:50%}.col--xs-7{flex:0 0 58.33333%;max-width:58.33333%}.col--xs-8{flex:0 0 66.66667%;max-width:66.66667%}.col--xs-9{flex:0 0 75%;max-width:75%}.col--xs-10{flex:0 0 83.33333%;max-width:83.33333%}.col--xs-11{flex:0 0 91.66667%;max-width:91.66667%}.col--xs-12{flex:0 0 100%;max-width:100%}.col--xs-offset-0{margin-left:0}.col--xs-offset-1{margin-left:8.33333%}.col--xs-offset-2{margin-left:16.66667%}.col--xs-offset-3{margin-left:25%}.col--xs-offset-4{margin-left:33.33333%}.col--xs-offset-5{margin-left:41.66667%}.col--xs-offset-6{margin-left:50%}.col--xs-offset-7{margin-left:58.33333%}.col--xs-offset-8{margin-left:66.66667%}.col--xs-offset-9{margin-left:75%}.col--xs-offset-10{margin-left:83.33333%}.col--xs-offset-11{margin-left:91.66667%}.col--xs-offset-12{margin-left:100%}@media (min-width:544px){.col--sm-no-gutters{padding:0}.col--sm-align-top{align-self:flex-start}.col--sm-align-center{align-self:center}.col--sm-align-bottom{align-self:flex-end}.col--sm-first{order:-1}.col--sm-last{order:1}.col--sm-reset{order:0}.col--sm-flex{display:flex}.col--sm{flex-grow:1;flex-basis:0;max-width:100%}.col--sm-0{flex:0 0 0;max-width:0}.col--sm-1{flex:0 0 8.33333%;max-width:8.33333%}.col--sm-2{flex:0 0 16.66667%;max-width:16.66667%}.col--sm-3{flex:0 0 25%;max-width:25%}.col--sm-4{flex:0 0 33.33333%;max-width:33.33333%}.col--sm-5{flex:0 0 41.66667%;max-width:41.66667%}.col--sm-6{flex:0 0 50%;max-width:50%}.col--sm-7{flex:0 0 58.33333%;max-width:58.33333%}.col--sm-8{flex:0 0 66.66667%;max-width:66.66667%}.col--sm-9{flex:0 0 75%;max-width:75%}.col--sm-10{flex:0 0 83.33333%;max-width:83.33333%}.col--sm-11{flex:0 0 91.66667%;max-width:91.66667%}.col--sm-12{flex:0 0 100%;max-width:100%}.col--sm-offset-0{margin-left:0}.col--sm-offset-1{margin-left:8.33333%}.col--sm-offset-2{margin-left:16.66667%}.col--sm-offset-3{margin-left:25%}.col--sm-offset-4{margin-left:33.33333%}.col--sm-offset-5{margin-left:41.66667%}.col--sm-offset-6{margin-left:50%}.col--sm-offset-7{margin-left:58.33333%}.col--sm-offset-8{margin-left:66.66667%}.col--sm-offset-9{margin-left:75%}.col--sm-offset-10{margin-left:83.33333%}.col--sm-offset-11{margin-left:91.66667%}.col--sm-offset-12{margin-left:100%}}@media (min-width:768px){.col--md-no-gutters{padding:0}.col--md-align-top{align-self:flex-start}.col--md-align-center{align-self:center}.col--md-align-bottom{align-self:flex-end}.col--md-first{order:-1}.col--md-last{order:1}.col--md-reset{order:0}.col--md-flex{display:flex}.col--md{flex-grow:1;flex-basis:0;max-width:100%}.col--md-0{flex:0 0 0;max-width:0}.col--md-1{flex:0 0 8.33333%;max-width:8.33333%}.col--md-2{flex:0 0 16.66667%;max-width:16.66667%}.col--md-3{flex:0 0 25%;max-width:25%}.col--md-4{flex:0 0 33.33333%;max-width:33.33333%}.col--md-5{flex:0 0 41.66667%;max-width:41.66667%}.col--md-6{flex:0 0 50%;max-width:50%}.col--md-7{flex:0 0 58.33333%;max-width:58.33333%}.col--md-8{flex:0 0 66.66667%;max-width:66.66667%}.col--md-9{flex:0 0 75%;max-width:75%}.col--md-10{flex:0 0 83.33333%;max-width:83.33333%}.col--md-11{flex:0 0 91.66667%;max-width:91.66667%}.col--md-12{flex:0 0 100%;max-width:100%}.col--md-offset-0{margin-left:0}.col--md-offset-1{margin-left:8.33333%}.col--md-offset-2{margin-left:16.66667%}.col--md-offset-3{margin-left:25%}.col--md-offset-4{margin-left:33.33333%}.col--md-offset-5{margin-left:41.66667%}.col--md-offset-6{margin-left:50%}.col--md-offset-7{margin-left:58.33333%}.col--md-offset-8{margin-left:66.66667%}.col--md-offset-9{margin-left:75%}.col--md-offset-10{margin-left:83.33333%}.col--md-offset-11{margin-left:91.66667%}.col--md-offset-12{margin-left:100%}}@media (min-width:992px){.col--lg-no-gutters{padding:0}.col--lg-align-top{align-self:flex-start}.col--lg-align-center{align-self:center}.col--lg-align-bottom{align-self:flex-end}.col--lg-first{order:-1}.col--lg-last{order:1}.col--lg-reset{order:0}.col--lg-flex{display:flex}.col--lg{flex-grow:1;flex-basis:0;max-width:100%}.col--lg-0{flex:0 0 0;max-width:0}.col--lg-1{flex:0 0 8.33333%;max-width:8.33333%}.col--lg-2{flex:0 0 16.66667%;max-width:16.66667%}.col--lg-3{flex:0 0 25%;max-width:25%}.col--lg-4{flex:0 0 33.33333%;max-width:33.33333%}.col--lg-5{flex:0 0 41.66667%;max-width:41.66667%}.col--lg-6{flex:0 0 50%;max-width:50%}.col--lg-7{flex:0 0 58.33333%;max-width:58.33333%}.col--lg-8{flex:0 0 66.66667%;max-width:66.66667%}.col--lg-9{flex:0 0 75%;max-width:75%}.col--lg-10{flex:0 0 83.33333%;max-width:83.33333%}.col--lg-11{flex:0 0 91.66667%;max-width:91.66667%}.col--lg-12{flex:0 0 100%;max-width:100%}.col--lg-offset-0{margin-left:0}.col--lg-offset-1{margin-left:8.33333%}.col--lg-offset-2{margin-left:16.66667%}.col--lg-offset-3{margin-left:25%}.col--lg-offset-4{margin-left:33.33333%}.col--lg-offset-5{margin-left:41.66667%}.col--lg-offset-6{margin-left:50%}.col--lg-offset-7{margin-left:58.33333%}.col--lg-offset-8{margin-left:66.66667%}.col--lg-offset-9{margin-left:75%}.col--lg-offset-10{margin-left:83.33333%}.col--lg-offset-11{margin-left:91.66667%}.col--lg-offset-12{margin-left:100%}}@media (min-width:1100px){.col--xl-no-gutters{padding:0}.col--xl-align-top{align-self:flex-start}.col--xl-align-center{align-self:center}.col--xl-align-bottom{align-self:flex-end}.col--xl-first{order:-1}.col--xl-last{order:1}.col--xl-reset{order:0}.col--xl-flex{display:flex}.col--xl{flex-grow:1;flex-basis:0;max-width:100%}.col--xl-0{flex:0 0 0;max-width:0}.col--xl-1{flex:0 0 8.33333%;max-width:8.33333%}.col--xl-2{flex:0 0 16.66667%;max-width:16.66667%}.col--xl-3{flex:0 0 25%;max-width:25%}.col--xl-4{flex:0 0 33.33333%;max-width:33.33333%}.col--xl-5{flex:0 0 41.66667%;max-width:41.66667%}.col--xl-6{flex:0 0 50%;max-width:50%}.col--xl-7{flex:0 0 58.33333%;max-width:58.33333%}.col--xl-8{flex:0 0 66.66667%;max-width:66.66667%}.col--xl-9{flex:0 0 75%;max-width:75%}.col--xl-10{flex:0 0 83.33333%;max-width:83.33333%}.col--xl-11{flex:0 0 91.66667%;max-width:91.66667%}.col--xl-12{flex:0 0 100%;max-width:100%}.col--xl-offset-0{margin-left:0}.col--xl-offset-1{margin-left:8.33333%}.col--xl-offset-2{margin-left:16.66667%}.col--xl-offset-3{margin-left:25%}.col--xl-offset-4{margin-left:33.33333%}.col--xl-offset-5{margin-left:41.66667%}.col--xl-offset-6{margin-left:50%}.col--xl-offset-7{margin-left:58.33333%}.col--xl-offset-8{margin-left:66.66667%}.col--xl-offset-9{margin-left:75%}.col--xl-offset-10{margin-left:83.33333%}.col--xl-offset-11{margin-left:91.66667%}.col--xl-offset-12{margin-left:100%}}.text--left{text-align:left}.text--right{text-align:right}.text--center{text-align:center}.text--xs-right{text-align:right}.text--xs-left{text-align:left}.text--xs-center{text-align:center}@media (min-width:544px){.text--sm-right{text-align:right}.text--sm-left{text-align:left}.text--sm-center{text-align:center}}@media (min-width:768px){.text--md-right{text-align:right}.text--md-left{text-align:left}.text--md-center{text-align:center}}@media (min-width:992px){.text--lg-right{text-align:right}.text--lg-left{text-align:left}.text--lg-center{text-align:center}}@media (min-width:1100px){.text--xl-right{text-align:right}.text--xl-left{text-align:left}.text--xl-center{text-align:center}}*{box-sizing:border-box}body{color:#5c5c5c;font-display:swap;font-family:Montserrat,sans-serif}iframe,img{height:auto;max-width:100%}img{vertical-align:middle}sup{font-size:.75em;vertical-align:super}hr{margin-bottom:16px;margin-top:20px;background:#d9d9da;border:0;height:5px;outline:0;width:calc(100% + 1.25em)}@media only screen and (min-width:544px){hr{margin-bottom:calc(16px + (800vw - 4352px)/556)}}@media only screen and (min-width:1100px){hr{margin-bottom:24px}}@media only screen and (min-width:544px){hr{margin-top:calc(20px + (1200vw - 6528px)/556)}}@media only screen and (min-width:1100px){hr{margin-top:32px}}.grid{max-width:1100px}.row:not(.row--xs-no-gutters){margin-top:-12px}@media only screen and (min-width:544px){.row:not(.row--xs-no-gutters){margin-top:calc(-12px + (-800vw - -4352px)/556)}}@media only screen and (min-width:1100px){.row:not(.row--xs-no-gutters){margin-top:-20px}}.col:not(.col--xs-no-gutters){padding-top:12px}@media only screen and (min-width:544px){.col:not(.col--xs-no-gutters){padding-top:calc(12px + (800vw - 4352px)/556)}}@media only screen and (min-width:1100px){.col:not(.col--xs-no-gutters){padding-top:20px}}@media (max-width:47.99em){.to-md-is-hidden{display:none}}@media (min-width:48em){.from-md-is-hidden{display:none}}.store h1{font-size:22px;color:#8f0000;font-weight:900;text-transform:uppercase}@media only screen and (min-width:544px){.store h1{font-size:calc(22px + (1100vw - 5984px)/556)}}@media only screen and (min-width:1100px){.store h1{font-size:33px}}.store h2.s-heading{font-size:20px;padding-top:10px;color:#8f0000;font-weight:900;text-transform:uppercase}@media only screen and (min-width:544px){.store h2.s-heading{font-size:calc(20px + (600vw - 3264px)/556)}}@media only screen and (min-width:1100px){.store h2.s-heading{font-size:26px}}@media only screen and (min-width:544px){.store h2.s-heading{padding-top:calc(10px + (1200vw - 6528px)/556)}}@media only screen and (min-width:1100px){.store h2.s-heading{padding-top:22px}}.store p{font-size:17px;padding-top:12px;color:#1e245f;line-height:1.125em}@media only screen and (min-width:544px){.store p{font-size:calc(17px + (431vw - 2344.64px)/556)}}@media only screen and (min-width:1100px){.store p{font-size:21.31px}}@media only screen and (min-width:544px){.store p{padding-top:calc(12px + (2200vw - 11968px)/556)}}@media only screen and (min-width:1100px){.store p{padding-top:34px}}.store p:first-of-type{padding-top:0}.store strong{font-weight:700}.store em{font-style:italic}.store .s-wysiwyg p+ul{padding-top:12px}@media only screen and (min-width:544px){.store .s-wysiwyg p+ul{padding-top:calc(12px + (400vw - 2176px)/556)}}@media only screen and (min-width:1100px){.store .s-wysiwyg p+ul{padding-top:16px}}.store .s-wysiwyg ul+p{padding-top:.46926em}.store .s-wysiwyg ul li{font-size:17px;margin-left:16px;padding-left:12px;color:#1e245f;padding-bottom:.56312em;position:relative}@media only screen and (min-width:544px){.store .s-wysiwyg ul li{font-size:calc(17px + (431vw - 2344.64px)/556)}}@media only screen and (min-width:1100px){.store .s-wysiwyg ul li{font-size:21.31px}}@media only screen and (min-width:544px){.store .s-wysiwyg ul li{margin-left:calc(16px + (1600vw - 8704px)/556)}}@media only screen and (min-width:1100px){.store .s-wysiwyg ul li{margin-left:32px}}@media only screen and (min-width:544px){.store .s-wysiwyg ul li{padding-left:calc(12px + (1400vw - 7616px)/556)}}@media only screen and (min-width:1100px){.store .s-wysiwyg ul li{padding-left:26px}}.store .s-wysiwyg ul li:before{content:"";background-color:#8f0000;display:block;height:8px;left:0;position:absolute;top:calc(.5em - 4px);width:8px}@media (max-width:47.99em){.store .s-txt--title{padding-top:0}}@media (min-width:48em) and (max-width:61.99em){.store .s-txt--title{padding-top:calc(10px + (1200vw - 6528px)/556)}}@media (min-width:68.75em){.store .s-txt--title{padding-top:1.375em}}.store .s-txt--sub{font-size:17px;color:#9b9999;padding-top:0}@media only screen and (min-width:544px){.store .s-txt--sub{font-size:calc(17px + (431vw - 2344.64px)/556)}}@media only screen and (min-width:1100px){.store .s-txt--sub{font-size:21.31px}}.store .s-txt--notice{font-size:14px;color:#9b9999}@media only screen and (min-width:544px){.store .s-txt--notice{font-size:calc(14px + (200vw - 1088px)/556)}}@media only screen and (min-width:1100px){.store .s-txt--notice{font-size:16px}}.store .s-txt--notice+p{padding-top:10px}@media only screen and (min-width:544px){.store .s-txt--notice+p{padding-top:calc(10px + (1200vw - 6528px)/556)}}@media only screen and (min-width:1100px){.store .s-txt--notice+p{padding-top:22px}}.store .s-txt--danger,.store .s-txt--red{color:#8f0000}.store .s-txt--purple{color:#1e245f}.store .s-title{font-size:20px;text-shadow:2px 2px 2px rgba(0,0,0,.2),-2px 2px 2px rgba(0,0,0,.2),2px -2px 2px rgba(0,0,0,.2),-2px -2px 2px rgba(0,0,0,.2);color:#fff;font-weight:400;line-height:1.388em;text-align:right;text-transform:uppercase;padding-top:0}@media only screen and (min-width:544px){.store .s-title{font-size:calc(20px + (4100vw - 22304px)/556)}}@media only screen and (min-width:1100px){.store .s-title{font-size:61px}}.store .s-title strong{font-weight:900}.store .s-title strong:first-of-type{font-size:30px;margin-right:0}@media only screen and (min-width:544px){.store .s-title strong:first-of-type{font-size:calc(30px + (5500vw - 29920px)/556)}}@media only screen and (min-width:1100px){.store .s-title strong:first-of-type{font-size:85px}}@media only screen and (min-width:544px){.store .s-title strong:first-of-type{margin-right:calc((10000vw - 54400px)/556)}}@media only screen and (min-width:1100px){.store .s-title strong:first-of-type{margin-right:100px}}.store .s-title strong:last-of-type{font-size:42px}@media only screen and (min-width:544px){.store .s-title strong:last-of-type{font-size:calc(42px + (7100vw - 38624px)/556)}}@media only screen and (min-width:1100px){.store .s-title strong:last-of-type{font-size:113px}}.store .s-title span{font-size:26px}@media only screen and (min-width:544px){.store .s-title span{font-size:calc(26px + (5500vw - 29920px)/556)}}@media only screen and (min-width:1100px){.store .s-title span{font-size:81px}}.store .s-link{transition:.3s}.store .s-link--light{color:#9b9999}.store .s-link--light:hover{color:#8f0000;text-decoration:none}.s-btn{font-family:Montserrat,sans-serif;font-size:inherit;line-height:.875em;text-transform:uppercase;background:#8f0000;border:2px solid #8f0000;display:inline-block;padding:.334em .733em;transition:.3s cubic-bezier(.55,.085,.68,.53)}.s-btn,.s-btn:visited{color:#fff}.s-btn:hover{color:#8f0000;text-decoration:none;background:#fff}.s-btn:focus{box-shadow:0 0 4px 2px rgba(30,36,95,.5);outline:0}.s-btn:not(a){font-size:18px}@media only screen and (min-width:544px){.s-btn:not(a){font-size:calc(18px + (1200vw - 6528px)/556)}}@media only screen and (min-width:1100px){.s-btn:not(a){font-size:30px}}.s-keyart{background-position:50%;background-size:cover;border-bottom:3px solid #8f0000}.s-keyart__row{padding-bottom:16px;padding-top:22px;justify-content:flex-end;position:relative}@media only screen and (min-width:544px){.s-keyart__row{padding-bottom:calc(16px + (1300vw - 7072px)/556)}}@media only screen and (min-width:1100px){.s-keyart__row{padding-bottom:29px}}@media only screen and (min-width:544px){.s-keyart__row{padding-top:calc(22px + (3600vw - 19584px)/556)}}@media only screen and (min-width:1100px){.s-keyart__row{padding-top:58px}}.s-keyart__hand{background-image:url(/assets/uploads/images/hand-posters.png);background-position:0 100%;background-repeat:no-repeat;background-size:contain;bottom:0;height:calc(100% - 40px);left:0;position:absolute;width:401px}@media (max-width:33.99em){.s-keyart__hand{display:none}}.s-keyart__col{flex:0 1 auto;position:relative;z-index:1}.s-keyart__content{align-items:flex-end;display:flex;flex-direction:column}.s-keyart__content ul{margin-bottom:10px;margin-top:16px;padding-right:0}@media only screen and (min-width:544px){.s-keyart__content ul{margin-bottom:calc(10px + (1000vw - 5440px)/556)}}@media only screen and (min-width:1100px){.s-keyart__content ul{margin-bottom:20px}}@media only screen and (min-width:544px){.s-keyart__content ul{margin-top:calc(16px + (1400vw - 7616px)/556)}}@media only screen and (min-width:1100px){.s-keyart__content ul{margin-top:30px}}@media only screen and (min-width:544px){.s-keyart__content ul{padding-right:calc((7000vw - 38080px)/556)}}@media only screen and (min-width:1100px){.s-keyart__content ul{padding-right:70px}}.s-keyart__content li{font-size:17px;color:#fff;text-transform:uppercase;align-items:center;display:flex;margin-bottom:12px;padding-left:calc(1em + 8px);position:relative}@media only screen and (min-width:544px){.s-keyart__content li{font-size:calc(17px + (1300vw - 7072px)/556)}}@media only screen and (min-width:1100px){.s-keyart__content li{font-size:30px}}.s-keyart__content li:before{content:"";background-image:url(/assets/uploads/images/icon-check.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:1em;left:0;position:absolute;top:0;width:1em}.s-keyart .s-btn{font-size:17px;border-color:#fff}@media only screen and (min-width:544px){.s-keyart .s-btn{font-size:calc(17px + (1300vw - 7072px)/556)}}@media only screen and (min-width:1100px){.s-keyart .s-btn{font-size:30px}}.s-questions{flex:0 1 auto;margin-left:auto}.icon--check{font-size:16px;height:1.97125em;margin-right:8px;width:2em}@media (max-width:33.99em){.s-navBar{font-size:.875em}}@media (min-width:34em) and (max-width:47.99em){.s-navBar{font-size:.9375em}}.s-navTag{display:flex;flex-wrap:wrap;margin-left:-10px;margin-right:-10px;margin-top:-5px}@media (max-width:33.99em){.s-navTag{flex-direction:column}}.s-navTag--vert{flex-direction:column}.s-navTag__li{margin-right:5px;flex:0 1 auto;padding:5px 10px;white-space:nowrap}@media only screen and (min-width:544px){.s-navTag__li{margin-right:calc(5px + (800vw - 4352px)/556)}}@media only screen and (min-width:1100px){.s-navTag__li{margin-right:13px}}.s-navTag__link{transition:.3s cubic-bezier(.86,0,.07,1)}.s-navTag__link,.s-navTag__link:visited{color:#9b9999}.s-navTag__link:hover{color:#8f0000;text-decoration:none}.s-navTag__link.is-active{color:#8f0000}.s-container{padding-top:16px;background:#fff}@media only screen and (min-width:544px){.s-container{padding-top:calc(16px + (600vw - 3264px)/556)}}@media only screen and (min-width:1100px){.s-container{padding-top:22px}}.s-container:last-child{padding-bottom:30px}@media only screen and (min-width:544px){.s-container:last-child{padding-bottom:calc(30px + (1800vw - 9792px)/556)}}@media only screen and (min-width:1100px){.s-container:last-child{padding-bottom:48px}}.s-prodlist{font-size:16px;padding-top:12px}@media only screen and (min-width:544px){.s-prodlist{font-size:calc(16px + (400vw - 2176px)/556)}}@media only screen and (min-width:1100px){.s-prodlist{font-size:20px}}@media (max-width:33.99em){.s-prodlist{margin-left:-4px;margin-right:-4px}}@media (min-width:68.75em){.s-prodlist{margin-left:-15px;margin-right:-15px}}.s-prodlist__prod{opacity:0;position:relative;max-width:0;transition:.4s;transition-delay:.4s;visibility:hidden}.s-prodlist__prod:after{content:"";background:#fff;height:100%;left:0;position:absolute;top:0;width:100%;transition:.4s}.s-prodlist__prod.is-active{opacity:1;max-width:372px;visibility:visible}.s-prodlist__prod.is-active:after{left:auto;right:0;width:0;transition-delay:.4s}.s-prodlist__prod.is-transition-out{opacity:1;visibility:visible}.s-prodlist__prod.is-transition-out:after{width:100%;transition:.4s}.s-prodlist__prod.is-transition-in{max-width:372px;opacity:1;visibility:visible;transtion:.4s}.s-prodlist__inner{padding-bottom:10px;padding-top:10px;display:block}@media only screen and (min-width:544px){.s-prodlist__inner{padding-bottom:calc(10px + (1000vw - 5440px)/556)}}@media only screen and (min-width:1100px){.s-prodlist__inner{padding-bottom:20px}}@media only screen and (min-width:544px){.s-prodlist__inner{padding-top:calc(10px + (1000vw - 5440px)/556)}}@media only screen and (min-width:1100px){.s-prodlist__inner{padding-top:20px}}.s-prodlist__inner:hover{text-decoration:none}.s-prodlist__inner:hover .s-prodlist__bottom,.s-prodlist__inner:hover .s-prodlist__title{color:#1e245f}.s-prodlist__inner:hover img{border-color:#8f0000;-webkit-filter:grayscale(50%);filter:grayscale(50%)}@media (max-width:33.99em){.s-prodlist__inner{padding-left:4px;padding-right:4px}}@media (min-width:34em) and (max-width:68.74em){.s-prodlist__inner{padding-left:10px;padding-right:10px}}@media (min-width:68.75em){.s-prodlist__inner{padding-left:15px;padding-right:15px}}.s-prodlist__img img{border:1px solid #1e245f;display:block;transition:.9s cubic-bezier(.23,1,.32,1)}.s-prodlist__title{margin-bottom:4px;margin-top:12px;transition:.3s}.s-prodlist__bottom{color:#8f0000;font-size:.7em;transition:.3s}.s-prodlist__item{font-weight:900;display:inline-block;margin-right:5px}.s-prodlist.row{margin-bottom:-10px}.s-prodinfo{padding-top:calc(12px + (1200vw - 6528px)/556)}@media (min-width:48em) and (max-width:68.74em){.s-prodinfo{padding-left:calc(18px + (1200vw - 6528px)/556)}}@media (min-width:68.75em){.s-prodinfo{padding-left:24px;padding-top:1.375em}}.s-prodinfo__title{font-size:19px;color:#1e245f;font-weight:900;text-transform:uppercase;padding-bottom:.72727em}@media only screen and (min-width:544px){.s-prodinfo__title{font-size:calc(19px + (300vw - 1632px)/556)}}@media only screen and (min-width:1100px){.s-prodinfo__title{font-size:22px}}.s-prodinfo__subtitle{font-size:17px;color:#9b9999;font-weight:900;text-transform:uppercase;padding-bottom:.66667em}@media only screen and (min-width:544px){.s-prodinfo__subtitle{font-size:calc(17px + (100vw - 544px)/556)}}@media only screen and (min-width:1100px){.s-prodinfo__subtitle{font-size:18px}}.s-prodinfo__content p{padding-top:12px;color:#9b9999;font-size:1em}@media only screen and (min-width:544px){.s-prodinfo__content p{padding-top:calc(12px + (1200vw - 6528px)/556)}}@media only screen and (min-width:1100px){.s-prodinfo__content p{padding-top:24px}}.s-grid{margin-bottom:16px;display:grid;grid-row-gap:1px;grid-template-columns:calc(33.33% - 10px) 1fr 1fr;max-width:29.375em}@media only screen and (min-width:544px){.s-grid{margin-bottom:calc(16px + (2000vw - 10880px)/556)}}@media only screen and (min-width:1100px){.s-grid{margin-bottom:36px}}.s-grid__row{color:#9b9999;text-align:center;background:#fff;border-bottom:1px solid #d9d9da;display:flex;padding-bottom:12px;padding-top:12px;position:relative}.s-grid__row:after{content:"";background:#d9d9da;height:calc(100% - 1em);position:absolute;right:0;top:.5em;width:1px}.s-grid__row:last-of-type:after,.s-grid__row:nth-of-type(3n):after{content:none}.s-grid__row:first-of-type,.s-grid__row:nth-of-type(3n+1){text-align:left}.s-grid__row--last{border-bottom:0}@media (max-width:33.99em){.s-grid__row{font-size:.875em}}.s-grid__col{flex:1}.s-sidebar{max-width:570px}@-webkit-keyframes productIn{0%{opacity:0;max-width:0;visibility:hidden}1%{opacity:0;max-width:0;visibility:visible}10%{opacity:0;visibility:visible}to{opacity:1;max-width:372px;visibility:visible}}@keyframes productIn{0%{opacity:0;max-width:0;visibility:hidden}1%{opacity:0;max-width:0;visibility:visible}10%{opacity:0;visibility:visible}to{opacity:1;max-width:372px;visibility:visible}}@-webkit-keyframes productOut{0%{opacity:1;max-width:372px;visibility:visible}99%{opacity:0;max-width:0;visibility:visible}to{opacity:0;max-width:0;visibility:hidden}}@keyframes productOut{0%{opacity:1;max-width:372px;visibility:visible}99%{opacity:0;max-width:0;visibility:visible}to{opacity:0;max-width:0;visibility:hidden}}.store .s-gallery{margin:auto;max-width:544px}@media (max-width:47.99em){.store .s-gallery{margin-top:calc(1.4vw + 10px)}}.store .s-gallery__large{text-align:center;position:relative}.store .s-gallery__img{border:2px solid #1e245f;left:0;opacity:0;position:absolute;top:0;z-index:-1;transition:.3s cubic-bezier(.55,.085,.68,.53)}.store .s-gallery__img.is-active{opacity:1;position:relative;z-index:1}.store .s-gallery__img[data-bp]{cursor:zoom-in}.store .s-gallery__img[data-bp]:hover{border-color:#8f0000}.store .s-gallery__content{flex:1 1 auto;padding-bottom:3px;padding-top:3px}.store .s-gallery__content .s-txt--notice,.store .s-gallery__content p{font-size:15px}.store .s-gallery__bottom{justify-content:space-between}.store .s-gallery__thumbs{display:flex;flex:0 1 auto;flex-direction:row;margin-left:-3px;margin-right:-3px;padding-top:3px}.store .s-gallery__li{padding:3px;min-width:3.1875em}.store .s-gallery__thumb{cursor:pointer;border:2px solid #8f0000;transition:.3s cubic-bezier(.55,.085,.68,.53)}.store .s-gallery__thumb.is-active,.store .s-gallery__thumb:hover{border-color:#1e245f}.store .s-gallery__tooltip{color:#fff;font-size:12px;background:rgba(30,36,95,.75);border-radius:5px;left:10px;padding:.5em;pointer-events:none;position:absolute;top:10px;z-index:2}.s-form{padding-right:12px;padding-top:0;position:relative}@media only screen and (min-width:544px){.s-form{padding-right:calc(12px + (2800vw - 15232px)/556)}}@media only screen and (min-width:1100px){.s-form{padding-right:40px}}@media (max-width:47.99em){.s-form{margin-top:calc(1.4vw + 10px)}}.s-form__fieldset{margin-top:10px;position:relative}@media only screen and (min-width:544px){.s-form__fieldset{margin-top:calc(10px + (800vw - 4352px)/556)}}@media only screen and (min-width:1100px){.s-form__fieldset{margin-top:18px}}.s-form__legend{align-items:center;display:flex;flex-direction:row;width:100%}.s-form__legend em{line-height:1.125em;align-self:flex-end;margin-left:5px}@media (max-width:33.99em){.s-form__legend em{font-size:.875em;flex:2}}@media (min-width:34em) and (max-width:47.99em){.s-form__legend em{font-size:.9375em}}.s-form__title{font-size:19px;color:#1e245f;font-weight:900;line-height:.875em;text-transform:uppercase;flex-grow:0}@media only screen and (min-width:544px){.s-form__title{font-size:calc(19px + (700vw - 3808px)/556)}}@media only screen and (min-width:1100px){.s-form__title{font-size:26px}}@media (max-width:33.99em){.s-form__title{flex:1}}.s-form__no{font-size:14px;color:#1e245f;font-weight:900;text-align:center;align-items:center;align-self:center;border:3px solid #8f0000;border-radius:50%;display:flex;flex:0 0 1.75em;height:1.75em;justify-content:center;margin-left:auto;width:1.75em}@media only screen and (min-width:544px){.s-form__no{font-size:calc(14px + (400vw - 2176px)/556)}}@media only screen and (min-width:1100px){.s-form__no{font-size:18px}}@media (min-width:48em){.s-form__no{flex:0 0 1.5em;height:1.5em;width:1.5em}}.s-form__owrap+.s-form__owrap{padding-top:8px}.s-form__wrap{position:relative}.s-form__wrap.is-filled .s-form__label--ph{background-color:#fff;top:0}.s-form__wrap.is-error .s-form__input{background-color:rgba(143,0,0,.07);border-color:#8f0000}.s-form__input{color:#1e245f;width:100%}.s-form__input,.s-form__input--select option{font-size:15px}@media only screen and (min-width:544px){.s-form__input,.s-form__input--select option{font-size:calc(15px + (200vw - 1088px)/556)}}@media only screen and (min-width:1100px){.s-form__input,.s-form__input--select option{font-size:17px}}.s-form__input:not(.s-form__input--select){padding:8px 10px}@media only screen and (min-width:544px){.s-form__input:not(.s-form__input--select){padding-bottom:calc(8px + (400vw - 2176px)/556)}}@media only screen and (min-width:1100px){.s-form__input:not(.s-form__input--select){padding-bottom:12px}}@media only screen and (min-width:544px){.s-form__input:not(.s-form__input--select){padding-left:calc(10px + (800vw - 4352px)/556)}}@media only screen and (min-width:1100px){.s-form__input:not(.s-form__input--select){padding-left:18px}}@media only screen and (min-width:544px){.s-form__input:not(.s-form__input--select){padding-right:calc(10px + (800vw - 4352px)/556)}}@media only screen and (min-width:1100px){.s-form__input:not(.s-form__input--select){padding-right:18px}}@media only screen and (min-width:544px){.s-form__input:not(.s-form__input--select){padding-top:calc(8px + (400vw - 2176px)/556)}}@media only screen and (min-width:1100px){.s-form__input:not(.s-form__input--select){padding-top:12px}}.s-form__input--select{padding:6px 4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-image:url(/assets/uploads/images/icon-arrow-down2.png);background-position:right 10px center;background-repeat:no-repeat;border:1px solid #9b9999;border-radius:0;position:relative}@media only screen and (min-width:544px){.s-form__input--select{padding-bottom:calc(6px + (400vw - 2176px)/556)}}@media only screen and (min-width:1100px){.s-form__input--select{padding-bottom:10px}}@media only screen and (min-width:544px){.s-form__input--select{padding-left:calc(4px + (600vw - 3264px)/556)}}@media only screen and (min-width:1100px){.s-form__input--select{padding-left:10px}}@media only screen and (min-width:544px){.s-form__input--select{padding-right:calc(4px + (600vw - 3264px)/556)}}@media only screen and (min-width:1100px){.s-form__input--select{padding-right:10px}}@media only screen and (min-width:544px){.s-form__input--select{padding-top:calc(6px + (400vw - 2176px)/556)}}@media only screen and (min-width:1100px){.s-form__input--select{padding-top:10px}}@media (max-width:33.99em){.s-form__input--select{background-size:12px}}@media (min-width:34em) and (max-width:47.99em){.s-form__input--select{background-size:15px}}@media (min-width:48em) and (max-width:61.99em){.s-form__input--select{background-size:17px}}.s-form__input--select:invalid{color:#9b9999}.s-form__input--select option{color:#1e245f}.s-form__input--select option[disabled]{color:#d9d9da}.s-form__input--email,.s-form__input--text{border:1px solid #9b9999;transition:.3s cubic-bezier(.23,1,.32,1)}.s-form__input--email:focus,.s-form__input--text:focus{border-color:#1e245f;outline-color:#1e245f}.s-form__input--email:focus+.s-form__label--ph,.s-form__input--text:focus+.s-form__label--ph{background-color:#fff;top:0}.s-form__label{font-size:13px;color:#9b9999}@media only screen and (min-width:544px){.s-form__label{font-size:calc(13px + (400vw - 2176px)/556)}}@media only screen and (min-width:1100px){.s-form__label{font-size:17px}}.s-form__label em{font-size:.8em}.s-form__label--email,.s-form__label--text{left:7px;border-radius:4px;cursor:auto;padding:3px;position:absolute;top:50%;transform:translateY(-50%);transition:.3s cubic-bezier(.23,1,.32,1)}@media only screen and (min-width:544px){.s-form__label--email,.s-form__label--text{left:calc(7px + (800vw - 4352px)/556)}}@media only screen and (min-width:1100px){.s-form__label--email,.s-form__label--text{left:15px}}.s-form__label--select{display:inline-block;margin-bottom:3px;margin-left:2px}.s-form__group{padding-bottom:8px;padding-top:8px}@media only screen and (min-width:544px){.s-form__group{padding-bottom:calc(8px + (400vw - 2176px)/556)}}@media only screen and (min-width:1100px){.s-form__group{padding-bottom:12px}}@media only screen and (min-width:544px){.s-form__group{padding-top:calc(8px + (400vw - 2176px)/556)}}@media only screen and (min-width:1100px){.s-form__group{padding-top:12px}}.s-form__grouprow{display:flex}.s-form__grouprow:not(:last-child){padding-bottom:10px}.s-form__grouprow input{margin-left:12px;margin-right:8px;margin-top:2px}.s-form__sect{font-size:24px;color:#d9d9da;font-weight:900;line-height:.875em;text-transform:uppercase;position:absolute;right:0;top:0;transform:rotate(-90deg);transform-origin:right top}@media only screen and (min-width:544px){.s-form__sect{font-size:calc(24px + (2900vw - 15776px)/556)}}@media only screen and (min-width:1100px){.s-form__sect{font-size:53px}}@media (min-width:34em){.s-form__sect{right:-10px}}.s-form__error{color:#8f0000;font-size:.70588em}input:invalid,textarea:invalid{background:#fff}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9yZXNldC1jc3Mvc2Fzcy9fcmVzZXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9Adml2aWQtd2ViL2ZsZXhib3hncmlkLXNhc3Mvc3JjL2NvbXBvbmVudHMvX2dyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9Adml2aWQtd2ViL2ZsZXhib3hncmlkLXNhc3Mvc3JjL21peGlucy9fYmVtLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQHZpdmlkLXdlYi9mbGV4Ym94Z3JpZC1zYXNzL3NyYy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9Adml2aWQtd2ViL2ZsZXhib3hncmlkLXNhc3Mvc3JjL2NvbXBvbmVudHMvX3Jvdy5zY3NzIiwibW9kdWxlcy9fdmFycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0B2aXZpZC13ZWIvZmxleGJveGdyaWQtc2Fzcy9zcmMvbWl4aW5zL19yb3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9Adml2aWQtd2ViL2ZsZXhib3hncmlkLXNhc3Mvc3JjL2NvbXBvbmVudHMvX2NvbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0B2aXZpZC13ZWIvZmxleGJveGdyaWQtc2Fzcy9zcmMvbWl4aW5zL19jb2wuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9Adml2aWQtd2ViL2ZsZXhib3hncmlkLXNhc3Mvc3JjL2NvbXBvbmVudHMvX3RleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9Adml2aWQtd2ViL2ZsZXhib3hncmlkLXNhc3Mvc3JjL21peGlucy9fdGV4dC5zY3NzIiwicGFydGlhbHMvX2Jhc2Uuc2FzcyIsIi4uLy4uLy4uL19taXhpbnMvX21peGlucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbXEvX21xLnNjc3MiLCJwYXJ0aWFscy9fdHlwb2dyYXBoeS5zYXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtZWFzaW5nL19lYXNpbmdzLnNjc3MiLCJwYXJ0aWFscy9faGVhZGVyLnNhc3MiLCJwYXJ0aWFscy9fbmF2aWdhdGlvbi5zYXNzIiwicGFydGlhbHMvX2NvbnRlbnQuc2FzcyIsInBhcnRpYWxzL19nYWxsZXJ5LnNhc3MiLCJwYXJ0aWFscy9fZm9ybXMuc2FzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxnYUFhQyxRQUFTLENBQ1QsU0FBVSxDQUNWLFFBQVMsQ0FDVCxjQUFlLENBQ2YsWUFBYSxDQUNiLHVCQUF3QixDQUd6QixtRkFFQyxhQUFjLENBR2YsU0FDSSxZQUFhLENBRWpCLEtBQ0MsYUFBYyxDQUVmLFdBQ0MsZUFBZ0IsQ0FFakIsYUFDQyxXQUFZLENBRWIsb0RBRUMsVUFBVyxDQUNYLFlBQWEsQ0FFZCxNQUNDLHdCQUF5QixDQUN6QixnQkFBaUIsQ0NoRGxCLE1BQ0UscUJBQXNCLENBQ3RCLFlBQWEsQ0FDYixxQkFBc0IsQ0FDdEIsY0FBMEMsQ0NHMUMsaUJEQUUsYUFBYyxDQUNkLGdCQUFpQixDQUNqQixVQUFXLENDRmIsa0JETUUsU0FBVSxDQ05aLHFCQ0xJLFFBQVMsQ0FXVCx5QkROSixxQkNMSSxRQUFTLENET1osQ0NJRyx5QkROSixxQkNMSSxRQUFTLENET1osQ0NJRyx5QkROSixxQkNMSSxRQUFTLENET1osQ0NJRywwQkROSixxQkNMSSxRQUFTLENET1osQ0VUSCxLQUNFLHFCQUFzQixDQUN0QixZQUFhLENBQ2IsYUFBYyxDQUNkLGtCQUFtQixDQUNuQixjQUFlLENBQ2YsZUFBZ0IsQ0FDaEIsdUJDZ0RZLENEL0NaLFNBQVUsQ0FSWixnQkFXSSxlQUFnQixDRkpsQixpQkVRRSxRQUFTLENGUlgsVUVZRSxzQkFBdUIsQ0ZaekIsYUVnQkUsa0JBQW1CLENGaEJyQixhRW9CRSxvQkFBcUIsQ0ZwQnZCLGNFd0JFLDBCQUEyQixDRnhCN0Isb0JJTEksUUFBUyxDSktiLGFJREksc0JBQXVCLENKQzNCLGdCSUdJLGtCQUFtQixDSkh2QixnQklPSSxvQkFBcUIsQ0pQekIsaUJJV0ksMEJBQTJCLENBVzNCLHlCSnRCSixvQklMSSxRQUFTLENKS2IsYUlESSxzQkFBdUIsQ0pDM0IsZ0JJR0ksa0JBQW1CLENKSHZCLGdCSU9JLG9CQUFxQixDSlB6QixpQklXSSwwQkFBMkIsQ0pUOUIsQ0lvQkcseUJKdEJKLG9CSUxJLFFBQVMsQ0pLYixhSURJLHNCQUF1QixDSkMzQixnQklHSSxrQkFBbUIsQ0pIdkIsZ0JJT0ksb0JBQXFCLENKUHpCLGlCSVdJLDBCQUEyQixDSlQ5QixDSW9CRyx5Qkp0Qkosb0JJTEksUUFBUyxDSktiLGFJREksc0JBQXVCLENKQzNCLGdCSUdJLGtCQUFtQixDSkh2QixnQklPSSxvQkFBcUIsQ0pQekIsaUJJV0ksMEJBQTJCLENKVDlCLENJb0JHLDBCSnRCSixvQklMSSxRQUFTLENKS2IsYUlESSxzQkFBdUIsQ0pDM0IsZ0JJR0ksa0JBQW1CLENKSHZCLGdCSU9JLG9CQUFxQixDSlB6QixpQklXSSwwQkFBMkIsQ0pUOUIsQ0tUSCxLQUNFLHFCQUFzQixDQUN0QixhQUFjLENBQ2QscUJBQXNCLENBQ3RCLGNBQWUsQ0FDZixtQkFBcUUsQ0xFckUsaUJLQ0UsU0FBVSxDTERaLGdCS0tFLHFCQUFzQixDTEx4QixtQktTRSxpQkFBa0IsQ0xUcEIsbUJLYUUsbUJBQW9CLENMYnRCLFlLaUJFLFFBQVMsQ0xqQlgsV0txQkUsT0FBUSxDTHJCVixZS3lCRSxPQUFRLENMekJWLFdLNkJFLFlBQWEsQ0w3QmYsb0JNTEksU0FBVSxDTktkLG1CTUZJLHFCQUFzQixDTkUxQixzQk1DSSxpQkFBa0IsQ05EdEIsc0JNSUksbUJBQW9CLENOSnhCLGVNT0ksUUFBUyxDTlBiLGNNVUksT0FBUSxDTlZaLGVNYUksT0FBUSxDTmJaLGNNZ0JJLFlBQWEsQ05oQmpCLFNNeUJJLFdBQVksQ0FDWixZQUFhLENBQ2IsY0FBZSxDTjNCbkIsV01vQ0ksVUFTTyxDQVJQLFdBUU8sQ043Q1gsV01vQ0ksaUJBWTBDLENBWDFDLGtCQVcwQyxDTmhEOUMsV01vQ0ksa0JBWTBDLENBWDFDLG1CQVcwQyxDTmhEOUMsV01vQ0ksWUFZMEMsQ0FYMUMsYUFXMEMsQ05oRDlDLFdNb0NJLGtCQVkwQyxDQVgxQyxtQkFXMEMsQ05oRDlDLFdNb0NJLGtCQVkwQyxDQVgxQyxtQkFXMEMsQ05oRDlDLFdNb0NJLFlBWTBDLENBWDFDLGFBVzBDLENOaEQ5QyxXTW9DSSxrQkFZMEMsQ0FYMUMsbUJBVzBDLENOaEQ5QyxXTW9DSSxrQkFZMEMsQ0FYMUMsbUJBVzBDLENOaEQ5QyxXTW9DSSxZQVkwQyxDQVgxQyxhQVcwQyxDTmhEOUMsWU1vQ0ksa0JBWTBDLENBWDFDLG1CQVcwQyxDTmhEOUMsWU1vQ0ksa0JBWTBDLENBWDFDLG1CQVcwQyxDTmhEOUMsWU1vQ0ksYUFZMEMsQ0FYMUMsY0FXMEMsQ05oRDlDLGtCTTJESSxhQVFRLENObkVaLGtCTTJESSxvQkFXMkMsQ050RS9DLGtCTTJESSxxQkFXMkMsQ050RS9DLGtCTTJESSxlQVcyQyxDTnRFL0Msa0JNMkRJLHFCQVcyQyxDTnRFL0Msa0JNMkRJLHFCQVcyQyxDTnRFL0Msa0JNMkRJLGVBVzJDLENOdEUvQyxrQk0yREkscUJBVzJDLENOdEUvQyxrQk0yREkscUJBVzJDLENOdEUvQyxrQk0yREksZUFXMkMsQ050RS9DLG1CTTJESSxxQkFXMkMsQ050RS9DLG1CTTJESSxxQkFXMkMsQ050RS9DLG1CTTJESSxnQkFXMkMsQ0FxQjNDLHlCTjNGSixvQk1MSSxTQUFVLENOS2QsbUJNRkkscUJBQXNCLENORTFCLHNCTUNJLGlCQUFrQixDTkR0QixzQk1JSSxtQkFBb0IsQ05KeEIsZU1PSSxRQUFTLENOUGIsY01VSSxPQUFRLENOVlosZU1hSSxPQUFRLENOYlosY01nQkksWUFBYSxDTmhCakIsU015QkksV0FBWSxDQUNaLFlBQWEsQ0FDYixjQUFlLENOM0JuQixXTW9DSSxVQVNPLENBUlAsV0FRTyxDTjdDWCxXTW9DSSxpQkFZMEMsQ0FYMUMsa0JBVzBDLENOaEQ5QyxXTW9DSSxrQkFZMEMsQ0FYMUMsbUJBVzBDLENOaEQ5QyxXTW9DSSxZQVkwQyxDQVgxQyxhQVcwQyxDTmhEOUMsV01vQ0ksa0JBWTBDLENBWDFDLG1CQVcwQyxDTmhEOUMsV01vQ0ksa0JBWTBDLENBWDFDLG1CQVcwQyxDTmhEOUMsV01vQ0ksWUFZMEMsQ0FYMUMsYUFXMEMsQ05oRDlDLFdNb0NJLGtCQVkwQyxDQVgxQyxtQkFXMEMsQ05oRDlDLFdNb0NJLGtCQVkwQyxDQVgxQyxtQkFXMEMsQ05oRDlDLFdNb0NJLFlBWTBDLENBWDFDLGFBVzBDLENOaEQ5QyxZTW9DSSxrQkFZMEMsQ0FYMUMsbUJBVzBDLENOaEQ5QyxZTW9DSSxrQkFZMEMsQ0FYMUMsbUJBVzBDLENOaEQ5QyxZTW9DSSxhQVkwQyxDQVgxQyxjQVcwQyxDTmhEOUMsa0JNMkRJLGFBUVEsQ05uRVosa0JNMkRJLG9CQVcyQyxDTnRFL0Msa0JNMkRJLHFCQVcyQyxDTnRFL0Msa0JNMkRJLGVBVzJDLENOdEUvQyxrQk0yREkscUJBVzJDLENOdEUvQyxrQk0yREkscUJBVzJDLENOdEUvQyxrQk0yREksZUFXMkMsQ050RS9DLGtCTTJESSxxQkFXMkMsQ050RS9DLGtCTTJESSxxQkFXMkMsQ050RS9DLGtCTTJESSxlQVcyQyxDTnRFL0MsbUJNMkRJLHFCQVcyQyxDTnRFL0MsbUJNMkRJLHFCQVcyQyxDTnRFL0MsbUJNMkRJLGdCQVcyQyxDTnBFOUMsQ015RkcseUJOM0ZKLG9CTUxJLFNBQVUsQ05LZCxtQk1GSSxxQkFBc0IsQ05FMUIsc0JNQ0ksaUJBQWtCLENORHRCLHNCTUlJLG1CQUFvQixDTkp4QixlTU9JLFFBQVMsQ05QYixjTVVJLE9BQVEsQ05WWixlTWFJLE9BQVEsQ05iWixjTWdCSSxZQUFhLENOaEJqQixTTXlCSSxXQUFZLENBQ1osWUFBYSxDQUNiLGNBQWUsQ04zQm5CLFdNb0NJLFVBU08sQ0FSUCxXQVFPLENON0NYLFdNb0NJLGlCQVkwQyxDQVgxQyxrQkFXMEMsQ05oRDlDLFdNb0NJLGtCQVkwQyxDQVgxQyxtQkFXMEMsQ05oRDlDLFdNb0NJLFlBWTBDLENBWDFDLGFBVzBDLENOaEQ5QyxXTW9DSSxrQkFZMEMsQ0FYMUMsbUJBVzBDLENOaEQ5QyxXTW9DSSxrQkFZMEMsQ0FYMUMsbUJBVzBDLENOaEQ5QyxXTW9DSSxZQVkwQyxDQVgxQyxhQVcwQyxDTmhEOUMsV01vQ0ksa0JBWTBDLENBWDFDLG1CQVcwQyxDTmhEOUMsV01vQ0ksa0JBWTBDLENBWDFDLG1CQVcwQyxDTmhEOUMsV01vQ0ksWUFZMEMsQ0FYMUMsYUFXMEMsQ05oRDlDLFlNb0NJLGtCQVkwQyxDQVgxQyxtQkFXMEMsQ05oRDlDLFlNb0NJLGtCQVkwQyxDQVgxQyxtQkFXMEMsQ05oRDlDLFlNb0NJLGFBWTBDLENBWDFDLGNBVzBDLENOaEQ5QyxrQk0yREksYUFRUSxDTm5FWixrQk0yREksb0JBVzJDLENOdEUvQyxrQk0yREkscUJBVzJDLENOdEUvQyxrQk0yREksZUFXMkMsQ050RS9DLGtCTTJESSxxQkFXMkMsQ050RS9DLGtCTTJESSxxQkFXMkMsQ050RS9DLGtCTTJESSxlQVcyQyxDTnRFL0Msa0JNMkRJLHFCQVcyQyxDTnRFL0Msa0JNMkRJLHFCQVcyQyxDTnRFL0Msa0JNMkRJLGVBVzJDLENOdEUvQyxtQk0yREkscUJBVzJDLENOdEUvQyxtQk0yREkscUJBVzJDLENOdEUvQyxtQk0yREksZ0JBVzJDLENOcEU5QyxDTXlGRyx5Qk4zRkosb0JNTEksU0FBVSxDTktkLG1CTUZJLHFCQUFzQixDTkUxQixzQk1DSSxpQkFBa0IsQ05EdEIsc0JNSUksbUJBQW9CLENOSnhCLGVNT0ksUUFBUyxDTlBiLGNNVUksT0FBUSxDTlZaLGVNYUksT0FBUSxDTmJaLGNNZ0JJLFlBQWEsQ05oQmpCLFNNeUJJLFdBQVksQ0FDWixZQUFhLENBQ2IsY0FBZSxDTjNCbkIsV01vQ0ksVUFTTyxDQVJQLFdBUU8sQ043Q1gsV01vQ0ksaUJBWTBDLENBWDFDLGtCQVcwQyxDTmhEOUMsV01vQ0ksa0JBWTBDLENBWDFDLG1CQVcwQyxDTmhEOUMsV01vQ0ksWUFZMEMsQ0FYMUMsYUFXMEMsQ05oRDlDLFdNb0NJLGtCQVkwQyxDQVgxQyxtQkFXMEMsQ05oRDlDLFdNb0NJLGtCQVkwQyxDQVgxQyxtQkFXMEMsQ05oRDlDLFdNb0NJLFlBWTBDLENBWDFDLGFBVzBDLENOaEQ5QyxXTW9DSSxrQkFZMEMsQ0FYMUMsbUJBVzBDLENOaEQ5QyxXTW9DSSxrQkFZMEMsQ0FYMUMsbUJBVzBDLENOaEQ5QyxXTW9DSSxZQVkwQyxDQVgxQyxhQVcwQyxDTmhEOUMsWU1vQ0ksa0JBWTBDLENBWDFDLG1CQVcwQyxDTmhEOUMsWU1vQ0ksa0JBWTBDLENBWDFDLG1CQVcwQyxDTmhEOUMsWU1vQ0ksYUFZMEMsQ0FYMUMsY0FXMEMsQ05oRDlDLGtCTTJESSxhQVFRLENObkVaLGtCTTJESSxvQkFXMkMsQ050RS9DLGtCTTJESSxxQkFXMkMsQ050RS9DLGtCTTJESSxlQVcyQyxDTnRFL0Msa0JNMkRJLHFCQVcyQyxDTnRFL0Msa0JNMkRJLHFCQVcyQyxDTnRFL0Msa0JNMkRJLGVBVzJDLENOdEUvQyxrQk0yREkscUJBVzJDLENOdEUvQyxrQk0yREkscUJBVzJDLENOdEUvQyxrQk0yREksZUFXMkMsQ050RS9DLG1CTTJESSxxQkFXMkMsQ050RS9DLG1CTTJESSxxQkFXMkMsQ050RS9DLG1CTTJESSxnQkFXMkMsQ05wRTlDLENNeUZHLDBCTjNGSixvQk1MSSxTQUFVLENOS2QsbUJNRkkscUJBQXNCLENORTFCLHNCTUNJLGlCQUFrQixDTkR0QixzQk1JSSxtQkFBb0IsQ05KeEIsZU1PSSxRQUFTLENOUGIsY01VSSxPQUFRLENOVlosZU1hSSxPQUFRLENOYlosY01nQkksWUFBYSxDTmhCakIsU015QkksV0FBWSxDQUNaLFlBQWEsQ0FDYixjQUFlLENOM0JuQixXTW9DSSxVQVNPLENBUlAsV0FRTyxDTjdDWCxXTW9DSSxpQkFZMEMsQ0FYMUMsa0JBVzBDLENOaEQ5QyxXTW9DSSxrQkFZMEMsQ0FYMUMsbUJBVzBDLENOaEQ5QyxXTW9DSSxZQVkwQyxDQVgxQyxhQVcwQyxDTmhEOUMsV01vQ0ksa0JBWTBDLENBWDFDLG1CQVcwQyxDTmhEOUMsV01vQ0ksa0JBWTBDLENBWDFDLG1CQVcwQyxDTmhEOUMsV01vQ0ksWUFZMEMsQ0FYMUMsYUFXMEMsQ05oRDlDLFdNb0NJLGtCQVkwQyxDQVgxQyxtQkFXMEMsQ05oRDlDLFdNb0NJLGtCQVkwQyxDQVgxQyxtQkFXMEMsQ05oRDlDLFdNb0NJLFlBWTBDLENBWDFDLGFBVzBDLENOaEQ5QyxZTW9DSSxrQkFZMEMsQ0FYMUMsbUJBVzBDLENOaEQ5QyxZTW9DSSxrQkFZMEMsQ0FYMUMsbUJBVzBDLENOaEQ5QyxZTW9DSSxhQVkwQyxDQVgxQyxjQVcwQyxDTmhEOUMsa0JNMkRJLGFBUVEsQ05uRVosa0JNMkRJLG9CQVcyQyxDTnRFL0Msa0JNMkRJLHFCQVcyQyxDTnRFL0Msa0JNMkRJLGVBVzJDLENOdEUvQyxrQk0yREkscUJBVzJDLENOdEUvQyxrQk0yREkscUJBVzJDLENOdEUvQyxrQk0yREksZUFXMkMsQ050RS9DLGtCTTJESSxxQkFXMkMsQ050RS9DLGtCTTJESSxxQkFXMkMsQ050RS9DLGtCTTJESSxlQVcyQyxDTnRFL0MsbUJNMkRJLHFCQVcyQyxDTnRFL0MsbUJNMkRJLHFCQVcyQyxDTnRFL0MsbUJNMkRJLGdCQVcyQyxDTnBFOUMsQ0FGRCxZT0xFLGVBQWdCLENQS2xCLGFPREUsZ0JBQWlCLENQQ25CLGNPR0UsaUJBQWtCLENQSHBCLGdCUUxJLGdCQUFpQixDUktyQixlUURJLGVBQWdCLENSQ3BCLGlCUUdJLGlCQUFrQixDQVdsQix5QlJkSixnQlFMSSxnQkFBaUIsQ1JLckIsZVFESSxlQUFnQixDUkNwQixpQlFHSSxpQkFBa0IsQ1JEckIsQ1FZRyx5QlJkSixnQlFMSSxnQkFBaUIsQ1JLckIsZVFESSxlQUFnQixDUkNwQixpQlFHSSxpQkFBa0IsQ1JEckIsQ1FZRyx5QlJkSixnQlFMSSxnQkFBaUIsQ1JLckIsZVFESSxlQUFnQixDUkNwQixpQlFHSSxpQkFBa0IsQ1JEckIsQ1FZRywwQlJkSixnQlFMSSxnQkFBaUIsQ1JLckIsZVFESSxlQUFnQixDUkNwQixpQlFHSSxpQkFBa0IsQ1JEckIsQ1NOSCxFQUNFLHFCQUFzQixDQU14QixLQUNFLGFOeUJ5QixDTXZCdkIsaUJBQWEsQ0FDYixpQ04rQmlDLENNN0JyQyxXQUNFLFdBQVksQ0FFVixjQUFXLENBRWYsSUFFSSxxQkFBYSxDQUVqQixJQUVJLGVBQVcsQ0FFWCxvQkFBWSxDQUVoQixHQ3VCSSxrQkR0QmlCLENDc0JqQixlRHJCaUIsQ0FDbkIsa0JOSXlCLENNSHpCLFFBQVMsQ0FDVCxVQUFXLENBQ1gsU0FBVSxDQUNWLHlCQUEwQixDQ21CMUIseUNEMUJGLEdDNEJNLCtDQUFrSSxDRHJCekcsQ0N5QjdCLDBDRGhDRixHQ2tDTSxrQkRqQ3FCLENBTUksQ0NtQjdCLHlDRDFCRixHQzRCTSw2Q0FBa0ksQ0RyQnpHLENDeUI3QiwwQ0RoQ0YsR0NrQ00sZURoQ3FCLENBS0ksQ0FFL0IsTUFHSSxnQkFBYSxDQUtqQiw4QkNNSSxnQkRMa0IsQ0NRcEIseUNEVEYsOEJDV00sK0NBQWtJLENEVjNFLENDYzNELDBDRGZGLDhCQ2lCTSxnQkRoQnVCLENBQWdDLENBRTdELDhCQ0dJLGdCREZpQixDQ0tuQix5Q0RORiw4QkNRTSw2Q0FBa0ksQ0RQNUUsQ0NXMUQsMENEWkYsOEJDY00sZ0JEYnFCLENBQWlDLENFMkxwRCwyQkZ6TFIsaUJBRUksWUFBYSxDQUFLLENFdUxkLHdCRnJMUixtQkFFSSxZQUFhLENBQUssQ0cxRHRCLFVGb0RJLGNFbERtQixDQUVuQixhVDZCdUIsQ1MzQnJCLGVBQVcsQ0FFWCx3QkFBb0IsQ0YrQ3hCLHlDRXZERixVRnlETSw0Q0FBa0ksQ0VqRHpHLENGcUQ3QiwwQ0U3REYsVUYrRE0sY0U3RHVCLENBTUUsQ0FSL0Isb0JGb0RJLGNFekNxQixDRnlDckIsZ0JFeENxQixDQUNuQixhVG9CcUIsQ1NsQm5CLGVBQVcsQ0FFWCx3QkFBb0IsQ0ZzQzFCLHlDRXZERixvQkZ5RE0sMkNBQWtJLENFeEN2RyxDRjRDL0IsMENFN0RGLG9CRitETSxjRXBEeUIsQ0FNRSxDRnNDL0IseUNFdkRGLG9CRnlETSw4Q0FBa0ksQ0V4Q3ZHLENGNEMvQiwwQ0U3REYsb0JGK0RNLGdCRW5EeUIsQ0FLRSxDQWpCakMsU0ZvREksY0VqQ21CLENGaUNuQixnQkVoQ21CLENBQ25CLGFUV3VCLENTVHJCLG1CQUFlLENGZ0NuQix5Q0V2REYsU0Z5RE0sOENBQWtJLENFL0JuSCxDRm1DbkIsMENFN0RGLFNGK0RNLGlCRTVDMEIsQ0FPWCxDRjZCbkIseUNFdkRGLFNGeURNLCtDQUFrSSxDRS9CbkgsQ0ZtQ25CLDBDRTdERixTRitETSxnQkUzQ3VCLENBTVIsQ0ExQnJCLHVCQTBCUSxhQUFNLENBMUJkLGNBNkJNLGVBQVcsQ0E3QmpCLFVBZ0NNLGlCQUFhLENBaENuQix1QkZvREksZ0JFakJxQixDRm9CdkIseUNFdkRGLHVCRnlETSw2Q0FBa0ksQ0V0QnhFLENGMEI5RCwwQ0U3REYsdUJGK0RNLGdCRTVCeUIsQ0FBaUMsQ0FuQ2hFLHVCQXNDUSxvQkZwQjBCLENFbEJsQyx3QkZvREksY0VYdUIsQ0ZXdkIsZ0JFVnVCLENGVXZCLGlCRVR1QixDQUNuQixhVFptQixDU2NqQix1QkY1QndCLENFNkIxQixpQkFBa0IsQ0ZReEIseUNFdkRGLHdCRnlETSw4Q0FBa0ksQ0VBL0csQ0ZJdkIsMENFN0RGLHdCRitETSxpQkV0QjhCLENBZ0JYLENGRnZCLHlDRXZERix3QkZ5RE0sOENBQWtJLENFQS9HLENGSXZCLDBDRTdERix3QkYrRE0sZ0JFckIyQixDQWVSLENGRnZCLHlDRXZERix3QkZ5RE0sK0NBQWtJLENFQS9HLENGSXZCLDBDRTdERix3QkYrRE0saUJFcEIyQixDQWNSLENBekR6QiwrQkFpRFUsVUFBVyxDQUVULHdCVGxCZSxDU21CakIsYUFBYyxDQUNkLFVBQVcsQ0FDWCxNQUFPLENBQ1AsaUJBQWtCLENBQ2xCLG9CQUFxQixDQUNyQixTQUFVLENEb0xaLDJCQzdPUixxQkErRFksYUFBTSxDQU1jLENEd0t4QixnREM3T1IscUJBa0VZLDhDQUF1QyxDQUduQixDRHdLeEIsMkJDN09SLHFCQXFFYyxtQkZuRG9CLENFbURGLENBckVoQyxtQkZvREksY0VtQnVCLENBRW5CLGFUdENtQixDU3dDakIsYUFBTSxDRnBCZCx5Q0V2REYsbUJGeURNLDhDQUFrSSxDRWtCbkgsQ0ZkbkIsMENFN0RGLG1CRitETSxpQkVROEIsQ0FJZixDQTNFckIsc0JGb0RJLGNFeUJ1QixDQUNuQixhVDNDbUIsQ09vQnpCLHlDRXZERixzQkZ5RE0sMkNBQWtJLENFdUJsRSxDRm5CcEUsMENFN0RGLHNCRitETSxjRWMyQixDQUdxQyxDQWhGdEUsd0JGb0RJLGdCRTRCeUIsQ0Z6QjNCLHlDRXZERix3QkZ5RE0sOENBQWtJLENFdUJwRSxDRm5CbEUsMENFN0RGLHdCRitETSxnQkVpQjZCLENBQWlDLENBaEZwRSx5Q0FrRlEsYVRqRG1CLENTakMzQixzQkFvRlEsYVRwRG1CLENTaEMzQixnQkZvREksY0VrQ3FCLENGckZ2QiwySFBvQ3lCLENTbURyQixVVGxEcUIsQ1NvRG5CLGVBQVcsQ0FFWCxtQkFBZSxDQUVmLGdCQUFZLENBQ1osd0JBQW9CLENBRXBCLGFBQU0sQ0YxQ1oseUNFdkRGLGdCRnlETSw2Q0FBa0ksQ0VrRHRFLENGOUNoRSwwQ0U3REYsZ0JGK0RNLGNFdUJ5QixDQXFCbUMsQ0EzR2xFLHVCQW9HVSxlQUFXLENBcEdyQixxQ0ZvREksY0VrRHVCLENGbER2QixjRW1Ec0IsQ0ZoRHhCLHlDRXZERixxQ0Z5RE0sNkNBQWtJLENFOENyRSxDRjFDakUsMENFN0RGLHFDRitETSxjRXVDMkIsQ0FDa0MsQ0ZoRGpFLHlDRXZERixxQ0Z5RE0sMENBQWtJLENFOENyRSxDRjFDakUsMENFN0RGLHFDRitETSxrQkV3QzJCLENBQWtDLENBdkduRSxvQ0ZvREksY0VxRHVCLENGbER6Qix5Q0V2REYsb0NGeURNLDZDQUFrSSxDRWdEdkUsQ0Y1Qy9ELDBDRTdERixvQ0YrRE0sZUUwQzRCLENBQStCLENBekdqRSxxQkZvREksY0V1RHVCLENGcER6Qix5Q0V2REYscUJGeURNLDZDQUFrSSxDRWtEeEUsQ0Y5QzlELDBDRTdERixxQkYrRE0sY0U0QzJCLENBQStCLENBM0doRSxlQTZHTSxjQUFpQixDQTdHdkIsc0JBK0dRLGFUNUVtQixDU25DM0IsNEJBaUhVLGFUaEZpQixDU2tGZixvQkFBZ0IsQ0FJMUIsT0FPSSxpQ1RuRitCLENTb0YvQixpQkFBYSxDQUViLGtCQUFjLENBRWQsd0JBQW9CLENBQ3RCLGtCVG5HdUIsQ1NvR3ZCLHdCVHBHdUIsQ1NxR3ZCLG9CQUFxQixDQUNyQixxQkFBc0IsQ0FDdEIsNkNDdElzRCxDRHFIdkQsc0JBS0MsVVR0RnVCLENTaUZ4QixhQXFCRyxhVDNHcUIsQ1M2R25CLG9CQUFnQixDQUNsQixlVHpHcUIsQ1NpRnhCLGFBNEJLLHdDVG5IbUIsQ1NvSHJCLFNBQVUsQ0E3QmIsY0ZuRUMsY0VrR3FCLENGL0Z2Qix5Q0VnRUMsY0Y5REcsNENBQWtJLENFNkYxRSxDRnpGNUQsMENFMERDLGNGeERHLGNFdUZ5QixDQUErQixDRXJKNUQsVUFFSSx1QkFBdUIsQ0FDdkIscUJBQVcsQ0FFWCwrQlgyQnFCLENXMUJ2QixlSjZDQSxtQkk1Q3FCLENKNENyQixnQkkzQ3FCLENBRWpCLHdCQUFpQixDQUNuQixpQkFBa0IsQ0oyQ3RCLHlDSWhERSxlSmtERSxpREFBa0ksQ0k3QzdHLENKaUR6QiwwQ0l0REUsZUp3REUsbUJJdkR5QixDQUlKLENKMkN6Qix5Q0loREUsZUprREUsK0NBQWtJLENJN0M3RyxDSmlEekIsMENJdERFLGVKd0RFLGdCSXREeUIsQ0FHSixDQUN2QixnQkFFSSw2REFBbUQsQ0FDbkQsMEJBQXFCLENBQ3JCLDJCQUFpQixDQUNqQix1QkFBYSxDQUNmLFFBQVMsQ0FDVCx3QkFBeUIsQ0FDekIsTUFBTyxDQUNQLGlCQUFrQixDQUNsQixXQUFZLENIc05WLDJCR2hPSixnQkFZSSxZQUFhLENBQUssQ0FDdEIsZUFDRSxhQUFjLENBQ2QsaUJBQWtCLENBRWhCLFNBQVEsQ0FDWixtQkFFSSxvQkFBZSxDQUNqQixZQUFhLENBRVgscUJBQWlCLENBTHBCLHNCSnFCRCxrQklkdUIsQ0pjdkIsZUlidUIsQ0phdkIsZUlac0IsQ0pleEIseUNJeEJHLHNCSjBCQyxnREFBa0ksQ0lqQnJFLENKcUJqRSwwQ0k5Qkcsc0JKZ0NDLGtCSXpCMkIsQ0FFa0MsQ0plakUseUNJeEJHLHNCSjBCQyw2Q0FBa0ksQ0lqQnJFLENKcUJqRSwwQ0k5Qkcsc0JKZ0ND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LDJDQUFrSSxDUW1DMUUsQ1IvQjVELDBDUTBCQyw2Q1J4QkcsY1E2QnlCLENBQStCLENBTDNELDJDUm5DQyxnQlE2Q29CLENSMUN0Qix5Q1FnQ0MsMkNSOUJHLCtDQUFrSSxDUXdDekUsQ1JwQzdELDBDUTBCQywyQ1J4QkcsbUJRK0J3QixDQUdpQyxDUjFDN0QseUNRZ0NDLDJDUjlCRyw4Q0FBa0ksQ1F3Q3pFLENScEM3RCwwQ1EwQkMsMkNSeEJHLGlCUWdDeUIsQ0FFZ0MsQ1IxQzdELHlDUWdDQywyQ1I5QkcsK0NBQWtJLENRd0N6RSxDUnBDN0QsMENRMEJDLDJDUnhCRyxrQlFpQ3lCLENBQ2dDLENSMUM3RCx5Q1FnQ0MsMkNSOUJHLDRDQUFrSSxDUXdDekUsQ1JwQzdELDBDUTBCQywyQ1J4QkcsZ0JRa0N3QixDQUFpQyxDQUMzRCx1QlI5Q0EsZVFrRG9CLENBQ2xCLHVCQUFnQixDQUFoQixvQkFBZ0IsQ0FBaEIsZUFBZ0IsQ0FFZCxxQmZuRW1CLENlb0VuQixpRUFBdUQsQ0FDdkQscUNBQTJCLENBQzNCLDJCQUFpQixDQUNuQix3QmYxRXFCLENlMkVuQixlQUFTLENBQ1gsaUJBQWtCLENSeER0Qix5Q1EyQ0UsdUJSekNFLCtDQUFrSSxDUXNFckcsQ1JsRWpDLDBDUXFDRSx1QlJuQ0UsbUJRb0N3QixDQTRCSyxDUnhFakMseUNRMkNFLHVCUnpDRSw2Q0FBa0ksQ1FzRXJHLENSbEVqQywwQ1FxQ0UsdUJSbkNFLGlCUXFDd0IsQ0EyQkssQ1J4RWpDLHlDUTJDRSx1QlJ6Q0UsOENBQWtJLENRc0VyRyxDUmxFakMsMENRcUNFLHVCUm5DRSxrQlFzQ3dCLENBMEJLLENSeEVqQyx5Q1EyQ0UsdUJSekNFLDRDQUFrSSxDUXNFckcsQ1JsRWpDLDBDUXFDRSx1QlJuQ0UsZ0JRdUN3QixDQXlCSyxDUDhHM0IsMkJPM0lKLHVCQWlCTSxvQkFBVSxDQVllLENQOEczQixnRE8zSUosdUJBb0JNLG9CQUFVLENBU2UsQ1A4RzNCLGdETzNJSix1QkF1Qk0sb0JBQVUsQ0FNZSxDQTdCOUIsK0JBeUJHLGFmeEZtQixDZStEdEIsOEJBMkJHLGFmN0ZtQixDZWtFdEIsd0NBNkJHLGFmM0ZtQixDZTRGdkIsMkNBQ0Usd0JmOUZxQixDZStGckIsd0NMcEhvRCxDS2tIckQsdURBS0ssb0JmckdpQixDZXVHakIscUJmdkdpQixDZWdHdEIsNkZBV1MscUJmckdhLENlc0dmLEtBQU0sQ0FDaEIsZVJ6RkUsY1EwRm1CLENBQ25CLGFmNUd1QixDT29CekIseUNRc0ZBLGVScEZJLDJDQUFrSSxDUXdHaEgsQ1JwR3RCLDBDUWdGQSxlUjlFSSxjUStFdUIsQ0FtQkwsQ0FwQnJCLGtCQUtLLGNBQVUsQ0FDZCwyQ1IvRkEsUVFnR29CLENBRWhCLGlCQUFXLENBQ2IsV0FBWSxDQUNaLFdBQVksQ0FDWixpQkFBa0IsQ0FDbEIsT0FBUSxDQUNSLDBCQUEyQixDQUMzQix3Q0w5SW9ELENIeUN4RCx5Q1E0RkUsMkNSMUZFLHFDQUFrSSxDUW1HaEcsQ1IvRnRDLDBDUXNGRSwyQ1JwRkUsU1FxRndCLENBUVUsQ0FDcEMsdUJBQ0Usb0JBQXFCLENBRW5CLGlCQUFXLENBQ1gsZUFBUyxDQUNmLGVSOUdFLGtCUStHa0IsQ1IvR2xCLGVRZ0hrQixDUjdHcEIseUNRMkdBLGVSekdJLCtDQUFrSSxDUTJHM0UsQ1J2RzNELDBDUXFHQSxlUm5HSSxtQlFvR3NCLENBQ2lDLENSN0czRCx5Q1EyR0EsZVJ6R0ksNENBQWtJLENRMkczRSxDUnZHM0QsMENRcUdBLGVSbkdJLGdCUXFHc0IsQ0FBaUMsQ0FDM0Qsa0JBQ0UsWUFBYSxDQURkLG1DQUlLLG1CQUFZLENBSmpCLHdCQU9LLGdCQUFVLENBQ1YsZ0JBQVUsQ0FDVixjQUFRLENBQ2QsY1IzSEUsY1E0SG1CLENBRW5CLGFmOUl1QixDZWdKckIsZUFBVyxDQUVYLGtCQUFjLENBRWQsd0JBQW9CLENBQ3RCLGlCQUFrQixDQUNsQixPQUFRLENBQ1IsS0FBTSxDQUNOLHdCQUF5QixDQUN2QiwwQkFBaUIsQ1J0SXJCLHlDUXdIQSxjUnRISSw2Q0FBa0ksQ1FzSWpILENSbElyQiwwQ1FrSEEsY1JoSEksY1FpSHVCLENBZU4sQ1A4Q2Ysd0JPOUROLGNBZ0JJLFdBQVksQ0FBSyxDQUNyQixlQUNFLGFmaEt1QixDZWtLckIsa0JSakw0QixDUW1MbEMsK0JBQ0UsZWZoS3lCIiwiZmlsZSI6Im1haW4ubWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvXG4gICB2NS4wLjEgfCAyMDE5MTAxOVxuICAgTGljZW5zZTogbm9uZSAocHVibGljIGRvbWFpbilcbiovXG5cbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbmEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcbnNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG5iLCB1LCBpLCBjZW50ZXIsXG5kbCwgZHQsIGRkLCBtZW51LCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLFxuZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLFxubWFpbiwgbWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRmb250OiBpbmhlcml0O1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbWVudSwgbmF2LCBzZWN0aW9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG4vKiBIVE1MNSBoaWRkZW4tYXR0cmlidXRlIGZpeCBmb3IgbmV3ZXIgYnJvd3NlcnMgKi9cbipbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbmJvZHkge1xuXHRsaW5lLWhlaWdodDogMTtcbn1cbm1lbnUsIG9sLCB1bCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5ibG9ja3F1b3RlLCBxIHtcblx0cXVvdGVzOiBub25lO1xufVxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSwgcTphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRjb250ZW50OiBub25lO1xufVxudGFibGUge1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRib3JkZXItc3BhY2luZzogMDtcbn1cbiIsIkBpbXBvcnQgJy4uL2Jvb3RzdHJhcC5zY3NzJztcblxuLmdyaWQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAwIChtYXBfZ2V0KCRndXR0ZXIsICd3aWR0aCcpIC8gMik7XG5cbiAgQGluY2x1ZGUgdmFyaWFudCgnY29udGFpbmVyJykge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgQGluY2x1ZGUgdmFyaWFudCgnbm8tZ3V0dGVycycpIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbkBpbmNsdWRlIG1ha2UtZ3JpZHMoJGJyZWFrcG9pbnRzKTtcbiIsIi8vIEFuIGJsb2NrIGhhcyBhbiBlbGVtZW50LlxuQG1peGluIGhhcygkZWxlbWVudCkge1xuICAmX18jeyRlbGVtZW50fSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gQW4gZWxlbWVudCBoYXMgYSB2YXJpYW50LlxuQG1peGluIHZhcmlhbnQoJG1vZGlmaWVyKSB7XG4gICYtLSN7JG1vZGlmaWVyfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIFdpbGwgbWFrZSBhIHNpbmdsZSBncmlkLlxuQG1peGluIG1ha2UtZ3JpZCgkYnJlYWtwb2ludCkge1xuICAuZ3JpZCB7XG4gICAgQGluY2x1ZGUgdmFyaWFudCgkYnJlYWtwb2ludCArICctbm8tZ3V0dGVycycpIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2lsbCBtYWtlIHRoZSBncmlkcy5cbkBtaXhpbiBtYWtlLWdyaWRzKCRicmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJHdpZHRoIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmICgkd2lkdGggPT0gMCkge1xuICAgICAgQGluY2x1ZGUgbWFrZS1ncmlkKCRicmVha3BvaW50KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkd2lkdGgpIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1ncmlkKCRicmVha3BvaW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiQGltcG9ydCAnLi4vYm9vdHN0cmFwLnNjc3MnO1xuXG4ucm93IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAxIDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAoLShtYXBfZ2V0KCRndXR0ZXIsICdoZWlnaHQnKSkpICgtKG1hcF9nZXQoJGd1dHRlciwgJ3dpZHRoJykgLyAyKSkgKG1hcF9nZXQoJGd1dHRlciwgJ2hlaWdodCcpKTtcbiAgcGFkZGluZzogMDtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBAaW5jbHVkZSB2YXJpYW50KCduby1ndXR0ZXJzJykge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIHZhcmlhbnQoJ3RvcCcpIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuXG4gIEBpbmNsdWRlIHZhcmlhbnQoJ2NlbnRlcicpIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgQGluY2x1ZGUgdmFyaWFudCgnYm90dG9tJykge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgfVxuXG4gIEBpbmNsdWRlIHZhcmlhbnQoJ3JldmVyc2UnKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG59XG5cbkBpbmNsdWRlIG1ha2Utcm93cygkYnJlYWtwb2ludHMpO1xuIiwiLy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0qLy9cclxuLy8qIC8vLy8vLyAjVmFycyAvLy8vLy8qLy9cclxuLy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0qLy9cclxuXHJcbkBpbXBvcnQgXCJzYXNzLWVhc2luZy9fZWFzaW5ncy5zY3NzXCI7XHJcblxyXG4vKi0tLS0tLSNicmVha3BvaW50cy0tLS0tLSovXHJcblxyXG4kYnJlYWtwb2ludHM6IChcclxuICB4cyA6IDBweCxcclxuICBzbSA6IDU0NHB4LFxyXG4gIG1kIDogNzY4cHgsXHJcbiAgbGcgOiA5OTJweCxcclxuICB4bCA6IDExMDBweCxcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRtcS1icmVha3BvaW50czogKFxyXG4gIHhzICA6IDBweCxcclxuICBzbSAgOiA1NDRweCxcclxuICBtZCAgOiA3NjhweCxcclxuICBsZyAgOiA5OTJweCxcclxuICB4bCAgOiAxMTAwcHhcclxuKTtcclxuXHJcbi8vIF9mdW5jdGlvbnMuc2Nzc1xyXG5AZnVuY3Rpb24gYnAoJGtleSkge1xyXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRrZXkpIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludHMsICRrZXkpO1xyXG4gIH1cclxuXHJcbiAgQHdhcm4gXCJVbmtub3duIGAjeyRrZXl9YCBpbiAkYnJlYWtwb2ludHMuXCI7XHJcbiAgQHJldHVybiBudWxsO1xyXG59XHJcblxyXG4vKi0tLS0tLSNjb2xvcnMtLS0tLS0qL1xyXG5cclxuJGNvbG9yLXB1cnBsZS1kayAgOiAjMWUyNDVmO1xyXG4kY29sb3ItcmVkLWRrICAgICA6ICM4ZjAwMDA7XHJcbiRjb2xvci1ncmF5ICAgICAgIDogIzVjNWM1YztcclxuJGNvbG9yLWdyYXktbHQgICAgOiAjOWI5OTk5O1xyXG4kY29sb3ItZ3JheS1sdHIgICA6ICNkOWQ5ZGE7XHJcbiRjb2xvci1ibGFjayAgICAgIDogIzAwMDAwMDtcclxuJGNvbG9yLXdoaXRlICAgICAgOiAjZmZmZmZmO1xyXG5cclxuXHJcbi8qLS0tLS0tI2ZvbnRzLS0tLS0tKi9cclxuXHJcbiRmb250LWJhc2UgOiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XHJcblxyXG5cclxuLyotLS0tLS0jZmxleGJveC1ncmlkLS0tLS0tKi9cclxuLy8gJGdyaWQtY29sdW1uczogMTU7IC8vIFNldCBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZFxyXG4vLyAkZ3V0dGVyOiAxMHB4OyAvLyBTZXQgZ3V0dGVyIHNpemVcclxuLy8gJGNvbnRlbnQtd2VsbC1tYXgtd2lkdGg6IDEzMDBweDsgLy8gU2V0IHRoZSBtYXgtd2lkdGggb2YgdGhlIGNvbnRlbnQgd2VsbFxyXG4kY29sdW1uczogMTI7XHJcbi8vIFRoZSBzaXppbmcgb2YgdGhlIGd1dHRlci5cclxuJGd1dHRlciA6IChcclxuICBoZWlnaHQ6IDIwcHgsXHJcbiAgd2lkdGg6IDIwcHhcclxuKTtcclxuXHJcbi8qLS0tLS0tI21tZW51LS0tLS0tKi9cclxuLy8gJG1tX2JhY2tncm91bmRDb2xvcjogJGNvbG9yLWdyYXlEayAhZGVmYXVsdDtcclxuLy8gJG1tX2JvcmRlckNvbG9yOiAkY29sb3IteWVsbG93ICFkZWZhdWx0O1xyXG4vLyAkbW1fZGltbWVkVGV4dENvbG9yOiByZ2JhKCRjb2xvci15ZWxsb3csIDEpICFkZWZhdWx0O1xyXG4vLyAkbW1fZW1waGFzaXplZEJhY2tncm91bmRDb2xvcjogJGNvbG9yLWdyYXlNZCAhZGVmYXVsdDtcclxuLy8gJG1tX2hpZ2hsaWdodGVkQmFja2dyb3VuZENvbG9yOiAkY29sb3ItcmVkQnQgIWRlZmF1bHQ7XHJcbi8vICRtbV9uYXZiYXJDb2xvcjogJGNvbG9yLXdoaXRlICFkZWZhdWx0O1xyXG4vLyAkbW1fdGV4dENvbG9yOiAkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLyAkbW1fdHJhbnNpdGlvbkZ1bmN0aW9uOiAkZWFzZUluRXhwbyAhZGVmYXVsdDtcclxuXHJcblxyXG4vKi0tLS0tLSNoYW1idXJnZXItLS0tLS0qL1xyXG4vLyAkaGFtYnVyZ2VyLXBhZGRpbmcteCAgICAgICAgICAgOiAxMHB4ICFkZWZhdWx0O1xyXG4vLyAkaGFtYnVyZ2VyLXBhZGRpbmcteSAgICAgICAgICAgOiAxMHB4ICFkZWZhdWx0O1xyXG4vLyAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICAgICAgICAgOiA0MHB4ICFkZWZhdWx0O1xyXG4vLyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAgICAgICAgOiA0cHggIWRlZmF1bHQ7XHJcbi8vICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAgICAgICA6IDVweCAhZGVmYXVsdDtcclxuLy8gJGhhbWJ1cmdlci1sYXllci1jb2xvciAgICAgICAgIDogJGNvbG9yLXdoaXRlICFkZWZhdWx0O1xyXG4vLyAkaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXMgOiAwcHggIWRlZmF1bHQ7XHJcbi8vICRoYW1idXJnZXItaG92ZXItb3BhY2l0eSAgICAgICA6IDAuNyAhZGVmYXVsdDtcclxuLy8gJGhhbWJ1cmdlci1hY3RpdmUtbGF5ZXItY29sb3IgIDogJGhhbWJ1cmdlci1sYXllci1jb2xvciAhZGVmYXVsdDtcclxuLy8gJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItb3BhY2l0eTogJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5ICFkZWZhdWx0O1xyXG5cclxuLy8gLy8gVG8gdXNlIENTUyBmaWx0ZXJzIGFzIHRoZSBob3ZlciBlZmZlY3QgaW5zdGVhZCBvZiBvcGFjaXR5LFxyXG4vLyAvLyBzZXQgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyIGFzIHRydWUgYW5kXHJcbi8vIC8vIGNoYW5nZSB0aGUgdmFsdWUgb2YgJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXIgYWNjb3JkaW5nbHkuXHJcbi8vICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciAgIDogZmFsc2UgIWRlZmF1bHQ7XHJcbi8vICRoYW1idXJnZXItaG92ZXItZmlsdGVyICAgICAgIDogb3BhY2l0eSg1MCUpICFkZWZhdWx0O1xyXG4vLyAkaGFtYnVyZ2VyLWFjdGl2ZS1ob3Zlci1maWx0ZXI6ICRoYW1idXJnZXItaG92ZXItZmlsdGVyICFkZWZhdWx0OyIsIi8vIFdpbGwgbWFrZSBhIHNpbmdsZSBncmlkIHJvdy5cbkBtaXhpbiBtYWtlLXJvdygkYnJlYWtwb2ludCkge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSB2YXJpYW50KCRicmVha3BvaW50ICsgJy1uby1ndXR0ZXJzJykge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHZhcmlhbnQoJGJyZWFrcG9pbnQgKyAnLXRvcCcpIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHZhcmlhbnQoJGJyZWFrcG9pbnQgKyAnLWNlbnRlcicpIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdmFyaWFudCgkYnJlYWtwb2ludCArICctYm90dG9tJykge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHZhcmlhbnQoJGJyZWFrcG9pbnQgKyAnLXJldmVyc2UnKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgfVxuICB9XG59XG5cbi8vIFdpbGwgbWFrZSB0aGUgZ3JpZCByb3dzLlxuQG1peGluIG1ha2Utcm93cygkYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICR3aWR0aCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiAoJHdpZHRoID09IDApIHtcbiAgICAgIEBpbmNsdWRlIG1ha2Utcm93KCRicmVha3BvaW50KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkd2lkdGgpIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1yb3coJGJyZWFrcG9pbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vYm9vdHN0cmFwLnNjc3MnO1xuXG4uY29sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZmxleDogMCAwIDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogbWFwX2dldCgkZ3V0dGVyLCAnaGVpZ2h0JykgKG1hcF9nZXQoJGd1dHRlciwgJ3dpZHRoJykgLyAyKSAwO1xuXG4gIEBpbmNsdWRlIHZhcmlhbnQoJ25vLWd1dHRlcnMnKSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIHZhcmlhbnQoJ2FsaWduLXRvcCcpIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICB9XG5cbiAgQGluY2x1ZGUgdmFyaWFudCgnYWxpZ24tY2VudGVyJykge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgfVxuXG4gIEBpbmNsdWRlIHZhcmlhbnQoJ2FsaWduLWJvdHRvbScpIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgfVxuXG4gIEBpbmNsdWRlIHZhcmlhbnQoJ2ZpcnN0Jykge1xuICAgIG9yZGVyOiAtMTtcbiAgfVxuXG4gIEBpbmNsdWRlIHZhcmlhbnQoJ2xhc3QnKSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cblxuICBAaW5jbHVkZSB2YXJpYW50KCdyZXNldCcpIHtcbiAgICBvcmRlcjogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIHZhcmlhbnQoJ2ZsZXgnKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG5AaW5jbHVkZSBtYWtlLWNvbHVtbnMoJGJyZWFrcG9pbnRzLCAkY29sdW1ucyk7XG4iLCIvLyBXaWxsIG1ha2UgdGhlIGNvbHVtbiBoZWxwZXJzLlxuQG1peGluIG1ha2UtY29sdW1uLWhlbHBlcnMoJGJyZWFrcG9pbnQpIHtcbiAgLmNvbCB7XG4gICAgQGluY2x1ZGUgdmFyaWFudCgkYnJlYWtwb2ludCArICctbm8tZ3V0dGVycycpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIHZhcmlhbnQoJGJyZWFrcG9pbnQgKyAnLWFsaWduLXRvcCcpIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIHZhcmlhbnQoJGJyZWFrcG9pbnQgKyAnLWFsaWduLWNlbnRlcicpIHtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB9XG4gICAgQGluY2x1ZGUgdmFyaWFudCgkYnJlYWtwb2ludCArICctYWxpZ24tYm90dG9tJykge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIHZhcmlhbnQoJGJyZWFrcG9pbnQgKyAnLWZpcnN0Jykge1xuICAgICAgb3JkZXI6IC0xO1xuICAgIH1cbiAgICBAaW5jbHVkZSB2YXJpYW50KCRicmVha3BvaW50ICsgJy1sYXN0Jykge1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICAgIEBpbmNsdWRlIHZhcmlhbnQoJGJyZWFrcG9pbnQgKyAnLXJlc2V0Jykge1xuICAgICAgb3JkZXI6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIHZhcmlhbnQoJGJyZWFrcG9pbnQgKyAnLWZsZXgnKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBXaWxsIG1ha2UgdGhlIGRlZmF1bHQgY29sdW1uLlxuQG1peGluIG1ha2UtZGVmYXVsdC1jb2x1bW4oJGJyZWFrcG9pbnQpIHtcbiAgLmNvbCB7XG4gICAgQGluY2x1ZGUgdmFyaWFudCgkYnJlYWtwb2ludCkge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2lsbCBtYWtlIGEgc2luZ2xlIGNvbHVtblxuQG1peGluIG1ha2UtcmVzcG9uc2l2ZS1jb2x1bW4oJGJyZWFrcG9pbnQsICRjb2x1bW4sICR3aWR0aCkge1xuICAuY29sIHtcbiAgICBAaW5jbHVkZSB2YXJpYW50KCRicmVha3BvaW50ICsgJy0nICsgJGNvbHVtbikge1xuICAgICAgZmxleDogMCAwICgkd2lkdGgpO1xuICAgICAgbWF4LXdpZHRoOiAoJHdpZHRoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2lsbCBtYWtlIHRoZSBjb2x1bW5zLlxuQG1peGluIG1ha2UtcmVzcG9uc2l2ZS1jb2x1bW5zKCRjb2x1bW5zLCAkYnJlYWtwb2ludCkge1xuICBAZm9yICRjb2x1bW4gZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICR3aWR0aDogMDtcblxuICAgIEBpZiAoJGNvbHVtbiAhPSAwKSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRjb2x1bW5zICogJGNvbHVtbik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWFrZS1yZXNwb25zaXZlLWNvbHVtbigkYnJlYWtwb2ludCwgJGNvbHVtbiwgJHdpZHRoKTtcbiAgfVxufVxuXG4vLyBXaWxsIG1ha2UgYSBzaW5nbGUgb2Zmc2V0XG5AbWl4aW4gbWFrZS1vZmZzZXQtY29sdW1uKCRicmVha3BvaW50LCAkY29sdW1uLCAkbWFyZ2luKSB7XG4gIC5jb2wge1xuICAgIEBpbmNsdWRlIHZhcmlhbnQoJGJyZWFrcG9pbnQgKyAnLW9mZnNldC0nICsgJGNvbHVtbikge1xuICAgICAgbWFyZ2luLWxlZnQ6ICgkbWFyZ2luKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2lsbCBtYWtlIHRoZSBvZmZzZXRzLlxuQG1peGluIG1ha2Utb2Zmc2V0LWNvbHVtbnMoJGNvbHVtbnMsICRicmVha3BvaW50KSB7XG4gIEBmb3IgJGNvbHVtbiBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgJG9mZnNldDogMDtcblxuICAgIEBpZiAoJGNvbHVtbiAhPSAwKSB7XG4gICAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKDEgLyAkY29sdW1ucyAqICRjb2x1bW4pO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1ha2Utb2Zmc2V0LWNvbHVtbigkYnJlYWtwb2ludCwgJGNvbHVtbiwgJG9mZnNldCk7XG4gIH1cbn1cblxuLy8gV2lsbCBtYWtlIGEgc2luZ2xlIGdyaWQgY29sdW1uXG5AbWl4aW4gbWFrZS1jb2x1bW4oJGJyZWFrcG9pbnQsICRjb2x1bW5zKSB7XG4gIEBpbmNsdWRlIG1ha2UtY29sdW1uLWhlbHBlcnMoJGJyZWFrcG9pbnQpO1xuICBAaW5jbHVkZSBtYWtlLWRlZmF1bHQtY29sdW1uKCRicmVha3BvaW50KTtcbiAgQGluY2x1ZGUgbWFrZS1yZXNwb25zaXZlLWNvbHVtbnMoJGNvbHVtbnMsICRicmVha3BvaW50KTtcbiAgQGluY2x1ZGUgbWFrZS1vZmZzZXQtY29sdW1ucygkY29sdW1ucywgJGJyZWFrcG9pbnQpO1xufVxuXG4vLyBXaWxsIG1ha2UgdGhlIGdyaWQgY29sdW1uc1xuQG1peGluIG1ha2UtY29sdW1ucygkYnJlYWtwb2ludHMsICRjb2x1bW5zKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkd2lkdGggaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgKCR3aWR0aCA9PSAwKSB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbHVtbigkYnJlYWtwb2ludCwgJGNvbHVtbnMpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICR3aWR0aCkge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbHVtbigkYnJlYWtwb2ludCwgJGNvbHVtbnMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vYm9vdHN0cmFwLnNjc3MnO1xuXG4udGV4dCB7XG4gIEBpbmNsdWRlIHZhcmlhbnQoJ2xlZnQnKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIEBpbmNsdWRlIHZhcmlhbnQoJ3JpZ2h0Jykge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgQGluY2x1ZGUgdmFyaWFudCgnY2VudGVyJykge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5AaW5jbHVkZSBtYWtlLXRleHQoJGJyZWFrcG9pbnRzKTtcbiIsIi8vIFdpbGwgbWFrZSBhIHNpbmdsZSB0ZXh0IGl0ZW0uXG5AbWl4aW4gbWFrZS1zaW5nbGUtdGV4dCgkYnJlYWtwb2ludCkge1xuICAudGV4dCB7XG4gICAgQGluY2x1ZGUgdmFyaWFudCgkYnJlYWtwb2ludCArICctcmlnaHQnKSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSB2YXJpYW50KCRicmVha3BvaW50ICsgJy1sZWZ0Jykge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSB2YXJpYW50KCRicmVha3BvaW50ICsgJy1jZW50ZXInKSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIFdpbGwgbWFrZSB0aGUgdGV4dC5cbkBtaXhpbiBtYWtlLXRleHQoJGJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkd2lkdGggaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgKCR3aWR0aCA9PSAwKSB7XG4gICAgICBAaW5jbHVkZSBtYWtlLXNpbmdsZS10ZXh0KCRicmVha3BvaW50KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkd2lkdGgpIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1zaW5nbGUtdGV4dCgkYnJlYWtwb2ludCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC8vLy8vLyAjQmFzZSAvLy8vLy8qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qLS0tLS0tQmFzZSBTdHlsZXMtLS0tLS0qL1xuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8vICY6Zm9jdXNcbiAgLy8gICBib3g6XG4gIC8vICAgICBzaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoJGNvbG9yLXJlZCwgLjM4OClcbiB9ICAvLyAgIG91dGxpbmU6IDBcblxuYm9keSB7XG4gIGNvbG9yOiAkY29sb3ItZ3JheTtcbiAgZm9udDoge1xuICAgIGRpc3BsYXk6IHN3YXA7XG4gICAgZmFtaWx5OiAkZm9udC1iYXNlOyB9IH1cblxuaW1nLCBpZnJhbWUge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heDoge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuaW1nIHtcbiAgdmVydGljYWw6IHtcbiAgICBhbGlnbjogbWlkZGxlOyB9IH1cblxuc3VwIHtcbiAgZm9udDoge1xuICAgIHNpemU6IC43NWVtOyB9XG4gIHZlcnRpY2FsOiB7XG4gICAgYWxpZ246IHN1cGVyOyB9IH1cblxuaHIge1xuICBAaW5jbHVkZSBmbHVpZCgxNnB4LCAyNHB4LCBicChzbSksIGJwKHhsKSwgbWFyZ2luLWJvdHRvbSk7XG4gIEBpbmNsdWRlIGZsdWlkKDIwcHgsIDMycHgsIGJwKHNtKSwgYnAoeGwpLCBtYXJnaW4tdG9wKTtcbiAgYmFja2dyb3VuZDogJGNvbG9yLWdyYXktbHRyO1xuICBib3JkZXI6IDA7XG4gIGhlaWdodDogNXB4O1xuICBvdXRsaW5lOiAwO1xuICB3aWR0aDogY2FsYygxMDAlICsgMS4yNWVtKTsgfVxuXG4uZ3JpZCB7XG4gIC8vIGV4dGVuZCBncmlkIGJleW9uZCAxMjAwcHhcbiAgbWF4OiB7XG4gICAgd2lkdGg6IDExMDBweDsgfVxuICAvLyAmLS1vdXRlclxuICAvLyAgIG1hcmdpbjogMCBhdXRvXG4gfSAgLy8gICB3aWR0aDogMTAwJVxuXG4ucm93Om5vdCgucm93LS14cy1uby1ndXR0ZXJzKSB7XG4gIEBpbmNsdWRlIGZsdWlkKC0xMnB4LCAtMjBweCwgYnAoc20pLCBicCh4bCksIG1hcmdpbi10b3ApOyB9XG5cbi5jb2w6bm90KC5jb2wtLXhzLW5vLWd1dHRlcnMpIHtcbiAgQGluY2x1ZGUgZmx1aWQoMTJweCwgMjBweCwgYnAoc20pLCBicCh4bCksIHBhZGRpbmctdG9wKTsgfVxuXG4udG8tbWQtaXMtaGlkZGVuIHtcbiAgQGluY2x1ZGUgbXEoJHVudGlsOiBtZCkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZnJvbS1tZC1pcy1oaWRkZW4ge1xuICBAaW5jbHVkZSBtcSgkZnJvbTogbWQpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbiIsIiRicm93c2VyLWNvbnRleHQ6IDE2O1xyXG5cclxuLy90ZXh0IGdsb3dcclxuQG1peGluIHRleHRHbG93KCRweCwgJGNvbG9yLCAkc3ByZWFkOiAkcHgpe1xyXG5cclxuICB0ZXh0LXNoYWRvdzogJHB4ICRweCAkc3ByZWFkICRjb2xvcixcclxuICAgICgtJHB4KSAkcHggJHNwcmVhZCAkY29sb3IsXHJcbiAgICAkcHggKC0kcHgpICRzcHJlYWQgJGNvbG9yLFxyXG4gICAgKC0kcHgpICgtJHB4KSAkc3ByZWFkICRjb2xvclxyXG5cclxufVxyXG5cclxuLy8gZW0oKSBjYWxjdWxhdGlvbnMgZnJvbSBwaXhlbHNcclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAkYnJvd3Nlci1jb250ZXh0KSB7XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG4gICAgJHBpeGVsczogJHBpeGVscyAqIDFweDtcclxuICB9XHJcblxyXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7XHJcbiAgICAkY29udGV4dDogJGNvbnRleHQgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRwaXhlbHMgLyAkY29udGV4dCAqIDFlbTtcclxufVxyXG5cclxuLyotLS0tLS1WVy0tLS0tLSovXHJcblxyXG4vL2dldCB2aWV3cG9ydCB3aWR0aFxyXG5AZnVuY3Rpb24gZ2V0LXZ3KCR0YXJnZXQpIHsgXHJcbiAgJHZ3LWNvbnRleHQ6ICgxMDAwKi4wMSkgKiAxcHg7XHJcbiAgQHJldHVybiAoJHRhcmdldC8kdnctY29udGV4dCkgKiAxdnc7XHJcbn1cclxuXHJcbi8vIHJlbGF0aXZlIHVuaXRzIGlmIHNtYWxsZXIgdGhhbiBoZFxyXG5AbWl4aW4gdnAtcmVsYXRpdmUtcHJvcCgkcHJvcGVydHksICRzaXplKSB7XHJcbiAgI3skcHJvcGVydHl9OiBnZXQtdncoJHNpemUpO1xyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMjBweCkge1xyXG4gICAgI3skcHJvcGVydHl9OiAkc2l6ZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFN0cmlwcyB2YWx1ZXMgb2YgdGhlaXIgdW5pdHMuXHJcbi8vIFNlZTogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9zYXNzL3N0cmlwLXVuaXQtZnVuY3Rpb24vXHJcbkBmdW5jdGlvbiBzdHJpcFVuaXQoJHZhbHVlKSB7XHJcbiAgQHJldHVybiAkdmFsdWUgLyAoJHZhbHVlICogMCArIDEpO1xyXG59XHJcblxyXG4vLyBZb3UgY2FuIHJlcGxhY2UgYEBtZWRpYWAgd2l0aCB3aGF0ZXZlciBtZWRpYSBxdWVyeSBtaXhpbiB5b3UncmUgdXNpbmcuXHJcbkBtaXhpbiBmbHVpZChcclxuICAkbWluLXZhbHVlLFxyXG4gICRtYXgtdmFsdWUsXHJcbiAgJG1pbi12dyxcclxuICAkbWF4LXZ3LFxyXG4gICRwcm9wZXJ0aWVzLi4uXHJcbikge1xyXG4gIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XHJcbiAgICAjeyRwcm9wZXJ0eX06ICRtaW4tdmFsdWU7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JG1pbi12d30pIHtcclxuICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XHJcbiAgICAgICN7JHByb3BlcnR5fTogY2FsYygjeyRtaW4tdmFsdWV9ICsgI3tzdHJpcFVuaXQoJG1heC12YWx1ZSAtICRtaW4tdmFsdWUpfSAqICgxMDB2dyAtICN7JG1pbi12d30pIC8gI3tzdHJpcFVuaXQoJG1heC12dyAtICRtaW4tdncpfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JG1heC12d30pIHtcclxuICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XHJcbiAgICAgICN7JHByb3BlcnR5fTogJG1heC12YWx1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tZmx1aWQgdHlwb2dyYXBoeS0tLS0tLSovXHJcblxyXG5AZnVuY3Rpb24gc3RyaXBVbml0KCR2YWx1ZSkge1xyXG4gIEByZXR1cm4gJHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAxKTtcclxufVxyXG5cclxuQG1peGluIGZsdWlkVHlwZSgkbWluLWZvbnQtc2l6ZSwgJG1heC1mb250LXNpemUsICRtaW4tdnc6IDMyMHB4LCAkbWF4LXZ3OiAxMjAwcHgpIHtcclxuICAkdTE6IHVuaXQoJG1pbi12dyk7XHJcbiAgJHUyOiB1bml0KCRtYXgtdncpO1xyXG4gICR1MzogdW5pdCgkbWluLWZvbnQtc2l6ZSk7XHJcbiAgJHU0OiB1bml0KCRtYXgtZm9udC1zaXplKTtcclxuXHJcbiAgQGlmICR1MSA9PSAkdTIgYW5kICR1MSA9PSAkdTMgYW5kICR1MSA9PSAkdTQge1xyXG4gICAgJiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogJG1pbi1mb250LXNpemU7XHJcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW4tdncpIHtcclxuICAgICAgICBmb250LXNpemU6IGNhbGMoI3skbWluLWZvbnQtc2l6ZX0gKyAje3N0cmlwVW5pdCgkbWF4LWZvbnQtc2l6ZSAtICRtaW4tZm9udC1zaXplKX0gKiAoKDEwMHZ3IC0gI3skbWluLXZ3fSkgLyAje3N0cmlwVW5pdCgkbWF4LXZ3IC0gJG1pbi12dyl9KSk7XHJcbiAgICAgIH1cclxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1heC12dykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJG1heC1mb250LXNpemU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIGNvbG9yIG1hcHBpbmdcclxuQGZ1bmN0aW9uIGNvbG9yKCRjb2xvciwkdG9uZSl7XHJcblxyXG4gIEB3YXJuIG1hcC1nZXQoJHBhbGV0dGVzLCRjb2xvcik7XHJcblxyXG4gIEBpZiBtYXAtaGFzLWtleSgkcGFsZXR0ZXMsJGNvbG9yKXtcclxuICAgICAgJGNvbG9yOiBtYXAtZ2V0KCRwYWxldHRlcywkY29sb3IpO1xyXG5cclxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkY29sb3IsJHRvbmUpe1xyXG4gICAgICAgICAgICAgICR0b25lOiBtYXAtZ2V0KCRjb2xvciwkdG9uZSk7XHJcbiAgICAgICAgICAgICAgQHJldHVybiB1bnF1b3RlKCR0b25lKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBAd2FybiBcInVua25vd24gdG9uZSBgI3skdG9uZX1gIGluIGNvbG9yXCI7XHJcbiAgICAgICAgICBAcmV0dXJuIG51bGw7ICAgICAgICBcclxuICB9XHJcblxyXG4gIEB3YXJuIFwidW5rbm93biBjb2xvciBgI3skY29sb3J9YCBpbiBwYWxldHRlXCI7XHJcbiAgQHJldHVybiBudWxsO1xyXG4gXHJcbn1cclxuLy8gZXhhbXBsZSB1c2FnZVxyXG4vLyAkcGFsZXR0ZXM6IChcclxuLy8gICAgIGJsdWU6IChcclxuLy8gICAgICAgICBiYXNlOiAgICAjMjM3NzhHLFxyXG4vLyAgICAgICAgIGxpZ2h0OiAgICMyMzc3OEcsXHJcbi8vICAgICAgICAgbGlnaHRlcjogIzQ4NTI1Q1xyXG4vLyAgICAgKSxcclxuLy8gICAgIHllbGxvdzogKFxyXG4vLyAgICAgICAgIGJhc2U6ICAgI2ZmYTk0OSxcclxuLy8gICAgICAgICBsaWdodDogICNlZGEyZnNcclxuLy8gICAgIClcclxuLy8gKTtcclxuXHJcbi8vIC5iYW5uZXJ7XHJcbi8vICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoYmx1ZSxiYXNlKTtcclxuLy8gIH1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiOyAvLyBGaXhlcyBhbiBpc3N1ZSB3aGVyZSBSdWJ5IGxvY2FsZSBpcyBub3Qgc2V0IHByb3Blcmx5XG4gICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9wdWxsLzEwXG5cbi8vLyBCYXNlIGZvbnQgc2l6ZSBvbiB0aGUgYDxib2R5PmAgZWxlbWVudFxuLy8vXG4vLy8gRG8gbm90IG92ZXJyaWRlIHRoaXMgdmFsdWUsIG9yIHRoaW5ncyB3aWxsIGJyZWFrXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL2lzc3Vlcy8xMjJcbi8vLyBAZGVwcmVjYXRlZCBUaGlzIHNldHRpbmcgd2lsbCBiZSByZW1vdmVkIGluIHNhc3MtbXEgdjYuMC4wXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHR5cGUgTnVtYmVyICh1bml0KVxuJG1xLWJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLy8gUmVzcG9uc2l2ZSBtb2RlXG4vLy9cbi8vLyBTZXQgdG8gYGZhbHNlYCB0byBlbmFibGUgc3VwcG9ydCBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBAbWVkaWEgcXVlcmllcyxcbi8vLyAoSUUgPD0gOCwgRmlyZWZveCA8PSAzLCBPcGVyYSA8PSA5KVxuLy8vXG4vLy8gWW91IGNvdWxkIGNyZWF0ZSBhIHN0eWxlc2hlZXQgc2VydmVkIGV4Y2x1c2l2ZWx5IHRvIG9sZGVyIGJyb3dzZXJzLFxuLy8vIHdoZXJlIEBtZWRpYSBxdWVyaWVzIGFyZSByYXN0ZXJpemVkXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIG9sZC1pZS5zY3NzXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gJG1xLXN0YXRpYy1icmVha3BvaW50XG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9mZiBEaXNhYmxlZCByZXNwb25zaXZlIG1vZGUgZG9jdW1lbnRhdGlvblxuJG1xLXJlc3BvbnNpdmU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGxpc3Rcbi8vL1xuLy8vIE5hbWUgeW91ciBicmVha3BvaW50cyBpbiBhIHdheSB0aGF0IGNyZWF0ZXMgYSB1YmlxdWl0b3VzIGxhbmd1YWdlXG4vLy8gYWNyb3NzIHRlYW0gbWVtYmVycy4gSXQgd2lsbCBpbXByb3ZlIGNvbW11bmljYXRpb24gYmV0d2VlblxuLy8vIHN0YWtlaG9sZGVycywgZGVzaWduZXJzLCBkZXZlbG9wZXJzLCBhbmQgdGVzdGVycy5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLWJyZWFrcG9pbnRzOiAoXG4gICAgbW9iaWxlOiAgMzIwcHgsXG4gICAgdGFibGV0OiAgNzQwcHgsXG4gICAgZGVza3RvcDogOTgwcHgsXG4gICAgd2lkZTogICAgMTMwMHB4XG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGljIGJyZWFrcG9pbnQgKGZvciBmaXhlZC13aWR0aCBsYXlvdXRzKVxuLy8vXG4vLy8gRGVmaW5lIHRoZSBicmVha3BvaW50IGZyb20gJG1xLWJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkXG4vLy8gYmUgdXNlZCBhcyB0aGUgdGFyZ2V0IHdpZHRoIGZvciB0aGUgZml4ZWQtd2lkdGggbGF5b3V0XG4vLy8gKGkuZS4gd2hlbiAkbXEtcmVzcG9uc2l2ZSBpcyBzZXQgdG8gJ2ZhbHNlJykgaW4gYSBvbGQtaWUuc2Nzc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyB0YWJsZXQtb25seS5zY3NzXG4vLy8gIC8vXG4vLy8gIC8vIElnbm9yZSBhbGwgc3R5bGVzIGFib3ZlIHRhYmxldCBicmVha3BvaW50LFxuLy8vICAvLyBhbmQgZml4IHRoZSBzdHlsZXMgKHN1Y2ggYXMgdGhlIGxheW91dCkgYXQgdGFibGV0IHdpZHRoXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgJG1xLXN0YXRpYy1icmVha3BvaW50OiB0YWJsZXQ7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvIHRhYmxldFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjYWRkaW5nLWN1c3RvbS1icmVha3BvaW50cyBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vLyBTaG93IGJyZWFrcG9pbnRzIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy9cbi8vLyBJZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZSBjdXJyZW50bHkgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcFxuLy8vIHJpZ2h0IGNvcm5lciBvZiB5b3VyIHNpdGUgZHVyaW5nIGRldmVsb3BtZW50LCBhZGQgdGhlIGJyZWFrcG9pbnRzXG4vLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLiBGb3IgZXhhbXBsZTogKG1vYmlsZSwgdGFibGV0LCBkZXNrdG9wKS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICRtcS1zaG93LWJyZWFrcG9pbnRzOiAobW9iaWxlLCB0YWJsZXQsIGRlc2t0b3ApO1xuLy8vICAgQGltcG9ydCAncGF0aC90by9tcSc7XG4vLy9cbi8vLyBAdHlwZSBtYXBcbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbWl6ZSB0aGUgbWVkaWEgdHlwZSAoZm9yIGV4YW1wbGU6IGBAbWVkaWEgc2NyZWVuYCBvciBgQG1lZGlhIHByaW50YClcbi8vLyBCeSBkZWZhdWx0IHNhc3MtbXEgdXNlcyBhbiBcImFsbFwiIG1lZGlhIHR5cGUgKGBAbWVkaWEgYWxsIGFuZCDigKZgKVxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNjaGFuZ2luZy1tZWRpYS10eXBlIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1tZWRpYS10eXBlOiBhbGwgIWRlZmF1bHQ7XG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHggLSB2YWx1ZSB0byBjb252ZXJ0XG4vLy8gQGlnbm9yZSBAcGFyYW0ge051bWJlcn0gJGJhc2UtZm9udC1zaXplIFskbXEtYmFzZS1mb250LXNpemVdIC0gYDxib2R5PmAgZm9udCBzaXplIChkZXByZWNhdGVkKVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkZm9udC1zaXplLWluLWVtczogbXEtcHgyZW0oMTZweCk7XG4vLy8gIHAgeyBmb250LXNpemU6IG1xLXB4MmVtKDE2cHgpOyB9XG4vLy9cbi8vLyBAcmVxdWlyZXMgJG1xLWJhc2UtZm9udC1zaXplXG4vLy8gQHJldHVybnMge051bWJlcn1cbkBmdW5jdGlvbiBtcS1weDJlbSgkcHgsICRiYXNlLWZvbnQtc2l6ZTogJG1xLWJhc2UtZm9udC1zaXplKSB7XG4gICAgQGlmICgkbXEtYmFzZS1mb250LXNpemUgIT0gMTZweCkge1xuICAgICAgICBAd2FybiBcIk92ZXJyaWRpbmcgJG1xLWJhc2UtZm9udC1zaXplIHdpbGwgYnJlYWsgdGhpbmdzLCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9pc3N1ZXMvMTIyLlwiO1xuICAgIH1cbiAgICBAaWYgKCRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4KSB7XG4gICAgICAgIEB3YXJuIFwiVGhlICRiYXNlLWZvbnQtc2l6ZSBhcmd1bWVudCB3aWxsIGJlIHJlbW92ZWQgaW4gc2Fzcy1tcSB2Ni4wLjAsIGFzIG92ZXJyaWRpbmcgaXQgYnJlYWtzIHRoaW5ncywgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvaXNzdWVzLzEyMi5cIjtcbiAgICB9XG4gICAgQGlmIHVuaXRsZXNzKCRweCkge1xuICAgICAgICBAd2FybiBcIkFzc3VtaW5nICN7JHB4fSB0byBiZSBpbiBwaXhlbHMsIGF0dGVtcHRpbmcgdG8gY29udmVydCBpdCBpbnRvIHBpeGVscy5cIjtcbiAgICAgICAgQHJldHVybiBtcS1weDJlbSgkcHggKiAxcHgsICRiYXNlLWZvbnQtc2l6ZSk7XG4gICAgfSBAZWxzZSBpZiB1bml0KCRweCkgPT0gZW0ge1xuICAgICAgICBAcmV0dXJuICRweDtcbiAgICB9XG4gICAgQHJldHVybiAoJHB4IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTtcbn1cblxuLy8vIEdldCBhIGJyZWFrcG9pbnQncyB3aWR0aFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludC4gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkdGFibGV0LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCh0YWJsZXQpO1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoZGVza3RvcCkpIHt9XG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFZhbHVlIGluIHBpeGVsc1xuQGZ1bmN0aW9uIG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSB7XG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQHdhcm4gXCJCcmVha3BvaW50ICN7JG5hbWV9IHdhc24ndCBmb3VuZCBpbiAkYnJlYWtwb2ludHMuXCI7XG4gICAgfVxufVxuXG4vLy8gTWVkaWEgUXVlcnkgbWl4aW5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGZyb20gW2ZhbHNlXSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICR1bnRpbCBbZmFsc2VdIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGFuZCBbZmFsc2VdIC0gQWRkaXRpb25hbCBtZWRpYSBxdWVyeSBwYXJhbWV0ZXJzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZWRpYS10eXBlIFskbXEtbWVkaWEtdHlwZV0gLSBNZWRpYSB0eXBlOiBzY3JlZW4sIHByaW504oCmXG4vLy9cbi8vLyBAaWdub3JlIFVuZG9jdW1lbnRlZCBBUEksIGZvciBhZHZhbmNlZCB1c2Ugb25seTpcbi8vLyBAaWdub3JlIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRtcS1icmVha3BvaW50c11cbi8vLyBAaWdub3JlIEBwYXJhbSB7U3RyaW5nfSAkc3RhdGljLWJyZWFrcG9pbnQgWyRtcS1zdGF0aWMtYnJlYWtwb2ludF1cbi8vL1xuLy8vIEBjb250ZW50IHN0eWxpbmcgcnVsZXMsIHdyYXBwZWQgaW50byBhIEBtZWRpYSBxdWVyeSB3aGVuICRyZXNwb25zaXZlIGlzIHRydWVcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1tZWRpYS10eXBlXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXN0YXRpYy1icmVha3BvaW50XG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtcHgyZW1cbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1nZXQtYnJlYWtwb2ludC13aWR0aFxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb24tZGVmYXVsdCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC5lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKSB7XG4vLy8gICAgICBjb2xvcjogcmVkO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGJsdWU7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKG1vYmlsZSwgdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogZ3JlZW47XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQsICRhbmQ6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknKSB7XG4vLy8gICAgICBjb2xvcjogdGVhbDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoOTUwcHgpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSh0YWJsZXQsICRtZWRpYS10eXBlOiBzY3JlZW4pIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICAvLyBBZHZhbmNlZCB1c2U6XG4vLy8gICAgJG15LWJyZWFrcG9pbnRzOiAoTDogOTAwcHgsIFhMOiAxMjAwcHgpO1xuLy8vICAgIEBpbmNsdWRlIG1xKEwsICRicmVha3BvaW50czogJG15LWJyZWFrcG9pbnRzLCAkc3RhdGljLWJyZWFrcG9pbnQ6IEwpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgfVxuQG1peGluIG1xKFxuICAgICRmcm9tOiBmYWxzZSxcbiAgICAkdW50aWw6IGZhbHNlLFxuICAgICRhbmQ6IGZhbHNlLFxuICAgICRtZWRpYS10eXBlOiAkbXEtbWVkaWEtdHlwZSxcbiAgICAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cyxcbiAgICAkcmVzcG9uc2l2ZTogJG1xLXJlc3BvbnNpdmUsXG4gICAgJHN0YXRpYy1icmVha3BvaW50OiAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbikge1xuICAgICRtaW4td2lkdGg6IDA7XG4gICAgJG1heC13aWR0aDogMDtcbiAgICAkbWVkaWEtcXVlcnk6ICcnO1xuXG4gICAgLy8gRnJvbTogdGhpcyBicmVha3BvaW50IChpbmNsdXNpdmUpXG4gICAgQGlmICRmcm9tIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJGZyb20pID09IG51bWJlciB7XG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbSgkZnJvbSk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJGZyb20sICRicmVha3BvaW50cykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW50aWw6IHRoYXQgYnJlYWtwb2ludCAoZXhjbHVzaXZlKVxuICAgIEBpZiAkdW50aWwge1xuICAgICAgICBAaWYgdHlwZS1vZigkdW50aWwpID09IG51bWJlciB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbSgkdW50aWwpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCR1bnRpbCwgJGJyZWFrcG9pbnRzKSkgLSAuMDFlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBkaXNhYmxlZCwgcmFzdGVyaXplIHRoZSBvdXRwdXQgb3V0c2lkZSBAbWVkaWEgYmxvY2tzXG4gICAgLy8gVGhlIGJyb3dzZXIgd2lsbCByZWx5IG9uIHRoZSBjYXNjYWRlIGl0c2VsZi5cbiAgICBAaWYgJHJlc3BvbnNpdmUgPT0gZmFsc2Uge1xuICAgICAgICAkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzdGF0aWMtYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgJHRhcmdldC13aWR0aDogbXEtcHgyZW0oJHN0YXRpYy1icmVha3BvaW50LXdpZHRoKTtcblxuICAgICAgICAvLyBPdXRwdXQgb25seSBydWxlcyB0aGF0IHN0YXJ0IGF0IG9yIHNwYW4gb3VyIHRhcmdldCB3aWR0aFxuICAgICAgICBAaWYgKFxuICAgICAgICAgICAgJGFuZCA9PSBmYWxzZVxuICAgICAgICAgICAgYW5kICRtaW4td2lkdGggPD0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgYW5kIChcbiAgICAgICAgICAgICAgICAkdW50aWwgPT0gZmFsc2Ugb3IgJG1heC13aWR0aCA+PSAkdGFyZ2V0LXdpZHRoXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBhbmQgJG1lZGlhLXR5cGUgIT0gJ3ByaW50J1xuICAgICAgICApIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGVuYWJsZWQsIG91dHB1dCBydWxlcyBpbnNpZGUgQG1lZGlhIHF1ZXJpZXNcbiAgICBAZWxzZSB7XG4gICAgICAgIEBpZiAkbWluLXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRhbmQgICAgICAgICAgICB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgI3skYW5kfSc7IH1cblxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcbiAgICAgICAgQGlmICgkbWVkaWEtdHlwZSA9PSAnYWxsJyBhbmQgJG1lZGlhLXF1ZXJ5ICE9ICcnKSB7XG4gICAgICAgICAgICAkbWVkaWEtdHlwZTogJyc7XG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0ci1zbGljZSh1bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gUXVpY2sgc29ydFxuLy8vXG4vLy8gQGF1dGhvciBTYW0gUmljaGFyZHNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzb3J0XG4vLy8gQHJldHVybnMge0xpc3R9IFNvcnRlZCBMaXN0XG5AZnVuY3Rpb24gX21xLXF1aWNrLXNvcnQoJGxpc3QpIHtcbiAgICAkbGVzczogICgpO1xuICAgICRlcXVhbDogKCk7XG4gICAgJGxhcmdlOiAoKTtcblxuICAgIEBpZiBsZW5ndGgoJGxpc3QpID4gMSB7XG4gICAgICAgICRzZWVkOiBudGgoJGxpc3QsIGNlaWwobGVuZ3RoKCRsaXN0KSAvIDIpKTtcblxuICAgICAgICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgICAgICAgICBAaWYgKCRpdGVtID09ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGVxdWFsOiBhcHBlbmQoJGVxdWFsLCAkaXRlbSk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA8ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGxlc3M6IGFwcGVuZCgkbGVzcywgJGl0ZW0pO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPiAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRsYXJnZTogYXBwZW5kKCRsYXJnZSwgJGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQHJldHVybiBqb2luKGpvaW4oX21xLXF1aWNrLXNvcnQoJGxlc3MpLCAkZXF1YWwpLCBfbXEtcXVpY2stc29ydCgkbGFyZ2UpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gU29ydCBhIG1hcCBieSB2YWx1ZXMgKHdvcmtzIHdpdGggbnVtYmVycyBvbmx5KVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtNYXB9IE1hcCBzb3J0ZWQgYnkgdmFsdWVcbkBmdW5jdGlvbiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1hcCkge1xuICAgICRtYXAtc29ydGVkOiAoKTtcbiAgICAkbWFwLWtleXM6IG1hcC1rZXlzKCRtYXApO1xuICAgICRtYXAtdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAgICRtYXAtdmFsdWVzLXNvcnRlZDogX21xLXF1aWNrLXNvcnQoJG1hcC12YWx1ZXMpO1xuXG4gICAgLy8gUmVvcmRlciBrZXkvdmFsdWUgcGFpcnMgYmFzZWQgb24ga2V5IHZhbHVlc1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkbWFwLXZhbHVlcy1zb3J0ZWQge1xuICAgICAgICAkaW5kZXg6IGluZGV4KCRtYXAtdmFsdWVzLCAkdmFsdWUpO1xuICAgICAgICAka2V5OiBudGgoJG1hcC1rZXlzLCAkaW5kZXgpO1xuICAgICAgICAkbWFwLXNvcnRlZDogbWFwLW1lcmdlKCRtYXAtc29ydGVkLCAoJGtleTogJHZhbHVlKSk7XG5cbiAgICAgICAgLy8gVW5zZXQgdGhlIHZhbHVlIGluICRtYXAtdmFsdWVzIHRvIHByZXZlbnQgdGhlIGxvb3BcbiAgICAgICAgLy8gZnJvbSBmaW5kaW5nIHRoZSBzYW1lIGluZGV4IHR3aWNlXG4gICAgICAgICRtYXAtdmFsdWVzOiBzZXQtbnRoKCRtYXAtdmFsdWVzLCAkaW5kZXgsIDApO1xuICAgIH1cblxuICAgIEByZXR1cm4gJG1hcC1zb3J0ZWQ7XG59XG5cbi8vLyBBZGQgYSBicmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBicmVha3BvaW50XG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgQGluY2x1ZGUgbXEtYWRkLWJyZWFrcG9pbnQodHZzY3JlZW4sIDE5MjBweCk7XG4vLy8gIEBpbmNsdWRlIG1xKHR2c2NyZWVuKSB7fVxuQG1peGluIG1xLWFkZC1icmVha3BvaW50KCRuYW1lLCAkd2lkdGgpIHtcbiAgICAkbmV3LWJyZWFrcG9pbnQ6ICgkbmFtZTogJHdpZHRoKTtcbiAgICAkbXEtYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkbXEtYnJlYWtwb2ludHMsICRuZXctYnJlYWtwb2ludCkgIWdsb2JhbDtcbiAgICAkbXEtYnJlYWtwb2ludHM6IF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbXEtYnJlYWtwb2ludHMpICFnbG9iYWw7XG59XG5cbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzIFskbXEtc2hvdy1icmVha3BvaW50c10gLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskbXEtYnJlYWtwb2ludHNdIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zaG93LWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG4vLy9cbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cygoTCwgWEwpLCAoUzogMzAwcHgsIEw6IDgwMHB4LCBYTDogMTIwMHB4KSk7XG5AbWl4aW4gbXEtc2hvdy1icmVha3BvaW50cygkc2hvdy1icmVha3BvaW50czogJG1xLXNob3ctYnJlYWtwb2ludHMsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgYm9keTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGOEUzO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBjb2xvcjogI0MwOTg1MztcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgYnJlYWtwb2ludHMgdGhhdCBzaG91bGQgYmUgc2hvd25cbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgbGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC8vLy8vLyAjVHlwb2dyYXBoeSAvLy8vLy8qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5zdG9yZSB7XG4gIGgxIHtcbiAgICBAaW5jbHVkZSBmbHVpZCgyMnB4LCAzM3B4LCBicChzbSksIGJwKHhsKSwgZm9udC1zaXplKTtcbiAgICAvLyBAaW5jbHVkZSBmbHVpZCgxMHB4LCAyMnB4LCBicChzbSksIGJwKHhsKSwgcGFkZGluZy10b3ApXG4gICAgY29sb3I6ICRjb2xvci1yZWQtZGs7XG4gICAgZm9udDoge1xuICAgICAgd2VpZ2h0OiA5MDA7IH1cbiAgICB0ZXh0OiB7XG4gICAgICB0cmFuc2Zvcm06IHVwcGVyY2FzZTsgfSB9XG4gIGgyIHtcbiAgICAmLnMtaGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSBmbHVpZCgyMHB4LCAyNnB4LCBicChzbSksIGJwKHhsKSwgZm9udC1zaXplKTtcbiAgICAgIEBpbmNsdWRlIGZsdWlkKDEwcHgsIDIycHgsIGJwKHNtKSwgYnAoeGwpLCBwYWRkaW5nLXRvcCk7XG4gICAgICBjb2xvcjogJGNvbG9yLXJlZC1kaztcbiAgICAgIGZvbnQ6IHtcbiAgICAgICAgd2VpZ2h0OiA5MDA7IH1cbiAgICAgIHRleHQ6IHtcbiAgICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0gfSB9XG4gIHAge1xuICAgIEBpbmNsdWRlIGZsdWlkKDE3cHgsIDIxLjMxcHgsIGJwKHNtKSwgYnAoeGwpLCBmb250LXNpemUpO1xuICAgIEBpbmNsdWRlIGZsdWlkKDEycHgsIDM0cHgsIGJwKHNtKSwgYnAoeGwpLCBwYWRkaW5nLXRvcCk7XG4gICAgY29sb3I6ICRjb2xvci1wdXJwbGUtZGs7XG4gICAgbGluZToge1xuICAgICAgaGVpZ2h0OiAxLjEyNWVtOyB9XG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgdG9wOiAwOyB9IH0gfVxuICBzdHJvbmcge1xuICAgIGZvbnQ6IHtcbiAgICAgIHdlaWdodDogNzAwOyB9IH1cbiAgZW0ge1xuICAgIGZvbnQ6IHtcbiAgICAgIHN0eWxlOiBpdGFsaWM7IH0gfVxuICAucy13eXNpd3lnIHtcbiAgICBwICsgdWwge1xuICAgICAgQGluY2x1ZGUgZmx1aWQoMTJweCwgMTZweCwgYnAoc20pLCBicCh4bCksIHBhZGRpbmctdG9wKTsgfVxuICAgIHVsICsgcCB7XG4gICAgICBwYWRkaW5nOiB7XG4gICAgICAgIHRvcDogZW0oMTAsIDIxLjMxKTsgfSB9XG4gICAgdWwge1xuICAgICAgbGkge1xuICAgICAgICBAaW5jbHVkZSBmbHVpZCgxN3B4LCAyMS4zMXB4LCBicChzbSksIGJwKHhsKSwgZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgZmx1aWQoMTZweCwgMzJweCwgYnAoc20pLCBicCh4bCksIG1hcmdpbi1sZWZ0KTtcbiAgICAgICAgQGluY2x1ZGUgZmx1aWQoMTJweCwgMjZweCwgYnAoc20pLCBicCh4bCksIHBhZGRpbmctbGVmdCk7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHVycGxlLWRrO1xuICAgICAgICBwYWRkaW5nOiB7XG4gICAgICAgICAgYm90dG9tOiBlbSgxMiwgMjEuMzEpOyB9XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcmVkLWRrOyB9XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiBjYWxjKC41ZW0gLSA0cHgpO1xuICAgICAgICAgIHdpZHRoOiA4cHg7IH0gfSB9IH1cbiAgLnMtIHtcbiAgICAmdHh0IHtcbiAgICAgICYtLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBtZCkge1xuICAgICAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgICAgIHRvcDogMDsgfSB9XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZCwgJHVudGlsOiBsZykge1xuICAgICAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgICAgIHRvcDogY2FsYygxMHB4ICsgKDEyMDB2dyAtIDY1MjhweCkvNTU2KTsgfSB9XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB4bCkge1xuICAgICAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgICAgICAgdG9wOiBlbSgyMik7IH0gfSB9XG4gICAgICAmLS1zdWIge1xuICAgICAgICBAaW5jbHVkZSBmbHVpZCgxN3B4LCAyMS4zMXB4LCBicChzbSksIGJwKHhsKSwgZm9udC1zaXplKTtcbiAgICAgICAgLy8gQGluY2x1ZGUgZmx1aWQoMTdweCwgMzNweCwgYnAoc20pLCBicCh4bCksIHBhZGRpbmctYm90dG9tKVxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyYXktbHQ7XG4gICAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgICB0b3A6IDA7IH0gfVxuICAgICAgJi0tbm90aWNlIHtcbiAgICAgICAgQGluY2x1ZGUgZmx1aWQoMTRweCwgMTZweCwgYnAoc20pLCBicCh4bCksIGZvbnQtc2l6ZSk7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS1sdDtcbiAgICAgICAgKyBwIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbHVpZCgxMHB4LCAyMnB4LCBicChzbSksIGJwKHhsKSwgcGFkZGluZy10b3ApOyB9IH1cbiAgICAgICYtLWRhbmdlciwgJi0tcmVkIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1yZWQtZGs7IH1cbiAgICAgICYtLXB1cnBsZSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHVycGxlLWRrOyB9IH1cbiAgICAmdGl0bGUge1xuICAgICAgQGluY2x1ZGUgZmx1aWQoMjBweCwgNjFweCwgYnAoc20pLCBicCh4bCksIGZvbnQtc2l6ZSk7XG4gICAgICBAaW5jbHVkZSB0ZXh0R2xvdygycHgsIHJnYmEoJGNvbG9yLWJsYWNrLCAuMiksIDJweCk7XG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgZm9udDoge1xuICAgICAgICB3ZWlnaHQ6IDQwMDsgfVxuICAgICAgbGluZToge1xuICAgICAgICBoZWlnaHQ6IDEuMzg4ZW07IH1cbiAgICAgIHRleHQ6IHtcbiAgICAgICAgYWxpZ246IHJpZ2h0O1xuICAgICAgICB0cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgcGFkZGluZzoge1xuICAgICAgICB0b3A6IDA7IH1cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICB3ZWlnaHQ6IDkwMDsgfSB9XG4gICAgICBzdHJvbmc6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsdWlkKDMwcHgsIDg1cHgsIGJwKHNtKSwgYnAoeGwpLCBmb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBmbHVpZCgwcHgsIDEwMHB4LCBicChzbSksIGJwKHhsKSwgbWFyZ2luLXJpZ2h0KTsgfVxuICAgICAgc3Ryb25nOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsdWlkKDQycHgsIDExM3B4LCBicChzbSksIGJwKHhsKSwgZm9udC1zaXplKTsgfVxuICAgICAgc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGZsdWlkKDI2cHgsIDgxcHgsIGJwKHNtKSwgYnAoeGwpLCBmb250LXNpemUpOyB9IH1cbiAgICAmbGluayB7XG4gICAgICB0cmFuc2l0aW9uOiAzMDBtcztcbiAgICAgICYtLWxpZ2h0IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LWx0O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXJlZC1kaztcbiAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICBkZWNvcmF0aW9uOiBub25lOyB9IH0gfSB9IH0gfVxuXG4vKi0tI2J1dHRvbnMtLSovXG4ucy0ge1xuICAmYnRuIHtcbiAgICAvLyBAaW5jbHVkZSBmbHVpZCg2cHgsIDEwcHgsIGJwKHNtKSwgYnAoeGwpLCBwYWRkaW5nLWJvdHRvbSlcbiAgICAvLyBAaW5jbHVkZSBmbHVpZCgxNHB4LCAyMnB4LCBicChzbSksIGJwKHhsKSwgcGFkZGluZy1sZWZ0KVxuICAgIC8vIEBpbmNsdWRlIGZsdWlkKDE0cHgsIDIycHgsIGJwKHNtKSwgYnAoeGwpLCBwYWRkaW5nLXJpZ2h0KVxuICAgIC8vIEBpbmNsdWRlIGZsdWlkKDZweCwgMTBweCwgYnAoc20pLCBicCh4bCksIHBhZGRpbmctdG9wKVxuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiAkZm9udC1iYXNlO1xuICAgICAgc2l6ZTogaW5oZXJpdDsgfVxuICAgIGxpbmU6IHtcbiAgICAgIGhlaWdodDogLjg3NWVtOyB9XG4gICAgdGV4dDoge1xuICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcmVkLWRrO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1yZWQtZGs7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IC4zMzRlbSAuNzMzZW07XG4gICAgdHJhbnNpdGlvbjogMzAwbXMgJGVhc2VJblF1YWQ7XG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7IH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItcmVkLWRrO1xuICAgICAgdGV4dDoge1xuICAgICAgICBkZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7IH1cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIGJhY2tncm91bmQ6ICRjb2xvci1wdXJwbGUtZGtcbiAgICAgIGJveDoge1xuICAgICAgICBzaGFkb3c6IDAgMCA0cHggMnB4IHJnYmEoJGNvbG9yLXB1cnBsZS1kaywgLjUpOyB9XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgJjpub3QoYSkge1xuICAgICAgQGluY2x1ZGUgZmx1aWQoMThweCwgMzBweCwgYnAoc20pLCBicCh4bCksIGZvbnQtc2l6ZSk7IH0gfSB9XG4iLCIkbGluZWFyICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuMjUwLCAwLjc1MCwgMC43NTApO1xuJGVhc2UgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjEwMCwgMC4yNTAsIDEuMDAwKTtcbiRlYXNlLWluICAgICAgICA6IGN1YmljLWJlemllcigwLjQyMCwgMC4wMDAsIDEuMDAwLCAxLjAwMCk7XG4kZWFzZS1vdXQgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wMDAsIDAuMDAwLCAwLjU4MCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0ICAgIDogY3ViaWMtYmV6aWVyKDAuNDIwLCAwLjAwMCwgMC41ODAsIDEuMDAwKTtcblxuJGVhc2VJblF1YWQgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcbiRlYXNlSW5DdWJpYyAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4kZWFzZUluUXVhcnQgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xuJGVhc2VJblF1aW50ICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiRlYXNlSW5TaW5lICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XG4kZWFzZUluRXhwbyAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xuJGVhc2VJbkNpcmMgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcbiRlYXNlSW5CYWNrICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xuXG4kZWFzZU91dFF1YWQgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xuJGVhc2VPdXRDdWJpYyAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlT3V0UXVhcnQgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XG4kZWFzZU91dFF1aW50ICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xuJGVhc2VPdXRTaW5lICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcbiRlYXNlT3V0RXhwbyAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XG4kZWFzZU91dENpcmMgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xuJGVhc2VPdXRCYWNrICAgIDogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEuMjc1KTtcblxuJGVhc2VJbk91dFF1YWQgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcbiRlYXNlSW5PdXRDdWJpYyA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZUluT3V0UXVhcnQgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xuJGVhc2VJbk91dFF1aW50IDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcbiRlYXNlSW5PdXRTaW5lICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XG4kZWFzZUluT3V0RXhwbyAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xuJGVhc2VJbk91dENpcmMgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcbiRlYXNlSW5PdXRCYWNrICA6IGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApOyIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAvLy8vLy8gI0hlYWRlciAvLy8vLy8qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnMtIHtcbiAgJmtleWFydCB7XG4gICAgYmFja2dyb3VuZDoge1xuICAgICAgcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBzaXplOiBjb3ZlcjsgfVxuICAgIGJvcmRlcjoge1xuICAgICAgYm90dG9tOiAzcHggc29saWQgJGNvbG9yLXJlZC1kazsgfVxuICAgICZfX3JvdyB7XG4gICAgICBAaW5jbHVkZSBmbHVpZCgxNnB4LCAyOXB4LCBicChzbSksIGJwKHhsKSwgcGFkZGluZy1ib3R0b20pO1xuICAgICAgQGluY2x1ZGUgZmx1aWQoMjJweCwgNThweCwgYnAoc20pLCBicCh4bCksIHBhZGRpbmctdG9wKTtcbiAgICAgIGp1c3RpZnk6IHtcbiAgICAgICAgY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICZfX2hhbmQge1xuICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICBpbWFnZTogdXJsKC9hc3NldHMvdXBsb2Fkcy9pbWFnZXMvaGFuZC1wb3N0ZXJzLnBuZyk7XG4gICAgICAgIHBvc2l0aW9uOiBib3R0b20gbGVmdDtcbiAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHNpemU6IGNvbnRhaW47IH1cbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDQwMXB4O1xuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBzbSkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAmX19jb2wge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6OiB7XG4gICAgICAgIGluZGV4OiAxOyB9IH1cbiAgICAmX19jb250ZW50IHtcbiAgICAgIGFsaWduOiB7XG4gICAgICAgIGl0ZW1zOiBmbGV4LWVuZDsgfVxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IHtcbiAgICAgICAgZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmx1aWQoMTBweCwgMjBweCwgYnAoc20pLCBicCh4bCksIG1hcmdpbi1ib3R0b20pO1xuICAgICAgICBAaW5jbHVkZSBmbHVpZCgxNnB4LCAzMHB4LCBicChzbSksIGJwKHhsKSwgbWFyZ2luLXRvcCk7XG4gICAgICAgIEBpbmNsdWRlIGZsdWlkKDBweCwgNzBweCwgYnAoc20pLCBicCh4bCksIHBhZGRpbmctcmlnaHQpOyB9XG4gICAgICBsaSB7XG4gICAgICAgIEBpbmNsdWRlIGZsdWlkKDE3cHgsIDMwcHgsIGJwKHNtKSwgYnAoeGwpLCBmb250LXNpemUpO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgYWxpZ246IHtcbiAgICAgICAgICBpdGVtczogY2VudGVyOyB9XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbjoge1xuICAgICAgICAgIGJvdHRvbTogMTJweDsgfVxuICAgICAgICBwYWRkaW5nOiB7XG4gICAgICAgICAgbGVmdDogY2FsYygxZW0gKyA4cHgpOyB9XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgICAgIGltYWdlOiB1cmwoJy9hc3NldHMvdXBsb2Fkcy9pbWFnZXMvaWNvbi1jaGVjay5zdmcnKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBzaXplOiBjb250YWluOyB9XG4gICAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHdpZHRoOiAxZW07IH0gfSB9XG4gICAgLnMtYnRuIHtcbiAgICAgIEBpbmNsdWRlIGZsdWlkKDE3cHgsIDMwcHgsIGJwKHNtKSwgYnAoeGwpLCBmb250LXNpemUpO1xuICAgICAgYm9yZGVyOiB7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7IH0gfSB9XG4gICZxdWVzdGlvbnMge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIG1hcmdpbjoge1xuICAgICAgbGVmdDogYXV0bzsgfSB9IH1cblxuLmljb24ge1xuICAmLS1jaGVjayB7XG4gICAgZm9udDoge1xuICAgICAgc2l6ZTogMTZweDsgfVxuICAgIGhlaWdodDogZW0oMzEuNTQpO1xuICAgIG1hcmdpbjoge1xuICAgICAgcmlnaHQ6IDhweDsgfVxuICAgIHdpZHRoOiBlbSgzMik7IH0gfVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAvLy8vLy8gI05hdmlnYXRpb24gLy8vLy8vKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ucy0ge1xuICAmbmF2QmFyIHtcbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHNtKSB7XG4gICAgICBmb250OiB7XG4gICAgICAgIHNpemU6IGVtKDE0KTsgfSB9XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHNtLCAkdW50aWw6IG1kKSB7XG4gICAgICBmb250OiB7XG4gICAgICAgIHNpemU6IGVtKDE1KTsgfSB9IH1cbiAgJm5hdlRhZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiB7XG4gICAgICB3cmFwOiB3cmFwOyB9XG4gICAgbWFyZ2luOiB7XG4gICAgICBsZWZ0OiAtMTBweDtcbiAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgIHRvcDogLTVweDsgfVxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogc20pIHtcbiAgICAgIGZsZXg6IHtcbiAgICAgICAgZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgICYtLXZlcnQge1xuICAgICAgZmxleDoge1xuICAgICAgICBkaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgJl9fbGkge1xuICAgICAgQGluY2x1ZGUgZmx1aWQoNXB4LCAxM3B4LCBicChzbSksIGJwKHhsKSwgbWFyZ2luLXJpZ2h0KTtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICB3aGl0ZToge1xuICAgICAgICBzcGFjZTogbm93cmFwOyB9IH1cbiAgICAmX19saW5rIHtcbiAgICAgIHRyYW5zaXRpb246IDMwMG1zICRlYXNlSW5PdXRRdWludDtcbiAgICAgICYsICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS1sdDsgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcmVkLWRrO1xuICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgZGVjb3JhdGlvbjogbm9uZTsgfSB9XG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcmVkLWRrOyB9IH0gfSB9XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC8vLy8vLyAjTWFpbiBDb250ZW50IC8vLy8vLyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5zLSB7XG4gICZjb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsdWlkKDE2cHgsIDIycHgsIGJwKHNtKSwgYnAoeGwpLCBwYWRkaW5nLXRvcCk7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBmbHVpZCgzMHB4LCA0OHB4LCBicChzbSksIGJwKHhsKSwgcGFkZGluZy1ib3R0b20pOyB9IH1cblxuICAmcHJvZGxpc3Qge1xuICAgICRwOiAmO1xuICAgIEBpbmNsdWRlIGZsdWlkKDE2cHgsIDIwcHgsIGJwKHNtKSwgYnAoeGwpLCBmb250LXNpemUpO1xuICAgIHBhZGRpbmc6IHtcbiAgICAgIHRvcDogMTJweDsgfVxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogc20pIHtcbiAgICAgIG1hcmdpbjoge1xuICAgICAgICBsZWZ0OiAtNHB4O1xuICAgICAgICByaWdodDogLTRweDsgfSB9XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHhsKSB7XG4gICAgICBtYXJnaW46IHtcbiAgICAgICAgbGVmdDogLTE1cHg7XG4gICAgICAgIHJpZ2h0OiAtMTVweDsgfSB9XG4gICAgJl9fcHJvZCB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWF4OiB7XG4gICAgICAgIHdpZHRoOiAwOyB9XG4gICAgICB0cmFuc2l0aW9uOiA0MDBtcyB7XG4gICAgICAgIGRlbGF5OiA0MDBtczsgfVxuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgLy8gQGluY2x1ZGUgbXEoJGZyb206IHhsKVxuICAgICAgLy8gICBwYWRkaW5nOiAwXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246IDQwMG1zOyB9XG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG1heDoge1xuICAgICAgICAgIHdpZHRoOiAzNzJweDsgfVxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB7XG4gICAgICAgICAgICBkZWxheTogNDAwbXM7IH0gfSB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3V0IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRyYW5zaXRpb246IDQwMG1zOyB9IH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1pbiB7XG4gICAgICAgIG1heDoge1xuICAgICAgICAgIHdpZHRoOiAzNzJweDsgfVxuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB0cmFuc3Rpb246IDQwMG1zOyB9IH1cbiAgICAmX19pbm5lciB7XG4gICAgICBAaW5jbHVkZSBmbHVpZCgxMHB4LCAyMHB4LCBicChzbSksIGJwKHhsKSwgcGFkZGluZy1ib3R0b20pO1xuICAgICAgQGluY2x1ZGUgZmx1aWQoMTBweCwgMjBweCwgYnAoc20pLCBicCh4bCksIHBhZGRpbmctdG9wKTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgLy8gcGFkZGluZzpcbiAgICAgIC8vICAgYm90dG9tOiAyMHB4XG4gICAgICAvLyAgIC8vIGxlZnQ6IDE2cHhcbiAgICAgIC8vICAgLy8gcmlnaHQ6IDE2cHhcbiAgICAgIC8vICAgdG9wOiAyMHB4XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dDoge1xuICAgICAgICAgIGRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgI3skcH0ge1xuICAgICAgICAgICZfX3RpdGxlLCAmX19ib3R0b20ge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wdXJwbGUtZGs7IH0gfVxuICAgICAgICBpbWcge1xuICAgICAgICAgIGJvcmRlcjoge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1yZWQtZGs7IH1cbiAgICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSg1MCUpOyB9IH1cbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogc20pIHtcbiAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgIGxlZnQ6IDRweDtcbiAgICAgICAgICByaWdodDogNHB4OyB9IH1cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBzbSwgJHVudGlsOiB4bCkge1xuICAgICAgICBwYWRkaW5nOiB7XG4gICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICByaWdodDogMTBweDsgfSB9XG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogeGwpIHtcbiAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgICAgcmlnaHQ6IDE1cHg7IH0gfSB9XG4gICAgJl9faW1nIHtcbiAgICAgIGltZyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1wdXJwbGUtZGs7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2l0aW9uOiA5MDBtcyAkZWFzZU91dFF1aW50OyB9IH1cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW46IHtcbiAgICAgICAgYm90dG9tOiA0cHg7XG4gICAgICAgIHRvcDogMTJweDsgfVxuICAgICAgdHJhbnNpdGlvbjogMzAwbXM7IH1cbiAgICAmX19ib3R0b20ge1xuICAgICAgY29sb3I6ICRjb2xvci1yZWQtZGs7XG4gICAgICBmb250OiB7XG4gICAgICAgIHNpemU6IGVtKDE0LCAyMCk7IH1cbiAgICAgIHRyYW5zaXRpb246IDMwMG1zOyB9XG4gICAgJl9faXRlbSB7XG4gICAgICBmb250OiB7XG4gICAgICAgIHdlaWdodDogOTAwOyB9XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IHtcbiAgICAgICAgcmlnaHQ6IDVweDsgfSB9XG4gICAgJi5yb3cge1xuICAgICAgbWFyZ2luOiB7XG4gICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgIC8vIGxlZnQ6IC0xNnB4XG4gfSB9IH0gICAgICAgIC8vIHJpZ2h0OiAtMTZweFxuICAmcHJvZGluZm8ge1xuICAgIC8vIEBpbmNsdWRlIGZsdWlkKDEycHgsIDI0cHgsIGJwKHNtKSwgYnAoeGwpLCBwYWRkaW5nLWxlZnQpXG4gICAgcGFkZGluZzoge1xuICAgICAgdG9wOiAgY2FsYygxMnB4ICsgKDEyMDB2dyAtIDY1MjhweCkvNTU2KTsgfVxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZCwgJHVudGlsOiB4bCkge1xuICAgICAgcGFkZGluZzoge1xuICAgICAgICBsZWZ0OiBjYWxjKDE4cHggKyAoMTIwMHZ3IC0gNjUyOHB4KS81NTYpOyB9IH1cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogeGwpIHtcbiAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgbGVmdDogMjRweDtcbiAgICAgICAgdG9wOiBlbSgyMik7IH0gfVxuICAgICZfX3RpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGZsdWlkKDE5cHgsIDIycHgsIGJwKHNtKSwgYnAoeGwpLCBmb250LXNpemUpO1xuICAgICAgY29sb3I6ICRjb2xvci1wdXJwbGUtZGs7XG4gICAgICBmb250OiB7XG4gICAgICAgIHdlaWdodDogOTAwOyB9XG4gICAgICB0ZXh0OiB7XG4gICAgICAgIHRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICBwYWRkaW5nOiB7XG4gICAgICAgIGJvdHRvbTogZW0oMTYsIDIyKTsgfSB9XG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgQGluY2x1ZGUgZmx1aWQoMTdweCwgMThweCwgYnAoc20pLCBicCh4bCksIGZvbnQtc2l6ZSk7XG4gICAgICBjb2xvcjogJGNvbG9yLWdyYXktbHQ7XG4gICAgICBmb250OiB7XG4gICAgICAgIHdlaWdodDogOTAwOyB9XG4gICAgICB0ZXh0OiB7XG4gICAgICAgIHRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICBwYWRkaW5nOiB7XG4gICAgICAgIGJvdHRvbTogZW0oMTIsIDE4KTsgfSB9XG4gICAgJl9fY29udGVudCB7XG4gICAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZmx1aWQoMTJweCwgMjRweCwgYnAoc20pLCBicCh4bCksIHBhZGRpbmctdG9wKTtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LWx0O1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgc2l6ZTogZW0oMTYpOyB9XG4gICAgICAgIC8vIHBhZGRpbmc6XG4gfSB9IH0gICAgICAgIC8vICAgYm90dG9tOiAxZW1cbiAgJmdyaWQge1xuICAgIEBpbmNsdWRlIGZsdWlkKDE2cHgsIDM2cHgsIGJwKHNtKSwgYnAoeGwpLCBtYXJnaW4tYm90dG9tKTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQ6IHtcbiAgICAgIHJvdzoge1xuICAgICAgICBnYXA6IDFweDsgfSB9XG4gICAgZ3JpZDoge1xuICAgICAgdGVtcGxhdGU6IHtcbiAgICAgICAgY29sdW1uczogY2FsYygzMy4zMyUgLSAxMHB4KSAxZnIgMWZyOyB9IH1cbiAgICBtYXg6IHtcbiAgICAgIHdpZHRoOiBlbSg0NzApOyB9XG4gICAgJl9fcm93IHtcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS1sdDtcbiAgICAgIHRleHQ6IHtcbiAgICAgICAgYWxpZ246IGNlbnRlcjsgfVxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgICAgYm9yZGVyOiB7XG4gICAgICAgIGJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmF5LWx0cjsgfVxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgYm90dG9tOiAxMnB4O1xuICAgICAgICB0b3A6IDEycHg7IH1cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyYXktbHRyO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFlbSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogZW0oOCk7XG4gICAgICAgIHdpZHRoOiAxcHg7IH1cbiAgICAgICY6bGFzdC1vZi10eXBlLCAmOm50aC1vZi10eXBlKDNuKSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBub25lOyB9IH1cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSwgJjpudGgtb2YtdHlwZSgzbiArIDEpIHtcbiAgICAgICAgdGV4dDoge1xuICAgICAgICAgIGFsaWduOiBsZWZ0OyB9IH1cbiAgICAgICYtLWxhc3Qge1xuICAgICAgICBib3JkZXI6IHtcbiAgICAgICAgICBib3R0b206IDA7IH0gfVxuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBzbSkge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgc2l6ZTogZW0oMTQpOyB9IH0gfVxuICAgICZfX2NvbCB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgLy8gJjpsYXN0LW9mLXR5cGVcbiAgICAgIC8vICAgYm9yZGVyOlxuIH0gfSAgICAgIC8vICAgICByaWdodDogMXB4IHNvbGlkICRjb2xvci1ncmF5LWx0XG4gICZzaWRlYmFyIHtcbiAgICBtYXg6IHtcbiAgICAgIHdpZHRoOiA1NzBweDsgfSB9IH1cblxuQGtleWZyYW1lcyBwcm9kdWN0SW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBtYXg6IHtcbiAgICAgIHdpZHRoOiAwOyB9XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIDElIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG1heDoge1xuICAgICAgd2lkdGg6IDA7IH1cbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIDEwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgbWF4OiB7XG4gICAgICB3aWR0aDogMzcycHg7IH1cbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9IH1cblxuQGtleWZyYW1lcyBwcm9kdWN0T3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgbWF4OiB7XG4gICAgICB3aWR0aDogMzcycHg7IH1cbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIDk5JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBtYXg6IHtcbiAgICAgIHdpZHRoOiAwOyB9XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG1heDoge1xuICAgICAgd2lkdGg6IDA7IH1cbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH0gfVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLy8vLy8vICNHYWxsZXJ5IC8vLy8vLyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uc3RvcmUge1xuICAucy0ge1xuICAgICZnYWxsZXJ5IHtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIG1heDoge1xuICAgICAgICB3aWR0aDogNTQ0cHg7IH1cbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbWQpIHtcbiAgICAgICAgbWFyZ2luOiB7XG4gICAgICAgICAgdG9wOiBjYWxjKDEuNHZ3ICsgMTBweCk7IH0gfVxuICAgICAgJl9fbGFyZ2Uge1xuICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICZfX2ltZyB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1wdXJwbGUtZGs7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6OiB7XG4gICAgICAgICAgaW5kZXg6IC0xOyB9XG4gICAgICAgIHRyYW5zaXRpb246IDMwMG1zICRlYXNlSW5RdWFkO1xuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgejoge1xuICAgICAgICAgICAgaW5kZXg6IDE7IH0gfVxuICAgICAgICAmW2RhdGEtYnBdIHtcbiAgICAgICAgICBjdXJzb3I6IHpvb20taW47XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXI6IHtcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1yZWQtZGs7IH0gfSB9IH1cbiAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgIGJvdHRvbTogM3B4O1xuICAgICAgICAgIHRvcDogM3B4OyB9XG4gICAgICAgIHAsIC5zLXR4dC0tbm90aWNlIHtcbiAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBzaXplOiAxNXB4OyB9IH0gfVxuICAgICAgJl9fYm90dG9tIHtcbiAgICAgICAganVzdGlmeToge1xuICAgICAgICAgIGNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAgICAgJl9fdGh1bWJzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMCAxIGF1dG8ge1xuICAgICAgICAgIGRpcmVjdGlvbjogcm93OyB9XG4gICAgICAgIC8vIGp1c3RpZnk6XG4gICAgICAgIC8vICAgY29udGVudDogZmxleC1lbmRcbiAgICAgICAgbWFyZ2luOiB7XG4gICAgICAgICAgbGVmdDogLTNweDtcbiAgICAgICAgICByaWdodDogLTNweDsgfVxuICAgICAgICBwYWRkaW5nOiB7XG4gICAgICAgICAgdG9wOiAzcHg7IH0gfVxuICAgICAgJl9fbGkge1xuICAgICAgICBwYWRkaW5nOiAzcHg7XG4gICAgICAgIG1pbjoge1xuICAgICAgICAgIHdpZHRoOiBlbSg1MSk7IH0gfVxuICAgICAgJl9fdGh1bWIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1yZWQtZGs7XG4gICAgICAgIHRyYW5zaXRpb246IDMwMG1zICRlYXNlSW5RdWFkO1xuICAgICAgICAmOmhvdmVyLCAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgYm9yZGVyOiB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXB1cnBsZS1kazsgfSB9IH1cbiAgICAgICZfX3Rvb2x0aXAge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgc2l6ZTogMTJweDsgfVxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvci1wdXJwbGUtZGssIC43NSk7XG4gICAgICAgIGJvcmRlcjoge1xuICAgICAgICAgIHJhZGl1czogNXB4OyB9XG4gICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IC41ZW07XG4gICAgICAgIHBvaW50ZXI6IHtcbiAgICAgICAgICBldmVudHM6IG5vbmU7IH1cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIHo6IHtcbiAgICAgICAgICBpbmRleDogMjsgfSB9IH0gfSB9XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAvLy8vLy8gI0Zvcm1zIC8vLy8vLyovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5zLWZvcm0ge1xuICAkZjogJjtcbiAgQGluY2x1ZGUgZmx1aWQoMTJweCwgNDBweCwgYnAoc20pLCBicCh4bCksIHBhZGRpbmctcmlnaHQpO1xuICBwYWRkaW5nOiB7XG4gICAgdG9wOiAwOyB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgbXEoJHVudGlsOiBtZCkge1xuICAgIG1hcmdpbjoge1xuICAgICAgdG9wOiBjYWxjKDEuNHZ3ICsgMTBweCk7IH0gfVxuICAmX19maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmx1aWQoMTBweCwgMThweCwgYnAoc20pLCBicCh4bCksIG1hcmdpbi10b3ApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAmX19sZWdlbmQge1xuICAgIGFsaWduOiB7XG4gICAgICBpdGVtczogY2VudGVyOyB9XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiB7XG4gICAgICBkaXJlY3Rpb246IHJvdzsgfVxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGVtIHtcbiAgICAgIGxpbmU6IHtcbiAgICAgICAgaGVpZ2h0OiAxLjEyNWVtOyB9XG4gICAgICBhbGlnbjoge1xuICAgICAgICBzZWxmOiBmbGV4LWVuZDsgfVxuICAgICAgbWFyZ2luOiB7XG4gICAgICAgIGxlZnQ6IDVweDsgfVxuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBzbSkge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgc2l6ZTogZW0oMTQpOyB9XG4gICAgICAgIGZsZXg6IDI7IH1cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBzbSwgJHVudGlsOiBtZCkge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgc2l6ZTogZW0oMTUpOyB9IH0gfSB9XG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBmbHVpZCgxOXB4LCAyNnB4LCBicChzbSksIGJwKHhsKSwgZm9udC1zaXplKTtcbiAgICBjb2xvcjogJGNvbG9yLXB1cnBsZS1kaztcbiAgICBmb250OiB7XG4gICAgICB3ZWlnaHQ6IDkwMDsgfVxuICAgIGxpbmU6IHtcbiAgICAgIGhlaWdodDogLjg3NWVtOyB9XG4gICAgdGV4dDoge1xuICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBmbGV4OiB7XG4gICAgICBncm93OiAwOyB9XG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBzbSkge1xuICAgICAgZmxleDogMTsgfSB9XG4gICZfX25vIHtcbiAgICBAaW5jbHVkZSBmbHVpZCgxNHB4LCAxOHB4LCBicChzbSksIGJwKHhsKSwgZm9udC1zaXplKTtcbiAgICBjb2xvcjogJGNvbG9yLXB1cnBsZS1kaztcbiAgICBmb250OiB7XG4gICAgICB3ZWlnaHQ6IDkwMDsgfVxuICAgIHRleHQ6IHtcbiAgICAgIGFsaWduOiBjZW50ZXI7IH1cbiAgICBhbGlnbjoge1xuICAgICAgaXRlbXM6IGNlbnRlcjtcbiAgICAgIHNlbGY6IGNlbnRlcjsgfVxuICAgIGJvcmRlcjogM3B4IHNvbGlkICRjb2xvci1yZWQtZGsge1xuICAgICAgcmFkaXVzOiA1MCU7IH1cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMCAxLjc1ZW07XG4gICAgaGVpZ2h0OiAxLjc1ZW07XG4gICAganVzdGlmeToge1xuICAgICAgY29udGVudDogY2VudGVyOyB9XG4gICAgbWFyZ2luOiB7XG4gICAgICBsZWZ0OiBhdXRvOyB9XG4gICAgd2lkdGg6IDEuNzVlbTtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWQpIHtcbiAgICAgIGZsZXg6IDAgMCAxLjVlbTtcbiAgICAgIGhlaWdodDogMS41ZW07XG4gICAgICB3aWR0aDogMS41ZW07IH0gfVxuICAmX19vd3JhcCArICZfX293cmFwIHtcbiAgICBwYWRkaW5nOiB7XG4gICAgICB0b3A6IDhweDsgfSB9XG4gICZfX3dyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmLmlzLWZpbGxlZCB7XG4gICAgICAjeyRmfV9fbGFiZWwge1xuICAgICAgICAmLS1waCB7XG4gICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTsgfVxuICAgICAgICAgIHRvcDogMDsgfSB9IH1cbiAgICAmLmlzLWVycm9yIHtcbiAgICAgICN7JGZ9X19pbnB1dCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgkY29sb3ItcmVkLWRrLCAuMDcpOyB9XG4gICAgICAgIGJvcmRlcjoge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItcmVkLWRrOyB9IH0gfSB9XG4gICZfX2lucHV0IHtcbiAgICAkaTogJjtcbiAgICBjb2xvcjogJGNvbG9yLXB1cnBsZS1kaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICAmLCAmLS1zZWxlY3Qgb3B0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZsdWlkKDE1cHgsIDE3cHgsIGJwKHNtKSwgYnAoeGwpLCBmb250LXNpemUpOyB9XG4gICAgJjpub3QoI3skaX0tLXNlbGVjdCkge1xuICAgICAgQGluY2x1ZGUgZmx1aWQoOHB4LCAxMnB4LCBicChzbSksIGJwKHhsKSwgcGFkZGluZy1ib3R0b20pO1xuICAgICAgQGluY2x1ZGUgZmx1aWQoMTBweCwgMThweCwgYnAoc20pLCBicCh4bCksIHBhZGRpbmctbGVmdCk7XG4gICAgICBAaW5jbHVkZSBmbHVpZCgxMHB4LCAxOHB4LCBicChzbSksIGJwKHhsKSwgcGFkZGluZy1yaWdodCk7XG4gICAgICBAaW5jbHVkZSBmbHVpZCg4cHgsIDEycHgsIGJwKHNtKSwgYnAoeGwpLCBwYWRkaW5nLXRvcCk7IH1cbiAgICAmLS1zZWxlY3Qge1xuICAgICAgQGluY2x1ZGUgZmx1aWQoNnB4LCAxMHB4LCBicChzbSksIGJwKHhsKSwgcGFkZGluZy1ib3R0b20pO1xuICAgICAgQGluY2x1ZGUgZmx1aWQoNHB4LCAxMHB4LCBicChzbSksIGJwKHhsKSwgcGFkZGluZy1sZWZ0KTtcbiAgICAgIEBpbmNsdWRlIGZsdWlkKDRweCwgMTBweCwgYnAoc20pLCBicCh4bCksIHBhZGRpbmctcmlnaHQpO1xuICAgICAgQGluY2x1ZGUgZmx1aWQoNnB4LCAxMHB4LCBicChzbSksIGJwKHhsKSwgcGFkZGluZy10b3ApO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgaW1hZ2U6IHVybCgvYXNzZXRzL3VwbG9hZHMvaW1hZ2VzL2ljb24tYXJyb3ctZG93bjIucG5nKTtcbiAgICAgICAgcG9zaXRpb246IHJpZ2h0IDEwcHggY2VudGVyO1xuICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyYXktbHQge1xuICAgICAgICByYWRpdXM6IDA7IH1cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8vIGNvbG9yOiAkY29sb3ItZ3JheS1sdFxuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBzbSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgc2l6ZTogMTJweDsgfSB9XG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogc20sICR1bnRpbDogbWQpIHtcbiAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgIHNpemU6IDE1cHg7IH0gfVxuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IG1kLCAkdW50aWw6IGxnKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgICBzaXplOiAxN3B4OyB9IH1cbiAgICAgICY6aW52YWxpZCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS1sdDsgfVxuICAgICAgb3B0aW9uIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1wdXJwbGUtZGs7IH1cbiAgICAgIG9wdGlvbltkaXNhYmxlZF0ge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWdyYXktbHRyOyB9IH1cbiAgICAmLS10ZXh0LCAmLS1lbWFpbCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JheS1sdDtcbiAgICAgIHRyYW5zaXRpb246IDMwMG1zICRlYXNlT3V0UXVpbnQ7XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyOiB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci1wdXJwbGUtZGs7IH1cbiAgICAgICAgb3V0bGluZToge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHVycGxlLWRrOyB9XG4gICAgICAgICsgI3skZn1fX2xhYmVsIHtcbiAgICAgICAgICAmLS1waCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7IH1cbiAgICAgICAgICAgIHRvcDogMDsgfSB9IH0gfSB9XG4gICZfX2xhYmVsIHtcbiAgICBAaW5jbHVkZSBmbHVpZCgxM3B4LCAxN3B4LCBicChzbSksIGJwKHhsKSwgZm9udC1zaXplKTtcbiAgICBjb2xvcjogJGNvbG9yLWdyYXktbHQ7XG4gICAgZW0ge1xuICAgICAgZm9udDoge1xuICAgICAgICBzaXplOiAuOGVtOyB9IH1cbiAgICAmLS10ZXh0LCAmLS1lbWFpbCB7XG4gICAgICBAaW5jbHVkZSBmbHVpZCg3cHgsIDE1cHgsIGJwKHNtKSwgYnAoeGwpLCBsZWZ0KTtcbiAgICAgIGJvcmRlcjoge1xuICAgICAgICByYWRpdXM6IDRweDsgfVxuICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgcGFkZGluZzogM3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB0cmFuc2l0aW9uOiAzMDBtcyAkZWFzZU91dFF1aW50OyB9XG4gICAgJi0tc2VsZWN0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjoge1xuICAgICAgICBib3R0b206IDNweDtcbiAgICAgICAgbGVmdDogMnB4OyB9IH0gfVxuICAmX19ncm91cCB7XG4gICAgQGluY2x1ZGUgZmx1aWQoOHB4LCAxMnB4LCBicChzbSksIGJwKHhsKSwgcGFkZGluZy1ib3R0b20pO1xuICAgIEBpbmNsdWRlIGZsdWlkKDhweCwgMTJweCwgYnAoc20pLCBicCh4bCksIHBhZGRpbmctdG9wKTsgfVxuICAmX19ncm91cHJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgcGFkZGluZzoge1xuICAgICAgICBib3R0b206IDEwcHg7IH0gfVxuICAgIGlucHV0IHtcbiAgICAgIG1hcmdpbjoge1xuICAgICAgICBsZWZ0OiAxMnB4O1xuICAgICAgICByaWdodDogOHB4O1xuICAgICAgICB0b3A6IDJweDsgfSB9IH1cbiAgJl9fc2VjdCB7XG4gICAgQGluY2x1ZGUgZmx1aWQoMjRweCwgNTNweCwgYnAoc20pLCBicCh4bCksIGZvbnQtc2l6ZSk7XG4gICAgLy8gQGluY2x1ZGUgZmx1aWQoMjBweCwgMzhweCwgYnAoc20pLCBicCh4bCksIHRvcClcbiAgICBjb2xvcjogJGNvbG9yLWdyYXktbHRyO1xuICAgIGZvbnQ6IHtcbiAgICAgIHdlaWdodDogOTAwOyB9XG4gICAgbGluZToge1xuICAgICAgaGVpZ2h0OiAuODc1ZW07IH1cbiAgICB0ZXh0OiB7XG4gICAgICB0cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB7XG4gICAgICBvcmlnaW46IHJpZ2h0IHRvcDsgfVxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBzbSkge1xuICAgICAgcmlnaHQ6IC0xMHB4OyB9IH1cbiAgJl9fZXJyb3Ige1xuICAgIGNvbG9yOiAkY29sb3ItcmVkLWRrO1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6IGVtKDEyLCAxNyk7IH0gfSB9XG5cbmlucHV0OmludmFsaWQsIHRleHRhcmVhOmludmFsaWQge1xuICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7IH1cbiJdfQ== */
