.page-designer-reference img,.page-designer-reference video{width:100%}.page-designer-reference .pd-slick-slider-wrapper,.page-designer-reference .carousel,.page-designer-reference .pd-row4-items,.page-designer-reference .customHTML-container,.page-designer-reference .mediaContainer,.page-designer-reference .plp-banner-wrapper-pd{margin-left:auto;margin-right:auto;max-width:1440px}.page-designer-reference .pd-slick-slider-wrapper .customHTML-container,.page-designer-reference .pd-slick-slider-wrapper .mediaContainer,.page-designer-reference .pd-slick-slider-wrapper .plp-banner-wrapper-pd,.page-designer-reference .carousel .customHTML-container,.page-designer-reference .carousel .mediaContainer,.page-designer-reference .carousel .plp-banner-wrapper-pd,.page-designer-reference .pd-row4-items .customHTML-container,.page-designer-reference .pd-row4-items .mediaContainer,.page-designer-reference .pd-row4-items .plp-banner-wrapper-pd{max-width:none}.page-designer-reference .row4items-inner .row-item{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.page-designer-reference .mediaContainer .contentWrapper>.wrapper-img-link{text-decoration:none}.page-designer-reference .mediaContainer .contentWrapper>.wrapper-img-link:hover{text-decoration:none}@media (min-width: 1800px){.page-designer-reference .video_container video{max-height:60vh}}.page-designer-reference .slick-slider-header{text-align:center;margin-bottom:30px;font-weight:600;position:relative}.page-designer-reference .slick-slider-header h3{line-height:40px}.page-designer-reference .slick-slider-header h3::before{content:'';height:1px;width:100%;background-color:#000;display:inline-block;top:50%;left:0;position:absolute;z-index:-1}.page-designer-reference .slick-slider-header span{font-size:40px;font-size:2.5rem;text-transform:uppercase;padding:0 15px;background-color:#fff}.page-designer-reference .slick-slider-header span .italic{font-style:italic;text-transform:none}.pd-container{position:relative;width:100%;-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:none;margin:0 auto}.pd-container .experience-component:first-child{margin-top:-78px}@media (min-width: 768px){.pd-container .experience-component:first-child{margin-top:-94px}}@media (min-width: 1024px){.pd-container .experience-component:first-child{margin-top:-130px}}@media (min-width: 1024px) and (max-width: 1799.98px){.pd-container .experience-component:first-child{margin-top:-7.22222vw}}.pd-container .pd-slick-slide{position:relative}.pd-container .pd-slick-slide .mediaContent{position:absolute}.pd-container .pd-slick-slide .button-link-abs{position:absolute;bottom:10%;left:10%}.pd-container .pd-slick-slide .button-link{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.pd-container .pd-slick-slide .button-link a{text-decoration:none}.pd-container .pd-slick-slide .button-link a:hover{text-decoration:underline}@media (min-width: 768px){.pd-row4-items.animated{overflow:hidden}}@media (min-width: 768px){.pd-row4-items.animated .row4items-inner:hover .row-item{width:20%}}@media (min-width: 768px){.pd-row4-items.animated .row4items-inner .row-item{display:block;width:30%;will-change:width;-webkit-transition:all 0.5s;transition:all 0.5s;-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0) scale(1, 1)}}@media (min-width: 768px){.pd-row4-items.animated .row4items-inner .row-item:hover{width:30%}}@media (min-width: 768px){.pd-row4-items.animated .row4items-inner .mediaImage img{-webkit-transform:translate(-50%, -50%) translateZ(0) scale(1, 1);transform:translate(-50%, -50%) translateZ(0) scale(1, 1);-webkit-backface-visibility:hidden}}.plp-banner-pd-img{width:100%}@media (min-width: 1024px){.plp-banner-pd-img{max-height:43vh;-o-object-fit:cover;object-fit:cover}}.plp-banner-wrapper-pd{position:relative}.plp-banner-pd-content{position:absolute;width:472px;bottom:40px}.plp-banner-pd-header{font-size:28px;font-size:1.75rem;line-height:1.28571em;color:#fcfcfc;margin:0 0 15px;font-weight:600}@media (min-width: 1440px){.plp-banner-pd-header{font-size:36px;font-size:2.25rem;line-height:1.33333em}}.plp-banner-pd-text1{font-size:16px;font-size:1rem;line-height:1.5em;color:#fcfcfc;font-weight:600;margin:0 0 10px}.plp-banner-pd-text2{font-size:16px;font-size:1rem;line-height:1.5em;color:#fcfcfc;font-weight:600;font-family:"Montserrat","DejaVu Sans",Verdana,sans-serif}.buy-it-again{margin:0 auto;max-width:1440px;padding:0 30px}.buy-it-again .products-slider-header{text-align:center;margin-bottom:30px;font-weight:600;position:relative}.buy-it-again .products-slider-header h3{line-height:40px}.buy-it-again .products-slider-header h3::before{content:'';height:1px;width:100%;background-color:#000;display:inline-block;top:50%;left:0;position:absolute;z-index:-1}.buy-it-again .products-slider-header span{font-size:40px;font-size:2.5rem;text-transform:uppercase;padding:0 15px;background-color:#fff}.buy-it-again .products-slider-header span .italic{font-style:italic;text-transform:none}.buy-it-again .slick-slider{padding:0 30px}.buy-it-again .slick-slide{padding:0 12px}.pd-folder-content{margin:40px 0}.pd-folder-content .slick-track{display:-webkit-box;display:-ms-flexbox;display:flex}.pd-folder-content .slick-slide{height:auto;padding:0 12px}.pd-folder-content .slick-prev{left:-8px;z-index:2}.folder-content-slide{max-height:220px;min-height:220px}.folder-content-slide .slide-content-wrapper{height:100%}.folder-content-slide .slide-content-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.folder-content-slide .content-image-wrapper{min-width:50%;max-width:50%;height:220px}.folder-content-slide .content-image-wrapper img{-o-object-fit:cover;object-fit:cover;height:100%}.folder-content-slide .content-body-wrapper{padding:10px 15px;position:relative}.folder-content-slide .content-heading{text-align:center;font-weight:700;line-height:1.2;font-size:12px;font-size:.75rem;margin-bottom:10px}.folder-content-slide .content-text{line-height:1.2;font-size:10px;font-size:.625rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:8;text-overflow:ellipsis}.folder-content-slide .read-more-btn{font-size:12px;font-size:.75rem;font-weight:400;min-height:auto;padding:5px 10px;position:absolute;bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:105px}.four-in-a-row .slick-slide{padding:0 12px}.four-in-a-row .mediaContent{bottom:0;left:0;padding:40px 20px}.four-in-a-row .mediaContent .text-headline,.four-in-a-row .mediaContent .text-headline2{text-transform:uppercase}.four-in-a-row .mediaContent .text-headline{font-weight:500;margin-bottom:15px}.four-in-a-row .mediaContent .text-headline p{font-size:14px;font-size:.875rem}.four-in-a-row .mediaContent .text-headline2{font-weight:700}.four-in-a-row .mediaContent .text-headline2 p{font-size:18px;font-size:1.125rem}.pd-einstein-slick-slider-wrapper{margin-bottom:40px}@media (min-width: 1024px){.pd-einstein-slick-slider-wrapper{padding:0 30px}}@media (min-width: 1440px){.pd-einstein-slick-slider-wrapper{margin:0 120px 100px}}.pd-einstein-slick-slider-wrapper .products-slider-header{text-align:center;margin-bottom:30px;font-weight:600;position:relative}.pd-einstein-slick-slider-wrapper .products-slider-header h3{line-height:40px}.pd-einstein-slick-slider-wrapper .products-slider-header h3::before{content:'';height:1px;width:100%;background-color:#000;display:inline-block;top:50%;left:0;position:absolute;z-index:-1}.pd-einstein-slick-slider-wrapper .products-slider-header span{font-size:40px;font-size:2.5rem;text-transform:uppercase;padding:0 15px;background-color:#fff}.pd-einstein-slick-slider-wrapper .products-slider-header span .italic{font-style:italic;text-transform:none}.pd-einstein-slick-slider-wrapper .slick-slide{padding:0 12px}.pd-einstein-slick-slider-wrapper .slick-next{right:-20px}.pd-einstein-slick-slider-wrapper .slick-prev{left:-20px}.pd-einstein-slick-slider-wrapper .slick-next,.pd-einstein-slick-slider-wrapper .slick-prev{top:30%}.pd-einstein-slick-slider-wrapper .product-tile{margin:0}.pd-einstein-slick-slider-wrapper .slick-arrow{display:none !important}@media (min-width: 1024px){.pd-einstein-slick-slider-wrapper .slick-arrow{display:block !important}}@media (min-width: 1024px){.pd-einstein-slick-slider-wrapper .slick-dots{position:absolute;left:-999px;z-index:-1;max-width:100vw}}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9jYXJ0cmlkZ2VzL2FwcF9jdXN0b21fZGFydGFnbmFuL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL2NvbXBvbmVudHMvX3BkQmFzZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2FydHJpZGdlcy9hcHBfY3VzdG9tX2RhcnRhZ25hbi9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy9jb21wb25lbnRzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9jYXJ0cmlkZ2VzL2FwcF9jdXN0b21fZGFydGFnbmFuL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9jYXJ0cmlkZ2VzL2FwcF9jdXN0b21fZGFydGFnbmFuL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL2NvbXBvbmVudHMvX2Z1bmN0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL2NhcnRyaWRnZXMvYXBwX2N1c3RvbV9kYXJ0YWduYW4vY2FydHJpZGdlL2NsaWVudC9kZWZhdWx0L3Njc3MvY29tcG9uZW50cy9fcGRFaW5zdGVpblJlY1NsaWRlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDREQUdRLFVBQVcsQ0FIbkIscVFBWVEsaUJBQ0Esa0JBQ0EsZ0JBQWlCLENBZHpCLDhpQkF1QlksY0FBZSxDQXZCM0Isb0RBNkJZLGtEQUFZLENBN0J4QiwyRUFvQ2dCLG9CQUFxQixDQXBDckMsaUZBdUNvQixvQkFBcUIsQ0NxQnJDLDJCRDVESixnREFnRGdCLGVBQWdCLENBRXZCLENBbERULDhDQXNEUSxrQkFDQSxtQkFDQSxnQkFDQSxpQkFBa0IsQ0F6RDFCLGlEQTREWSxnQkFBaUIsQ0E1RDdCLHlEQStEZ0IsV0FDQSxXQUNBLFdBQ0Esc0JBQ0EscUJBQ0EsUUFDQSxP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Q0EsZ0JBQ0EsaUJBQWtCLENBZjFCLDZEQWtCWSxnQkFBaUIsQ0FsQjdCLHFFQXFCZ0IsV0FDQSxXQUNBLFdBQ0Esc0JBQ0EscUJBQ0EsUUFDQSxPQUNBLGtCQUNBLFVBQVcsQ0E3QjNCLCtESGlGWSxlQUNBLGlCRy9DQSx5QkFDQSxlQUNBLHFCRnBDQSxDRURaLHVFQXdDZ0Isa0JBQ0EsbUJBQW9CLENBekNwQywrQ0ErQ1EsY0FBZSxDQS9DdkIsOENBbURRLFdBQVksQ0FuRHBCLDhDQXVEUSxVQUFXLENBdkRuQiw0RkE0RFEsT0FBUSxDQTVEaEIsZ0RBZ0VRLFFBQVMsQ0FoRWpCLCtDQW9FUSx1QkFBd0IsQ0pSNUIsMkJJNURKLCtDQXVFWSx3QkFBeUIsQ0FFaEMsQ0piRCwyQkk1REosOENBNkVZLGtCQUNBLFlBQ0EsV0FDQSxlQUFnQixDQUV2QiIsImZpbGUiOiJkZWZhdWx0L2Nzcy9wZEdsb2JhbFN0eWxlcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIucGFnZS1kZXNpZ25lci1yZWZlcmVuY2Uge1xuICAgIGltZyxcbiAgICB2aWRlbyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5wZC1zbGljay1zbGlkZXItd3JhcHBlcixcbiAgICAuY2Fyb3VzZWwsXG4gICAgLnBkLXJvdzQtaXRlbXMsXG4gICAgLmN1c3RvbUhUTUwtY29udGFpbmVyLFxuICAgIC5tZWRpYUNvbnRhaW5lcixcbiAgICAucGxwLWJhbm5lci13cmFwcGVyLXBkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gICAgfVxuXG4gICAgLnBkLXNsaWNrLXNsaWRlci13cmFwcGVyLFxuICAgIC5jYXJvdXNlbCxcbiAgICAucGQtcm93NC1pdGVtcyB7XG4gICAgICAgIC5jdXN0b21IVE1MLWNvbnRhaW5lcixcbiAgICAgICAgLm1lZGlhQ29udGFpbmVyLFxuICAgICAgICAucGxwLWJhbm5lci13cmFwcGVyLXBkIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yb3c0aXRlbXMtaW5uZXIge1xuICAgICAgICAucm93LWl0ZW0ge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lZGlhQ29udGFpbmVyIHtcbiAgICAgICAgLmNvbnRlbnRXcmFwcGVyIHtcbiAgICAgICAgICAgID4gLndyYXBwZXItaW1nLWxpbmsge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZpZGVvX2NvbnRhaW5lciB7XG4gICAgICAgIHZpZGVvIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNjB2aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1zbGlkZXItaGVhZGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtc2VtaWJvbGQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoNDBweCk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgICAuaXRhbGljIHtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wZC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAuZXhwZXJpZW5jZS1jb21wb25lbnQge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRlck5lZ2F0aXZlTWFyZ2luO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBkLXNsaWNrLXNsaWRlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5tZWRpYUNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAvLyAmLnBvcy1zdGF0aWMge1xuICAgICAgICAgICAgLy8gICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLWxpbmstYWJzIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMTAlO1xuICAgICAgICAgICAgbGVmdDogMTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBkLXJvdzQtaXRlbXMge1xuICAgICYuYW5pbWF0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJvdzRpdGVtcy1pbm5lciB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAucm93LWl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucm93LWl0ZW0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpbGwtY2hhbmdlOiB3aWR0aDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgxLCAxKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1lZGlhSW1hZ2Uge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZVooMCkgc2NhbGUoMSwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBscC1iYW5uZXItcGQtaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgbWF4LWhlaWdodDogNDN2aDtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxufVxuXG4ucGxwLWJhbm5lci13cmFwcGVyLXBkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wbHAtYmFubmVyLXBkLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNDcycHg7XG4gICAgYm90dG9tOiA0MHB4O1xufVxuXG4ucGxwLWJhbm5lci1wZC1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyOHB4LCAzNnB4KTtcbiAgICBjb2xvcjogJGdyYXlzY2FsZS01MDtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1zZW1pYm9sZDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDM2cHgsIDQ4cHgpO1xuICAgIH1cbn1cblxuLnBscC1iYW5uZXItcGQtdGV4dDEge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4LCAyNHB4KTtcbiAgICBjb2xvcjogJGdyYXlzY2FsZS01MDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtc2VtaWJvbGQ7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbn1cblxuLnBscC1iYW5uZXItcGQtdGV4dDIge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4LCAyNHB4KTtcbiAgICBjb2xvcjogJGdyYXlzY2FsZS01MDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtc2VtaWJvbGQ7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xufVxuXG4uYnV5LWl0LWFnYWluIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG5cbiAgICAucHJvZHVjdHMtc2xpZGVyLWhlYWRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXNlbWlib2xkO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDQwcHgpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgLml0YWxpYyB7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLXNsaWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB9XG5cbiAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgfVxufVxuXG4ucGQtZm9sZGVyLWNvbnRlbnQge1xuICAgIG1hcmdpbjogNDBweCAwO1xuXG4gICAgLnNsaWNrLXRyYWNrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICB9XG5cbiAgICAuc2xpY2stcHJldiB7XG4gICAgICAgIGxlZnQ6IC04cHg7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxufVxuXG4uZm9sZGVyLWNvbnRlbnQtc2xpZGUge1xuICAgIG1heC1oZWlnaHQ6IDIyMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDIyMHB4O1xuICAgIC8vIGhlaWdodDogMTAwJTtcblxuICAgIC5zbGlkZS1jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5zbGlkZS1jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5jb250ZW50LWltYWdlLXdyYXBwZXIge1xuICAgICAgICBtaW4td2lkdGg6IDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgIGhlaWdodDogMjIwcHg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtYm9keS13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtaGVhZGluZyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEycHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5jb250ZW50LXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTBweCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDg7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cblxuICAgIC5yZWFkLW1vcmUtYnRuIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEycHgpO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB3aWR0aDogMTA1cHg7XG4gICAgfVxufVxuXG4uZm91ci1pbi1hLXJvdyB7XG4gICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgcGFkZGluZzogMCAxMnB4O1xuICAgIH1cblxuICAgIC5tZWRpYUNvbnRlbnQge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMjBweDtcblxuICAgICAgICAudGV4dC1oZWFkbGluZSxcbiAgICAgICAgLnRleHQtaGVhZGxpbmUyIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dC1oZWFkbGluZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQtaGVhZGxpbmUyIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBNSVhJTlNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEEgdXNlZnVsIG1peGluIHRvIG91dHB1dCBhIGxpc3Qgb2YgQ1NTIHN0eWxlcyBwYXNzZWQgaW4gYXMgYSBtYXBcbi8vXG4vLyBFeGFtcGxlOlxuLy9cbi8vXHQvL3NldCBhIG1hcCB2YXJpYWJsZVxuLy9cdCRwcmltYXJ5LW5hdjogKFxuLy8gICAgICBwYWRkaW5nLXRvcDogLjJlbSxcbi8vICAgICAgbWFyZ2luLXRvcDogLjJlbSxcbi8vICAgICAgbGluZS1oZWlnaHQ6IDEuMyxcbi8vXHQpO1xuLy9cbi8vXHQvL25vdyBvdXRwdXQgd2l0aCB0aGUgbWl4aW5cbi8vXHRAaW5jbHVkZSBvdXRwdXQtc3R5bGVzKCRwcmltYXJ5LW5hdik7XG4vL1xuLy8gQ29tcGlsZXMgdG86XG4vL1xuLy9cdC8vT3V0cHV0dGVkIENTUzpcbi8vXHQucHJpbWFyeS1uYXYge1xuLy8gICAgICBwYWRkaW5nLXRvcDogLjJlbTtcbi8vICAgICAgbWFyZ2luLXRvcDogLjJlbTtcbi8vICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbi8vXHR9XG5cbkBtaXhpbiBvdXRwdXQtc3R5bGVzKCRtYXApIHtcbiAgICBAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgfVxufVxuXG5AbWl4aW4gZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yLCAkb3JpZW50YXRpb24pIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3RhcnQtY29sb3I7XG4gICAgQGlmICRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCB7XG4gICAgICAgIC8vIHZlcnRpY2FsXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAwJSwgJGVuZC1jb2xvciAxMDAlKTtcbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZ1bmN0aW9uLW5hbWUtY2FzZSAqL1xuICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSckc3RhcnQtY29sb3InLCBlbmRDb2xvcnN0cj0nJGVuZC1jb2xvcicsIEdyYWRpZW50VHlwZT0wKTtcbiAgICB9IEBlbHNlIGlmICRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsIHtcbiAgICAgICAgLy8gaG9yaXpvbnRhbFxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAwJSwgJGVuZC1jb2xvciAxMDAlKTtcbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZ1bmN0aW9uLW5hbWUtY2FzZSAqL1xuICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSckc3RhcnQtY29sb3InLCBlbmRDb2xvcnN0cj0nJGVuZC1jb2xvcicsIEdyYWRpZW50VHlwZT0xKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gcmFkaWFsXG4gICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgJHN0YXJ0LWNvbG9yIDAlLCAkZW5kLWNvbG9yIDEwMCUpO1xuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuY3Rpb24tbmFtZS1jYXNlICovXG4gICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyRzdGFydC1jb2xvcicsIGVuZENvbG9yc3RyPSckZW5kLWNvbG9yJywgR3JhZGllbnRUeXBlPTEpO1xuICAgIH1cbn1cblxuLy8gTGluZSBIZWlnaHQgU2l6ZXJcbi8vIGV4OiAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMTRweCk7ICAvL3NldHMgYSBsaW5lIGhlaWdodCBzaXplIGluIHJlbXMgd2l0aCBhIGZhbGxiYWNrIGluIHB4c1xuXG5AbWl4aW4gbGluZS1oZWlnaHQoJHNpemUpIHtcbiAgICBsaW5lLWhlaWdodDogJHNpemU7XG4gICAgQGlmIHVuaXQoJHNpemUpID09IFwicHhcIiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oJHNpemUpO1xuICAgIH1cbn1cblxuLy8gTGV0dGVyIFNwYWNpbmcgU2l6ZXJcbi8vIGV4OiAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoMTRweCk7ICAvL3NldHMgYSBsZXR0ZXIgc3BhY2luZyBzaXplIGluIHJlbXMgd2l0aCBhIGZhbGxiYWNrIGluIHB4c1xuXG5AbWl4aW4gbGV0dGVyLXNwYWNpbmcoJHNpemUpIHtcbiAgICBsZXR0ZXItc3BhY2luZzogJHNpemU7XG4gICAgQGlmIHVuaXQoJHNpemUpID09IFwicHhcIiB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiByZW0oJHNpemUpO1xuICAgIH1cbn1cblxuLy8gRm9udCBTaXplclxuLy8gZXg6IEBpbmNsdWRlIGZvbnQtc2l6ZSgxNHB4KTsgIC8vc2V0cyBhIGZvbnQgc2l6ZSBpbiByZW1zIHdpdGggYSBmYWxsYmFjayBpbiBweHNcbi8vIGV4MjogQGluY2x1ZGUgZm9udC1zaXplKDE1cHgsIDIwcHgsIDAuNHB4KTsgLy8gc2V0cyBhIGZvbnQgc2l6ZSAoMTVweCkgaW4gcmVtcywgYSBsaW5lLWhlaWdodCAoMjBweCkgYXMgYSB1bml0bGVzcyB2YWx1ZSwgYW5kIGEgbGV0dGVyLXNwYWNpbmcgKDAuNHB4KSBpbiByZW1zLlxuLy8gZXgzOiBAaW5jbHVkZSBmb250LXNpemUoMTRweCwgJGJyZWFrcG9pbnQ6ICRtZWRpdW0tYnJlYWtwb2ludCk7ICAvL3NldHMgYSBzY2FsaW5nIGZvbnQgc2l6ZSBpbiB2dydzIHdpdGggYSBmaXhlZCBmYWxsYmFjayBpbiBweHNcblxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZTogbnVsbCwgJGxpbmVoZWlnaHQ6IG51bGwsICRsZXR0ZXJzcGFjaW5nOiBudWxsLCAkYnJlYWtwb2ludDogbnVsbCkge1xuICAgIEBpZiAkc2l6ZSAhPSBcIlwiIGFuZCAkc2l6ZSAhPSBudWxsIHtcbiAgICAgICAgQGlmICRicmVha3BvaW50ID09IG51bGwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKCRzaXplKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAvLyBHZXQgYSBmb250IHNpemUgaW4gVldzIHRoYXQgd2lsbCBtYXRjaCB0aGUgZ2l2ZW4gcGl4ZWwgZm9udC1zaXplIGluIHRoZSBnaXZlbiB2aWV3cG9ydC5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemU7XG4gICAgICAgICAgICBmb250LXNpemU6IGNhbGN1bGF0ZXZ3KCRzaXplLCAkYnJlYWtwb2ludCk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRsaW5laGVpZ2h0ICE9IFwiXCIgYW5kICRsaW5laGVpZ2h0ICE9IG51bGwgYW5kIHVuaXQoJHNpemUpID09IHVuaXQoJGxpbmVoZWlnaHQpIHtcbiAgICAgICAgICAgICRjYWxjdWxhdGVkLWxpbmUtaGVpZ2h0OiAoc3RyaXAtdW5pdHMoJGxpbmVoZWlnaHQpIC8gc3RyaXAtdW5pdHMoJHNpemUpKSAqIDFlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KCRjYWxjdWxhdGVkLWxpbmUtaGVpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGxldHRlcnNwYWNpbmcgIT0gXCJcIiBhbmQgJGxldHRlcnNwYWNpbmcgIT0gbnVsbCB7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlcnNwYWNpbmc7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtKCRsZXR0ZXJzcGFjaW5nKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vIFNlY29uZGFyeSBGb250IEZhbWlseSBtaXhpbnNcbi8vXG5cbi8vIHVzYWdlIGV4YW1wbGVzXG4vLyBleDE6IEBpbmNsdWRlIGZvbnQtYWx0LXJlZygpO1xuLy8gZXgyOiBAaW5jbHVkZSBmb250LWFsdC1yZWcoMTZweCk7XG4vLyBleDM6IEBpbmNsdWRlIGZvbnQtYWx0LXJlZygxNHB4LCAyMnB4KTtcblxuQG1peGluIGZvbnQtYWx0KCRmb250c2l6ZTogXCJcIiwgJGxpbmVoZWlnaHQ6IFwiXCIsICRsZXR0ZXJzcGFjaW5nOiBcIlwiKSB7XG4gICAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXJlZ3VsYXI7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250c2l6ZSwgJGxpbmVoZWlnaHQsICRsZXR0ZXJzcGFjaW5nKTtcbn1cblxuLy8gdXNhZ2UgZXhhbXBsZXNcbi8vIGV4MTogQGluY2x1ZGUgZm9udC1hbHQtbWVkaXVtKCk7XG4vLyBleDI6IEBpbmNsdWRlIGZvbnQtYWx0LW1lZGl1bSgxNnB4KTtcbi8vIGV4MzogQGluY2x1ZGUgZm9udC1hbHQtbWVkaXVtKDE0cHgsIDIycHgpO1xuXG5AbWl4aW4gZm9udC1hbHQtbWVkaXVtKCRmb250c2l6ZTogXCJcIiwgJGxpbmVoZWlnaHQ6IFwiXCIsICRsZXR0ZXJzcGFjaW5nOiBcIlwiKSB7XG4gICAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LW1lZGl1bTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnRzaXplLCAkbGluZWhlaWdodCwgJGxldHRlcnNwYWNpbmcpO1xufVxuXG4vLyB1c2FnZSBleGFtcGxlc1xuLy8gZXgxOiBAaW5jbHVkZSBmb250LWFsdC1ib2xkKCk7XG4vLyBleDI6IEBpbmNsdWRlIGZvbnQtYWx0LWJvbGQoMTZweCk7XG4vLyBleDM6IEBpbmNsdWRlIGZvbnQtYWx0LWJvbGQoMTRweCwgMjJweCk7XG5cbkBtaXhpbiBmb250LWFsdC1ib2xkKCRmb250c2l6ZTogXCJcIiwgJGxpbmVoZWlnaHQ6IFwiXCIsICRsZXR0ZXJzcGFjaW5nOiBcIlwiKSB7XG4gICAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWRvbGQ7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250c2l6ZSwgJGxpbmVoZWlnaHQsICRsZXR0ZXJzcGFjaW5nKTtcbn1cblxuLy8gSW5uZXIgcGFnZSBjb250ZW50IHdpZHRoXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gY29udGVudC13aWR0aCgpIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skY29udGVudC13aWR0aC1ndXR0ZXJzKjJ9KTtcbiAgICBtYXgtd2lkdGg6ICRtYXgtY29udGVudC1icmVha3BvaW50O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skY29udGVudC13aWR0aC1ndXR0ZXJzMioyfSk7XG4gICAgfVxufVxuXG4vLyBDbGVhcmZpeFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbi8vIFZpc3VhbGx5IEhpZGRlbiBFbGVtZW50c1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbn1cblxuLy8gT3ZlcnJpZGUgYSBidXR0b24ncyBoZWlnaHQgKGluY2x1ZGluZyBib3JkZXJzKS4gT3B0aW9uYWxseSBjaGFuZ2UgdGhlIHNpZGUgcGFkZGluZ3MuXG4vLyBleDE6IEBpbmNsdWRlIHNldEJ1dHRvbkhlaWdodCg1MHB4KTtcbi8vIGV4MjogQGluY2x1ZGUgc2V0QnV0dG9uSGVpZ2h0KDUwcHgsIDM1cHgpO1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIHNldEJ1dHRvbkhlaWdodCAoJGhlaWdodDogbnVsbCwgJHNpZGVzOiAkYnRuLXNpZGUtcGFkZGluZykge1xuICAgIEBpZiAoJGhlaWdodCBhbmQgdW5pdCgkaGVpZ2h0KSA9PSBcInB4XCIpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTsgLy8gdGhpcyB2YWx1ZSBhbGxvd3MgdGhlIG1hdGggYmVsb3cgdG8gd29yay4uLlxuICAgICAgICBwYWRkaW5nOiByZW0oKCRoZWlnaHQgLSAkYnRuLWJvcmRlci13aWR0aCoyIC0gJGJ0bi1mb250LXNpemUpIC8gMikgJHNpZGVzO1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0oJGhlaWdodCk7XG4gICAgfVxufVxuXG4vLyBQbGFzZWhvbGRlciBmb3IgdGV4dCBpbnB1dHNcbi8vIGV4OiAgQGluY2x1ZGUgcGxhY2VobGRlcigkd2hpdGUpOyAgLy9zZXRzIGEgcGxhY2Vob2xkZXIgYXR0cmlidXRlIGZvciB0ZXh0IGlucHV0XG5cbkBtaXhpbiBwbGFjZWhvbGRlcigkY29sb3IpIHtcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxufVxuXG4vLyBOZWdhdGl2ZSBtYXJnaW4gdG8gXCJzbGlkZVwiIHVuZGVyIHRoZSBoZWFkZXIgaWYgbmVjZXNzYXJ5IChob21lcGFnZSwgUExQLCBhbnkgcGFnZSB3aXRoIGhlcm8gYmFubmVyIGV0Yylcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBoZWFkZXJOZWdhdGl2ZU1hcmdpbiB7XG4gICAgbWFyZ2luLXRvcDogLTc4cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC05NHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEzMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbihsZywgeGwpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsY3VsYXRldncoLTEzMHB4LCAxODAwcHgpO1xuICAgIH1cbn1cblxuLy8gU3R5bGVzIHRvIGF2b2lkIG1hcmdpbnMgb24gZmlyc3QgYW5kIGxhc3QgZWxlbWVudFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGNsZWFyTWFyZ2lucyB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG4iLCIvLyBDb2xvcnNcbiR3aGl0ZTogI2ZmZjtcbiRibGFjazogIzAwMDtcbiRzYW5kOiAgI2JkYTg3MTtcbiRkYXJrOiAjMDYwNzE5O1xuJGRhcmstMjogIzUyNTI1MjtcbiRkYXJrLTM6ICM0MzQzNDM7XG4kZGFyay00OiAjMTkxZDIzO1xuJGRhcmstNTogIzE2MTcxOTtcbiRkYXJrLTY6ICMyOTI5Mjk7XG4kZGFyay03OiAjMjk0ODI3O1xuXG4kcGluazogI2ViMGMwMDtcblxuJGdyZWVuOiAjMDA4NzQwO1xuJGdyZWVuLTI6ICMwMDY0MDA7XG5cbi8vIDUwIHNoYWRlcyBvZiBncmF5XG4kZ3JheTogI2M2YzViOTtcbiRncmF5LTI6ICNmNWY1ZjU7XG4kZ3JheS0zOiAjZDNkM2QzO1xuJGdyYXktNDogI2U4ZThlMztcbiRncmF5LTU6ICNmYWZhZmE7XG4kZ3JheS02OiAjY2NjO1xuJGdyYXktNzogIzc2NzY3NjtcbiRncmF5LTg6ICM2NjY7XG4kZ3JheS05OiAjYjNiNWNjO1xuJGdyYXktMTA6ICNmN2Y4Zjk7XG4kZ3JheS0xMTogI2Q5ZDlkOTtcbiRncmF5LTEyOiAjOGY4ZjhmO1xuJGdyYXktMTM6ICNlM2U1ZTU7XG4kZ3JheS0xNDogIzU1NTtcbiRncmF5LTE1OiAjYjNiNWNjO1xuJGdyYXktMTY6ICM1ZTYzNjY7XG4kZ3JheS0xNzogI2ViZWJlYjtcbiRncmF5LTE4OiAjNTQ1MzUzO1xuJGdyYXktMTk6ICNmY2ZjZmE7XG4kZ3JheS0yMDogI2M4YmVhNjtcbiRncmF5LTIxOiAjNjg2ODY4O1xuJGdyYXktMjI6ICNmYmZhZmE7XG5cbiRkYXJrLWdyYXk6ICRncmF5O1xuXG4kYmx1ZTogIzE3NzFiNDtcbiRyZWQtMjogI2M5MGEwMDtcblxuLy8gbWFpbiBjb2xvcnMgcGFsZXR0ZVxuJHByaW1hcnktNTA6ICAgICNmZWVjZWM7XG4kcHJpbWFyeS0xMDA6ICAgI2ZjYmRiYjtcbiRwcmltYXJ5LTIwMDogICAjZjk4ZDhhO1xuJHByaW1hcnktMzAwOiAgICNmNzVlNWE7XG4kcHJpbWFyeS00MDA6ICAgI2Y0MmYyOTtcbiRwcmltYXJ5LTUwMDogICAjZGYxMTBiO1xuJHByaW1hcnktNjAwOiAgICNhZjBkMDk7XG4kcHJpbWFyeS03MDA6ICAgIzdlMGEwNjtcbiRwcmltYXJ5LTgwMDogICAjNGUwNjA0O1xuJHByaW1hcnktOTAwOiAgICMxZDAyMDE7XG5cbiRncmF5c2NhbGUtNTA6ICAgICNmY2ZjZmM7XG4kZ3JheXNjYWxlLTEwMDogICAjZjNmMmYyO1xuJGdyYXlzY2FsZS0yMDA6ICAgI2RiZDdkNztcbiRncmF5c2NhbGUtMzAwOiAgICNjM2JjYmM7XG4kZ3JheXNjYWxlLTQwMDogICAjYWFhMWExO1xuJGdyYXlzY2FsZS01MDA6ICAgIzkyODY4NjtcbiRncmF5c2NhbGUtNjAwOiAgICM3OTZkNmQ7XG4kZ3JheXNjYWxlLTcwMDogICAjNWU1NTU1O1xuJGdyYXlzY2FsZS04MDA6ICAgIzQzM2MzYztcbiRncmF5c2NhbGUtOTAwOiAgICMyOTI1MjU7XG5cbiRzdWNjZXNzLTUwOiAgICAjZTVmZmZjO1xuJHN1Y2Nlc3MtMTAwOiAgICNiM2ZmZjY7XG4kc3VjY2Vzcy0yMDA6ICAgIzRjZmZlYTtcbiRzdWNjZXNzLTMwMDogICAjMDBlNWNhO1xuJHN1Y2Nlc3MtNDAwOiAgICMwMGIyOWQ7XG4kc3VjY2Vzcy01MDA6ICAgIzAwN2Q2ZTtcbiRzdWNjZXNzLTYwMDogICAjMDA2NjVhO1xuJHN1Y2Nlc3MtNzAwOiAgICMwMDRkNDM7XG4kc3VjY2Vzcy04MDA6ICAgIzAwMzMyZDtcbiRzdWNjZXNzLTkwMDogICAjMDAxYTE2O1xuXG4kd2FybmluZy01MDogICAgI2ZmZjVlNTtcbiR3YXJuaW5nLTEwMDogICAjZmZlYmNjO1xuJHdhcm5pbmctMjAwOiAgICNmZmQ3OTk7XG4kd2FybmluZy0zMDA6ICAgI2ZmYzM2NjtcbiR3YXJuaW5nLTQwMDogICAjZmZhZjMzO1xuJHdhcm5pbmctNTAwOiAgICNmZDk5MDA7XG4kd2FybmluZy02MDA6ICAgI2NjN2MwMDtcbiR3YXJuaW5nLTcwMDogICAjOTk1ZDAwO1xuJHdhcm5pbmctODAwOiAgICM2NjNlMDA7XG4kd2FybmluZy05MDA6ICAgIzMzMWYwMDtcblxuJGRhbmdlci01MDogICAgI2ZjZjNmMztcbiRkYW5nZXItMTAwOiAgICNmN2RlZGY7XG4kZGFuZ2VyLTIwMDogICAjZjNjOWNhO1xuJGRhbmdlci0zMDA6ICAgI2VjYWNhZTtcbiRkYW5nZXItNDAwOiAgICNkZjcyNzU7XG4kZGFuZ2VyLTUwMDogICAjZDU0NzRjO1xuJGRhbmdlci02MDA6ICAgI2JmMmMzMTtcbiRkYW5nZXItNzAwOiAgICM5NTIyMjY7XG4kZGFuZ2VyLTgwMDogICAjNmMxOTFjO1xuJGRhbmdlci05MDA6ICAgIzQyMGYxMTtcblxuJGxnLXJlZDogI2M5MTgxZTtcbiRsZy1kYXJrOiAjMDAwMDAwMWE7XG4kbGctZGFyay0yOiAjMjIyO1xuXG4kYnJlYWRjcnVtYnMtbGl0ZTogJGdyYXktMTU7XG4kYnJlYWRjcnVtYnMtZGFyazogJGdyYXktODtcblxuJHByaW1hcnk6ICRwcmltYXJ5LTUwMDtcbiRyZWQ6ICRwcmltYXJ5LTYwMDtcbiRzdWNjZXNzOiAkc3VjY2Vzcy01MDA7XG4kZGFuZ2VyOiAkZGFuZ2VyLTUwMDtcbiRhY2NlbnQ6ICRzYW5kO1xuJGRpc2FibGVkOiAkZ3JheTtcblxuLy8gQnJlYWtwb2ludHNcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gICAgeHM6IDAsXG4gICAgeHNtOiA0MjBweCxcbiAgICBzbTogNTQ0cHgsXG4gICAgbWQ6IDc2OHB4LFxuICAgIGxnOiAxMDI0cHgsXG4gICAgYnhsOiAxMjgwcHgsXG4gICAgeGw6IDE0NDBweCxcbiAgICB4eGw6IDE4MDBweFxuKTtcblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gICAgeGw6IDEyMDBweFxuKTtcblxuJGNvbnRlbnQtd2lkdGgtZ3V0dGVyczogMjBweDtcbiRjb250ZW50LXdpZHRoLWd1dHRlcnMyOiA3NXB4O1xuJG1heC1jb250ZW50LWJyZWFrcG9pbnQ6IDEyMDBweDtcblxuJGdyaWQtZ3V0dGVyLXdpZHRoOiA0MHB4O1xuXG4vLyBGb250c1xuXG4kc2Fucy1zZXJpZjogJ01vbnRzZXJyYXQnLCAnRGVqYVZ1IFNhbnMnLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuJHNlcmlmOiAnTG9yYScsIHNlcmlmO1xuJG1vbWVudHNTYW5zOiAnTW9tZW50cyBTYW5zJywgc2Fucy1zZXJpZjtcbiRyb2JvdG86ICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xuJHJva2tpdHQ6ICdSb2traXR0Jywgc2VyaWY7XG5cbiRiYXNlLWZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcbiRzZWNvbmRhcnktZm9udC1mYW1pbHk6ICRzZXJpZjtcblxuJGZvbnQtcmVndWxhcjogNDAwO1xuJGZvbnQtbWVkaXVtOiA1MDA7XG4kZm9udC1zZW1pYm9sZDogNjAwO1xuJGZvbnQtYm9sZDogNzAwO1xuJGZvbnQtZXh0cmFib2xkOiA4MDA7XG5cbiRsaW5rLWNvbG9yOiAkZGFyaztcbiRsaW5rLWRlY29yOiB1bmRlcmxpbmU7XG4kbGluay1ob3Zlci1jb2xvcjogJHByaW1hcnktNDAwO1xuJGxpbmstaG92ZXItZGVjb3I6IHVuZGVybGluZTtcbiRsaW5rLWdyYXllZC1vdXQtY29sb3I6ICRkaXNhYmxlZDtcbiRsaW5rLWFsdC1jb2xvcjogJGRhcms7XG4kbGluay1hbHQtZGVjb3I6IG5vbmU7XG4kbGluay1hbHQtaG92ZXItY29sb3I6ICRkYXJrO1xuJGxpbmstYWx0LWhvdmVyLWRlY29yOiB1bmRlcmxpbmU7XG5cbiRidG4taGVpZ2h0OiAnJztcblxuJG91dGxpbmU6ICcnO1xuXG4kYm9keS1iZzogJHdoaXRlO1xuJGJvZHktbGV0dGVyLXNwYWNpbmc6ICcnO1xuXG4kaG92ZXI6IDAuMnMgZWFzZTtcblxuJGxnLXhzbWFsbDogNTc2cHg7XG4kbGcteHNtYWxsLWRvd246IDU3NXB4O1xuJGxnLXNtYWxsOiA3NjhweDtcbiRsZy1taWRkbGU6IDk5MnB4O1xuJGxnLW1pZGRsZS1kb3duOiA5OTFweDtcbiRsZy1sYXJnZTogMTIwMHB4O1xuXG4kbGctbGluazogcmdiKDIwMSwgMjQsIDMwKTtcbiRsZy1yZWQ6ICNiZTMyMzY7XG4kbGctYmxhY2s6ICMyYTJkMzA7XG4iLCIvLy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vLyBHTE9CQUwgRlVOQ1RJT05TXG4vLy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vXHRzdHJpcC11bml0cyAtIFN0cmlwIHVuaXQgb2ZmIG9mIGEgbnVtYmVyIHZhbHVlLCByZXR1cm4ganVzdCB0aGUgbnVtYmVyXG4vLy9cdEBwYXJhbSB7bnVtYmVyfSAkdmFsdWUgLSBhIHVuaXQgdmFsdWUgdG8gc3RyaXBcbi8vL1x0QHJldHVybiB7bnVtYmVyfSBhIHVuaXRsZXNzIG51bWJlciB2YWx1ZVxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbHVlKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyAoJHZhbHVlICogMCArIDEpO1xufVxuXG4vLy9cdGNhbGN1bGF0ZVJlbSAtIENhbGN1bGF0ZXMgYSBwcm9wZXIgcmVtIHZhbHVlICh1c3VhbGx5IGEgZm9udC1zaXplKSBnaXZlbiBhIHBpeGVsIHZhbHVlLlxuLy8vXHRAcGFyYW0ge251bWJlcn0gJHNpemUgLSBhIHBpeGVsIHx8IHZlcmJhbCBhdHRyaWJ1dGU6IGF1dG8sIGluaXRpYWwsIGV0Y2V0ZXJhLlxuLy8vXHRAcmV0dXJuIHtudW1iZXJ9IGEgcmVtIHZhbHVlIGJhc2VkIG9uIGEgZGVmYXVsdCBicm93c2VyIGZvbnQgc2l6ZSBvZiAxNnB4XG4vLy9cdEBhbGlhcyByZW0oKVxuXG5AZnVuY3Rpb24gY2FsY3VsYXRlUmVtKCRzaXplKSB7XG4gICAgQGlmIHR5cGUtb2YoJHNpemUpID09IHN0cmluZyBvciAkc2l6ZSA9PSAwIG9yIHVuaXQoJHNpemUpID09IFwicmVtXCIge1xuICAgICAgICBAcmV0dXJuICRzaXplO1xuICAgIH1cbiAgICBAaWYgdW5pdCgkc2l6ZSkgIT0gXCJweFwiIHtcbiAgICAgICAgQGVycm9yIFwiVGhlIGNhbGN1bGF0ZVJlbSBmdW5jdGlvbiBleHBlY3RzIGEgcGl4ZWwgfHwgdmVyYmFsIGF0dHJpYnV0ZTogYXV0bywgaW5pdGlhbCwgZXRjZXRlcmEuXCI7XG4gICAgfVxuICAgICRyZW1TaXplOiAkc2l6ZSAvIDE2cHg7XG4gICAgQHJldHVybiAkcmVtU2l6ZSAqIDFyZW07XG59XG5cbkBmdW5jdGlvbiByZW0oJHNpemUpIHtcbiAgICBAcmV0dXJuIGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XG59XG5cbi8vL1x0Y2FsY3VsYXRlRW0gLSBDYWxjdWxhdGVzIGFuIGVtIHZhbHVlIGdpdmVuIGEgcHggdmFsdWUgLSBtYWlubHkgdXNlZCBpbiBtZWRpYSBxdWVyaWVzLlxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZSAtIGEgcGl4ZWwgfHwgdmVyYmFsIGF0dHJpYnV0ZSBhdXRvLCBpbml0aWFsLCBldGNldGVyYS5cbi8vL1x0QHJldHVybiB7bnVtYmVyfSBhbiBlbSB2YWx1ZSBiYXNlZCBvbiBhIGZvbnQgc2l6ZSBvZiAxNnB4XG5cbkBmdW5jdGlvbiBjYWxjdWxhdGVFbSgkc2l6ZSkge1xuICAgIEBpZiB0eXBlLW9mKCRzaXplKSA9PSBzdHJpbmcgb3IgJHNpemUgPT0gMCBvciB1bml0KCRzaXplKSA9PSBcImVtXCIge1xuICAgICAgICBAcmV0dXJuICRzaXplO1xuICAgIH1cbiAgICBAaWYgdW5pdCgkc2l6ZSkgIT0gXCJweFwiIHtcbiAgICAgICAgQGVycm9yIFwiVGhlIGNhbGN1bGF0ZUVtIGZ1bmN0aW9uIGV4cGVjdHMgYSBwaXhlbCB8fCB2ZXJiYWwgYXR0cmlidXRlOiBhdXRvLCBpbml0aWFsLCBldGNldGVyYS5cIjtcbiAgICB9XG4gICAgJGVtU2l6ZTogJHNpemUgLyAxNnB4O1xuICAgIEByZXR1cm4gJGVtU2l6ZSAqIDFlbTtcbn1cblxuLy8vXHRjYWxjdWxhdGV2dyAtIEdpdmVuIGEgdGFyZ2V0IGZvbnQtc2l6ZSAoaW4gcHgpIGFuZCBhIHRhcmdldCB2aWV3cG9ydCB3aWR0aCAoaW4gcHgpLFxuLy8vXHRjYWxjdWxhdGVzIGEgdncgKHNjYWxpbmcpIHZhbHVlIHRoYXQgd2lsbCBlcXVhbCB0aGUgcHggc2l6ZSBhdCBleGFjdGx5IHRoZSBnaXZlbiBzY3JlZW5cbi8vL1x0d2lkdGguXG4vLy9cdEBwYXJhbSB7bnVtYmVyfSAkcHhzaXplIC0gYSB0YXJnZXQgZm9udCBzaXplIGluIHBpeGVsc1xuLy8vXHRAcGFyYW0ge251bWJlcn0gJHNjcmVlbndpZHRoIC0gYSB0YXJnZXQgdmlld3BvcnQgc2l6ZSBpbiBwaXhlbHNcbi8vL1x0QHJldHVybiB7bnVtYmVyfSBhIHZ3IHZhbHVlIHRoYXQgd2lsbCBlcXVhbCB0aGUgdGFyZ2V0ZWQgcHggdmFsdWUgYXQgdGhlIHRhcmdldGVkIHZpZXdwb3J0LlxuXG5AZnVuY3Rpb24gY2FsY3VsYXRldncoJHB4c2l6ZSwgJHNjcmVlbndpZHRoKSB7XG4gICAgJHZ3dW5pdDogJHNjcmVlbndpZHRoIC8gMTAwO1xuICAgIEByZXR1cm4gJHB4c2l6ZSAvICR2d3VuaXQgKiAxdnc7XG59XG5cbi8vL1x0Y2FsY3VsYXRlUGVyYyAtIENhbGN1bGF0ZXMgYSBwcm9wZXIgJSB2YWx1ZSBhdCBhIHNwZWNpZmllZCB2aWV3cG9ydCwgZ2l2ZW4gYSB0YXJnZXRcbi8vL1x0Zm9udC1zaXplIChpbiBweCkgYW5kIHZpZXdwb3J0IHdpZHRoIChpbiBweCkuXG4vLy9cdEBwYXJhbSB7bnVtYmVyfSAkcHhzaXplIC0gYSB0YXJnZXQgZm9udCBzaXplIGluIHBpeGVsc1xuLy8vXHRAcGFyYW0ge251bWJlcn0gJHNjcmVlbndpZHRoIC0gYSB0YXJnZXQgdmlld3BvcnQgc2l6ZSBpbiBwaXhlbHNcbi8vL1x0QHJldHVybiB7bnVtYmVyfSBhIHBlcmNlbnRhZ2UgdmFsdWUgdGhhdCB3aWxsIGVxdWFsIHRoZSB0YXJnZXRlZCBweCB2YWx1ZSBhdCB0aGUgdGFyZ2V0ZWQgdmlld3BvcnQuXG5cbkBmdW5jdGlvbiBjYWxjdWxhdGVQZXJjKCRweHNpemUsICRzY3JlZW53aWR0aCkge1xuICAgIEByZXR1cm4gJHB4c2l6ZSAvICRzY3JlZW53aWR0aCAqIDEwMCU7XG59XG5cbkBmdW5jdGlvbiBtYXAtaGFzLW5lc3RlZC1rZXlzKCRtYXAsICRrZXlzLi4uKSB7XG4gICAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRtYXApICE9IFwibWFwXCIge1xuICAgICAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgJG1hcDogbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgICB9XG4gICAgQHJldHVybiB0cnVlO1xufVxuXG5AZnVuY3Rpb24gbWFwLWRlZXAtZ2V0KCRtYXAsICRrZXlzLi4uKSB7XG4gICAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRtYXApID09IFwibWFwXCIge1xuICAgICAgICAgICAgJG1hcDogbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRtYXA7XG59XG4iLCIucGQtZWluc3RlaW4tc2xpY2stc2xpZGVyLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgIG1hcmdpbjogMCAxMjBweCAxMDBweDtcbiAgICB9XG5cbiAgICAucHJvZHVjdHMtc2xpZGVyLWhlYWRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXNlbWlib2xkO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDQwcHgpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgLml0YWxpYyB7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgcGFkZGluZzogMCAxMnB4O1xuICAgIH1cblxuICAgIC5zbGljay1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgIH1cblxuICAgIC5zbGljay1wcmV2IHtcbiAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgfVxuXG4gICAgLnNsaWNrLW5leHQsXG4gICAgLnNsaWNrLXByZXYge1xuICAgICAgICB0b3A6IDMwJTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5zbGljay1hcnJvdyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLWRvdHMge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAtOTk5cHg7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9*/