/*!
 * Bootstrap v4.5.0 (https://getbootstrap.com/)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:570px}}@media (min-width:768px){.container{max-width:780px}}@media (min-width:992px){.container{max-width:900px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:570px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:780px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:900px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col-auto{position:relative;padding-right:15px;padding-left:15px}.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}}
/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@-webkit-keyframes blink{0%,to{opacity:1}50%{opacity:0}}@-moz-keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes appear{0%{opacity:0}to{opacity:1}}@-webkit-keyframes appear{0%{opacity:0}to{opacity:1}}@-moz-keyframes appear{0%{opacity:0}to{opacity:1}}@keyframes appear-hammer{0%,to{opacity:0}50%,60%{opacity:1}}@-webkit-keyframes appear-hammer{0%,to{opacity:0}50%,60%{opacity:1}}@-moz-keyframes appear-hammer{0%,to{opacity:0}50%,60%{opacity:1}}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@-webkit-keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@-moz-keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@keyframes fadein{0%{display:block;opacity:0}1%{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{0%{display:block;opacity:0}1%{opacity:0}to{opacity:1}}@-moz-keyframes fadein{0%{display:block;opacity:0}1%{opacity:0}to{opacity:1}}@keyframes jump{0%,to{transform:translateY(0)}60%{transform:translateY(-20px)}}@-webkit-keyframes jump{0%,to{transform:translateY(0)}60%{transform:translateY(-20px)}}@-moz-keyframes jump{0%,to{transform:translateY(0)}60%{transform:translateY(-20px)}}@keyframes weight{0%{transform:rotate(-48deg)}to{transform:rotate(48deg)}}@-webkit-keyframes weight{0%{transform:rotate(-48deg)}to{transform:rotate(48deg)}}@-moz-keyframes weight{0%{transform:rotate(-48deg)}to{transform:rotate(48deg)}}@keyframes hammer{0%{transform:rotate(28deg)}to{transform:rotate(2deg)}}@-webkit-keyframes hammer{0%{transform:rotate(28deg)}to{transform:rotate(2deg)}}@-moz-keyframes hammer{0%{transform:rotate(28deg)}to{transform:rotate(2deg)}}@keyframes scale{0%,to{transform:scale(1)}70%{transform:scale(2)}}@-webkit-keyframes scale{0%,to{transform:scale(1)}70%{transform:scale(2)}}@-moz-keyframes scale{0%,to{transform:scale(1)}70%{transform:scale(2)}}@keyframes hoop{0%,40%,to{transform:translateX(0)}30%{transform:translateX(-40px)}50%{transform:translateX(50px)}}@-webkit-keyframes hoop{0%,40%,to{transform:translateX(0)}30%{transform:translateX(-40px)}50%{transform:translateX(50px)}}@-moz-keyframes hoop{0%,40%,to{transform:translateX(0)}30%{transform:translateX(-40px)}50%{transform:translateX(50px)}}@keyframes danse{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}70%{transform:translateX(10px)}}@-webkit-keyframes danse{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}70%{transform:translateX(10px)}}@-moz-keyframes danse{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}70%{transform:translateX(10px)}}@keyframes hamburger{0%{transform:scale(1)}to{transform:scale(0)}}@-webkit-keyframes hamburger{0%{transform:scale(1)}to{transform:scale(0)}}@-moz-keyframes hamburger{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(5deg)}95%{transform:rotate(-5deg)}}@-webkit-keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(5deg)}95%{transform:rotate(-5deg)}}@-moz-keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(5deg)}95%{transform:rotate(-5deg)}}@keyframes bounce{0%,10%,40%,60%,to{transform:translateY(0)}30%{transform:translateY(-25px)}50%{transform:translateY(-10px)}}@-webkit-keyframes bounce{0%,10%,40%,60%,to{transform:translateY(0)}30%{transform:translateY(-25px)}50%{transform:translateY(-10px)}}@-moz-keyframes bounce{0%,10%,40%,60%,to{transform:translateY(0)}30%{transform:translateY(-25px)}50%{transform:translateY(-10px)}}@keyframes bounce-with-distortion{0%,60%,to{transform:scale(1,1) translateY(0)}10%,40%{transform:scale(1.03,.97) translateY(0)}30%{transform:scale(.97,1.03) translateY(-25px)}50%{transform:scale(1,1) translateY(-10px)}}@-webkit-keyframes bounce-with-distortion{0%,60%,to{transform:scale(1,1) translateY(0)}10%,40%{transform:scale(1.03,.97) translateY(0)}30%{transform:scale(.97,1.03) translateY(-25px)}50%{transform:scale(1,1) translateY(-10px)}}@-moz-keyframes bounce-with-distortion{0%,60%,to{transform:scale(1,1) translateY(0)}10%,40%{transform:scale(1.03,.97) translateY(0)}30%{transform:scale(.97,1.03) translateY(-25px)}50%{transform:scale(1,1) translateY(-10px)}}@keyframes bgColor-on-tap{0%,50%{background-color:red}to{background-color:transparent}}@-webkit-keyframes bgColor-on-tap{0%,50%{background-color:red}to{background-color:transparent}}@-moz-keyframes bgColor-on-tap{0%,50%{background-color:red}to{background-color:transparent}}@font-face{font-family:"FontAwesome";src:url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.eot?v=4.7.0);src:url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0) format("woff2"),url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.woff?v=4.7.0) format("woff"),url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.ttf?v=4.7.0) format("truetype"),url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{display:inline-block;font:14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--mainColor: hsl(228, 52%, 32%);--mainColor_h: 228;--mainColor_s: 52%;--mainColor_l: 32%;--secondaryColor: hsl(120, 100%, 25%);--secondaryColor_h: 120;--secondaryColor_s: 100%;--secondaryColor_l: 25%;--titleColor: hsl(0, 0%, 0%);--titleColor_h: 0;--titleColor_s: 0%;--titleColor_l: 0%;--textColor: hsl(0, 0%, 0%);--textColor_h: 0;--textColor_s: 0%;--textColor_l: 0%;--CTA: hsl(120, 100%, 20%);--CTA_h: 120;--CTA_s: 100%;--CTA_l: 20%;--mainFont: "Helvetica Neue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande";--secondaryFont: "Helvetica Neue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande"}@media (max-width:767px){.answers__item--label-over .label:after,.answers__item:not(.answers__item--label-over) .label__img:after,.footer .nextStep{box-shadow:0 2px 4px rgba(0,0,0,.16)}}@media (min-width:768px) and (max-width:1024px){.answers__item--label-over .label:after,.answers__item:not(.answers__item--label-over) .label__img:after,.footer .nextStep{box-shadow:0 3px 6px rgba(0,0,0,.16)}}@media (min-width:1025px){.answers__item--label-over .label:after,.answers__item:not(.answers__item--label-over) .label__img:after,.footer .nextStep{box-shadow:0 3px 6px rgba(0,0,0,.16)}}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,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,ins,kbd,label,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}img{margin:0;padding:0;font:inherit}fieldset,figure,form,legend{font:inherit;vertical-align:baseline}figure,form{padding:0;border:0}legend{margin:0}:focus{outline:0}.question span,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1;min-height:100vh;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-family:var(--mainFont);font-size:16px;text-align:center;color:var(--textColor)}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:none}table{border-collapse:collapse;border-spacing:0}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-moz-appearance:none}audio,canvas,video{display:inline-block;*display:inline;*zoom:1;max-width:100%}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted}a:active,a:hover{outline:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;width:100%}fieldset,legend{border:0;padding:0}fieldset,figure,form{margin:0}legend{white-space:normal;*margin-left:-7px}button,input,select{vertical-align:baseline}button,input,select,textarea{font-size:100%;margin:0;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button{-webkit-appearance:button;*overflow:visible}html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;margin:0}textarea{overflow:auto;vertical-align:top}html,input,select,textarea{color:#222}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}textarea{resize:vertical}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}html{box-sizing:border-box}*,::after,::before{box-sizing:inherit}a,button{color:inherit;cursor:pointer}button{padding:0;background-color:transparent;border-width:0}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden!important}.br{white-space:pre}@media (min-width:375px){.br--not-small-mobile{display:block}}@media (max-width:374px){.br--small-mobile{display:block}}@media (min-width:375px) and (max-width:767px){.br--mobile{display:block}}@media (max-width:574px){.br--mobile-max{display:block}}@media (min-width:768px) and (max-width:1024px){.br--tablet{display:block}}@media (min-width:768px) and (max-width:1024px) and (orientation:landscape){.br--tablet-landscape{display:block}}@media (min-width:1025px){.br--desktop{display:block}}.nowrap{white-space:nowrap}@media (max-width:991px){body{background-color:#fff}}@media (min-width:992px){body{background-color:#eee}}h2,h3{font-size:24px;font-weight:900;color:var(--titleColor)}h2 small{font-size:18px;font-weight:400}h3{font-size:20px;font-weight:300}b{font-weight:600}a,a:active,a:hover{text-decoration:underline}@media (max-width:991px){a,a:active,a:hover{color:var(--textColor)}}@media (hover:hover) and (pointer:fine){[role=button]{cursor:pointer}}.btn{display:flex;justify-content:center;align-items:center;flex-basis:auto;margin:0 auto}.btn [disabled],.btn.disabled,.icon,input{pointer-events:none}.icon{display:inline-block;width:1em;height:1em;margin:0;text-align:center;vertical-align:middle;font-size:1em;fill:inherit;color:inherit;box-sizing:content-box}.icon,main>section{overflow:hidden}[class^=container]{width:100%;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}.container{max-width:none}.footer{position:sticky;bottom:env(safe-area-inset-bottom,0);width:100%;background-color:rgba(238,238,238,.9)}.footer .nextStep{align-self:center;display:inline-block;width:100%;max-width:340px;margin:3px auto;padding:.75em .5em;font-size:var(--btn-fs, 18px);font-weight:400;white-space:nowrap;line-height:1;border:0;-webkit-animation:fadein 2s;animation:fadein 2s}@media (min-width:375px) and (max-width:767px){.footer .nextStep{--btn-fs: 20px}}@media (min-width:768px) and (max-width:1024px){.footer .nextStep{--btn-fs: 24px}}@media (min-width:1025px){.footer .nextStep{--btn-fs: 32px}}.footer .nextStep.hidden{pointer-events:none;filter:grayscale(1)}@media (max-width:1024px){.footer .nextStep.hidden{display:none}}@media (min-width:1025px){.footer .nextStep.hidden{visibility:hidden;display:none}}@media (max-width:991px){.footer .nextStep{margin-block:20px 0}}@media (min-width:992px){.footer .nextStep{margin-block:30px 0}}.footer .skip{justify-content:center;font-weight:700;text-decoration:none;color:var(--textColor)}.footer .skip:hover{text-decoration:underline}@media (max-width:991px){.footer .skip{margin-block:10px 0;padding-block:10px 15px}}@media (min-width:992px){.footer .skip{margin-block:15px 0;padding-block:15px 22.5px}}body.surveyPageV02,body.surveyPageV02 main{display:flex;flex-direction:column}body.surveyPageV02 main{flex:1 1 100%;height:100%;background-color:#fff}@media (min-width:992px){.survey-wrap{overflow:hidden;margin-inline:auto}}.surveyPage .survey-wrap{padding-bottom:100px;background-color:#fff;border-radius:10px}@media (min-width:1025px){.surveyPage .survey-wrap{width:100%;max-width:100%}}.surveyPageV02 .survey h2,.surveyPageV02 .survey-wrap{width:100%;margin-inline:auto}@media (max-width:991px){.surveyPageV02 .survey-wrap{padding-block-start:10px}}@media (min-width:992px){.surveyPageV02 .survey-wrap{padding-block-start:45px}}.surveyPage .survey{overflow:hidden;padding-block-end:20px}.surveyPageV02 .survey{line-height:1.2}.surveyPageV02 .survey h2{max-width:260px}@media (max-width:991px){.surveyPageV02 .survey h3{width:100%;max-width:260px;margin-inline:auto}.surveyPageV02 .survey.one .box.one~.box,.surveyPageV02 .survey.two .box.two~.box{max-height:75vh}}.pagination{position:relative;margin-inline:auto}@media (max-width:767px){.pagination{width:calc((100% - 30px)/3 - 8px)}}@media (max-width:374px){.pagination{margin-block:20px}}@media (min-width:375px) and (max-width:991px){.pagination{margin-block:20px 20px}}@media (min-width:992px){.pagination{margin-block:40px 10px}}@media (min-width:768px){.pagination{width:100px}}.pagination::after,.pagination::before{content:"";position:absolute;top:0;display:block;width:100%}.pagination,.pagination::after,.pagination::before{height:8px;border-radius:4px;transition:background-color 1000ms ease-in-out 500ms}.pagination,.pagination::after{background-color:hsla(var(--secondaryColor_h),var(--secondaryColor_s),var(--secondaryColor_l),.3)}.pagination::before{background-color:var(--secondaryColor);left:calc(-100% - 15px)}.pagination::after{right:calc(-100% - 15px)}.survey.three .pagination,.survey.three .pagination::after,.survey.two .pagination{background-color:var(--secondaryColor)}.boxes{display:flex;flex-wrap:nowrap;width:300vw;transition:all 1s ease-in-out .5s}.survey.one .boxes{transform:translateX(0)}.survey.two .boxes{transform:translateX(-100vw)}.survey.three .boxes{transform:translateX(-200vw)}.surveyPage .boxes{margin-block-start:15px}.box{display:flex;flex-direction:column;align-items:center}@media (max-width:1024px){.surveyPage .box{width:100vw}}@media (min-width:1025px){.surveyPage .box{width:310px;margin:0 auto}}.surveyPageV02 .box{width:100vw}.pages{align-self:flex-start;padding:0 10px}.question{line-height:1.2}.surveyPage .question{margin-block:10px 20px}@media (max-width:991px){.surveyPageV02 .question{margin-block-end:20px}}@media (min-width:992px){.surveyPageV02 .question{margin-block:25px 30px}}.surveyPage .answers{margin-inline:auto;margin-block-end:10px}@media (max-width:1024px){.surveyPage .answers{width:100%;padding:0 10px}}@media (min-width:1025px){.surveyPage .answers{width:310px}}.surveyPage .answers__item,.surveyPage .box.three .label{font-size:21px}.surveyPage .answers__item+.answers__item{margin-block-start:2px}.surveyPageV02 .answers{display:flex;flex-wrap:wrap;justify-content:center;column-gap:10px;width:100%;max-width:768px;padding:0 10px}@media (max-width:991px){.surveyPageV02 .answers{margin-inline:auto;margin-block-end:10px}}.surveyPageV02 .answers__item{margin-block-end:10px}@media (max-width:574px){.surveyPageV02 .answers__item{flex:0 0 calc(50% - 10px)}}@media (min-width:575px) and (max-width:991px){.surveyPageV02 .answers__item{flex:0 0 calc(33.33% - 10px)}}@media (min-width:992px){.surveyPageV02 .answers__item{flex:0 0 calc(25% - 10px)}}@media (max-width:574px){.survey--fourSections .surveyPageV02 .answers__item{flex:0 0 calc(50% - 10px)}}@media (min-width:575px) and (max-width:991px){.survey--fourSections .surveyPageV02 .answers__item{flex:0 0 calc(33.33% - 10px)}}@media (min-width:992px){.survey--fourSections .surveyPageV02 .answers__item{flex:0 0 calc(25% - 10px)}}input{display:none}.surveyPage input:checked~label{font-style:italic;color:#fff;background-color:var(--secondaryColor);border-color:var(--secondaryColor)}.answers__item:not(.answers__item--label-over) input:checked~label .label__img:after{display:flex}.answers__item--label-over input:checked~label:after{display:flex}@media (hover:hover) and (pointer:fine){input:checked~label:hover .label__img{transform:initial;cursor:default}.answers__item--label-over input:checked~label:hover span{transform:translate(-50%,-50%)}}.label{cursor:pointer}.surveyPage .label{display:block;padding:8px 5px;text-align:center;line-height:1.3;background-color:#fff;border-radius:10px;border:1px solid hsl(calc(var(--mainColor_h) - 16),calc(var(--mainColor_s) - 2%),calc(var(--mainColor_l) + 20%))}.surveyPageV02 .label{position:relative;display:flex;flex-direction:column}.label__img{position:relative;margin-block-end:5px;transform:scale(1);transform-origin:center;transition:transform 250ms ease-in-out}.answers__item:not(.answers__item--label-over) .label__img:after{content:"\f00c";position:absolute;bottom:0;left:0;display:none;justify-content:center;align-items:center;width:64px;height:64px;font-family:"FontAwesome";font-size:32px;color:#fff;background-color:var(--secondaryColor);border-radius:50%}.answers__item--label-over .label .label__img{margin-bottom:0}.answers__item--label-over .label:after{content:"\f00c";position:absolute;bottom:0;left:0;display:none;justify-content:center;align-items:center;width:64px;height:64px;font-family:"FontAwesome";font-size:32px;color:#fff;background-color:var(--secondaryColor);border-radius:50%}.label__value{display:flex;justify-content:center;align-items:center;font-size:18px;font-weight:700;text-align:center;color:var(--textColor)}.box.one .label__value{font-size:22px}.answers__item--label-over .label__value{position:absolute;top:50%;left:50%;width:75%;font-family:var(--secondaryFont);font-size:30px;color:#fff;transform:translate(-50%,-50%) scale(1);transform-origin:center;transition:transform 250ms ease-in-out}.answers__item:not(.answers__item--label-over) .label__value{width:100%;max-width:150px;margin-inline:auto}@media (hover:hover) and (pointer:fine){.label:hover .label__img{transform:scale(1.1)}.answers__item--label-over .label:hover span{transform:translate(-50%,-50%) scale(1.1)}}.nextStep{display:none;opacity:0;margin:10px 0;align-self:center;width:100%;max-width:290px;font-size:22px;font-weight:700;text-align:center;border-radius:8px;cursor:pointer;padding:8px 0}@media (min-width:1025px){.nextStep{order:4}}.nextStep--gradient{background-image:linear-gradient(to top,var(--CTA),hsl(var(--CTA_h),var(--CTA_s),calc(var(--CTA_l) + 20%)));border:1px solid var(--CTA)}.nextStep--solid{background-color:var(--CTA)}.nextStep--solid:hover{background-color:hsl(var(--CTA_h),var(--CTA_s),calc(var(--CTA_l) - 3%))}.nextStep,.nextStep:hover{text-decoration:none;color:#fff}.nextStep.hidden{pointer-events:none}.nextStep.show{-webkit-animation:fadein 2s;animation:fadein 2s;opacity:1}@media (min-width:1025px){.skip-wrap{width:310px}}.skip{font-family:var(--secondaryFont);margin-inline:20px;margin-block-end:20px;justify-content:flex-end}.header{position:relative;z-index:1;display:flex;color:#fff;background-color:#111926}.surveyPage .header{padding-block:17px}.surveyPageV02 .header{padding-block:1em .5em}.header [class^=container],.header__logo{display:flex;align-items:center}@media (max-width:1024px){.header [class^=container]{justify-content:center}}@media (min-width:1025px){.header [class^=container]{justify-content:flex-start;max-width:900px}}.header__logo{padding:5px 0}.header--svg .header__logo{width:var(--headerLogoWidth, 168px);font-size:var(--headerLogoWidth, 168px)}@media (min-width:768px) and (max-width:1024px){.header--svg .header__logo{--headerLogoWidth: 175px}}@media (min-width:1025px){.header--svg .header__logo{--headerLogoWidth: 180px}}.header--img .header__logo{max-width:250px}@media (min-width:1025px){.header--img .header__logo{max-width:198px}}.header__logo .icon{height:.275em}.header__logo img{width:100%}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlbmRvcnMvYm9vdHN0cmFwL19ncmlkLnNjc3MiLCJ2ZW5kb3JzL2Jvb3RzdHJhcC9taXhpbnMvX2dyaWQuc2NzcyIsInZlbmRvcnMvYm9vdHN0cmFwL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsInZlbmRvcnMvYm9vdHN0cmFwL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsInZlbmRvcnMvYm9vdHN0cmFwL190cmFuc2l0aW9ucy5zY3NzIiwidmVuZG9ycy9ib290c3RyYXAvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJ2ZW5kb3JzL2Jvb3RzdHJhcC91dGlsaXRpZXMvX2ZsZXguc2NzcyIsImFic3RyYWN0cy9hbmltYXRpb25zL19mYWRlcy5zY3NzIiwiYWJzdHJhY3RzL2FuaW1hdGlvbnMvX21vdGlvbi5zY3NzIiwiYWJzdHJhY3RzL2FuaW1hdGlvbnMvX3NjaGVtYS5zY3NzIiwidmVuZG9ycy9mb250LWF3ZXNvbWUtNC43LjAvc2Nzcy9fcGF0aC5zY3NzIiwidmVuZG9ycy9mb250LWF3ZXNvbWUtNC43LjAvc2Nzcy9fY29yZS5zY3NzIiwiYWJzdHJhY3RzL3NraW5zL19jb2xvcnMuc2NzcyIsImFic3RyYWN0cy9za2lucy9fdHlwb2dyYXBoeS5zY3NzIiwiYWJzdHJhY3RzL2Z1bmN0aW9ucy9faW5jbHVkZS1tZWRpYS5zY3NzIiwiYWJzdHJhY3RzL3BsYWNlaG9sZGVycy9fc2hhZG93cy5zY3NzIiwiYmFzZS9fcmVzZXQuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm9ybS9pbmRleC5zY3NzIiwiYmFzZS9fcmVzZXQtZXh0ZW5kZWQuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImJhc2UvX2hlbHBlci1jbGFzc2VzLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19pY29ucy5zY3NzIiwibGF5b3V0L19sYXlvdXQuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm9vdGVyL2luZGV4LnNjc3MiLCIuLi9jb21wb25lbnRzL2hlYWRlci9pbmRleC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQU1FLFUsQ0NEQSxVLENBQ0Esa0IsQ0FDQSxpQixDQUNBLGlCLENBQ0EsZ0IsQ0NtREUseUJGdERGLFUsQ0NXSSxpQixBQzJDRix5QkZ0REYsVSxDQ1dJLGlCLEFDMkNGLHlCRnRERixVLENDV0ksaUIsQUMyQ0YsMEJGdERGLFUsQ0NXSSxrQkRMSixnQixDQUFBLGEsQ0FBQSxhLENBQUEsYSxDQUFBLGEsQ0NQQSxVLENBQ0Esa0IsQ0FDQSxpQixDQUNBLGlCLENBQ0EsZ0IsQ0NtREUseUJGckNFLFUsQ0FBQSxhLENBQ0UsaUIsQUVvQ0oseUJGckNFLFUsQ0FBQSxhLENBQUEsYSxDQUNFLGlCLEFFb0NKLHlCRnJDRSxVLENBQUEsYSxDQUFBLGEsQ0FBQSxhLENBQ0UsaUIsQUVvQ0osMEJGckNFLFUsQ0FBQSxhLENBQUEsYSxDQUFBLGEsQ0FBQSxhLENBQ0Usa0JBNEJOLEksQ0M3QkEsWSxDQUNBLGMsQ0FDQSxrQixDQUNBLGlCLENEZ0NBLFcsQ0FDRSxjLENBQ0EsYSxDQUVBLGdCLENBQUEseUIsQ0FFRSxlLENBQ0EsYyxDRzFESixJLENBQUEsTyxDQUFBLFMsQ0FBQSxVLENBQUEsVSxDQUFBLFUsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFksQ0FBQSxPLENBQUEsUyxDQUFBLFUsQ0FBQSxVLENBQUEsVSxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsWSxDQUFBLE8sQ0FBQSxTLENBQUEsVSxDQUFBLFUsQ0FBQSxVLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxZLENBQUEsTyxDQUFBLFMsQ0FBQSxVLENBQUEsVSxDQUFBLFUsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFksQ0FDRSxpQixDQUNBLFUsQ0FDQSxrQixDQUNBLGlCLENBSkYsUyxDQUNFLGlCLENBRUEsa0IsQ0FDQSxpQixDQUpGLE0sQ0FBQSxPLENBQUEsTyxDQUFBLE8sQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FBQSxNLENBQUEsTSxDQUNFLGlCLENBQ0EsVSxDQUNBLGtCLENBQ0EsaUIsQ0FzQkUsSSxDQUNFLFksQ0FDQSxXLENBQ0EsVyxDQUNBLGMsQ0YyQk4sYSxDQUNFLGEsQ0FDQSxjLENBRkYsYSxDQUNFLFksQ0FDQSxhLENBRkYsYSxDQUNFLHVCLENBQ0Esd0IsQ0FGRixhLENBQ0UsWSxDQUNBLGEsQ0FGRixhLENBQ0UsWSxDQUNBLGEsQ0FGRixhLENBQ0UsdUIsQ0FDQSx3QixDRWxCRSxTLENGQUosYSxDQUNBLFUsQ0FDQSxjLENFSVEsTSxDRmRSLHNCLENBSUEsdUIsQ0VVUSxNLENGZFIsdUIsQ0FJQSx3QixDRVVRLE0sQ0ZkUixZLENBSUEsYSxDRVVRLE0sQ0ZkUix1QixDQUlBLHdCLENFVVEsTSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxNLENGZFIsWSxDQUlBLGEsQ0VVUSxNLENGZFIsdUIsQ0FJQSx3QixDRVVRLE0sQ0ZkUix1QixDQUlBLHdCLENFVVEsTSxDRmRSLFksQ0FJQSxhLENFVVEsTyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxPLENGZFIsdUIsQ0FJQSx3QixDRVVRLE8sQ0ZkUixhLENBSUEsYyxDRWdCSSxZLENBQXdCLFEsQ0FFeEIsVyxDQUF1QixRLENBR3JCLFEsQ0FBd0IsTyxDQUF4QixRLENBQXdCLE8sQ0FBeEIsUSxDQUF3QixPLENBQXhCLFEsQ0FBd0IsTyxDQUF4QixRLENBQXdCLE8sQ0FBeEIsUSxDQUF3QixPLENBQXhCLFEsQ0FBd0IsTyxDQUF4QixRLENBQXdCLE8sQ0FBeEIsUSxDQUF3QixPLENBQXhCLFEsQ0FBd0IsTyxDQUF4QixTLENBQXdCLFEsQ0FBeEIsUyxDQUF3QixRLENBQXhCLFMsQ0FBd0IsUSxDQU9wQixTLENGakJWLHlCLENFaUJVLFMsQ0ZqQlYsMEIsQ0VpQlUsUyxDRmpCVixlLENFaUJVLFMsQ0ZqQlYsMEIsQ0VpQlUsUyxDRmpCViwwQixDRWlCVSxTLENGakJWLGUsQ0VpQlUsUyxDRmpCViwwQixDRWlCVSxTLENGakJWLDBCLENFaUJVLFMsQ0ZqQlYsZSxDRWlCVSxVLENGakJWLDBCLENFaUJVLFUsQ0ZqQlYsMEIsQ0NLRSx5QkMzQkUsTyxDQUNFLFksQ0FDQSxXLENBQ0EsVyxDQUNBLGMsQ0YyQk4sZ0IsQ0FDRSxhLENBQ0EsYyxDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLHVCLENBQ0Esd0IsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsdUIsQ0FDQSx3QixDRWxCRSxZLENGQUosYSxDQUNBLFUsQ0FDQSxjLENFSVEsUyxDRmRSLHNCLENBSUEsdUIsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsVSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxVLENGZFIsdUIsQ0FJQSx3QixDRVVRLFUsQ0ZkUixhLENBSUEsYyxDRWdCSSxlLENBQXdCLFEsQ0FFeEIsYyxDQUF1QixRLENBR3JCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixZLENBQXdCLFEsQ0FBeEIsWSxDQUF3QixRLENBQXhCLFksQ0FBd0IsUSxDQU9wQixZLENGakJWLGEsQ0VpQlUsWSxDRmpCVix5QixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsYSxDRmpCViwwQixDRWlCVSxhLENGakJWLDRCLEFDS0UseUJDM0JFLE8sQ0FDRSxZLENBQ0EsVyxDQUNBLFcsQ0FDQSxjLENGMkJOLGdCLENBQ0UsYSxDQUNBLGMsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSx1QixDQUNBLHdCLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLHVCLENBQ0Esd0IsQ0VsQkUsWSxDRkFKLGEsQ0FDQSxVLENBQ0EsYyxDRUlRLFMsQ0ZkUixzQixDQUlBLHVCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFUsQ0ZkUix1QixDQUlBLHdCLENFVVEsVSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxVLENGZFIsYSxDQUlBLGMsQ0VnQkksZSxDQUF3QixRLENBRXhCLGMsQ0FBdUIsUSxDQUdyQixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsWSxDQUF3QixRLENBQXhCLFksQ0FBd0IsUSxDQUF4QixZLENBQXdCLFEsQ0FPcEIsWSxDRmpCVixhLENFaUJVLFksQ0ZqQlYseUIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLGEsQ0ZqQlYsMEIsQ0VpQlUsYSxDRmpCViw0QixBQ0tFLHlCQzNCRSxPLENBQ0UsWSxDQUNBLFcsQ0FDQSxXLENBQ0EsYyxDRjJCTixnQixDQUNFLGEsQ0FDQSxjLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsdUIsQ0FDQSx3QixDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSx1QixDQUNBLHdCLENFbEJFLFksQ0ZBSixhLENBQ0EsVSxDQUNBLGMsQ0VJUSxTLENGZFIsc0IsQ0FJQSx1QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxVLENGZFIsdUIsQ0FJQSx3QixDRVVRLFUsQ0ZkUix1QixDQUlBLHdCLENFVVEsVSxDRmRSLGEsQ0FJQSxjLENFZ0JJLGUsQ0FBd0IsUSxDQUV4QixjLENBQXVCLFEsQ0FHckIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFksQ0FBd0IsUSxDQUF4QixZLENBQXdCLFEsQ0FBeEIsWSxDQUF3QixRLENBT3BCLFksQ0ZqQlYsYSxDRWlCVSxZLENGakJWLHlCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxhLENGakJWLDBCLENFaUJVLGEsQ0ZqQlYsNEIsQUNLRSwwQkMzQkUsTyxDQUNFLFksQ0FDQSxXLENBQ0EsVyxDQUNBLGMsQ0YyQk4sZ0IsQ0FDRSxhLENBQ0EsYyxDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLHVCLENBQ0Esd0IsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsdUIsQ0FDQSx3QixDRWxCRSxZLENGQUosYSxDQUNBLFUsQ0FDQSxjLENFSVEsUyxDRmRSLHNCLENBSUEsdUIsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsVSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxVLENGZFIsdUIsQ0FJQSx3QixDRVVRLFUsQ0ZkUixhLENBSUEsYyxDRWdCSSxlLENBQXdCLFEsQ0FFeEIsYyxDQUF1QixRLENBR3JCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixZLENBQXdCLFEsQ0FBeEIsWSxDQUF3QixRLENBQXhCLFksQ0FBd0IsUSxDQU9wQixZLENGakJWLGEsQ0VpQlUsWSxDRmpCVix5QixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsYSxDRmpCViwwQixDRWlCVSxhLENGakJWLDRCR3ZERixLLENDZ0JNLDhCLENBSUEsdUNEcEJOLEssQ0NxQlEsaUIsQURsQk4sVUFBQSxNLENBQ0UsUyxDQUtGLGNBQUEsTSxDQUNFLFksQ0FJSixXLENBQ0UsaUIsQ0FDQSxRLENBQ0EsZSxDQ0RJLDJCLENBSUEsdUNETk4sVyxDQ09RLGlCQ1hKLFMsQ0FBZ0MsNEIsQ0FDaEMsWSxDQUFnQywrQixDQUNoQyxpQixDQUFnQyxvQyxDQUNoQyxvQixDQUFnQyx1QyxDQUVoQyxVLENBQThCLHdCLENBQzlCLFksQ0FBOEIsMEIsQ0FDOUIsa0IsQ0FBOEIsZ0MsQ0FDOUIsVSxDQUE4Qix1QixDQUM5QixZLENBQThCLHFCLENBQzlCLFksQ0FBOEIscUIsQ0FDOUIsYyxDQUE4Qix1QixDQUM5QixjLENBQThCLHVCLENBRTlCLHNCLENBQW9DLG9DLENBQ3BDLG9CLENBQW9DLGtDLENBQ3BDLHVCLENBQW9DLGdDLENBQ3BDLHdCLENBQW9DLHVDLENBQ3BDLHVCLENBQW9DLHNDLENBRXBDLGtCLENBQWlDLGdDLENBQ2pDLGdCLENBQWlDLDhCLENBQ2pDLG1CLENBQWlDLDRCLENBQ2pDLHFCLENBQWlDLDhCLENBQ2pDLG9CLENBQWlDLDZCLENBRWpDLG9CLENBQWtDLGtDLENBQ2xDLGtCLENBQWtDLGdDLENBQ2xDLHFCLENBQWtDLDhCLENBQ2xDLHNCLENBQWtDLHFDLENBQ2xDLHFCLENBQWtDLG9DLENBQ2xDLHNCLENBQWtDLCtCLENBRWxDLGdCLENBQWdDLHlCLENBQ2hDLGlCLENBQWdDLCtCLENBQ2hDLGUsQ0FBZ0MsNkIsQ0FDaEMsa0IsQ0FBZ0MsMkIsQ0FDaEMsb0IsQ0FBZ0MsNkIsQ0FDaEMsbUIsQ0FBZ0MsNEIsQ0pZaEMseUJJbERBLFksQ0FBZ0MsNEIsQ0FDaEMsZSxDQUFnQywrQixDQUNoQyxvQixDQUFnQyxvQyxDQUNoQyx1QixDQUFnQyx1QyxDQUVoQyxhLENBQThCLHdCLENBQzlCLGUsQ0FBOEIsMEIsQ0FDOUIscUIsQ0FBOEIsZ0MsQ0FDOUIsYSxDQUE4Qix1QixDQUM5QixlLENBQThCLHFCLENBQzlCLGUsQ0FBOEIscUIsQ0FDOUIsaUIsQ0FBOEIsdUIsQ0FDOUIsaUIsQ0FBOEIsdUIsQ0FFOUIseUIsQ0FBb0Msb0MsQ0FDcEMsdUIsQ0FBb0Msa0MsQ0FDcEMsMEIsQ0FBb0MsZ0MsQ0FDcEMsMkIsQ0FBb0MsdUMsQ0FDcEMsMEIsQ0FBb0Msc0MsQ0FFcEMscUIsQ0FBaUMsZ0MsQ0FDakMsbUIsQ0FBaUMsOEIsQ0FDakMsc0IsQ0FBaUMsNEIsQ0FDakMsd0IsQ0FBaUMsOEIsQ0FDakMsdUIsQ0FBaUMsNkIsQ0FFakMsdUIsQ0FBa0Msa0MsQ0FDbEMscUIsQ0FBa0MsZ0MsQ0FDbEMsd0IsQ0FBa0MsOEIsQ0FDbEMseUIsQ0FBa0MscUMsQ0FDbEMsd0IsQ0FBa0Msb0MsQ0FDbEMseUIsQ0FBa0MsK0IsQ0FFbEMsbUIsQ0FBZ0MseUIsQ0FDaEMsb0IsQ0FBZ0MsK0IsQ0FDaEMsa0IsQ0FBZ0MsNkIsQ0FDaEMscUIsQ0FBZ0MsMkIsQ0FDaEMsdUIsQ0FBZ0MsNkIsQ0FDaEMsc0IsQ0FBZ0MsOEIsQUpZaEMseUJJbERBLFksQ0FBZ0MsNEIsQ0FDaEMsZSxDQUFnQywrQixDQUNoQyxvQixDQUFnQyxvQyxDQUNoQyx1QixDQUFnQyx1QyxDQUVoQyxhLENBQThCLHdCLENBQzlCLGUsQ0FBOEIsMEIsQ0FDOUIscUIsQ0FBOEIsZ0MsQ0FDOUIsYSxDQUE4Qix1QixDQUM5QixlLENBQThCLHFCLENBQzlCLGUsQ0FBOEIscUIsQ0FDOUIsaUIsQ0FBOEIsdUIsQ0FDOUIsaUIsQ0FBOEIsdUIsQ0FFOUIseUIsQ0FBb0Msb0MsQ0FDcEMsdUIsQ0FBb0Msa0MsQ0FDcEMsMEIsQ0FBb0MsZ0MsQ0FDcEMsMkIsQ0FBb0MsdUMsQ0FDcEMsMEIsQ0FBb0Msc0MsQ0FFcEMscUIsQ0FBaUMsZ0MsQ0FDakMsbUIsQ0FBaUMsOEIsQ0FDakMsc0IsQ0FBaUMsNEIsQ0FDakMsd0IsQ0FBaUMsOEIsQ0FDakMsdUIsQ0FBaUMsNkIsQ0FFakMsdUIsQ0FBa0Msa0MsQ0FDbEMscUIsQ0FBa0MsZ0MsQ0FDbEMsd0IsQ0FBa0MsOEIsQ0FDbEMseUIsQ0FBa0MscUMsQ0FDbEMsd0IsQ0FBa0Msb0MsQ0FDbEMseUIsQ0FBa0MsK0IsQ0FFbEMsbUIsQ0FBZ0MseUIsQ0FDaEMsb0IsQ0FBZ0MsK0IsQ0FDaEMsa0IsQ0FBZ0MsNkIsQ0FDaEMscUIsQ0FBZ0MsMkIsQ0FDaEMsdUIsQ0FBZ0MsNkIsQ0FDaEMsc0IsQ0FBZ0MsOEIsQUpZaEMseUJJbERBLFksQ0FBZ0MsNEIsQ0FDaEMsZSxDQUFnQywrQixDQUNoQyxvQixDQUFnQyxvQyxDQUNoQyx1QixDQUFnQyx1QyxDQUVoQyxhLENBQThCLHdCLENBQzlCLGUsQ0FBOEIsMEIsQ0FDOUIscUIsQ0FBOEIsZ0MsQ0FDOUIsYSxDQUE4Qix1QixDQUM5QixlLENBQThCLHFCLENBQzlCLGUsQ0FBOEIscUIsQ0FDOUIsaUIsQ0FBOEIsdUIsQ0FDOUIsaUIsQ0FBOEIsdUIsQ0FFOUIseUIsQ0FBb0Msb0MsQ0FDcEMsdUIsQ0FBb0Msa0MsQ0FDcEMsMEIsQ0FBb0MsZ0MsQ0FDcEMsMkIsQ0FBb0MsdUMsQ0FDcEMsMEIsQ0FBb0Msc0MsQ0FFcEMscUIsQ0FBaUMsZ0MsQ0FDakMsbUIsQ0FBaUMsOEIsQ0FDakMsc0IsQ0FBaUMsNEIsQ0FDakMsd0IsQ0FBaUMsOEIsQ0FDakMsdUIsQ0FBaUMsNkIsQ0FFakMsdUIsQ0FBa0Msa0MsQ0FDbEMscUIsQ0FBa0MsZ0MsQ0FDbEMsd0IsQ0FBa0MsOEIsQ0FDbEMseUIsQ0FBa0MscUMsQ0FDbEMsd0IsQ0FBa0Msb0MsQ0FDbEMseUIsQ0FBa0MsK0IsQ0FFbEMsbUIsQ0FBZ0MseUIsQ0FDaEMsb0IsQ0FBZ0MsK0IsQ0FDaEMsa0IsQ0FBZ0MsNkIsQ0FDaEMscUIsQ0FBZ0MsMkIsQ0FDaEMsdUIsQ0FBZ0MsNkIsQ0FDaEMsc0IsQ0FBZ0MsOEIsQUpZaEMsMEJJbERBLFksQ0FBZ0MsNEIsQ0FDaEMsZSxDQUFnQywrQixDQUNoQyxvQixDQUFnQyxvQyxDQUNoQyx1QixDQUFnQyx1QyxDQUVoQyxhLENBQThCLHdCLENBQzlCLGUsQ0FBOEIsMEIsQ0FDOUIscUIsQ0FBOEIsZ0MsQ0FDOUIsYSxDQUE4Qix1QixDQUM5QixlLENBQThCLHFCLENBQzlCLGUsQ0FBOEIscUIsQ0FDOUIsaUIsQ0FBOEIsdUIsQ0FDOUIsaUIsQ0FBOEIsdUIsQ0FFOUIseUIsQ0FBb0Msb0MsQ0FDcEMsdUIsQ0FBb0Msa0MsQ0FDcEMsMEIsQ0FBb0MsZ0MsQ0FDcEMsMkIsQ0FBb0MsdUMsQ0FDcEMsMEIsQ0FBb0Msc0MsQ0FFcEMscUIsQ0FBaUMsZ0MsQ0FDakMsbUIsQ0FBaUMsOEIsQ0FDakMsc0IsQ0FBaUMsNEIsQ0FDakMsd0IsQ0FBaUMsOEIsQ0FDakMsdUIsQ0FBaUMsNkIsQ0FFakMsdUIsQ0FBa0Msa0MsQ0FDbEMscUIsQ0FBa0MsZ0MsQ0FDbEMsd0IsQ0FBa0MsOEIsQ0FDbEMseUIsQ0FBa0MscUMsQ0FDbEMsd0IsQ0FBa0Msb0MsQ0FDbEMseUIsQ0FBa0MsK0IsQ0FFbEMsbUIsQ0FBZ0MseUIsQ0FDaEMsb0IsQ0FBZ0MsK0IsQ0FDaEMsa0IsQ0FBZ0MsNkIsQ0FDaEMscUIsQ0FBZ0MsMkIsQ0FDaEMsdUIsQ0FBZ0MsNkIsQ0FDaEMsc0IsQ0FBZ0MsOEI7Ozs7O0FDOUNwQyxpQkFDSSxFLENBRUEsRSxDQUZPLFMsQ0FDUCxHLENBQU8sVyxBQUdYLHlCQUNJLEUsQ0FFQSxFLENBRk8sUyxDQUNQLEcsQ0FBTyxXLEFBR1gsc0JBQ0ksRSxDQUVBLEUsQ0FGTyxTLENBQ1AsRyxDQUFPLFcsQUFLWCxrQkFDSSxFLENBQU8sUyxDQUNQLEUsQ0FBTyxXLEFBRVgsMEJBQ0ksRSxDQUFPLFMsQ0FDUCxFLENBQU8sVyxBQUVYLHVCQUNJLEUsQ0FBTyxTLENBQ1AsRSxDQUFPLFcsQUFJWCx5QkFDSSxFLENBR0EsRSxDQUhPLFMsQ0FDUCxHLENBQ0EsRyxDQURPLFcsQUFJWCxpQ0FDSSxFLENBR0EsRSxDQUhPLFMsQ0FDUCxHLENBQ0EsRyxDQURPLFcsQUFJWCw4QkFDSSxFLENBR0EsRSxDQUhPLFMsQ0FDUCxHLENBQ0EsRyxDQURPLFcsQUFNWCx3QkFDSSxFLENBRUEsRSxDQUZPLFMsQ0FDUCxHLENBQU8sVyxBQUdYLGdDQUNJLEUsQ0FFQSxFLENBRk8sUyxDQUNQLEcsQ0FBTyxXLEFBR1gsNkJBQ0ksRSxDQUVBLEUsQ0FGTyxTLENBQ1AsRyxDQUFPLFcsQUFLWCxrQkFDSSxFLENBQU8sYSxDQUFnQixTLENBQ3ZCLEUsQ0FBTSxTLENBQ04sRSxDQUFPLFcsQUFFWCwwQkFDSSxFLENBQU8sYSxDQUFnQixTLENBQ3ZCLEUsQ0FBTSxTLENBQ04sRSxDQUFPLFcsQUFFWCx1QkFDSSxFLENBQU8sYSxDQUFpQixTLENBQ3hCLEUsQ0FBTSxTLENBQ04sRSxDQUFPLFcsQUNqRlgsZ0JBQ0ksRSxDQUVBLEUsQ0FGTyx1QixDQUNQLEcsQ0FBTyw2QixBQUdYLHdCQUNJLEUsQ0FFQSxFLENBRk8sdUIsQ0FDUCxHLENBQU8sNkIsQUFHWCxxQkFDSSxFLENBRUEsRSxDQUZPLHVCLENBQ1AsRyxDQUFPLDZCLEFBS1gsa0JBQ0ksRSxDQUFPLHdCLENBQ1AsRSxDQUFPLHlCLEFBRVgsMEJBQ0ksRSxDQUFPLHdCLENBQ1AsRSxDQUFPLHlCLEFBRVgsdUJBQ0ksRSxDQUFPLHdCLENBQ1AsRSxDQUFPLHlCLEFBSVgsa0JBQ0ksRSxDQUFPLHVCLENBQ1AsRSxDQUFPLHdCLEFBRVgsMEJBQ0ksRSxDQUFPLHVCLENBQ1AsRSxDQUFPLHdCLEFBRVgsdUJBQ0ksRSxDQUFPLHVCLENBQ1AsRSxDQUFPLHdCLEFBSVgsaUJBQ0ksRSxDQUVBLEUsQ0FGTyxrQixDQUNQLEcsQ0FBTyxvQixBQUdYLHlCQUNJLEUsQ0FFQSxFLENBRk8sa0IsQ0FDUCxHLENBQU8sb0IsQUFHWCxzQkFDSSxFLENBRUEsRSxDQUZPLGtCLENBQ1AsRyxDQUFPLG9CLEFBS1gsZ0JBQ0ksRSxDQUVBLEcsQ0FFQSxFLENBSk8sdUIsQ0FDUCxHLENBQU8sMkIsQ0FFUCxHLENBQU8sNEIsQUFHWCx3QkFDSSxFLENBRUEsRyxDQUVBLEUsQ0FKTyx1QixDQUNQLEcsQ0FBTywyQixDQUVQLEcsQ0FBTyw0QixBQUdYLHFCQUNJLEUsQ0FFQSxHLENBRUEsRSxDQUpPLHVCLENBQ1AsRyxDQUFPLDJCLENBRVAsRyxDQUFPLDRCLEFBS1gsaUJBQ0ksRSxDQUdBLEUsQ0FITyx1QixDQUNQLEcsQ0FBTywyQixDQUNQLEcsQ0FBTyw0QixBQUdYLHlCQUNJLEUsQ0FHQSxFLENBSE8sdUIsQ0FDUCxHLENBQU8sMkIsQ0FDUCxHLENBQU8sNEIsQUFHWCxzQkFDSSxFLENBR0EsRSxDQUhPLHVCLENBQ1AsRyxDQUFPLDJCLENBQ1AsRyxDQUFPLDRCLEFBS1gscUJBQ0ksRSxDQUFPLGtCLENBQ1AsRSxDQUFPLG9CLEFBRVgsNkJBQ0ksRSxDQUFPLGtCLENBQ1AsRSxDQUFPLG9CLEFBRVgsMEJBQ0ksRSxDQUFPLGtCLENBQ1AsRSxDQUFPLG9CLEFBSVgsdUJBQ0ksRSxDQUdBLEUsQ0FITyxzQixDQUNQLEUsQ0FBTyxzQixDQUNQLEcsQ0FBTyx5QixBQUdYLCtCQUNJLEUsQ0FHQSxFLENBSE8sc0IsQ0FDUCxFLENBQU8sc0IsQ0FDUCxHLENBQU8seUIsQUFHWCw0QkFDSSxFLENBR0EsRSxDQUhPLHNCLENBQ1AsRSxDQUFPLHNCLENBQ1AsRyxDQUFPLHlCLEFBS1gsa0JBQ0ksRSxDQUNBLEcsQ0FFQSxHLENBRUEsRyxDQUNBLEUsQ0FOTyx1QixDQUVQLEcsQ0FBTywyQixDQUVQLEcsQ0FBTyw2QixBQUlYLDBCQUNJLEUsQ0FDQSxHLENBRUEsRyxDQUVBLEcsQ0FDQSxFLENBTk8sdUIsQ0FFUCxHLENBQU8sMkIsQ0FFUCxHLENBQU8sNkIsQUFJWCx1QkFDSSxFLENBQ0EsRyxDQUVBLEcsQ0FFQSxHLENBQ0EsRSxDQU5PLHVCLENBRVAsRyxDQUFPLDJCLENBRVAsRyxDQUFPLDZCLEFBTVgsa0NBQ0ksRSxDQUtBLEcsQ0FDQSxFLENBTk8sa0MsQ0FDUCxHLENBRUEsRyxDQUZPLHVDLENBQ1AsRyxDQUFPLDJDLENBRVAsRyxDQUFPLHdDLEFBSVgsMENBQ0ksRSxDQUtBLEcsQ0FDQSxFLENBTk8sa0MsQ0FDUCxHLENBRUEsRyxDQUZPLHVDLENBQ1AsRyxDQUFPLDJDLENBRVAsRyxDQUFPLHdDLEFBSVgsdUNBQ0ksRSxDQUtBLEcsQ0FDQSxFLENBTk8sa0MsQ0FDUCxHLENBRUEsRyxDQUZPLHVDLENBQ1AsRyxDQUFPLDJDLENBRVAsRyxDQUFPLHdDLEFDN0xYLDBCQUNJLEUsQ0FDQSxHLENBRE8sb0IsQ0FFUCxFLENBQU8sOEIsQUFFWCxrQ0FDSSxFLENBQ0EsRyxDQURPLG9CLENBRVAsRSxDQUFPLDhCLEFBRVgsK0JBQ0ksRSxDQUNBLEcsQ0FETyxvQixDQUVQLEUsQ0FBTyw4QixBQ2RYLFdBQ0UseUIsQ0FDQSwyRixDQUNBLG9qQixDQU1BLGUsQ0FDQSxrQkNWRixHLENBQ0Usb0IsQ0FDQSx1QixDQUNBLGlCLENBQ0EsbUIsQ0FDQSxrQyxDQUNBLGlDLENDUkYsSyxDQUNJLCtCLENBQ0Esa0IsQ0FDQSxrQixDQUNBLGtCLENBRUEscUMsQ0FDQSx1QixDQUNBLHdCLENBQ0EsdUIsQ0FFQSw0QixDQUNBLGlCLENBQ0Esa0IsQ0FDQSxrQixDQUVBLDJCLENBQ0EsZ0IsQ0FDQSxpQixDQUNBLGlCLENBRUEsMEIsQ0FDQSxZLENBQ0EsYSxDQUNBLFksQ0N2QkEsK0csQ0FDQSxvSCxDQzBqQkEseUJDbmhCSix1QyxDQUFBLG1CQUFBLDZDLENBQUEsaUIsQ0FFUSxzQyxBRGloQkosZ0RDbmhCSix1QyxDQUFBLG1CQUFBLDZDLENBQUEsaUIsQ0FNUSxzQyxBRDZnQkosMEJDbmhCSix1QyxDQUFBLG1CQUFBLDZDLENBQUEsaUIsQ0FVUSxzQ0MvQ1IsQyxDQUFBLEksQ0FBQSxPLENBQUEsTyxDQUFBLE0sQ0FBQSxPLENBQUEsSyxDQUFBLEssQ0FBQSxDLENBQUEsRyxDQUFBLFUsQ0FBQSxJLENBQUEsTSxDQUFBLE8sQ0FBQSxNLENBQUEsSSxDQUFBLEksQ0FBQSxFLENBQUEsRyxDQUFBLE8sQ0FBQSxHLENBQUEsRyxDQUFBLEUsQ0FBQSxFLENBQUEsRSxDQUFBLEssQ0FBQSxVLENBQUEsTSxDQUFBLEUsQ0FBQSxFLENBQUEsRSxDQUFBLEUsQ0FBQSxFLENBQUEsRSxDQUFBLE0sQ0FBQSxNLENBQUEsSSxDQUFBLEMsQ0FBQSxNLENBQUEsRyxDQUFBLEcsQ0FBQSxLLENBQUEsRSxDQUFBLEksQ0FBQSxJLENBQUEsRyxDQUFBLE0sQ0FBQSxFLENBQUEsTSxDQUFBLEMsQ0FBQSxHLENBQUEsQyxDQUFBLEksQ0FBQSxDLENBQUEsSSxDQUFBLE8sQ0FBQSxLLENBQUEsSSxDQUFBLE0sQ0FBQSxNLENBQUEsRyxDQUFBLE8sQ0FBQSxHLENBQUEsSyxDQUFBLEssQ0FBQSxFLENBQUEsSyxDQUFBLEUsQ0FBQSxLLENBQUEsSSxDQUFBLEUsQ0FBQSxFLENBQUEsQyxDQUFBLEUsQ0FBQSxHLENBQUEsSyxDQWFFLFEsQ0FDRCxTLENBQ0EsUSxDQUVBLFksQ0FDQSx1QixDQWxCRCxHLENBYUUsUSxDQUNELFMsQ0FHQSxZLENBakJELFEsQ0FBQSxNLENBQUEsSSxDQUFBLE0sQ0FpQkMsWSxDQUNBLHVCLENBbEJELE0sQ0FBQSxJLENBY0MsUyxDQUNBLFEsQ0FmRCxNLENBYUUsUSxDQVNGLE0sQ0FDSSxTLENDNktBLGMsQ0R6S0osTyxDQUFBLEssQ0FBQSxPLENBQUEsVSxDQUFBLE0sQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FBQSxJLENBQUEsRyxDQUFBLE8sQ0FFQyxhLENBR0QsSSxDQUNDLGEsQ0V4QkcsZ0IsQ0FDQSxzQixDQUF5QixrQyxDQUFxQyxpQyxDQUU5RCxpQyxDQ2hCQSwyQixDQUF1RCxjLENBQW1ELGlCLENBQW9CLHNCLENId0NsSSxFLENBQUEsRSxDQUNDLGUsQ0FHRCxVLENBQUEsQyxDQUNDLFcsQ0FHRCxnQixDQUFBLGlCLENBQUEsTyxDQUFBLFEsQ0FHQyxZLENBR0QsSyxDQTRRSSx3QixDQUNBLGdCLENBeFFKLGdELENBQUEsNkMsQ0FBQSxpRCxDQUFBLHFELENBSUksdUIsQ0FDQSxvQixDQUdKLGtCLENBRUksb0IsQ0FnQkosSyxDQUFBLE0sQ0FBQSxLLENBR0ksb0IsQ0FDQSxlLENBQ0EsTyxDQUNBLGMsQ0FRSixVQUFBLFcsQ0FDSSxZLENBQ0EsUSxDQVFKLFEsQ0FDSSxZLENBVUosSSxDQUNJLGMsQ0FDQSw2QixDQUNBLHlCLENBT0osTyxDQUNJLG1CLENBT0osUSxDQUFBLE8sQ0FFSSxTLENBUUosRyxDQUNJLFEsQ0FDQSw4QixDQW9NQSxxQixDQ3pEQSxVLENEcEhKLFEsQ0FZQSxNLENBQ0ksUSxDQUNBLFMsQ0FkSixRLENBaEJBLE0sQ0FRQSxJLENBMExJLFEsQ0F0S0osTSxDQUdJLGtCLENBQ0EsaUIsQ0FVSixNLENBQUEsSyxDQUFBLE0sQ0FNSSx1QixDQU5KLE0sQ0FBQSxLLENBQUEsTSxDQUFBLFEsQ0FJSSxjLENBQ0EsUSxDQUVBLHNCLENBUUosTSxDQUFBLEssQ0FFSSxrQixDQVVKLE0sQ0FBQSxNLENBRUksbUIsQ0FhSixNLENBSUkseUIsQ0FFQSxpQixDQU5KLHVCLENBQUEsaUIsQ0FBQSxrQixDQUlJLHlCLENBQ0EsYyxDQUNBLGlCLENBT0osZ0IsQ0FBQSxvQixDQUVJLGMsQ0FVSixvQixDQUFBLGlCLENBRUkscUIsQ0FDQSxTLENBQ0EsWSxDQUNBLFcsQ0FTSixrQixDQUNJLDRCLENBQ0EsMkIsQ0FDQSw4QixDQUNBLHNCLENBUUosZ0QsQ0FBQSw2QyxDQUVJLHVCLENBT0osd0IsQ0FBQSx1QixDQUVJLFEsQ0FDQSxTLENFblJzQixRLENGMlIxQixRLENBQ0ksYSxDQUNBLGtCLENBWUosSSxDQUFBLEssQ0FBQSxNLENBZEEsUSxDQW1CSSxVLENBSUosZ0IsQ0FDSSxrQixDQUNBLGdCLENBR0osVyxDQUNJLGtCLENBQ0EsZ0IsQ0FhSixRLENBQ0ksZSxDQUdKLFksQ0FDSSxhLENBQ0EsZSxDQUNBLFUsQ0FDQSxjLENFeldKLEksQ0FDSSxxQixDQUlKLEMsQ0FBQSxPLENBQUEsUSxDQUVXLGtCLENBV1gsQyxDQUVBLE0sQ0FGMkIsYSxDQUFnQixjLENBRTNDLE0sQ0FDSSxTLENBQ0EsNEIsQ0FBK0MsYyxDRXpCbkQsSyxDQUNJLHNCLENBR0osSyxDQUNJLHVCLENBR0osVSxDQUNJLDJCLENBR0osRyxDQUNJLGUsQ05nakJBLHlCTTlpQkEscUIsQ0FFUSxlLEFONGlCUix5Qk14aUJBLGlCLENBRVEsZSxBTnNpQlIsK0NNbGlCQSxXLENBRVEsZSxBTmdpQlIseUJNNWhCQSxlLENBRVEsZSxBTjBoQlIsZ0RNdGhCQSxXLENBRVEsZSxBTm9oQlIsNEVNaGhCQSxxQixDQUVRLGUsQU44Z0JSLDBCTTFnQkEsWSxDQUVRLGVBS1osTyxDQUNJLGtCLENOa2dCQSx5Qks3akJKLEksQ0FJUSx1QixBTHlqQkoseUJLN2pCSixJLENBUVEsdUJBSVIsRSxDQVdBLEUsQ0FWSSxjLENBQ0EsZSxDQUNBLHVCLENBRUEsUSxDQUNJLGMsQ0FDQSxlLENBSVIsRSxDQUNJLGMsQ0FDQSxlLENBSUosQyxDQUNJLGUsQ0FJQSxDLENBQUEsUSxDQUFBLE8sQ0FDSSx5QixDTDBoQkoseUJLM2hCQSxDLENBQUEsUSxDQUFBLE8sQ0FJUSx3QixBTHVoQlIsd0NPNWpCSixhLENBRVEsZ0JBSVIsSSxDQUNJLFksQ0FBZSxzQixDQUF5QixrQixDQUFxQixlLENBQWtCLGEsQ0FFL0UsZSxDQUFBLGEsQ0NUSixLLENMb1NBLEssQ0kxUlEsbUIsQ0NWUixLLENBQ3NCLG9CLENBQXVCLFMsQ0FBWSxVLENBQWEsUSxDQUNsRSxpQixDQUFvQixxQixDQUF3QixhLENBQzVDLFksQ0FDQSxhLENBQ0Esc0IsQ0FMSixLLENDREEsWSxDQUNJLGUsQ0FHSixrQixDQUNHLFUsQ0FBYSxpQixDQUFvQixnQixDQUNqQyxrQixDQUF1QyxpQixDQUcxQyxVLENBQ0ksYyxDQ1ZKLE8sQ0FDSSxlLENBQ0Esb0MsQ0FDQSxVLENBQ0EscUMsQ0FjQSxpQixDQUVJLGlCLENBQ0Esb0IsQ0FDQSxVLENBQ0EsZSxDQUNBLGUsQ0FDQSxrQixDQUNBLDZCLENBQ0EsZSxDQUNBLGtCLENBQ0EsYSxDQUNBLFEsQ0FDQSwyQixDQUNBLG1CLENWNmhCSiwrQ1UzaUJBLGlCLENBaUJRLGdCLEFWMGhCUixnRFUzaUJBLGlCLENBcUJRLGdCLEFWc2hCUiwwQlUzaUJBLGlCLENBeUJRLGdCQUdKLHdCLENBQ0ksbUIsQ0FDQSxtQixDVjZnQlIsMEJVL2dCSSx3QixDQUtRLGMsQVYwZ0JaLDBCVS9nQkksd0IsQ0FTUSxpQixDQUNBLGMsQVZxZ0JaLHlCVTNpQkEsaUIsQ0EyQ1EscUIsQVZnZ0JSLHlCVTNpQkEsaUIsQ0ErQ1EscUJBSVIsYSxDQUNJLHNCLENBQ0EsZSxDQUNBLG9CLENBQ0Esc0IsQ0FFQSxtQixDQUNJLHlCLENWaWZSLHlCVXhmQSxhLENBV1EsbUIsQ0FDQSx5QixBVjRlUix5QlV4ZkEsYSxDQWdCUSxtQixDQUNBLDJCUHRGWixrQixDQUlJLHVCLENBSEEsWSxDQUNBLHFCLENBRUEsdUIsQ0FHSSxhLENBQ0EsVyxDQUNBLHFCLENIb2pCSix5QkdoakJKLFksQ0FFUSxlLENBQ0Esb0JBR0osd0IsQ0FDSSxvQixDQUNBLHFCLENBQ0Esa0IsQ0h1aUJKLDBCRzFpQkEsd0IsQ0FNUSxVLENBQ0EsZ0JBMkJKLHlCLENBdkJKLDJCLENBQ0ksVSxDQUNBLGtCLENINmhCSix5QkcvaEJBLDJCLENBS1EsMEIsQUgwaEJSLHlCRy9oQkEsMkIsQ0FTUSwwQkFNUixtQixDQUNJLGUsQ0FDQSxzQixDQUdKLHNCLENBQ0ksZSxDQUVBLHlCLENBRUksZSxDSHNnQlIseUJHbGdCSSx5QixDQUVRLFUsQ0FDQSxlLENBQ0Esa0IsQ0FLSix3QyxDQUlBLHdDLENBSEksaUJBV2hCLFcsQ0FDSSxpQixDQUNBLGtCLENIMmVBLHlCRzdlSixXLENBS1EsbUMsQUh3ZUoseUJHN2VKLFcsQ0FTUSxtQixBSG9lSiwrQ0c3ZUosVyxDQWFRLHdCLEFIZ2VKLHlCRzdlSixXLENBaUJRLHdCLEFINGRKLHlCRzdlSixXLENBcUJRLGFBR0osa0IsQ0FBQSxtQixDQUVJLFUsQ0FDQSxpQixDQUNBLEssQ0FDQSxhLENBQ0EsVSxDQUdKLFcsQ0FBQSxrQixDQUFBLG1CLENBR0ksVSxDQUNBLGlCLENBQ0Esb0QsQ0FHSixXLENBQUEsa0IsQ0FFSSxpRyxDQUdKLG1CLENBQ0ksc0MsQ0FDQSx1QixDQUdKLGtCLENBQ0ksd0IsQ0FPSix5QixDQUxJLGdDLENBS0osdUIsQ0FKUSxzQyxDQVVaLE0sQ0FDSSxZLENBQ0EsZ0IsQ0FDQSxXLENBQ0EsaUMsQ0FFQSxrQixDQUNJLHVCLENBR0osa0IsQ0FDSSw0QixDQUdKLG9CLENBQ0ksNEIsQ0FHSixrQixDQUNJLHVCLENBUVIsSSxDQUNJLFksQ0FDQSxxQixDQUNBLGtCLENIOFlBLDBCRzVZQSxnQixDQUVRLGEsQUgwWVIsMEJHNVlBLGdCLENBTVEsVyxDQUNBLGVBSVIsbUIsQ0FDSSxXLENBSVIsTSxDQUNJLHFCLENBQ0EsYyxDQUdKLFMsQ0FDSSxlLENBTUEscUIsQ0FDSSxzQixDSCtXSix5Qkc1V0Esd0IsQ0FFUSx1QixBSDBXUix5Qkc1V0Esd0IsQ0FNUSx3QkFNUixvQixDQUNJLGtCLENBQ0EscUIsQ0g4VkosMEJHaFdBLG9CLENBS1EsVSxDQUNBLGdCLEFIMFZSLDBCR2hXQSxvQixDQVVRLGFBR0osMEIsQ0FzSEosNkIsQ0FySFEsYyxDQUVBLHlDLENBQ0ksc0IsQ0FLWix1QixDQUNJLFksQ0FDQSxjLENBQ0Esc0IsQ0FDQSxlLENBQ0EsVSxDQUNBLGUsQ0FDQSxjLENIbVVKLHlCRzFVQSx1QixDQVVRLGtCLENBQ0EsdUJBR0osNkIsQ0FDSSxxQixDSDJUUix5Qkc1VEksNkIsQ0FJUSwyQixBSHdUWiwrQ0c1VEksNkIsQ0FRUSw4QixBSG9UWix5Qkc1VEksNkIsQ0FZUSwyQixBSGdUWix5Qkc3U1EsbUQsQ0FFUSwyQixBSDJTaEIsK0NHN1NRLG1ELENBTVEsOEIsQUh1U2hCLHlCRzdTUSxtRCxDQVVRLDJCQVdwQixLLENBQ0ksWSxDQUtRLCtCLENBQ0ksaUIsQ0FDQSxVLENBQ0Esc0MsQ0FDQSxrQyxDQU1JLG1CQUFBLGlFLENBQ0ksWSxDQU1SLG9ELENBQ0ksWSxDSGdRaEIsd0NHMVBnQixxQyxDQUNJLGlCLENBQ0EsYyxDQUlBLHlELENBQ0ksZ0NBUzVCLE0sQ0FDSSxjLENBRUEsa0IsQ0FDSSxhLENBQ0EsZSxDQUNBLGlCLENBQ0EsZSxDQUNBLHFCLENBQ0Esa0IsQ0FDQSxnSCxDQU9KLHFCLENBQ0ksaUIsQ0FDQSxZLENBQ0EscUIsQ0FJSixXLENBQ0ksaUIsQ0FDQSxvQixDQUNBLGtCLENBQ0EsdUIsQ0FDQSxzQyxDQUdJLG1CQUFBLDZDLENBRUksZSxDQUNBLGlCLENBQ0EsUSxDQUNBLE0sQ0FDQSxZLENBQ0Esc0IsQ0FDQSxrQixDQUNBLFUsQ0FDQSxXLENBQ0EseUIsQ0FDQSxjLENBQ0EsVSxDQUNBLHNDLENBQ0EsaUIsQ0FNUiw2QyxDQUNJLGUsQ0FHSix1QyxDQUVJLGUsQ0FDQSxpQixDQUNBLFEsQ0FDQSxNLENBQ0EsWSxDQUNBLHNCLENBQ0Esa0IsQ0FDQSxVLENBQ0EsVyxDQUNBLHlCLENBQ0EsYyxDQUNBLFUsQ0FDQSxzQyxDQUNBLGlCLENBSVIsYSxDQUNJLFksQ0FDQSxzQixDQUNBLGtCLENBQ0EsYyxDQUNBLGUsQ0FDQSxpQixDQUNBLHNCLENBRUEsc0IsQ0FDSSxjLENBR0osd0MsQ0FDSSxpQixDQUNBLE8sQ0FDQSxRLENBQ0EsUyxDQUNBLGdDLENBQ0EsYyxDQUNBLFUsQ0FDQSx1QyxDQUNBLHVCLENBQ0Esc0MsQ0FHSixtQkFBQSx5QyxDQUNJLFUsQ0FDQSxlLENBQ0Esa0IsQ0hpSVIsd0NHM0hRLHdCLENBQ0ksb0IsQ0FJQSw0QyxDQUNJLDJDQVFwQixTLENBQ0ksWSxDQUFlLFMsQ0FDZixhLENBQWUsaUIsQ0FDZixVLENBQWMsZSxDQUNkLGMsQ0FBa0QsZSxDQUFtQixpQixDQUNyRSxpQixDQUNBLGMsQ0F5QkEsYSxDSDhFQSwwQkc3R0osUyxDQVNRLFNBR0osbUIsQ0FDSSwyRyxDQUNBLDJCLENBR0osZ0IsQ0FDSSwyQixDQUVBLHNCLENBQ0ksdUUsQ0FJUixTLENBQUEsZSxDQUVJLG9CLENBQ0EsVSxDQVFKLGdCLENBQ0ksbUIsQ0FHSixjLENBQ0ksMkIsQ0FDQSxtQixDQUNBLFMsQ0hrRUosMEJHN0RKLFUsQ0FFUSxhQUlSLEssQ0FDSSxnQyxDQUNBLGtCLENBQ0EscUIsQ0FDQSx3QixDUXhnQkosTyxDQUNJLGlCLENBQW9CLFMsQ0FDcEIsWSxDQUNBLFUsQ0FDQSx3QixDQUVBLG1CLENBQ0ksa0IsQ0FHSixzQixDQUNJLHNCLENBR0osMEIsQ0FZQSxhLENBWEksWSxDQUFlLGtCLENYNGlCbkIsMEJXN2lCQSwwQixDQUlRLHdCLEFYeWlCUiwwQlc3aUJBLDBCLENBUVEsMEIsQ0FBNkIsaUJBSXJDLGEsQ0FDeUMsYSxDQUVyQywwQixDQUNJLG1DLENBQ0EsdUMsQ1g0aEJSLGdEVzloQkksMEIsQ0FLUSwwQixBWHloQlosMEJXOWhCSSwwQixDQVNRLDBCQUlSLDBCLENBQ0ksZSxDWGdoQlIsMEJXamhCSSwwQixDQUlRLGlCQUlSLG1CLENBQ0ksYSxDQUdKLGlCLENBQ0ksVSIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAvLyBTaW5nbGUgY29udGFpbmVyIGNsYXNzIHdpdGggYnJlYWtwb2ludCBtYXgtd2lkdGhzXG4gIC5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXItbWF4LXdpZHRocygpO1xuICB9XG5cbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRlbmQgZWFjaCBicmVha3BvaW50IHdoaWNoIGlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxuICAgICAgJGV4dGVuZC1icmVha3BvaW50OiB0cnVlO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE9uY2UgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyByZWFjaGVkLCBzdG9wIGV4dGVuZGluZ1xuICAgICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAgICRleHRlbmQtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIHlvdXIgY29sdW1ucy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgbmVnYXRpdmUgbWFyZ2luIGZyb20gZGVmYXVsdCAucm93LCB0aGVuIHRoZSBob3Jpem9udGFsIHBhZGRpbmdcbiAgLy8gZnJvbSBhbGwgaW1tZWRpYXRlIGNoaWxkcmVuIGNvbHVtbnMgKHRvIHByZXZlbnQgcnVuYXdheSBzdHlsZSBpbmhlcml0YW5jZSkuXG4gIC5uby1ndXR0ZXJzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICA+IC5jb2wsXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGd1dHRlciAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtJGd1dHRlciAvIDI7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogJHNpemUgLyAkY29sdW1ucztcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXJvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gICYgPiAqIHtcbiAgICBmbGV4OiAwIDAgMTAwJSAvICRjb3VudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgLyAkY291bnQ7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbCN7JGluZml4fSxcbiAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTQxMFxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZ3JpZC1yb3ctY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLXJvdy1jb2x1bW5zIHtcbiAgICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93LWNvbHMoJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gRmxleCB2YXJpYXRpb25cbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciBhZGRpdGlvbmFsIGZsZXggYWxpZ25tZW50IG9wdGlvbnMuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbGV4I3skaW5maXh9LXJvdyAgICAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1yb3ctcmV2ZXJzZSAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcCAgICAgICAgIHsgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ub3dyYXAgICAgICAgeyBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWZpbGwgICAgICAgICB7IGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTAgICAgICAgeyBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMSAgICAgICB7IGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTAgICAgIHsgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0xICAgICB7IGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7IH1cblxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1lbmQgICAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1hcm91bmQgIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdGFydCAgIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYXV0byAgICAgeyBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLy0gRmFkZXMgcmVsYXRlZCBhbmltYXRpb25zXG4vLy0gQmxpbmtcbkBrZXlmcmFtZXMgYmxpbmsge1xuICAgIDAlICAgeyBvcGFjaXR5OiAxOyB9XG4gICAgNTAlICB7IG9wYWNpdHk6IDA7IH1cbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJsaW5rIHtcbiAgICAwJSAgIHsgb3BhY2l0eTogMTsgfVxuICAgIDUwJSAgeyBvcGFjaXR5OiAwOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBibGluayB7XG4gICAgMCUgICB7IG9wYWNpdHk6IDE7IH1cbiAgICA1MCUgIHsgb3BhY2l0eTogMDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbi8vLSBBcHBlYXJcbkBrZXlmcmFtZXMgYXBwZWFyIHtcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYXBwZWFyIHtcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5ALW1vei1rZXlmcmFtZXMgYXBwZWFyIHtcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbi8vLSBBcHBlYXIgSGFtbWVyXG5Aa2V5ZnJhbWVzIGFwcGVhci1oYW1tZXIge1xuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XG4gICAgNTAlICB7IG9wYWNpdHk6IDE7IH1cbiAgICA2MCUgIHsgb3BhY2l0eTogMTsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAwOyB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYXBwZWFyLWhhbW1lciB7XG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cbiAgICA1MCUgIHsgb3BhY2l0eTogMTsgfVxuICAgIDYwJSAgeyBvcGFjaXR5OiAxOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6IDA7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBhcHBlYXItaGFtbWVyIHtcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxuICAgIDUwJSAgeyBvcGFjaXR5OiAxOyB9XG4gICAgNjAlICB7IG9wYWNpdHk6IDE7IH1cbiAgICAxMDAlIHsgb3BhY2l0eTogMDsgfVxufVxuXG4vLy0gQmxpbmsgQ3Vyc29yXG5Aa2V5ZnJhbWVzIGJsaW5rLWN1cnNvciB7XG4gICAgMCUgICB7IG9wYWNpdHk6MTsgfVxuICAgIDUwJSAgeyBvcGFjaXR5OjA7IH1cbiAgICAxMDAlIHsgb3BhY2l0eToxOyB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcbiAgICAwJSAgIHsgb3BhY2l0eToxOyB9XG4gICAgNTAlICB7IG9wYWNpdHk6MDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBibGluay1jdXJzb3Ige1xuICAgIDAlICAgeyBvcGFjaXR5OjE7IH1cbiAgICA1MCUgIHsgb3BhY2l0eTowOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6MTsgfVxufVxuXG4vLy0gZmFkZSBpblxuQGtleWZyYW1lcyBmYWRlaW4ge1xuICAgIDAlICAgeyBkaXNwbGF5OiBibG9jazsgb3BhY2l0eTowOyB9XG4gICAgMSUgIHsgb3BhY2l0eTowOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6MTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVpbiB7XG4gICAgMCUgICB7IGRpc3BsYXk6IGJsb2NrOyBvcGFjaXR5OjA7IH1cbiAgICAxJSAgeyBvcGFjaXR5OjA7IH1cbiAgICAxMDAlIHsgb3BhY2l0eToxOyB9XG59XG5ALW1vei1rZXlmcmFtZXMgZmFkZWluIHtcbiAgICAwJSAgIHsgZGlzcGxheTogYmxvY2s7ICBvcGFjaXR5OjA7fVxuICAgIDElICB7IG9wYWNpdHk6MDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cbn0iLCIvLy0gTW90aW9uIHJlbGF0ZWQgYW5pbWF0aW9uc1xuLy8tIEp1bXBcbkBrZXlmcmFtZXMganVtcHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgNjAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMganVtcHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgNjAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5ALW1vei1rZXlmcmFtZXMganVtcHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgNjAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5cbi8vLSBXZWlnaHRcbkBrZXlmcmFtZXMgd2VpZ2h0e1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDQ4ZGVnKTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHdlaWdodHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoLTQ4ZGVnKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0OGRlZyk7IH1cbn1cbkAtbW96LWtleWZyYW1lcyB3ZWlnaHR7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKC00OGRlZyk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpOyB9XG59XG5cbi8vLSBIYW1tZXJcbkBrZXlmcmFtZXMgaGFtbWVye1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyOGRlZyk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBoYW1tZXJ7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDI4ZGVnKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGhhbW1lcntcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMjhkZWcpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDJkZWcpOyB9XG59XG5cbi8vLSBTY2FsZVxuQGtleWZyYW1lcyBzY2FsZXtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDcwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDIpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzY2FsZXtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDcwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDIpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBzY2FsZXtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDcwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDIpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbn1cblxuLy8tIEhvb3BcbkBrZXlmcmFtZXMgaG9vcHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgICAzMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTsgfVxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBob29we1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpOyB9XG4gICAgNDAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gICAgNTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGhvb3B7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gICAgMzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7IH1cbiAgICA0MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG59XG5cbi8vLSBEYW5zZVxuQGtleWZyYW1lcyBkYW5zZXtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH0gICBcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICAgIDcwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBkYW5zZXtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH0gICBcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICAgIDcwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBkYW5zZXtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH0gICBcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICAgIDcwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbn1cblxuLy8tIEhhbWJ1cmdlclxuQGtleWZyYW1lcyBoYW1idXJnZXJ7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGhhbWJ1cmdlcntcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG59XG5ALW1vei1rZXlmcmFtZXMgaGFtYnVyZ2Vye1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbn1cblxuLy8tIEJvdHRsZSBEYW5jZVxuQGtleWZyYW1lcyBib3R0bGVEYW5jZXtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICA1JSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cbiAgICA5NSUgIHsgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm90dGxlRGFuY2V7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgNSUgICB7IHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XG4gICAgOTUlICB7IHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGJvdHRsZURhbmNle1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgIDUlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxuICAgIDk1JSAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbn1cblxuLy8tIEJvdW5jZVxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAxMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgMzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjVweCk7IH1cbiAgICA0MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgNTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgICA2MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIDEwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAzMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNXB4KTsgfVxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5ALW1vei1rZXlmcmFtZXMgYm91bmNlIHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgMTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1cHgpOyB9XG4gICAgNDAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gICAgNjAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuLy8tIEJvdW5jZSB3aXRoIGRpc3RvcnRpb25cbkBrZXlmcmFtZXMgYm91bmNlLXdpdGgtZGlzdG9ydGlvbiB7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XG4gICAgMTAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4wMywuOTcpICB0cmFuc2xhdGVZKDApOyB9XG4gICAgMzAlICB7IHRyYW5zZm9ybTogc2NhbGUoLjk3LDEuMDMpICB0cmFuc2xhdGVZKC0yNXB4KTsgfVxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDMsLjk3KSAgdHJhbnNsYXRlWSgwKTsgfVxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgICA2MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Utd2l0aC1kaXN0b3J0aW9uIHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAxMCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLC45NykgIHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAzMCUgIHsgdHJhbnNmb3JtOiBzY2FsZSguOTcsMS4wMykgIHRyYW5zbGF0ZVkoLTI1cHgpOyB9XG4gICAgNDAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4wMywuOTcpICB0cmFuc2xhdGVZKDApOyB9XG4gICAgNTAlICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGJvdW5jZS13aXRoLWRpc3RvcnRpb24ge1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxuICAgIDEwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDMsLjk3KSAgdHJhbnNsYXRlWSgwKTsgfVxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKC45NywxLjAzKSAgdHJhbnNsYXRlWSgtMjVweCk7IH1cbiAgICA0MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLC45NykgIHRyYW5zbGF0ZVkoMCk7IH1cbiAgICA1MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gICAgNjAlICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XG59IiwiLy8tIFNjaGVtYSByZWxhdGVkIGFuaW1hdGlvbnNcbiR0YXAtY29sb3I6IHJlZDtcblxuLy8tIEJhY2tncm91bmQtY29sb3Igb24gdGFwXG5Aa2V5ZnJhbWVzIGJnQ29sb3Itb24tdGFwIHtcbiAgICAwJSAgIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAxMDAlKTsgfVxuICAgIDUwJSAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDEwMCUpOyB9XG4gICAgMTAwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMCk7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBiZ0NvbG9yLW9uLXRhcCB7XG4gICAgMCUgICB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMTAwJSk7IH1cbiAgICA1MCUgIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAxMDAlKTsgfVxuICAgIDEwMCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDApOyB9XG59XG5ALW1vei1rZXlmcmFtZXMgYmdDb2xvci1vbi10YXAge1xuICAgIDAlICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDEwMCUpOyB9XG4gICAgNTAlICB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMTAwJSk7IH1cbiAgICAxMDAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAwKTsgfVxufSIsIi8qIEZPTlQgUEFUSFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LmVvdD92PSN7JGZhLXZlcnNpb259Jyk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90PyNpZWZpeCZ2PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LndvZmYyP3Y9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZj92PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQudHRmP3Y9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuc3ZnP3Y9I3skZmEtdmVyc2lvbn0jZm9udGF3ZXNvbWVyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbi8vICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9Gb250QXdlc29tZS5vdGYnKSBmb3JtYXQoJ29wZW50eXBlJyk7IC8vIHVzZWQgd2hlbiBkZXZlbG9waW5nIGZvbnRzXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiIsIi8vIEJhc2UgQ2xhc3MgRGVmaW5pdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsICN7JGZhLWZvbnQtc2l6ZS1iYXNlfS8jeyRmYS1saW5lLWhlaWdodC1iYXNlfSBGb250QXdlc29tZTsgLy8gc2hvcnRlbmluZyBmb250IGRlY2xhcmF0aW9uXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgLy8gY2FuJ3QgaGF2ZSBmb250LXNpemUgaW5oZXJpdCBvbiBsaW5lIGFib3ZlLCBzbyBuZWVkIHRvIG92ZXJyaWRlXG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvOyAvLyBvcHRpbWl6ZWxlZ2liaWxpdHkgdGhyb3dzIHRoaW5ncyBvZmYgIzEwOTRcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbn1cbiIsIi8vLSB2MDJcbjpyb290IHtcbiAgICAtLW1haW5Db2xvcjogICAgICAgIGhzbCgyMjgsIDUyJSwgMzIlKTtcbiAgICAtLW1haW5Db2xvcl9oOiAgICAgIDIyODtcbiAgICAtLW1haW5Db2xvcl9zOiAgICAgIDUyJTtcbiAgICAtLW1haW5Db2xvcl9sOiAgICAgIDMyJTtcbiAgICBcbiAgICAtLXNlY29uZGFyeUNvbG9yOiAgaHNsKDEyMCwgMTAwJSwgMjUlKTtcbiAgICAtLXNlY29uZGFyeUNvbG9yX2g6ICAxMjA7XG4gICAgLS1zZWNvbmRhcnlDb2xvcl9zOiAgMTAwJTtcbiAgICAtLXNlY29uZGFyeUNvbG9yX2w6ICAyNSU7XG5cbiAgICAtLXRpdGxlQ29sb3I6ICAgICAgaHNsKDAsIDAlLCAwJSk7XG4gICAgLS10aXRsZUNvbG9yX2g6ICAgICAgMDtcbiAgICAtLXRpdGxlQ29sb3JfczogICAgICAwJTtcbiAgICAtLXRpdGxlQ29sb3JfbDogICAgICAwJTtcblxuICAgIC0tdGV4dENvbG9yOiAgICAgICAgICBoc2woMCwgMCUsIDAlKTtcbiAgICAtLXRleHRDb2xvcl9oOiAgICAgICAgICAwO1xuICAgIC0tdGV4dENvbG9yX3M6ICAgICAgICAgIDAlO1xuICAgIC0tdGV4dENvbG9yX2w6ICAgICAgICAgIDAlO1xuICAgIFxuICAgIC0tQ1RBOiAgICAgICAgICAgICAgICBoc2woMTIwLCAxMDAlLCAyMCUpO1xuICAgIC0tQ1RBX2g6ICAgICAgICAgICAgICAgIDEyMDtcbiAgICAtLUNUQV9zOiAgICAgICAgICAgICAgICAxMDAlO1xuICAgIC0tQ1RBX2w6ICAgICAgICAgICAgICAgIDIwJTtcbn1cblxuJHdoaXRlOiAgICAgICAgICAgICAgICAgICAgICNmZmY7XG4kbGlnaHQtYmxhY2s6ICAgICAgICAgICAgICAjMTExOTI2O1xuJGNsYXktYnJvd246ICAgICAgICAgICAgICAgICNiYTdjM2I7XG4kd2FybS1ncmV5OiAgICAgICAgICAgICAgICAgIzcwNzA3MDtcblxuLy8tIGFwcGx5IGNvbG9yc1xuJG1haW5Db2xvcjogICAgICAgICAgICAgICAgICAgICB2YXIoLS1tYWluQ29sb3IpO1xuJG1haW5Db2xvckxpZ2h0OiAgICAgICAgICAgICAgICBoc2woIGNhbGMoIHZhcigtLW1haW5Db2xvcl9oKSAtIDE2ICksIGNhbGMoIHZhcigtLW1haW5Db2xvcl9zKSAtIDIlICksIGNhbGMoIHZhcigtLW1haW5Db2xvcl9sKSArIDIwJSApICk7XG4kbWFpbkNvbG9yT3BhY2l0eTogICAgICAgICAgICAgIGhzbGEodmFyKC0tbWFpbkNvbG9yX2gpLCB2YXIoLS1tYWluQ29sb3JfcyksIHZhcigtLW1haW5Db2xvcl9sKSwgLjMgKTtcblxuJHNlY29uZGFyeUNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS1zZWNvbmRhcnlDb2xvcik7XG4kc2Vjb25kYXJ5Q29sb3JPcGFjaXR5OiAgICAgICAgIGhzbGEodmFyKC0tc2Vjb25kYXJ5Q29sb3JfaCksIHZhcigtLXNlY29uZGFyeUNvbG9yX3MpLCB2YXIoLS1zZWNvbmRhcnlDb2xvcl9sKSwgLjMgKTtcblxuJHRpdGxlQ29sb3I6ICAgICAgICAgICAgICAgICAgICB2YXIoLS10aXRsZUNvbG9yKTtcbiR0ZXh0Q29sb3I6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tdGV4dENvbG9yKTtcblxuJGhpZ2hsaWdodEJnQ29sb3I6ICAgICAgICAgICAgICBoc2woIGNhbGMoIHZhcigtLXRlcnRpYXJ5Q29sb3JfaCkgKyAxICksIHZhcigtLXRlcnRpYXJ5Q29sb3JfcykgLCBjYWxjKCB2YXIoLS10ZXJ0aWFyeUNvbG9yX2wpICsgMjMlICkgKTtcblxuJGJ1dHRvbkNvbG9yU3RhcnQ6ICAgICAgICAgICAgICB2YXIoLS1DVEEpO1xuJGJ1dHRvbkNvbG9yRW5kOiAgICAgICAgICAgICAgICBoc2wodmFyKC0tQ1RBX2gpLCB2YXIoLS1DVEFfcyksIGNhbGMoIHZhcigtLUNUQV9sKSArIDIwJSApICk7IC8vLSBoc2woMTIwLCAxMDAlLCA0MCUpXG4kYnV0dG9uR3JhZGllbnQ6ICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRidXR0b25Db2xvclN0YXJ0LCAkYnV0dG9uQ29sb3JFbmQpO1xuJGJ1dHRvbkNvbG9yOiAgICAgICAgICAgICAgICAgICB2YXIoLS1DVEEpO1xuJGJ1dHRvbkNvbG9ySG92ZXI6ICAgICAgICAgICAgICBoc2wodmFyKC0tQ1RBX2gpLCB2YXIoLS1DVEFfcyksIGNhbGModmFyKC0tQ1RBX2wpIC0gMyUpKTtcblxuJGhlYWRlckNvbG9yOiAgICAgICAgICAgICAgICAgICAkbGlnaHQtYmxhY2s7XG4kYmdDb2xvcjogICAgICAgICAgICAgICAgICAgICAgICNlZWU7XG4kYmdDb2xvck9wYWNpdHk6ICAgICAgICAgICAgICAgICByZ2JhKCRiZ0NvbG9yLCAuOSk7XG5cbiRtYWluU2hhZG93OiAgICAgICAgICAgICAgICAgICAgMCA1cHggNXB4IDAgI2NhYzljOTtcbiRidXR0b25UZXh0U2hhZG93OiAgICAgICAgICAgICAgJGNsYXktYnJvd247XG4kYnV0dG9uVGV4dFNoYWRvd0Rpc2FibGVkOiAgICAgICR3YXJtLWdyZXk7XG5cbiRib3hTaGFkb3c6ICAgICAgICAgIHJnYmEoYmxhY2ssIC4xNik7IiwiLy8tIEZvbnQgZmFtaWxpZXNcbjpyb290IHtcbiAgICAtLW1haW5Gb250OiAnSGVsdmV0aWNhIE5ldWUtTGlnaHQnLCAnSGVsdmV0aWNhIE5ldWUgTGlnaHQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZSc7XG4gICAgLS1zZWNvbmRhcnlGb250OiAnSGVsdmV0aWNhIE5ldWUtTGlnaHQnLCAnSGVsdmV0aWNhIE5ldWUgTGlnaHQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZSc7XG59XG5cbiRtYWluRm9udDogdmFyKC0tbWFpbkZvbnQpO1xuJHNlY29uZGFyeUZvbnQ6IHZhcigtLXNlY29uZGFyeUZvbnQpO1xuXG4vLy0gZm9udC1zaXplXG4kZm9udDogKFxuICAgIGgxIDogKFxuICAgICAgICBtb2JpbGU6ICAgICAyMHB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBoMSwgbW9iaWxlKVxuICAgICAgICB0YWJsZXQ6ICAgICAzMHB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBoMSwgdGFibGV0KVxuICAgICAgICBkZXNrdG9wOiAgICA1MHB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBoMSwgZGVza3RvcClcbiAgICApLFxuICAgIGgyIDogKFxuICAgICAgICBtb2JpbGU6ICAgICAxNnB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBoMiwgbW9iaWxlKVxuICAgICAgICB0YWJsZXQ6ICAgICAzMHB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBoMiwgdGFibGV0KVxuICAgICAgICBkZXNrdG9wOiAgICAzMHB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBoMiwgZGVza3RvcClcbiAgICApLFxuICAgIGgzIDogKFxuICAgICAgICBtb2JpbGU6ICAgICAxNnB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBoMywgbW9iaWxlKVxuICAgICAgICB0YWJsZXQ6ICAgICAyNnB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBoMywgdGFibGV0KVxuICAgICAgICBkZXNrdG9wOiAgICAyNnB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBoMywgZGVza3RvcClcbiAgICApLFxuICAgIGg0IDogKFxuICAgICAgICBtb2JpbGU6ICAgICAxNnB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBoNCwgbW9iaWxlKVxuICAgICAgICB0YWJsZXQ6ICAgICAyNHB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBoNCwgdGFibGV0KVxuICAgICAgICBkZXNrdG9wOiAgICAyNHB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBoNCwgZGVza3RvcClcbiAgICApLFxuICAgIC8vLSBQcm9kdWN0IEJhbm5lclxuICAgIGhpZ2hsaWdodCA6IChcbiAgICAgICAgbW9iaWxlOiAgICAgMTZweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgaGlnaGxpZ2h0LCBtb2JpbGUpXG4gICAgICAgIHRhYmxldDogICAgIDMwcHgsIC8vLSBtYXAtZGVlcC1nZXQoJGZvbnQsIGhpZ2hsaWdodCwgdGFibGV0KVxuICAgICAgICBkZXNrdG9wOiAgICAzMHB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBoaWdobGlnaHQsIGRlc2t0b3ApXG4gICAgKSxcbiAgICAvLy0gTGVhZCBCb3ggXG4gICAgaGlnaGxpZ2h0LXNtIDogKFxuICAgICAgICBtb2JpbGU6ICAgICAxNHB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBoaWdobGlnaHQtc20sIG1vYmlsZSlcbiAgICAgICAgdGFibGV0OiAgICAgMjRweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgaGlnaGxpZ2h0LXNtLCB0YWJsZXQpXG4gICAgICAgIGRlc2t0b3A6ICAgIDI0cHgsIC8vLSBtYXAtZGVlcC1nZXQoJGZvbnQsIGhpZ2hsaWdodC1zbSwgZGVza3RvcClcbiAgICApLFxuICAgIGNvbnRlbnQgOiAoXG4gICAgICAgIG1vYmlsZTogICAgIDE0cHgsIC8vLSBtYXAtZGVlcC1nZXQoJGZvbnQsIGNvbnRlbnQsIG1vYmlsZSlcbiAgICAgICAgdGFibGV0OiAgICAgMjJweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgY29udGVudCwgdGFibGV0KVxuICAgICAgICBkZXNrdG9wOiAgICAyMnB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBjb250ZW50LCBkZXNrdG9wKVxuICAgICksXG4gICAgY2FydC1jdGEgOiAoXG4gICAgICAgIG1vYmlsZTogICAgIDIycHgsIC8vLSBtYXAtZGVlcC1nZXQoJGZvbnQsIGNhcnQtY3RhLCBtb2JpbGUpXG4gICAgICAgIHRhYmxldDogICAgIDQwcHgsIC8vLSBtYXAtZGVlcC1nZXQoJGZvbnQsIGNhcnQtY3RhLCB0YWJsZXQpXG4gICAgICAgIGRlc2t0b3A6ICAgIDQwcHgsIC8vLSBtYXAtZGVlcC1nZXQoJGZvbnQsIGNhcnQtY3RhLCBkZXNrdG9wKVxuICAgICksXG4gICAgLy8tIGZyb20gbGVhZCBib3hcbiAgICBzaWduYXR1cmU6IChcbiAgICAgICAgbW9iaWxlOiAgICAgMTZweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgc2lnbmF0dXJlLCBtb2JpbGUpXG4gICAgICAgIHRhYmxldDogICAgIDM0cHgsIC8vLSBtYXAtZGVlcC1nZXQoJGZvbnQsIHNpZ25hdHVyZSwgdGFibGV0KVxuICAgICAgICBkZXNrdG9wOiAgICAzNHB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBzaWduYXR1cmUsIGRlc2t0b3ApXG4gICAgKSxcbiAgICBkaXNjbGFpbWVyOiAoXG4gICAgICAgIG1vYmlsZTogICAgIDEwcHgsIC8vLSBtYXAtZGVlcC1nZXQoJGZvbnQsIGRpc2NsYWltZXIsIG1vYmlsZSlcbiAgICAgICAgdGFibGV0OiAgICAgMTZweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgZGlzY2xhaW1lciwgdGFibGV0KVxuICAgICAgICBkZXNrdG9wOiAgICAxNnB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBkaXNjbGFpbWVyLCBkZXNrdG9wKVxuICAgICksXG4gICAgZm9vdGVyLWxpbmtzOiAoXG4gICAgICAgIG1vYmlsZTogICAgIDEycHgsIC8vLSBtYXAtZGVlcC1nZXQoJGZvbnQsIGZvb3Rlci1saW5rcywgbW9iaWxlKVxuICAgICAgICB0YWJsZXQ6ICAgICAyMnB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBmb290ZXItbGlua3MsIHRhYmxldClcbiAgICAgICAgZGVza3RvcDogICAgMjJweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgZm9vdGVyLWxpbmtzLCBkZXNrdG9wKVxuICAgICksXG4gICAgZm9vdGVyOiAoXG4gICAgICAgIG1vYmlsZTogICAgIDlweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgZm9vdGVyLCBtb2JpbGUpXG4gICAgICAgIHRhYmxldDogICAgIDE2cHgsIC8vLSBtYXAtZGVlcC1nZXQoJGZvbnQsIGZvb3RlciwgdGFibGV0KVxuICAgICAgICBkZXNrdG9wOiAgICAxNnB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBmb290ZXIsIGRlc2t0b3ApXG4gICAgKSxcbik7IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XG4vL1xuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2Vcbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYG1vYmlsZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ21vYmlsZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdtb2JpbGUnOiAzNzVweCxcbiAgLy8gJ3RhYmxldCc6IDc2OHB4LFxuICAvLyAnZGVza3RvcCc6IDEwMjRweFxuICAnbW9iaWxlLW1pZCc6IDUyMHB4LFxuICAnbW9iaWxlLW1heCc6IDU3NXB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICd0YWJsZXQtbWlkJzogODUwcHgsXG4gICdib290LWRlc2t0b3AnOiA5OTJweCxcbiAgJ2Rlc2t0b3AnOiAxMDI1cHgsXG4gICdkZXNrdG9wLW1pZCc6IDEyMDBweCxcbiAgJ2Rlc2t0b3AtbWF4JzogMTkyMHB4XG4pICFkZWZhdWx0O1xuXG4vLy0gbW9iaWxlIG9ubHlcbi8vLy8tICgnPHRhYmxldCcpIC0gbWF4LXdpZHRoOiA3NjdweFxuLy8tIHRhYmxldCBvbmx5XG4vLy8vLSAoJz49dGFibGV0JywgJzxkZXNrdG9wJykgLSBtaW4td2lkdGg6IDc2OHB4OyBtYXgtd2lkdGg6IDEwMjRweFxuLy8tIGRlc2t0b3Agb25seVxuLy8vLy0gKCc+PWRlc2t0b3AnKSAtIG1pbi13aWR0aDogMTAyNXB4XG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAnaG92ZXInOiAnKGhvdmVyOiBob3ZlciknLFxuICAnZmluZSc6ICcocG9pbnRlcjogZmluZSknLFxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxufVxuXG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHt9XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcblxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPm1vYmlsZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPm1vYmlsZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPm1vYmlsZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5tb2JpbGUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5tb2JpbGUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJXRleHQtc2hhZG93IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAycHggMnB4ICRtYWluU2hhZG93O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8ZGVza3RvcCcpIHtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAzcHggM3B4ICRtYWluU2hhZG93O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgIHRleHQtc2hhZG93OiAycHggNXB4IDNweCAkbWFpblNoYWRvdztcbiAgICB9XG59XG5cbiVidG4tdGV4dC1zaGFkb3cge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAycHggNHB4ICRidXR0b25UZXh0U2hhZG93O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8ZGVza3RvcCcpIHtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgM3B4IDZweCAkYnV0dG9uVGV4dFNoYWRvdztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAzcHggNnB4ICRidXR0b25UZXh0U2hhZG93O1xuICAgIH1cbn1cblxuJWJ0bi10ZXh0LXNoYWRvdy1kaXNhYmxlZCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDJweCA0cHggJGJ1dHRvblRleHRTaGFkb3dEaXNhYmxlZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGRlc2t0b3AnKSB7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDNweCA2cHggJGJ1dHRvblRleHRTaGFkb3dEaXNhYmxlZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAzcHggNnB4ICRidXR0b25UZXh0U2hhZG93RGlzYWJsZWQ7XG4gICAgfVxufVxuXG4lYm94LXNoYWRvdyB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCAkYm94U2hhZG93O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8ZGVza3RvcCcpIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAzcHggNnB4ICRib3hTaGFkb3c7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAzcHggNnB4ICRib3hTaGFkb3c7XG4gICAgfVxufVxuIiwiLyogaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rvb2xzL2Nzcy9yZXNldC9cbiAgIHYyLjAtbW9kaWZpZWQgfCAyMDExMDEyNlxuICAgTGljZW5zZTogbm9uZSAocHVibGljIGRvbWFpbilcbiovXG5cbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbmEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcbnNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG5iLCB1LCBpLCBjZW50ZXIsXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLFxuZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLFxubWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICBtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRmb250OiBpbmhlcml0O1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qIG1ha2Ugc3VyZSB0byBzZXQgc29tZSBmb2N1cyBzdHlsZXMgZm9yIGFjY2Vzc2liaWxpdHkgKi9cbjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheS1yb2xlIHJlc2V0IGZvciBvbGRlciBicm93c2VycyAqL1xuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSxcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG5ib2R5IHtcblx0bGluZS1oZWlnaHQ6IDE7XG59XG5cbm9sLCB1bCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbmJsb2NrcXVvdGUsIHEge1xuXHRxdW90ZXM6IG5vbmU7XG59XG5cbmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLFxucTpiZWZvcmUsIHE6YWZ0ZXIge1xuXHRjb250ZW50OiAnJztcblx0Y29udGVudDogbm9uZTtcbn1cblxudGFibGUge1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRib3JkZXItc3BhY2luZzogMDtcbn1cblxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPXNlYXJjaF0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4vKipcbiAqIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA2LzcvOC85IGFuZCBGaXJlZm94IDMuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG52aWRlbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICAgKnpvb206IDE7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDcvOC85LCBGaXJlZm94IDMsIGFuZCBTYWZhcmkgNC5cbiAqIEtub3duIGlzc3VlOiBubyBJRSA2IHN1cHBvcnQuXG4gKi9cblxuW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0ZXh0IHJlc2l6aW5nIG9kZGx5IGluIElFIDYvNyB3aGVuIGJvZHkgYGZvbnQtc2l6ZWAgaXMgc2V0IHVzaW5nXG4gKiAgICBgZW1gIHVuaXRzLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5hOmZvY3VzIHtcbiAgICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA2LzcvOC85IGFuZCBGaXJlZm94IDMuXG4gKiAyLiBJbXByb3ZlIGltYWdlIHF1YWxpdHkgd2hlbiBzY2FsZWQgaW4gSUUgNy5cbiAqL1xuXG5pbWcge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA2LzcvOC85LCBTYWZhcmkgNSwgYW5kIE9wZXJhIDExLlxuICovXG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3QgbWFyZ2luIGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gKi9cblxuZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgNi83LzgvOS5cbiAqIDIuIENvcnJlY3QgdGV4dCBub3Qgd3JhcHBpbmcgaW4gRmlyZWZveCAzLlxuICogMy4gQ29ycmVjdCBhbGlnbm1lbnQgZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAqL1xuXG5sZWdlbmQge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMiAqL1xuICAgICptYXJnaW4tbGVmdDogLTdweDsgLyogMyAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgZm9udCBzaXplIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcsIEZpcmVmb3ggMyssIFNhZmFyaSA1LFxuICogICAgYW5kIENocm9tZS5cbiAqIDMuIEltcHJvdmUgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMyAqL1xuICAgICp2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDMrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gQ2hyb21lLCBTYWZhcmkgNSssIGFuZCBJRSA2Ky5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCA0KyBhbmQgT3BlcmEuXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICogNC4gUmVtb3ZlIGlubmVyIHNwYWNpbmcgaW4gSUUgNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXG4gKiAgICBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFIDYuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuICAgICpvdmVyZmxvdzogdmlzaWJsZTsgIC8qIDQgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gY29udGVudC1ib3ggaW4gSUUgOC85LlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS5cbiAqIDMuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA3LlxuICogICAgS25vd24gaXNzdWU6IGV4Y2VzcyBwYWRkaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAqL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgKmhlaWdodDogMTNweDsgLyogMyAqL1xuICAgICp3aWR0aDogMTNweDsgLyogMyAqL1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqIG9uIE9TIFguXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggMysuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA2LzcvOC85LlxuICogMi4gSW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG5odG1sLFxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgY29sb3I6ICMyMjI7XG59XG5cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbmltZyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxudGV4dGFyZWEge1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi5jaHJvbWVmcmFtZSB7XG4gICAgbWFyZ2luOiAwLjJlbSAwO1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgcGFkZGluZzogMC4yZW0gMDtcbn1cbiIsImJvZHkuc3VydmV5UGFnZVYwMiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgbWFpbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBzZWN0aW9uLCBiZyk7XG4gICAgfVxufVxuXG4uc3VydmV5LXdyYXAge1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1ib290LWRlc2t0b3BcIikge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIH1cblxuICAgIC5zdXJ2ZXlQYWdlICYgeyAgXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDsgICAgICAgICAgICBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIHNlY3Rpb24sIGJnKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIHNlY3Rpb24sIHJhZGl1cyk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IFxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5zdXJ2ZXlQYWdlVjAyICYge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxib290LWRlc2t0b3BcIikge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogbWFwLWdldCgkZWxlbWVudHMtZmxvdywgbW9iaWxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1ib290LWRlc2t0b3BcIikge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogbWFwLWdldCgkZWxlbWVudHMtZmxvdywgZGVza3RvcCkgKiAzO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3VydmV5IHtcbiAgICAuc3VydmV5UGFnZSAmIHsgXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmctYmxvY2stZW5kOiAje21hcC1nZXQoJGVsZW1lbnRzLWZsb3csIG1vYmlsZSkgKiAyfTtcbiAgICB9XG5cbiAgICAuc3VydmV5UGFnZVYwMiAmIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjYwcHg7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8Ym9vdC1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI2MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87ICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPGJvb3QtZGVza3RvcFwiKSB7XG4gICAgICAgICAgICAmLm9uZSAuYm94Lm9uZSB+IC5ib3gge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDc1dmg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudHdvIC5ib3gudHdvIH4gLmJveCB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNzV2aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8tIC5wYWdpbmF0aW9uIGlzIGF2YWlsYWJsZSBvbiBTdXJ2ZXkgVmVyc2lvbiAncmVkZXNpZ24nXG4ucGFnaW5hdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAzMHB4KSAvIDMgLSA4cHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPG1vYmlsZVwiKSB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogbWFwLWdldCgkZWxlbWVudHMtZmxvdywgbW9iaWxlKSAqIDI7XG4gICAgfVxuICAgIFxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tb2JpbGVcIiwgXCI8Ym9vdC1kZXNrdG9wXCIpIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiBtYXAtZ2V0KCRlbGVtZW50cy1mbG93LCBtb2JpbGUpICogMiBtYXAtZ2V0KCRlbGVtZW50cy1mbG93LCBtb2JpbGUpICogMjtcbiAgICB9XG4gICAgXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWJvb3QtZGVza3RvcFwiKSB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogbWFwLWdldCgkZWxlbWVudHMtZmxvdywgbW9iaWxlKSAqIDQgbWFwLWdldCgkZWxlbWVudHMtZmxvdywgbW9iaWxlKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJixcbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEwMDBtcyBlYXNlLWluLW91dCA1MDBtcztcbiAgICB9XG5cbiAgICAmLFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeUNvbG9yT3BhY2l0eTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5Q29sb3I7XG4gICAgICAgIGxlZnQ6IGNhbGMoLTEwMCUgLSAxNXB4KTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiBjYWxjKC0xMDAlIC0gMTVweCk7XG5cbiAgICAgICAgLnN1cnZleS50aHJlZSAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnlDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdXJ2ZXkudHdvICYsXG4gICAgLnN1cnZleS50aHJlZSAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeUNvbG9yO1xuICAgIH1cbn1cblxuLmJveGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIHdpZHRoOiAzMDB2dztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQgMC41cztcblxuICAgIC5zdXJ2ZXkub25lICYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuXG4gICAgLnN1cnZleS50d28gJiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwdncpO1xuICAgIH1cblxuICAgIC5zdXJ2ZXkudGhyZWUgJiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwdncpO1xuICAgIH1cbiAgICBcbiAgICAuc3VydmV5UGFnZSAmIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAxNXB4O1xuICAgIH1cblxuICAgIC5zdXJ2ZXlQYWdlVjAyICYge1xuXG4gICAgfVxufVxuXG4uYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC5zdXJ2ZXlQYWdlICYge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgfVxuICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICB3aWR0aDogMzEwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdXJ2ZXlQYWdlVjAyICYge1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgfVxufVxuXG4ucGFnZXMge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZzogMCAxMHB4O1xufVxuXG4ucXVlc3Rpb24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnN1cnZleVBhZ2UgJiB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogMTBweCAyMHB4O1xuICAgIH1cblxuICAgIC5zdXJ2ZXlQYWdlVjAyICYge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxib290LWRlc2t0b3BcIikge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMjBweDtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49Ym9vdC1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogMjVweCAzMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYW5zd2VycyB7XG4gICAgLnN1cnZleVBhZ2UgJiB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IG1hcC1nZXQoJGVsZW1lbnRzLWZsb3csIG1vYmlsZSk7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMCBtYXAtZ2V0KCRlbGVtZW50cy1mbG93LCBtb2JpbGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgd2lkdGg6IDMxMHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJiArIC5hbnN3ZXJzX19pdGVtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdXJ2ZXlQYWdlVjAyICYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBjb2x1bW4tZ2FwOiBtYXAtZ2V0KCRlbGVtZW50cy1mbG93LCBtb2JpbGUpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA3NjhweDtcbiAgICAgICAgcGFkZGluZzogMCBtYXAtZ2V0KCRlbGVtZW50cy1mbG93LCBtb2JpbGUpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPGJvb3QtZGVza3RvcFwiKSB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogbWFwLWdldCgkZWxlbWVudHMtZmxvdywgbW9iaWxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogbWFwLWdldCgkZWxlbWVudHMtZmxvdywgbW9iaWxlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8bW9iaWxlLW1heFwiKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIGNhbGMoNTAlIC0gMTBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tb2JpbGUtbWF4XCIsIFwiPGJvb3QtZGVza3RvcFwiKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIGNhbGMoMzMuMzMlIC0gMTBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1ib290LWRlc2t0b3BcIikge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBjYWxjKDI1JSAtIDEwcHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3VydmV5LS1mb3VyU2VjdGlvbnMgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8bW9iaWxlLW1heFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBjYWxjKDUwJSAtIDEwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1vYmlsZS1tYXhcIiwgXCI8Ym9vdC1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIGNhbGMoMzMuMzMlIC0gMTBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49Ym9vdC1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIGNhbGMoMjUlIC0gMTBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5pbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gbGFiZWwge1xuICAgICAgICAgICAgLnN1cnZleVBhZ2UgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgYW5zd2VyLCBjb2xvcik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIGFuc3dlciwgYmcpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIGFuc3dlciwgYmcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLy0gLmxhYmVsX19pbWcgYW5kIC5hbnN3ZXJzX19pdGVtLS1sYWJlbC1vdmVyIGFyZSBhdmFpbGFibGUgb24gU3VydmV5IFZlcnNpb24gJ3JlZGVzaWduJ1xuICAgICAgICAgICAgLmxhYmVsX19pbWcge1xuICAgICAgICAgICAgICAgIC5hbnN3ZXJzX19pdGVtOm5vdCguYW5zd2Vyc19faXRlbS0tbGFiZWwtb3ZlcikgJiB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDsgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYW5zd2Vyc19faXRlbS0tbGFiZWwtb3ZlciAmIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDsgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ2hvdmVyJywgJ2ZpbmUnKSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIC5sYWJlbF9faW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmFuc3dlcnNfX2l0ZW0tLWxhYmVsLW92ZXIgJiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sYWJlbCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIFxuICAgIC5zdXJ2ZXlQYWdlICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogOHB4IDVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBhbnN3ZXIsIHJhZGl1cyk7XG4gICAgICAgIGJvcmRlcjogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIGFuc3dlciwgYm9yZGVyKSBtYXAtZGVlcC1nZXQoJHN1cnZleSwgYW5zd2VyLCBib3JkZXItY29sb3IpO1xuICAgIH1cbiAgICBcbiAgICAuc3VydmV5UGFnZSAuYm94LnRocmVlICYge1xuICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBhbnN3ZXIsIGZvbnQtc2l6ZS1kZXNrdG9wKTtcbiAgICB9XG5cbiAgICAuc3VydmV5UGFnZVYwMiAmIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBcbiAgICAvLy0gLmxhYmVsX19pbWcgYW5kIC5hbnN3ZXJzX19pdGVtLS1sYWJlbC1vdmVyIGFyZSBhdmFpbGFibGUgb24gU3VydmV5IFZlcnNpb24gJ3JlZGVzaWduJ1xuICAgICZfX2ltZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogbWFwLWdldCgkZWxlbWVudHMtZmxvdywgbW9iaWxlKSAvIDI7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgIC5hbnN3ZXJzX19pdGVtOm5vdCguYW5zd2Vyc19faXRlbS0tbGFiZWwtb3ZlcikgJiB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICVib3gtc2hhZG93O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRmYS12YXItY2hlY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogNjRweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeUNvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuYW5zd2Vyc19faXRlbS0tbGFiZWwtb3ZlciAmIHtcbiAgICAgICAgLmxhYmVsX19pbWcge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGV4dGVuZCAlYm94LXNoYWRvdztcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRmYS12YXItY2hlY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiA2NHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeUNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdmFsdWUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICR0ZXh0Q29sb3I7XG5cbiAgICAgICAgLmJveC5vbmUgJiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYW5zd2Vyc19faXRlbS0tbGFiZWwtb3ZlciAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5Rm9udDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hbnN3ZXJzX19pdGVtOm5vdCguYW5zd2Vyc19faXRlbS0tbGFiZWwtb3ZlcikgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJ2hvdmVyJywgJ2ZpbmUnKSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLmxhYmVsX19pbWcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgLmFuc3dlcnNfX2l0ZW0tLWxhYmVsLW92ZXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5uZXh0U3RlcCB7XG4gICAgZGlzcGxheTogbm9uZTsgb3BhY2l0eTogMDtcbiAgICBtYXJnaW46IDEwcHggMDthbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7ICBtYXgtd2lkdGg6IDI5MHB4O1xuICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIGN0YSwgZm9udC1zaXplKTsgZm9udC13ZWlnaHQ6IGJvbGQ7IHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgY3RhLCByYWRpdXMpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgfVxuXG4gICAgJi0tZ3JhZGllbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkYnV0dG9uR3JhZGllbnQ7XG4gICAgICAgIGJvcmRlcjogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIGN0YSwgYm9yZGVyKSBtYXAtZGVlcC1nZXQoJHN1cnZleSwgY3RhLCBib3JkZXItY29sb3IpO1xuICAgIH1cblxuICAgICYtLXNvbGlkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbkNvbG9yO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbkNvbG9ySG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLFxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgY3RhLCBjb2xvcik7XG4gICAgfVxuXG4gICAgcGFkZGluZzogOHB4IDA7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBjdGEsIHNoYWRvdyk7XG4gICAgfVxuXG4gICAgJi5oaWRkZW4ge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAmLnNob3cge1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogZmFkZWluIDJzO1xuICAgICAgICBhbmltYXRpb246IGZhZGVpbiAycztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbn1cblxuLnNraXAtd3JhcCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICB3aWR0aDogMzEwcHg7XG4gICAgfVxufVxuXG4uc2tpcCB7XG4gICAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnlGb250O1xuICAgIG1hcmdpbi1pbmxpbmU6ICN7bWFwLWdldCgkZWxlbWVudHMtZmxvdywgbW9iaWxlKSAqIDJ9O1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6ICN7bWFwLWdldCgkZWxlbWVudHMtZmxvdywgbW9iaWxlKSAqIDJ9O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7ICBcbn1cbiIsIi8vLSBSZXNldCBFeHRlbmRlZCAtIE9uIHRoaXMgcGFydGlhbCBJJ2xsIGV4dGVuZCB0aGUgRXJpYyBNZXllciByZXNldCBmaWxlIGJ5IGFkZGluZyBtb2Rlcm4gYW5kIHVzZWZ1bGwgc2VsZWN0b3JzXG5cbi8vLSBPdmVycmlkZSBkZWZhdWx0IGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyBzbyB3aWR0aCBpcyBub3QgYWZmZWN0ZWQgYnkgcGFkZGluZyBhbmQgYm9yZGVyIHByb3BlcnRpZXNcbmh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8vLSBJbmhlcml0IHJvb3QgYm94LXNpemluZyB2YWx1ZSB0byBhbGwgRE9NIGVsZW1lbnRzXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbi8vLSBTZXQgYm9keSB0byBmaWxsIHZpZXdwb3J0LCBvcHRpbWl6ZSB0ZXh0LXJlbmRlcmluZyBhbmQgc21vb3RoIHNjcm9sbGluZ1xuYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwdmg7IFxuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoOyAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAvLy0gTm90ZSB0ZXh0LXJlbmRlcmluZyBzaG91bGQgYmUgY2hvc2VuIGRlcGVuZGluZyBvbiB1c2VkIGZvbnQtZmFtaWx5IGFuZCBwZXJmb3JtYW5jZSBnb2Fsc1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IC8vLSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvdGV4dC1yZW5kZXJpbmdcbn1cblxuLy8tIFJlc2V0IGFuY2hvciBsb29rICYgYmVoYXZpb3VyXG5hIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBjb2xvcjogaW5oZXJpdDsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmJ1dHRvbiB7IFxuICAgIHBhZGRpbmc6IDA7IFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBjb2xvcjogaW5oZXJpdDsgYm9yZGVyLXdpZHRoOiAwOyBjdXJzb3I6cG9pbnRlcjsgXG59XG5cbi8vLSBBZGl0aW9uYWwgdG8gcmVzZXQuc2NzcywgcmVtb3ZlIG1hcmdpbiBvbiBGRjMrIFxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIgeyBtYXJnaW46IDA7IH1cbiIsImJvZHkge1xuICAgIGZvbnQtZmFtaWx5OiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgYm9keSwgZm9udC1mYW1pbHkpOyBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBib2R5LCBmb250LXNpemUpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGNvbG9yOiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgYm9keSwgY29sb3IpOyBcbiAgICBcbiAgICBAaW5jbHVkZSBtZWRpYSgnPGJvb3QtZGVza3RvcCcpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIGJvZHksIGJnLCBtb2JpbGUpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWJvb3QtZGVza3RvcCcpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIGJvZHksIGJnLCBkZXNrdG9wKTtcbiAgICB9XG59XG5cbmgyIHtcbiAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkc3VydmV5LCB0aXRsZSwgZm9udC1zaXplKTsgXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1kZWVwLWdldCgkc3VydmV5LCB0aXRsZSwgZm9udC13ZWlnaHQpOyBcbiAgICBjb2xvcjogdmFyKC0tdGl0bGVDb2xvcik7XG5cbiAgICBzbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIHRpdGxlU21hbGwsIGZvbnQtc2l6ZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgdGl0bGVTbWFsbCwgZm9udC13ZWlnaHQpO1xuICAgIH1cbn1cblxuaDMge1xuICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIHN1cnZleVRpdGxlLCBmb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgc3VydmV5VGl0bGUsIGZvbnQtd2VpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tdGl0bGVDb2xvcik7XG59XG5cbmIge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbmEge1xuICAgICYsICY6aG92ZXIsICY6YWN0aXZlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgYW5jaG9yLCBkZWNvcmF0aW9uKTsgXG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGJvb3QtZGVza3RvcCcpIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgYm9keSwgY29sb3IpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4uYnIge1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7IC8vLSBwcmVzZXJ2ZSB3aGl0ZXNwYWNlXG5cbiAgICAmLS1ub3Qtc21hbGwtbW9iaWxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bW9iaWxlJykge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zbWFsbC1tb2JpbGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1vYmlsZScpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbW9iaWxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bW9iaWxlJywgJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW1vYmlsZS1tYXgge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1vYmlsZS1tYXgnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXRhYmxldCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8ZGVza3RvcCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tdGFibGV0LWxhbmRzY2FwZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8ZGVza3RvcCcsICdsYW5kc2NhcGUnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWRlc2t0b3Age1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ub3dyYXAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLy0gQnV0dG9ucyBwYXJ0aWFsXG5bcm9sZT0nYnV0dG9uJ10ge1xuICAgIEBpbmNsdWRlIG1lZGlhKCdob3ZlcicsICdmaW5lJykge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufVxuXG4uYnRuIHsgXG4gICAgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGZsZXgtYmFzaXM6IGF1dG87IG1hcmdpbjogMCBhdXRvO1xuXG4gICAgJi5kaXNhYmxlZCwgW2Rpc2FibGVkXSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cbiIsIi8vLSBQYXJ0aWFsIGZvciBTVkcgc3ByaXRlIGljb25zXG4uaWNvbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMWVtOyBoZWlnaHQ6IDFlbTsgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgZm9udC1zaXplOiAxZW07IC8qIGRlZmF1bHQtc2l6ZSAqL1xuICAgIGZpbGw6IGluaGVyaXQ7IC8qIGRlZmF1bHQgY29sb3IgKi8gXG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIGRlZmF1bHQgY29sb3Igd2hlbiBjdXJyZW50Q29sb3IgaXMgdXNlZCAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIm1haW4gPiBzZWN0aW9uIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvLy0gdG8gcmVtb3ZlIGhvcml6b250YWwgc2Nyb2xsIGNyZWF0ZWQgYnkgbmVnYXRpdmUgcG9zaXRpb24gb2YgZGVjb3JhdGl2ZSBiZy1pbWFnZXMgbG9jYXRlZCBvbiB0aGUgcmlnaHQgc2lkZVxufVxuXG5bY2xhc3NePVwiY29udGFpbmVyXCJdIHtcbiAgIHdpZHRoOiAxMDAlOyBtYXJnaW4tcmlnaHQ6IGF1dG87IG1hcmdpbi1sZWZ0OiBhdXRvOyBcbiAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWd1dHRlci13aWR0aCAvIDI7IHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbn1cblxuLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xufVxuIiwiLmZvb3RlciB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdDb2xvck9wYWNpdHk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikgeyAgICAgICAgXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgIH1cblxuICAgIC5uZXh0U3RlcCB7XG4gICAgICAgIEBleHRlbmQgJWJveC1zaGFkb3c7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAzNDBweDtcbiAgICAgICAgbWFyZ2luOiAzcHggYXV0bztcbiAgICAgICAgcGFkZGluZzogLjc1ZW0gLjVlbTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1idG4tZnMsIDE4cHgpO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogZmFkZWluIDJzO1xuICAgICAgICBhbmltYXRpb246IGZhZGVpbiAycztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bW9iaWxlXCIsIFwiPHRhYmxldFwiKSB7XG4gICAgICAgICAgICAtLWJ0bi1mczogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICAtLWJ0bi1mczogMjRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIC0tYnRuLWZzOiAzMnB4O1xuICAgICAgICB9XG4gICAgXG4gICAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XG4gICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxib290LWRlc2t0b3BcIikge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiBtYXAtZ2V0KCRlbGVtZW50cy1mbG93LCBtb2JpbGUpICogMiAwO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1ib290LWRlc2t0b3BcIikge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiBtYXAtZ2V0KCRlbGVtZW50cy1mbG93LCBkZXNrdG9wKSAqIDIgMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuc2tpcCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICR0ZXh0Q29sb3I7XG4gICAgXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8Ym9vdC1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogbWFwLWdldCgkZWxlbWVudHMtZmxvdywgbW9iaWxlKSAwO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogbWFwLWdldCgkZWxlbWVudHMtZmxvdywgbW9iaWxlKSBtYXAtZ2V0KCRlbGVtZW50cy1mbG93LCBtb2JpbGUpICogMS41O1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1ib290LWRlc2t0b3BcIikge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiBtYXAtZ2V0KCRlbGVtZW50cy1mbG93LCBkZXNrdG9wKSAwO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogbWFwLWdldCgkZWxlbWVudHMtZmxvdywgZGVza3RvcCkgbWFwLWdldCgkZWxlbWVudHMtZmxvdywgZGVza3RvcCkgKiAxLjU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi5oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgaGVhZGVyLCBjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIGhlYWRlciwgYmcpO1xuXG4gICAgLnN1cnZleVBhZ2UgJiB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IDE3cHg7XG4gICAgfVxuICAgIFxuICAgIC5zdXJ2ZXlQYWdlVjAyICYge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAxZW0gLjVlbTtcbiAgICB9XG5cbiAgICBbY2xhc3NePVwiY29udGFpbmVyXCJdIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgXG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvZ28ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgIFxuICAgICAgICAuaGVhZGVyLS1zdmcgJiB7XG4gICAgICAgICAgICB3aWR0aDogdmFyKC0taGVhZGVyTG9nb1dpZHRoLCAxNjhweCk7IFxuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1oZWFkZXJMb2dvV2lkdGgsIDE2OHB4KTsgXG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8ZGVza3RvcCcpIHtcbiAgICAgICAgICAgICAgICAtLWhlYWRlckxvZ29XaWR0aDogMTc1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgICAgICAgICAgLS1oZWFkZXJMb2dvV2lkdGg6IDE4MHB4OyAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmhlYWRlci0taW1nICYge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTk4cHg7XG4gICAgICAgICAgICB9ICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGhlYWRlciwgbG9nby1oZWlnaHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG59Il19 */
