-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.476bafdc841467f8b3df.js
3 lines (3 loc) · 149 KB
/
app.476bafdc841467f8b3df.js
1
2
3
/*! For license information please see app.476bafdc841467f8b3df.js.LICENSE.txt */
(self.webpackChunkforrestsun_com=self.webpackChunkforrestsun_com||[]).push([[524],{5356:(n,r,e)=>{"use strict";e(2508),e(2754);var t=e(4692),i=e.n(t),A=e(9441),o=e.n(A),a=(e(745),e(674),e(5072)),l=e.n(a),c=e(7825),s=e.n(c),f=e(7659),C=e.n(f),p=e(5056),d=e.n(p),m=e(540),g=e.n(m),h=e(1113),b=e.n(h),u=e(2795),x={};x.styleTagTransform=b(),x.setAttributes=d(),x.insert=C().bind(null,"head"),x.domAPI=s(),x.insertStyleElement=g(),l()(u.A,x),u.A&&u.A.locals&&u.A.locals;var v=e(6334),w=e.n(v),y=e(961),k=e(6540);function B(n){return B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},B(n)}function I(n,r){for(var e=0;e<r.length;e++){var t=r[e];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(n,J(t.key),t)}}function J(n){var r=function(n,r){if("object"!=B(n)||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=B(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==B(r)?r:r+""}function G(n,r,e){return r=S(r),function(n,r){if(r&&("object"===B(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return function(n){if(void 0===n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(n)}(n,z()?Reflect.construct(r,e||[],S(n).constructor):r.apply(n,e))}function z(){try{var n=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(n){}return(z=function(){return!!n})()}function S(n){return S=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},S(n)}function E(n,r){return E=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},E(n,r)}const U=function(n){function r(){var n;return function(n,r){if(!(n instanceof r))throw new TypeError("Cannot call a class as a function")}(this,r),(n=G(this,r)).state={value:""},n.handleChange=n.handleChange.bind(n),n}return function(n,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(r&&r.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),r&&E(n,r)}(r,n),e=r,(t=[{key:"handleChange",value:function(n){var r=n.target.value;this.setState((function(){return{value:r}}))}},{key:"render",value:function(){var n=this.props.items.map((function(n){return k.createElement("div",{key:n.title,className:"grid-item col-sm-6 col-md-3 col-lg-3 "+n.category},k.createElement("div",{className:"portfolio-item"},k.createElement("div",{className:"hover-bg"},k.createElement("a",{href:n.link,target:"_blank",title:n.description},k.createElement("div",{className:"hover-text"},k.createElement("h4",null,n.title),k.createElement("small",null,n.description)),k.createElement("img",{src:n.imgSmall,className:"img-fluid",alt:n.title})))))}));return k.createElement("div",{className:"grid-items row"},n)}}])&&I(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}(k.Component);var M=e(4856);function j(n,r){(null==r||r>n.length)&&(r=n.length);for(var e=0,t=new Array(r);e<r;e++)t[e]=n[e];return t}function Y(){var n,r,e=(0,M.S9)({end:30,duration:5,startOnMount:!1}),t=e.countUp,A=e.start,o=(0,M.S9)({end:11680,duration:5,startOnMount:!1}),a=o.countUp,l=o.start,c=(0,M.S9)({end:16,duration:5,startOnMount:!1}),s=c.countUp,f=c.start,C=(0,M.S9)({end:60,duration:5,startOnMount:!1}),p=C.countUp,d=C.start,m=(n=(0,k.useState)(0),r=2,function(n){if(Array.isArray(n))return n}(n)||function(n,r){var e=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=e){var t,i,A,o,a=[],l=!0,c=!1;try{if(A=(e=e.call(n)).next,0===r){if(Object(e)!==e)return;l=!1}else for(;!(l=(t=A.call(e)).done)&&(a.push(t.value),a.length!==r);l=!0);}catch(n){c=!0,i=n}finally{try{if(!l&&null!=e.return&&(o=e.return(),Object(o)!==o))return}finally{if(c)throw i}}return a}}(n,r)||function(n,r){if(n){if("string"==typeof n)return j(n,r);var e=Object.prototype.toString.call(n).slice(8,-1);return"Object"===e&&n.constructor&&(e=n.constructor.name),"Map"===e||"Set"===e?Array.from(n):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?j(n,r):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),g=m[0],h=m[1];return(0,k.useEffect)((function(){function n(n){i()(window).scrollTop()-i()("#achievements").offset().top+window.innerHeight>0&&0===g&&(A(),l(),f(),d(),h(1))}return window.addEventListener("scroll",n),function(){window.removeEventListener("scroll",n)}})),k.createElement("div",{className:"container"},k.createElement("div",{className:"section-title center"},k.createElement("h2",null,"Some Stats"),k.createElement("hr",null)),k.createElement("div",{className:"row"},k.createElement("div",{className:"col-md-3 col-sm-3 wow fadeInDown","data-wow-delay":"200ms"},k.createElement("div",{className:"achievement-box"},k.createElement("span",{className:"count"},t),k.createElement("h4",null,"Project Launched"))),k.createElement("div",{className:"col-md-3 col-sm-3 wow fadeInDown","data-wow-delay":"400ms"},k.createElement("div",{className:"achievement-box"},k.createElement("span",{className:"count"},a),k.createElement("h4",null,"Hours of Work"))),k.createElement("div",{className:"col-md-3 col-sm-3 wow fadeInDown","data-wow-delay":"800ms"},k.createElement("div",{className:"achievement-box"},k.createElement("span",{className:"count"},s),k.createElement("h4",null,"Years of Engineering Exp"))),k.createElement("div",{className:"col-md-3 col-sm-3 wow fadeInDown","data-wow-delay":"600ms"},k.createElement("div",{className:"achievement-box"},k.createElement("span",{className:"count"},p),k.createElement("h4",null,"Mountains Hiked")))))}var O=document.getElementById("portfolio-grid");O&&y.render(k.createElement(U,{items:[{title:"Quarks.art",description:"the ultimate vfx platform",category:"web app",imgSmall:"../img/projects/three.quarks.png",link:"//quarks.art"},{title:"Staroyale.io",description:"the best web spaceship battle royale",category:"web game",imgSmall:"../img/projects/staroyale.png",link:"//staroyale.io"},{title:"Quill VR",description:"the VR animation painter (Owned by Facebook)",category:"app",imgSmall:"../img/projects/quill.png",link:"//quill.fb.com"},{title:"geom2.js",description:"A light weight js geometry and physics engine",category:"web game",imgSmall:"../img/projects/geom2.js.png",link:"//github.com/Alchemist0823/geom2.js"},{title:"threejs.quarks",description:"the most comprehensive ThreeJs Particle System",category:"web game",imgSmall:"../img/projects/three.quarks.png",link:"//github.com/Alchemist0823/three.quarks"},{title:"Astrocraft",description:"A mobile strategy game that allows users to design their own units",category:"app game",imgSmall:"../img/projects/astro-craft.png",link:"//astro-craft.com"},{title:"Goodi (archived)",description:"An academic Question Marketplace",category:"app",imgSmall:"../img/projects/goodiinc.png",link:"//www.facebook.com/goodiinc"},{title:"Zener 3D Engine",description:"A Data-Centered Entity System 3D Game engine written in Java. It is a free software released under GNU GPL v3.",category:"app",imgSmall:"../img/projects/zener.png",link:"//github.com/Alchemist0823/zener"},{title:"My Minecraft Shop (archived)",description:"An integrated Minecraft Server shopping and website system supporting Chinese Alipay payment method and real-time virtual good transaction.",category:"server",imgSmall:"../img/projects/mymcshop.png",link:"//mymcshop.com"},{title:"OIer C++ (archived)",description:"An C++ integrated development environment for preparing algorithm compition and education purpose.",category:"app",imgSmall:"../img/projects/oiercpp.png",link:"//www.n8lm.cn/product/?id=1"},{title:"Tribe Age (unfinished)",description:"A Turn-based Strategy Role-Playing Game powered by Zener 3D Engine in development",category:"game",imgSmall:"../img/projects/zener.png",link:"//github.com/Alchemist0823/tribeage"}]}),O);var W=document.getElementById("achievements");W&&y.render(k.createElement(Y,null),W),i()((function(){o()("isotope",w(),i()),i()(".grid-items").isotope({itemSelector:".grid-item",percentPosition:!0,layoutMode:"fitRows",filter:"*",animationOptions:{duration:750,easing:"linear",queue:!1}}),i()(".cat a").click((function(){i()(".cat .active").removeClass("active"),i()(this).addClass("active");var n=i()(this).attr("data-filter");return i()(".grid-items").isotope({itemSelector:".grid-item",percentPosition:!0,layoutMode:"fitRows",filter:n,animationOptions:{duration:750,easing:"linear",queue:!1}}),!1}));var n=0;i()(document).scroll((function(){i()(window).scrollTop()-i()("#skills").offset().top+window.innerHeight>0&&(0===n&&i()(".chart").easyPieChart({size:152,lineWidth:8,barColor:"#121d1f",scaleColor:!1,easing:"easeOutBounce",onStep:function(n,r,e){i()(this.el).find(".percent").text(Math.round(e))}}),n++)}))}))},745:function(n,r,e){var t,i;function A(n){return A="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},A(n)}t=[e(4692)],void 0===(i=function(n){return e=function(n,r){var e,t=document.createElement("canvas");n.appendChild(t),"object"===("undefined"==typeof G_vmlCanvasManager?"undefined":A(G_vmlCanvasManager))&&G_vmlCanvasManager.initElement(t);var i=t.getContext("2d");t.width=t.height=r.size;var o=1;window.devicePixelRatio>1&&(o=window.devicePixelRatio,t.style.width=t.style.height=[r.size,"px"].join(""),t.width=t.height=r.size*o,i.scale(o,o)),i.translate(r.size/2,r.size/2),i.rotate((r.rotate/180-.5)*Math.PI);var a=(r.size-r.lineWidth)/2;r.scaleColor&&r.scaleLength&&(a-=r.scaleLength+2),Date.now=Date.now||function(){return+new Date};var l=function(n,r,e){var t=(e=Math.min(Math.max(-1,e||0),1))<=0;i.beginPath(),i.arc(0,0,a,0,2*Math.PI*e,t),i.strokeStyle=n,i.lineWidth=r,i.stroke()},c=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(n){window.setTimeout(n,1e3/60)},s=function(){r.scaleColor&&function(){var n,e;i.lineWidth=1,i.fillStyle=r.scaleColor,i.save();for(var t=24;t>0;--t)t%6==0?(e=r.scaleLength,n=0):(e=.6*r.scaleLength,n=r.scaleLength-e),i.fillRect(-r.size/2+n,0,e,1),i.rotate(Math.PI/12);i.restore()}(),r.trackColor&&l(r.trackColor,r.trackWidth||r.lineWidth,1)};this.getCanvas=function(){return t},this.getCtx=function(){return i},this.clear=function(){i.clearRect(r.size/-2,r.size/-2,r.size,r.size)},this.draw=function(n){var t;r.scaleColor||r.trackColor?i.getImageData&&i.putImageData?e?i.putImageData(e,0,0):(s(),e=i.getImageData(0,0,r.size*o,r.size*o)):(this.clear(),s()):this.clear(),i.lineCap=r.lineCap,t="function"==typeof r.barColor?r.barColor(n):r.barColor,l(t,r.lineWidth,n/100)}.bind(this),this.animate=function(n,e){var t=Date.now();r.onStart(n,e);var i=function(){var A=Math.min(Date.now()-t,r.animate.duration),o=r.easing(this,A,n,e-n,r.animate.duration);this.draw(o),r.onStep(n,e,o),A>=r.animate.duration?r.onStop(n,e):c(i)}.bind(this);c(i)}.bind(this)},t=function(n,r){var t={barColor:"#ef1e25",trackColor:"#f9f9f9",scaleColor:"#dfe0e0",scaleLength:5,lineCap:"round",lineWidth:3,trackWidth:void 0,size:110,rotate:0,animate:{duration:1e3,enabled:!0},easing:function(n,r,e,t,i){return(r/=i/2)<1?t/2*r*r+e:-t/2*(--r*(r-2)-1)+e},onStart:function(n,r){},onStep:function(n,r,e){},onStop:function(n,r){}};if(void 0!==e)t.renderer=e;else{if("undefined"==typeof SVGRenderer)throw new Error("Please load either the SVG- or the CanvasRenderer");t.renderer=SVGRenderer}var i={},A=0,o=function(){for(var e in this.el=n,this.options=i,t)t.hasOwnProperty(e)&&(i[e]=r&&void 0!==r[e]?r[e]:t[e],"function"==typeof i[e]&&(i[e]=i[e].bind(this)));"string"==typeof i.easing&&"undefined"!=typeof jQuery&&jQuery.isFunction(jQuery.easing[i.easing])?i.easing=jQuery.easing[i.easing]:i.easing=t.easing,"number"==typeof i.animate&&(i.animate={duration:i.animate,enabled:!0}),"boolean"!=typeof i.animate||i.animate||(i.animate={duration:1e3,enabled:i.animate}),this.renderer=new i.renderer(n,i),this.renderer.draw(A),n.dataset&&n.dataset.percent?this.update(parseFloat(n.dataset.percent)):n.getAttribute&&n.getAttribute("data-percent")&&this.update(parseFloat(n.getAttribute("data-percent")))}.bind(this);this.update=function(n){return n=parseFloat(n),i.animate.enabled?this.renderer.animate(A,n):this.renderer.draw(n),A=n,this}.bind(this),this.disableAnimation=function(){return i.animate.enabled=!1,this},this.enableAnimation=function(){return i.animate.enabled=!0,this},o()},void((r=n).fn.easyPieChart=function(n){return this.each((function(){var e;r.data(this,"easyPieChart")||(e=r.extend({},n,r(this).data()),r.data(this,"easyPieChart",new t(this,e)))}))});var r,e,t}.apply(r,t))||(n.exports=i)},2795:(n,r,e)=>{"use strict";e.d(r,{A:()=>C});var t=e(1354),i=e.n(t),A=e(6314),o=e.n(A),a=e(4417),l=e.n(a),c=new URL(e(9742),e.b),s=o()(i()),f=l()(c);s.push([n.id,`body,html{font-family:"Open Sans",sans-serif;text-rendering:optimizeLegibility !important;-webkit-font-smoothing:antialiased !important;color:#656c6d;width:100% !important;scroll-behavior:smooth}h1{font-weight:700}h1 strong{font-weight:900}h2{line-height:20px;margin:0;color:#121d1f;font-weight:400;margin-bottom:30px;font-size:34px}h3,h4{color:#121d1f;font-size:20px;font-weight:600}h5{text-transform:uppercase;font-weight:700;line-height:20px}p.intro{font-size:16px;margin:12px 0 0;line-height:24px;font-family:"Open Sans",sans-serif}a{color:#333}a:hover,a:focus{text-decoration:none;color:#6aacb8}ul,ol{list-style:none}.clearfix:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}.clearfix{display:inline-block}* html .clearfix{height:1%}.clearfix{display:block}ul,ol{padding:0;webkit-padding:0;moz-padding:0}hr{height:4px;width:70px;text-align:center;position:relative;background:#6aacb8;margin:0 auto;margin-bottom:30px;border:0}#nav{z-index:9999;position:-webkit-sticky;position:sticky;top:0}.navbar-custom{margin-bottom:0;background-color:#121d1f;border-radius:0;padding:10px 0}.navbar-custom .navbar-brand{font-weight:600}.navbar-custom .navbar-brand .navbar-toggler:focus,.navbar-custom .navbar-brand .navbar-toggler:active{outline:0}.navbar-custom .navbar-brand .navbar-toggler{padding:4px 6px;font-size:16px;color:#fff}.navbar-custom .navbar-brand .navbar-toggler i.fas{font-size:16px;color:#fff}.navbar-custom .navbar-brand:focus{outline:0}.navbar-custom a{color:#f4f5f6}.navbar-custom .nav li a{text-transform:uppercase;letter-spacing:1px;-webkit-transition:background .3s ease-in-out;-moz-transition:background .3s ease-in-out;transition:background .3s ease-in-out}.navbar-custom .nav li a:hover{outline:0;color:#6aacb8;background-color:rgba(0,0,0,0)}.navbar-custom .nav li a:focus,.navbar-custom .nav li a:active{outline:0;background-color:rgba(0,0,0,0);color:#6aacb8}.navbar-custom .nav li.active{outline:0}.navbar-custom .nav li.active a{background-color:rgba(255,255,255,.3)}.navbar-custom .nav li.active a:hover{color:#fff}.btn-default{color:#fff;background-color:rgba(0,0,0,0);border-color:#fff;padding:10px 20px;margin:0;font-size:16px;border-radius:0}.btn-default:hover,.btn-default:focus,.btn-default.focus,.btn-default:active,.btn-default.active{color:#fff;background-color:#121d1f;border-color:#121d1f}.btn-primary{color:#fff;background-color:#121d1f;padding:10px 20px;border-color:#121d1f;border-radius:0}.btn-primary:hover,.btn-primary:focus,.btn-primary.focus,.btn-primary:active,.btn-primary.active{color:#fff;background-color:#6aacb8;border-color:#6aacb8}.btn-primary i.fa{margin-right:10px}.intro{display:table;width:100%;height:auto;padding:100px 0;text-align:center;color:#fff;background:url(${f}) no-repeat center top;background-color:#6aacb8;-webkit-background-size:cover;-moz-background-size:cover;background-size:cover;-o-background-size:cover}.section-title.center{padding:25px 0 45px 0}#about{padding:100px 0;background:#f6f6f6}#about div{margin-bottom:20px}#about .about-text{margin-left:10px}#about img{border-radius:50%;width:200px;height:200px;display:inline-block}#about p{font-size:16pt;margin-top:20px;margin-bottom:20px}#skills{padding:100px 0;background:#6aacb8}#skills h2{color:#fff}#skills hr{background:rgba(255,255,255,.3)}#skills .skill{margin-bottom:40px;text-align:center;padding:0}#skills .skill h4{font-weight:600;color:#fff}.chart{position:relative;display:inline-block;width:152px;height:152px;margin-bottom:26px;text-align:center}.chart canvas{position:absolute;top:0;left:0}.chart .percent{display:inline-block;font-size:21px;color:#121d1f;line-height:152px;z-index:2}.chart .percent:after{content:"%";margin-left:.1em;font-size:.8em}#portfolio{padding:80px 0;background:#fff;background:-moz-linear-gradient(top, #ffffff 0%, #f4f5f6 49%, #ffffff 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(49%, #f4f5f6), color-stop(100%, #ffffff));background:-webkit-linear-gradient(top, #ffffff 0%, #f4f5f6 49%, #ffffff 100%);background:-o-linear-gradient(top, #ffffff 0%, #f4f5f6 49%, #ffffff 100%);background:-ms-linear-gradient(top, #ffffff 0%, #f4f5f6 49%, #ffffff 100%);background:linear-gradient(to bottom, #ffffff 0%, #f4f5f6 49%, #ffffff 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#ffffff", GradientType=0)}.categories{padding-bottom:30px;text-align:center}ul.cat li{display:inline-block}ol.type li{display:inline-block;margin-left:20px}ol.type li a{background:#6aacb8;color:#fff;padding:6px 14px}ol.type li a.active{background:#121d1f;color:#fff}ol.type li a:hover{background:#121d1f;color:#fff}.isotope-item{z-index:2}.isotope-hidden.isotope-item{z-index:1}.isotope,.isotope .isotope-item{-webkit-transition-duration:.8s;-moz-transition-duration:.8s;transition-duration:.8s}.isotope-item{margin-right:-1px;-webkit-backface-visibility:hidden;backface-visibility:hidden}.isotope{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition-property:height,width;-moz-transition-property:height,width;transition-property:height,width}.isotope .isotope-item{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform,opacity;transition-property:transform,opacity}.portfolio-item{margin:15px 0;-webkit-transition:all .5s ease-out;-moz-transition:all .5s ease-out;-ms-transition:all .5s ease-out;-o-transition:all .5s ease-out;transition:all .5s ease-out}.portfolio-item:hover{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}.portfolio-item .hover-bg{height:260px;overflow:hidden;position:relative}.hover-bg .hover-text{position:absolute;text-align:center;margin:0 auto;color:#fff;background:rgba(0,0,0,.66);padding:33% 0 0 0;height:100%;width:100%;opacity:0;transition:all .5s}.hover-bg .hover-text>h4{opacity:0;color:#fff;font-weight:400;-webkit-transform:translateY(100%);transform:translateY(100%);transition:all .3s}.hover-bg:hover .hover-text>h4{opacity:1;-webkit-backface-visibility:hidden;-webkit-transform:translateY(0);transform:translateY(0)}.hover-bg .hover-text>i{opacity:0;-webkit-transform:translateY(0);transform:translateY(0);transition:all .3s}.hover-bg:hover .hover-text>i{opacity:1;-webkit-backface-visibility:hidden;-webkit-transform:translateY(100%);transform:translateY(100%)}.hover-bg:hover .hover-text{opacity:1}#portfolio i.fa{font-size:20px;padding:5px;color:#e87e04}#achievements{padding:100px 0;background:#6aacb8}#achievements h2{color:#fff}#achievements hr{background:rgba(255,255,255,.3)}.achievement-box h4{color:#fff;font-size:20px;font-weight:400;margin-left:5px}.achievement-box span.count{font-size:52px;font-weight:600;display:block;color:#121d1f;padding:0;margin:0}#resume{padding:100px 0;background:#f6f6f6}.timeline{position:relative;padding:0;list-style:none}.timeline:before{content:"";position:absolute;top:0;bottom:0;left:40px;width:2px;margin-left:-1.5px;background-color:#eee}.timeline>li{position:relative;margin-bottom:50px;min-height:50px}.timeline>li:before,.timeline>li:after{content:" ";display:table}.timeline>li:after{clear:both}.timeline>li .timeline-panel{float:right;position:relative;width:100%;padding:0 20px 0 100px;text-align:left}.timeline>li .timeline-panel:before{right:auto;left:-15px;border-right-width:15px;border-left-width:0}.timeline>li .timeline-panel:after{right:auto;left:-14px;border-right-width:14px;border-left-width:0}.timeline>li .timeline-image{z-index:100;position:absolute;left:0;width:70px;height:70px;margin-left:0;border:1px solid #eee;border-radius:100%;text-align:center;background:#fff}.timeline>li .timeline-image h4{margin-top:20px;font-size:14px;text-transform:uppercase}.timeline>li.timeline-inverted>.timeline-panel{float:right;padding:0 20px 0 100px;text-align:left}.timeline>li.timeline-inverted>.timeline-panel:before{right:auto;left:-15px;border-right-width:15px;border-left-width:0}.timeline>li.timeline-inverted>.timeline-panel:after{right:auto;left:-14px;border-right-width:14px;border-left-width:0}.timeline>li:last-child{margin-bottom:40px}.timeline .timeline-heading h4{margin-top:0;text-transform:uppercase;font-size:16px}.timeline .timeline-heading h2{margin-top:30px}.timeline .timeline-heading h4.subheading{text-transform:none;color:#629ca7;font-size:20px}.timeline .timeline-body>p,.timeline .timeline-body>ul{margin-bottom:0}#contact{padding:100px 0 40px 0;color:#121d1f;background:#6aacb8}#contact h2{color:#fff}#contact hr{background:rgba(255,255,255,.3)}#contact h3{padding-top:20px;font-size:20px;font-weight:400;color:#fff}#contact i.fab,#contact i.fas,#contact i.fa{color:#121d1f;margin-bottom:10px;transition:all .5s}#contact a{color:#121d1f;transition:all .5s}#contact a i.fab:hover,#contact a i.fas:hover,#contact a i.fa:hover{color:#fff}#contact a:hover{color:#fff}#contact .social i.fab,#contact .social i.fas,#contact .social i.fa{color:#fff}#contact .social i.fab:hover,#contact .social i.fas:hover{color:#121d1f}#contact form{padding:30px 0}#contact .text-danger{color:#e87e04;text-align:left}label{font-size:12px;font-weight:400;font-family:"Open Sans",sans-serif;float:left}#contact .form-control{display:block;width:100%;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#2c3e50;background-color:rgba(255,255,255,.8);background-image:none;border:0;border-radius:2px;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:none;-o-transition:none;transition:none}#contact .form-control:focus{border-color:inherit;outline:0;-webkit-box-shadow:rgba(0,0,0,0);box-shadow:rgba(0,0,0,0)}.form-control::-webkit-input-placeholder{color:#2c3e50}.form-control:-moz-placeholder{color:#2c3e50}.form-control::-moz-placeholder{color:#2c3e50}.form-control:-ms-input-placeholder{color:#2c3e50}.social ul li{display:inline-block;margin:0 8px}.social i.fab,.social i.fas,.social i.fa{font-size:30px;color:#fff;transition:all .5s}.social i.fab:hover,.social i.fas:hover{color:#121d1f}#contact .social{margin-top:60px}#contact .social ul li{margin:0 20px}#contact .social i.fab,#contact .social i.fas{padding:4px 5px}#contact .btn{background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:0;padding:10px 20px;color:#fff;margin-top:15px}#contact .btn:hover,#contact #contact .btn:focus{background-color:#121d1f;border:1px solid #121d1f}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:none;box-shadow:none}a:focus,.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:none;outline-offset:0}#footer{background:#121d1f;color:#7d8384;padding:30px 0 25px 0}#footer p{font-size:13px}#footer a{color:#a0a5a5}#footer a:hover{color:#6aacb8}@media(min-width: 768px){.intro{height:100%;padding:0;text-align:left;color:#fff}.intro h1{font-size:60px;font-weight:500;letter-spacing:-2px}.intro .name{font-weight:600}.intro .intro-text{max-width:75%}.intro .intro-text p{font-family:"Lato",sans-serif;font-size:20px;margin-bottom:20px;margin-top:20px}.intro .intro-text a{margin-top:20px}section{padding:120px 0}header .intro-text{padding-top:300px;padding-bottom:140px}.timeline:before{left:50%}.timeline>li{margin-bottom:100px;min-height:100px}.timeline>li .timeline-panel{float:left;width:41%;padding:0 20px 20px 30px;text-align:right}.timeline>li .timeline-image{left:50%;width:100px;height:100px;margin-left:-50px}.timeline>li .timeline-image h4{margin-top:16px;line-height:18px;font-weight:400}.timeline>li.timeline-inverted>.timeline-panel{float:right;padding:0 30px 20px 20px;text-align:left}}@media(min-width: 992px){#here-me h1{margin:10px 0 0px}.timeline>li{min-height:150px}.timeline>li .timeline-panel{padding:0 20px 20px}.timeline>li .timeline-image{width:150px;height:150px;margin-left:-75px}.timeline>li .timeline-image h4{margin-top:30px;font-size:18px;line-height:26px}.timeline>li.timeline-inverted>.timeline-panel{padding:0 20px 20px}}@media(min-width: 1200px){.timeline>li{min-height:170px}.timeline>li .timeline-panel{padding:10px 20px 20px 100px}.timeline>li .timeline-image{width:150px;height:150px;margin-left:-75px}.timeline>li .timeline-image h4{margin-top:40px;font-weight:400}.timeline>li.timeline-inverted>.timeline-panel{padding:10px 100px 20px 20px}}`,"",{version:3,sources:["webpack://./src/css/style.scss"],names:[],mappings:"AAGA,UACI,kCAAA,CACA,4CAAA,CACA,6CAAA,CACA,aAAA,CACA,qBAAA,CACA,sBAAA,CAGJ,GACI,eAAA,CAGJ,UACI,eAAA,CAGJ,GACI,gBAAA,CACA,QAAA,CACA,aAvBY,CAwBZ,eAAA,CACA,kBAAA,CACA,cAAA,CAGJ,MACI,aA9BY,CA+BZ,cAAA,CACA,eAAA,CAGJ,GACI,wBAAA,CACA,eAAA,CACA,gBAAA,CAGJ,QACI,cAAA,CACA,eAAA,CACA,gBAAA,CACA,kCAAA,CAGJ,EACI,UAAA,CAGJ,gBACI,oBAAA,CACA,aArDc,CAwDlB,MACI,eAAA,CAGJ,gBACI,iBAAA,CACA,aAAA,CACA,WAAA,CACA,WAAA,CACA,UAAA,CACA,QAAA,CAGJ,UACI,oBAAA,CAGJ,iBACI,SAAA,CAGJ,UACI,aAAA,CAGJ,MACI,SAAA,CACA,gBAAA,CACA,aAAA,CAGJ,GACI,UAAA,CACA,UAAA,CACA,iBAAA,CACA,iBAAA,CACA,kBA5Fc,CA6Fd,aAAA,CACA,kBAAA,CACA,QAAA,CAKJ,KACI,YAAA,CACA,uBAAA,CACA,eAAA,CACA,KAAA,CAGJ,eACI,eAAA,CACA,wBA9GY,CA+GZ,eAAA,CACA,cAAA,CAEA,6BACI,eAAA,CAEA,uGACI,SAAA,CAGJ,6CACI,eAAA,CACA,cAAA,CACA,UAAA,CACA,mDACI,cAAA,CACA,UAAA,CAKZ,mCACI,SAAA,CAGJ,iBACI,aAAA,CAGJ,yBACI,wBAAA,CACA,kBAAA,CACA,6CAAA,CACA,0CAAA,CACA,qCAAA,CAGJ,+BACI,SAAA,CACA,aArJU,CAsJV,8BAAA,CAGJ,+DACI,SAAA,CACA,8BAAA,CACA,aA5JU,CA+Jd,8BACI,SAAA,CAGJ,gCACI,qCAAA,CAGJ,sCACI,UAAA,CAIR,aACI,UAAA,CACA,8BAAA,CACA,iBAAA,CACA,iBAAA,CACA,QAAA,CACA,cAAA,CACA,eAAA,CAGJ,iGACI,UAAA,CACA,wBAzLY,CA0LZ,oBA1LY,CA6LhB,aACI,UAAA,CACA,wBA/LY,CAgMZ,iBAAA,CACA,oBAjMY,CAkMZ,eAAA,CAGJ,iGACI,UAAA,CACA,wBAtMc,CAuMd,oBAvMc,CA0MlB,kBACI,iBAAA,CAIJ,OACI,aAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,iBAAA,CACA,UAAA,CACA,uEAAA,CACA,wBAvNc,CAwNd,6BAAA,CACA,0BAAA,CACA,qBAAA,CACA,wBAAA,CAGJ,sBACI,qBAAA,CAIJ,OACI,eAAA,CACA,kBAAA,CAGJ,WACI,kBAAA,CAGJ,mBACI,gBAAA,CAGJ,WACI,iBAAA,CACA,WAAA,CACA,YAAA,CACA,oBAAA,CAGJ,SACI,cAAA,CACA,eAAA,CACA,kBAAA,CAIJ,QACI,eAAA,CACA,kBAhQc,CAkQd,WACI,UAAA,CAGJ,WACI,+BAAA,CAGJ,eACI,kBAAA,CACA,iBAAA,CACA,SAAA,CAEA,kBACI,eAAA,CACA,UAAA,CAKZ,OACI,iBAAA,CACA,oBAAA,CACA,WAAA,CACA,YAAA,CACA,kBAAA,CACA,iBAAA,CAEA,cACI,iBAAA,CACA,KAAA,CACA,MAAA,CAGJ,gBACI,oBAAA,CACA,cAAA,CACA,aAxSQ,CAySR,iBAAA,CACA,SAAA,CAGJ,sBACI,WAAA,CACA,gBAAA,CACA,cAAA,CAKR,WACI,cAAA,CACA,eAAA,CACA,2EAAA,CACA,wIAAA,CACA,8EAAA,CACA,yEAAA,CACA,0EAAA,CACA,4EAAA,CACA,iHAAA,CAGJ,YACI,mBAAA,CACA,iBAAA,CAGJ,UACI,oBAAA,CAGJ,WACI,oBAAA,CACA,gBAAA,CAGJ,aACI,kBA/Uc,CAgVd,UAAA,CACA,gBAAA,CAGJ,oBACI,kBAtVY,CAuVZ,UAAA,CAGJ,mBACI,kBA3VY,CA4VZ,UAAA,CAGJ,cACI,SAAA,CAGJ,6BACI,SAAA,CAGJ,gCAEI,+BAAA,CACA,4BAAA,CACA,uBAAA,CAGJ,cACI,iBAAA,CACA,kCAAA,CACA,0BAAA,CAGJ,SACI,kCAAA,CACA,0BAAA,CACA,wCAAA,CACA,qCAAA,CACA,gCAAA,CAGJ,uBACI,kCAAA,CACA,0BAAA,CACA,qDAAA,CACA,+CAAA,CACA,qCAAA,CAGJ,gBACI,aAAA,CACA,mCAAA,CACA,gCAAA,CACA,+BAAA,CACA,8BAAA,CACA,2BAAA,CAGJ,sBACI,4BAAA,CACA,yBAAA,CACA,wBAAA,CACA,uBAAA,CACA,oBAAA,CAGJ,0BACI,YAAA,CACA,eAAA,CACA,iBAAA,CAGJ,sBACI,iBAAA,CACA,iBAAA,CACA,aAAA,CACA,UAAA,CACA,0BAAA,CACA,iBAAA,CACA,WAAA,CACA,UAAA,CACA,SAAA,CACA,kBAAA,CAGJ,yBACI,SAAA,CACA,UAAA,CACA,eAAA,CACA,kCAAA,CACA,0BAAA,CACA,kBAAA,CAGJ,+BACI,SAAA,CACA,kCAAA,CACA,+BAAA,CACA,uBAAA,CAGJ,wBACI,SAAA,CACA,+BAAA,CACA,uBAAA,CACA,kBAAA,CAGJ,8BACI,SAAA,CACA,kCAAA,CACA,kCAAA,CACA,0BAAA,CAGJ,4BACI,SAAA,CAGJ,gBACI,cAAA,CACA,WAAA,CACA,aAAA,CAIJ,cACI,eAAA,CACA,kBAldc,CAqdlB,iBACI,UAAA,CAGJ,iBACI,+BAAA,CAGJ,oBACI,UAAA,CACA,cAAA,CACA,eAAA,CACA,eAAA,CAGJ,4BACI,cAAA,CACA,eAAA,CACA,aAAA,CACA,aAzeY,CA0eZ,SAAA,CACA,QAAA,CAIJ,QACI,eAAA,CACA,kBAAA,CAGJ,UACI,iBAAA,CACA,SAAA,CACA,eAAA,CAGJ,iBACI,UAAA,CACA,iBAAA,CACA,KAAA,CACA,QAAA,CACA,SAAA,CACA,SAAA,CACA,kBAAA,CACA,qBAAA,CAGJ,aACI,iBAAA,CACA,kBAAA,CACA,eAAA,CAGJ,uCACI,WAAA,CACA,aAAA,CAGJ,mBACI,UAAA,CAGJ,6BACI,WAAA,CACA,iBAAA,CACA,UAAA,CACA,sBAAA,CACA,eAAA,CAGJ,oCACI,UAAA,CACA,UAAA,CACA,uBAAA,CACA,mBAAA,CAGJ,mCACI,UAAA,CACA,UAAA,CACA,uBAAA,CACA,mBAAA,CAGJ,6BACI,WAAA,CACA,iBAAA,CACA,MAAA,CACA,UAAA,CACA,WAAA,CACA,aAAA,CACA,qBAAA,CACA,kBAAA,CACA,iBAAA,CACA,eAAA,CAGJ,gCACI,eAAA,CACA,cAAA,CACA,wBAAA,CAGJ,+CACI,WAAA,CACA,sBAAA,CACA,eAAA,CAGJ,sDACI,UAAA,CACA,UAAA,CACA,uBAAA,CACA,mBAAA,CAGJ,qDACI,UAAA,CACA,UAAA,CACA,uBAAA,CACA,mBAAA,CAGJ,wBACI,kBAAA,CAGJ,+BACI,YAAA,CACA,wBAAA,CACA,cAAA,CAGJ,+BACI,eAAA,CAGJ,0CACI,mBAAA,CACA,aAAA,CACA,cAAA,CAGJ,uDACI,eAAA,CAIJ,SACI,sBAAA,CACA,aA5mBY,CA6mBZ,kBA5mBc,CA8mBd,YACI,UAAA,CAGJ,YACI,+BAAA,CAGJ,YACI,gBAAA,CACA,cAAA,CACA,eAAA,CACA,UAAA,CAGJ,4CACI,aA/nBQ,CAgoBR,kBAAA,CACA,kBAAA,CAGJ,WACI,aAroBQ,CAsoBR,kBAAA,CAEA,oEACI,UAAA,CAIR,iBACI,UAAA,CAIA,oEACI,UAAA,CAGJ,0DACI,aAvpBI,CA4pBhB,cACI,cAAA,CAGJ,sBACI,aAAA,CACA,eAAA,CAGJ,MACI,cAAA,CACA,eAAA,CACA,kCAAA,CACA,UAAA,CAGJ,uBACI,aAAA,CACA,UAAA,CACA,gBAAA,CACA,cAAA,CACA,sBAAA,CACA,aAAA,CACA,qCAAA,CACA,qBAAA,CACA,QAAA,CACA,iBAAA,CACA,uBAAA,CACA,eAAA,CACA,uBAAA,CACA,kBAAA,CACA,eAAA,CAGJ,6BACI,oBAAA,CACA,SAAA,CACA,gCAAA,CACA,wBAAA,CAGJ,yCACI,aAAA,CAGJ,+BACI,aAAA,CAGJ,gCACI,aAAA,CAGJ,oCACI,aAAA,CAKA,cACI,oBAAA,CACA,YAAA,CAGJ,yCACI,cAAA,CACA,UAAA,CACA,kBAAA,CAGJ,wCACI,aAnuBQ,CAwuBZ,iBACI,eAAA,CAGJ,uBACI,aAAA,CAGJ,8CACI,eAAA,CAGJ,cACI,8BAAA,CACA,qBAAA,CACA,eAAA,CACA,iBAAA,CACA,UAAA,CACA,eAAA,CAGJ,iDACI,wBA9vBQ,CA+vBR,wBAAA,CAIR,wBACI,qBAAA,CACA,SAAA,CACA,uBAAA,CACA,eAAA,CAGJ,sGACI,YAAA,CACA,gBAAA,CAIJ,QACI,kBAjxBY,CAkxBZ,aAAA,CACA,qBAAA,CAGJ,UACI,cAAA,CAGJ,UACI,aAAA,CAGJ,gBACI,aA9xBc,CAkyBlB,yBACI,OACI,WAAA,CACA,SAAA,CACA,eAAA,CACA,UAAA,CAEJ,UACI,cAAA,CACA,eAAA,CACA,mBAAA,CAEJ,aACI,eAAA,CAEJ,mBACI,aAAA,CAEJ,qBACI,6BAAA,CACA,cAAA,CACA,kBAAA,CACA,eAAA,CAEJ,qBACI,eAAA,CAEJ,QACI,eAAA,CAEJ,mBACI,iBAAA,CACA,oBAAA,CAEJ,iBACI,QAAA,CAEJ,aACI,mBAAA,CACA,gBAAA,CAEJ,6BACI,UAAA,CACA,SAAA,CACA,wBAAA,CACA,gBAAA,CAEJ,6BACI,QAAA,CACA,WAAA,CACA,YAAA,CACA,iBAAA,CAEJ,gCACI,eAAA,CACA,gBAAA,CACA,eAAA,CAEJ,+CACI,WAAA,CACA,wBAAA,CACA,eAAA,CAAA,CAIR,yBACI,YACI,iBAAA,CAEJ,aACI,gBAAA,CAEJ,6BACI,mBAAA,CAEJ,6BACI,WAAA,CACA,YAAA,CACA,iBAAA,CAEJ,gCACI,eAAA,CACA,cAAA,CACA,gBAAA,CAEJ,+CACI,mBAAA,CAAA,CAIR,0BACI,aACI,gBAAA,CAEJ,6BACI,4BAAA,CAEJ,6BACI,WAAA,CACA,YAAA,CACA,iBAAA,CAEJ,gCACI,eAAA,CACA,eAAA,CAEJ,+CACI,4BAAA,CAAA",sourcesContent:["$primary-color: #121d1f;\r\n$secondary-color: #6AACB8;\r\n\r\nbody, html {\r\n font-family: 'Open Sans', sans-serif;\r\n text-rendering: optimizeLegibility !important;\r\n -webkit-font-smoothing: antialiased !important;\r\n color: #656c6d;\r\n width: 100% !important;\r\n scroll-behavior: smooth;\r\n}\r\n\r\nh1 {\r\n font-weight: 700;\r\n}\r\n\r\nh1 strong {\r\n font-weight: 900;\r\n}\r\n\r\nh2 {\r\n line-height: 20px;\r\n margin: 0;\r\n color: $primary-color;\r\n font-weight: 400;\r\n margin-bottom: 30px;\r\n font-size: 34px;\r\n}\r\n\r\nh3, h4 {\r\n color: $primary-color;\r\n font-size: 20px;\r\n font-weight: 600;\r\n}\r\n\r\nh5 {\r\n text-transform: uppercase;\r\n font-weight: 700;\r\n line-height: 20px;\r\n}\r\n\r\np.intro {\r\n font-size: 16px;\r\n margin: 12px 0 0;\r\n line-height: 24px;\r\n font-family: 'Open Sans', sans-serif;\r\n}\r\n\r\na {\r\n color: #333;\r\n}\r\n\r\na:hover, a:focus {\r\n text-decoration: none;\r\n color: $secondary-color;\r\n}\r\n\r\nul, ol {\r\n list-style: none;\r\n}\r\n\r\n.clearfix:after {\r\n visibility: hidden;\r\n display: block;\r\n font-size: 0;\r\n content: \" \";\r\n clear: both;\r\n height: 0;\r\n}\r\n\r\n.clearfix {\r\n display: inline-block;\r\n}\r\n\r\n* html .clearfix {\r\n height: 1%;\r\n}\r\n\r\n.clearfix {\r\n display: block;\r\n}\r\n\r\nul, ol {\r\n padding: 0;\r\n webkit-padding: 0;\r\n moz-padding: 0;\r\n}\r\n\r\nhr {\r\n height: 4px;\r\n width: 70px;\r\n text-align: center;\r\n position: relative;\r\n background: $secondary-color;\r\n margin: 0 auto;\r\n margin-bottom: 30px;\r\n border: 0;\r\n}\r\n\r\n/* Navigation */\r\n\r\n#nav {\r\n z-index: 9999;\r\n position: -webkit-sticky;\r\n position: sticky;\r\n top: 0;\r\n}\r\n\r\n.navbar-custom {\r\n margin-bottom: 0;\r\n background-color: $primary-color;\r\n border-radius: 0;\r\n padding: 10px 0;\r\n\r\n .navbar-brand {\r\n font-weight: 600;\r\n\r\n .navbar-toggler:focus, .navbar-toggler:active {\r\n outline: 0;\r\n }\r\n\r\n .navbar-toggler {\r\n padding: 4px 6px;\r\n font-size: 16px;\r\n color: #fff;\r\n i.fas {\r\n font-size: 16px;\r\n color: #fff;\r\n }\r\n }\r\n }\r\n\r\n .navbar-brand:focus {\r\n outline: 0;\r\n }\r\n\r\n a {\r\n color: #f4f5f6;\r\n }\r\n\r\n .nav li a {\r\n text-transform: uppercase;\r\n letter-spacing: 1px;\r\n -webkit-transition: background .3s ease-in-out;\r\n -moz-transition: background .3s ease-in-out;\r\n transition: background .3s ease-in-out;\r\n }\r\n\r\n .nav li a:hover {\r\n outline: 0;\r\n color: $secondary-color;\r\n background-color: transparent;\r\n }\r\n\r\n .nav li a:focus, .nav li a:active {\r\n outline: 0;\r\n background-color: transparent;\r\n color: $secondary-color;\r\n }\r\n\r\n .nav li.active {\r\n outline: 0;\r\n }\r\n\r\n .nav li.active a {\r\n background-color: rgba(255, 255, 255, .3);\r\n }\r\n\r\n .nav li.active a:hover {\r\n color: #fff;\r\n }\r\n}\r\n\r\n.btn-default {\r\n color: #fff;\r\n background-color: transparent;\r\n border-color: #fff;\r\n padding: 10px 20px;\r\n margin: 0;\r\n font-size: 16px;\r\n border-radius: 0;\r\n}\r\n\r\n.btn-default:hover, .btn-default:focus, .btn-default.focus, .btn-default:active, .btn-default.active {\r\n color: #fff;\r\n background-color: $primary-color;\r\n border-color: $primary-color;\r\n}\r\n\r\n.btn-primary {\r\n color: #fff;\r\n background-color: $primary-color;\r\n padding: 10px 20px;\r\n border-color: $primary-color;\r\n border-radius: 0;\r\n}\r\n\r\n.btn-primary:hover, .btn-primary:focus, .btn-primary.focus, .btn-primary:active, .btn-primary.active {\r\n color: #fff;\r\n background-color: $secondary-color;\r\n border-color: $secondary-color;\r\n}\r\n\r\n.btn-primary i.fa {\r\n margin-right: 10px;\r\n}\r\n\r\n/* Home Section */\r\n.intro {\r\n display: table;\r\n width: 100%;\r\n height: auto;\r\n padding: 100px 0;\r\n text-align: center;\r\n color: #fff;\r\n background: url(../img/intro-bg3.jpg) no-repeat center top;\r\n background-color: $secondary-color;\r\n -webkit-background-size: cover;\r\n -moz-background-size: cover;\r\n background-size: cover;\r\n -o-background-size: cover;\r\n}\r\n\r\n.section-title.center {\r\n padding: 25px 0 45px 0;\r\n}\r\n\r\n/* About Section */\r\n#about {\r\n padding: 100px 0;\r\n background: #f6f6f6;\r\n}\r\n\r\n#about div {\r\n margin-bottom: 20px;\r\n}\r\n\r\n#about .about-text {\r\n margin-left: 10px;\r\n}\r\n\r\n#about img {\r\n border-radius: 50%;\r\n width: 200px;\r\n height: 200px;\r\n display: inline-block;\r\n}\r\n\r\n#about p {\r\n font-size: 16pt;\r\n margin-top: 20px;\r\n margin-bottom: 20px;\r\n}\r\n\r\n/* Skills Section */\r\n#skills {\r\n padding: 100px 0;\r\n background: $secondary-color;\r\n\r\n h2 {\r\n color: #fff;\r\n }\r\n\r\n hr {\r\n background: rgba(255, 255, 255, 0.3);\r\n }\r\n\r\n .skill {\r\n margin-bottom: 40px;\r\n text-align: center;\r\n padding: 0;\r\n\r\n h4 {\r\n font-weight: 600;\r\n color: #fff;\r\n }\r\n }\r\n}\r\n\r\n.chart {\r\n position: relative;\r\n display: inline-block;\r\n width: 152px;\r\n height: 152px;\r\n margin-bottom: 26px;\r\n text-align: center;\r\n\r\n canvas {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n }\r\n\r\n .percent {\r\n display: inline-block;\r\n font-size: 21px;\r\n color: $primary-color;\r\n line-height: 152px;\r\n z-index: 2;\r\n }\r\n\r\n .percent:after {\r\n content: '%';\r\n margin-left: 0.1em;\r\n font-size: .8em;\r\n }\r\n}\r\n\r\n/* Portfolio Section */\r\n#portfolio {\r\n padding: 80px 0;\r\n background: #ffffff; /* Old browsers */\r\n background: -moz-linear-gradient(top, #ffffff 0%, #f4f5f6 49%, #ffffff 100%); /* FF3.6+ */\r\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(49%, #f4f5f6), color-stop(100%, #ffffff)); /* Chrome,Safari4+ */\r\n background: -webkit-linear-gradient(top, #ffffff 0%, #f4f5f6 49%, #ffffff 100%); /* Chrome10+,Safari5.1+ */\r\n background: -o-linear-gradient(top, #ffffff 0%, #f4f5f6 49%, #ffffff 100%); /* Opera 11.10+ */\r\n background: -ms-linear-gradient(top, #ffffff 0%, #f4f5f6 49%, #ffffff 100%); /* IE10+ */\r\n background: linear-gradient(to bottom, #ffffff 0%, #f4f5f6 49%, #ffffff 100%); /* W3C */\r\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ffffff', GradientType=0); /* IE6-9 */\r\n}\r\n\r\n.categories {\r\n padding-bottom: 30px;\r\n text-align: center;\r\n}\r\n\r\nul.cat li {\r\n display: inline-block;\r\n}\r\n\r\nol.type li {\r\n display: inline-block;\r\n margin-left: 20px;\r\n}\r\n\r\nol.type li a {\r\n background: $secondary-color;\r\n color: #fff;\r\n padding: 6px 14px;\r\n}\r\n\r\nol.type li a.active {\r\n background: $primary-color;\r\n color: #fff;\r\n}\r\n\r\nol.type li a:hover {\r\n background: $primary-color;\r\n color: #fff;\r\n}\r\n\r\n.isotope-item {\r\n z-index: 2\r\n}\r\n\r\n.isotope-hidden.isotope-item {\r\n z-index: 1\r\n}\r\n\r\n.isotope, .isotope .isotope-item {\r\n /* change duration value to whatever you like */\r\n -webkit-transition-duration: 0.8s;\r\n -moz-transition-duration: 0.8s;\r\n transition-duration: 0.8s;\r\n}\r\n\r\n.isotope-item {\r\n margin-right: -1px;\r\n -webkit-backface-visibility: hidden;\r\n backface-visibility: hidden;\r\n}\r\n\r\n.isotope {\r\n -webkit-backface-visibility: hidden;\r\n backface-visibility: hidden;\r\n -webkit-transition-property: height, width;\r\n -moz-transition-property: height, width;\r\n transition-property: height, width;\r\n}\r\n\r\n.isotope .isotope-item {\r\n -webkit-backface-visibility: hidden;\r\n backface-visibility: hidden;\r\n -webkit-transition-property: -webkit-transform, opacity;\r\n -moz-transition-property: -moz-transform, opacity;\r\n transition-property: transform, opacity;\r\n}\r\n\r\n.portfolio-item {\r\n margin: 15px 0;\r\n -webkit-transition: all 0.5s ease-out;\r\n -moz-transition: all 0.5s ease-out;\r\n -ms-transition: all 0.5s ease-out;\r\n -o-transition: all 0.5s ease-out;\r\n transition: all 0.5s ease-out;\r\n}\r\n\r\n.portfolio-item:hover {\r\n -webkit-transform: scale(1.1);\r\n -moz-transform: scale(1.1);\r\n -ms-transform: scale(1.1);\r\n -o-transform: scale(1.1);\r\n transform: scale(1.1);\r\n}\r\n\r\n.portfolio-item .hover-bg {\r\n height: 260px;\r\n overflow: hidden;\r\n position: relative;\r\n}\r\n\r\n.hover-bg .hover-text {\r\n position: absolute;\r\n text-align: center;\r\n margin: 0 auto;\r\n color: #ffffff;\r\n background: rgba(0, 0, 0, 0.66);\r\n padding: 33% 0 0 0;\r\n height: 100%;\r\n width: 100%;\r\n opacity: 0;\r\n transition: all 0.5s;\r\n}\r\n\r\n.hover-bg .hover-text > h4 {\r\n opacity: 0;\r\n color: #fff;\r\n font-weight: 400;\r\n -webkit-transform: translateY(100%);\r\n transform: translateY(100%);\r\n transition: all 0.3s;\r\n}\r\n\r\n.hover-bg:hover .hover-text > h4 {\r\n opacity: 1;\r\n -webkit-backface-visibility: hidden;\r\n -webkit-transform: translateY(0);\r\n transform: translateY(0);\r\n}\r\n\r\n.hover-bg .hover-text > i {\r\n opacity: 0;\r\n -webkit-transform: translateY(0);\r\n transform: translateY(0);\r\n transition: all 0.3s;\r\n}\r\n\r\n.hover-bg:hover .hover-text > i {\r\n opacity: 1;\r\n -webkit-backface-visibility: hidden;\r\n -webkit-transform: translateY(100%);\r\n transform: translateY(100%);\r\n}\r\n\r\n.hover-bg:hover .hover-text {\r\n opacity: 1;\r\n}\r\n\r\n#portfolio i.fa {\r\n font-size: 20px;\r\n padding: 5px;\r\n color: #E87E04;\r\n}\r\n\r\n/* Achivements Section */\r\n#achievements {\r\n padding: 100px 0;\r\n background: $secondary-color;\r\n}\r\n\r\n#achievements h2 {\r\n color: #fff;\r\n}\r\n\r\n#achievements hr {\r\n background: rgba(255, 255, 255, 0.3);\r\n}\r\n\r\n.achievement-box h4 {\r\n color: #fff;\r\n font-size: 20px;\r\n font-weight: 400;\r\n margin-left: 5px;\r\n}\r\n\r\n.achievement-box span.count {\r\n font-size: 52px;\r\n font-weight: 600;\r\n display: block;\r\n color: $primary-color;\r\n padding: 0;\r\n margin: 0;\r\n}\r\n\r\n/* Resume Section */\r\n#resume {\r\n padding: 100px 0;\r\n background: #f6f6f6;\r\n}\r\n\r\n.timeline {\r\n position: relative;\r\n padding: 0;\r\n list-style: none;\r\n}\r\n\r\n.timeline:before {\r\n content: \"\";\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 40px;\r\n width: 2px;\r\n margin-left: -1.5px;\r\n background-color: #eee;\r\n}\r\n\r\n.timeline > li {\r\n position: relative;\r\n margin-bottom: 50px;\r\n min-height: 50px;\r\n}\r\n\r\n.timeline > li:before, .timeline > li:after {\r\n content: \" \";\r\n display: table;\r\n}\r\n\r\n.timeline > li:after {\r\n clear: both;\r\n}\r\n\r\n.timeline > li .timeline-panel {\r\n float: right;\r\n position: relative;\r\n width: 100%;\r\n padding: 0 20px 0 100px;\r\n text-align: left;\r\n}\r\n\r\n.timeline > li .timeline-panel:before {\r\n right: auto;\r\n left: -15px;\r\n border-right-width: 15px;\r\n border-left-width: 0;\r\n}\r\n\r\n.timeline > li .timeline-panel:after {\r\n right: auto;\r\n left: -14px;\r\n border-right-width: 14px;\r\n border-left-width: 0;\r\n}\r\n\r\n.timeline > li .timeline-image {\r\n z-index: 100;\r\n position: absolute;\r\n left: 0;\r\n width: 70px;\r\n height: 70px;\r\n margin-left: 0;\r\n border: 1px solid #eee;\r\n border-radius: 100%;\r\n text-align: center;\r\n background: #fff;\r\n}\r\n\r\n.timeline > li .timeline-image h4 {\r\n margin-top: 20px;\r\n font-size: 14px;\r\n text-transform: uppercase;\r\n}\r\n\r\n.timeline > li.timeline-inverted > .timeline-panel {\r\n float: right;\r\n padding: 0 20px 0 100px;\r\n text-align: left;\r\n}\r\n\r\n.timeline > li.timeline-inverted > .timeline-panel:before {\r\n right: auto;\r\n left: -15px;\r\n border-right-width: 15px;\r\n border-left-width: 0;\r\n}\r\n\r\n.timeline > li.timeline-inverted > .timeline-panel:after {\r\n right: auto;\r\n left: -14px;\r\n border-right-width: 14px;\r\n border-left-width: 0;\r\n}\r\n\r\n.timeline > li:last-child {\r\n margin-bottom: 40px;\r\n}\r\n\r\n.timeline .timeline-heading h4 {\r\n margin-top: 0;\r\n text-transform: uppercase;\r\n font-size: 16px;\r\n}\r\n\r\n.timeline .timeline-heading h2 {\r\n margin-top: 30px;\r\n}\r\n\r\n.timeline .timeline-heading h4.subheading {\r\n text-transform: none;\r\n color: #629ca7;\r\n font-size: 20px;\r\n}\r\n\r\n.timeline .timeline-body > p, .timeline .timeline-body > ul {\r\n margin-bottom: 0;\r\n}\r\n\r\n/* Contact Section */\r\n#contact {\r\n padding: 100px 0 40px 0;\r\n color: $primary-color;\r\n background: $secondary-color;\r\n\r\n h2 {\r\n color: #fff;\r\n }\r\n\r\n hr {\r\n background: rgba(255, 255, 255, 0.3);\r\n }\r\n\r\n h3 {\r\n padding-top: 20px;\r\n font-size: 20px;\r\n font-weight: 400;\r\n color: #fff;\r\n }\r\n\r\n i.fab, i.fas, i.fa {\r\n color: $primary-color;\r\n margin-bottom: 10px;\r\n transition: all 0.5s;\r\n }\r\n\r\n a {\r\n color: $primary-color;\r\n transition: all 0.5s;\r\n\r\n i.fab:hover, i.fas:hover, i.fa:hover {\r\n color: #fff;\r\n }\r\n }\r\n\r\n a:hover {\r\n color: #fff;\r\n }\r\n\r\n .social {\r\n i.fab, i.fas, i.fa {\r\n color: #fff;\r\n }\r\n\r\n i.fab:hover, i.fas:hover {\r\n color: $primary-color;\r\n }\r\n }\r\n}\r\n\r\n#contact form {\r\n padding: 30px 0;\r\n}\r\n\r\n#contact .text-danger {\r\n color: #E87E04;\r\n text-align: left;\r\n}\r\n\r\nlabel {\r\n font-size: 12px;\r\n font-weight: 400;\r\n font-family: 'Open Sans', sans-serif;\r\n float: left;\r\n}\r\n\r\n#contact .form-control {\r\n display: block;\r\n width: 100%;\r\n padding: 6px 12px;\r\n font-size: 14px;\r\n line-height: 1.42857143;\r\n color: #2c3e50;\r\n background-color: rgba(255, 255, 255, 0.8);\r\n background-image: none;\r\n border: 0;\r\n border-radius: 2px;\r\n -webkit-box-shadow: none;\r\n box-shadow: none;\r\n -webkit-transition: none;\r\n -o-transition: none;\r\n transition: none;\r\n}\r\n\r\n#contact .form-control:focus {\r\n border-color: inherit;\r\n outline: 0;\r\n -webkit-box-shadow: transparent;\r\n box-shadow: transparent;\r\n}\r\n\r\n.form-control::-webkit-input-placeholder {\r\n color: #2c3e50;\r\n}\r\n\r\n.form-control:-moz-placeholder {\r\n color: #2c3e50;\r\n}\r\n\r\n.form-control::-moz-placeholder {\r\n color: #2c3e50;\r\n}\r\n\r\n.form-control:-ms-input-placeholder {\r\n color: #2c3e50;\r\n}\r\n\r\n\r\n.social {\r\n ul li {\r\n display: inline-block;\r\n margin: 0 8px;\r\n }\r\n\r\n i.fab, i.fas, i.fa {\r\n font-size: 30px;\r\n color: #fff;\r\n transition: all 0.5s;\r\n }\r\n\r\n i.fab:hover, i.fas:hover {\r\n color: $primary-color;\r\n }\r\n}\r\n\r\n#contact {\r\n .social {\r\n margin-top: 60px;\r\n }\r\n\r\n .social ul li {\r\n margin: 0 20px;\r\n }\r\n\r\n .social i.fab, .social i.fas {\r\n padding: 4px 5px;\r\n }\r\n\r\n .btn {\r\n background-color: transparent;\r\n border: 1px solid #fff;\r\n border-radius: 0;\r\n padding: 10px 20px;\r\n color: #fff;\r\n margin-top: 15px;\r\n }\r\n\r\n .btn:hover, #contact .btn:focus {\r\n background-color: $primary-color;\r\n border: 1px solid $primary-color;\r\n }\r\n}\r\n\r\n.btn:active, .btn.active {\r\n background-image: none;\r\n outline: 0;\r\n -webkit-box-shadow: none;\r\n box-shadow: none;\r\n}\r\n\r\na:focus, .btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus {\r\n outline: none;\r\n outline-offset: 0;\r\n}\r\n\r\n/* Footer Section*/\r\n#footer {\r\n background: $primary-color;\r\n color: #7d8384;\r\n padding: 30px 0 25px 0;\r\n}\r\n\r\n#footer p {\r\n font-size: 13px;\r\n}\r\n\r\n#footer a {\r\n color: #a0a5a5;\r\n}\r\n\r\n#footer a:hover {\r\n color: $secondary-color;\r\n}\r\n\r\n/* Media Queries */\r\n@media(min-width: 768px) {\r\n .intro {\r\n height: 100%;\r\n padding: 0;\r\n text-align: left;\r\n color: #fff;\r\n }\r\n .intro h1 {\r\n font-size: 60px;\r\n font-weight: 500;\r\n letter-spacing: -2px;\r\n }\r\n .intro .name {\r\n font-weight: 600;\r\n }\r\n .intro .intro-text {\r\n max-width: 75%;\r\n }\r\n .intro .intro-text p {\r\n font-family: 'Lato', sans-serif;\r\n font-size: 20px;\r\n margin-bottom: 20px;\r\n margin-top: 20px;\r\n }\r\n .intro .intro-text a {\r\n margin-top: 20px;\r\n }\r\n section {\r\n padding: 120px 0;\r\n }\r\n header .intro-text {\r\n padding-top: 300px;\r\n padding-bottom: 140px;\r\n }\r\n .timeline:before {\r\n left: 50%;\r\n }\r\n .timeline > li {\r\n margin-bottom: 100px;\r\n min-height: 100px;\r\n }\r\n .timeline > li .timeline-panel {\r\n float: left;\r\n width: 41%;\r\n padding: 0 20px 20px 30px;\r\n text-align: right;\r\n }\r\n .timeline > li .timeline-image {\r\n left: 50%;\r\n width: 100px;\r\n height: 100px;\r\n margin-left: -50px;\r\n }\r\n .timeline > li .timeline-image h4 {\r\n margin-top: 16px;\r\n line-height: 18px;\r\n font-weight: 400;\r\n }\r\n .timeline > li.timeline-inverted > .timeline-panel {\r\n float: right;\r\n padding: 0 30px 20px 20px;\r\n text-align: left;\r\n }\r\n}\r\n\r\n@media(min-width: 992px) {\r\n #here-me h1 {\r\n margin: 10px 0 0px;\r\n }\r\n .timeline > li {\r\n min-height: 150px;\r\n }\r\n .timeline > li .timeline-panel {\r\n padding: 0 20px 20px;\r\n }\r\n .timeline > li .timeline-image {\r\n width: 150px;\r\n height: 150px;\r\n margin-left: -75px;\r\n }\r\n .timeline > li .timeline-image h4 {\r\n margin-top: 30px;\r\n font-size: 18px;\r\n line-height: 26px;\r\n }\r\n .timeline > li.timeline-inverted > .timeline-panel {\r\n padding: 0 20px 20px;\r\n }\r\n}\r\n\r\n@media(min-width: 1200px) {\r\n .timeline > li {\r\n min-height: 170px;\r\n }\r\n .timeline > li .timeline-panel {\r\n padding: 10px 20px 20px 100px;\r\n }\r\n .timeline > li .timeline-image {\r\n width: 150px;\r\n height: 150px;\r\n margin-left: -75px;\r\n }\r\n .timeline > li .timeline-image h4 {\r\n margin-top: 40px;\r\n font-weight: 400;\r\n }\r\n .timeline > li.timeline-inverted > .timeline-panel {\r\n padding: 10px 100px 20px 20px;\r\n }\r\n}\r\n"],sourceRoot:""}]);const C=s},3886:n=>{"use strict";n.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27 width=%278%27 height=%278%27 viewBox=%270 0 8 8%27%3e%3cpath d=%27M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z%27/%3e%3c/svg%3e"},8226:n=>{"use strict";n.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27 width=%278%27 height=%278%27 viewBox=%270 0 8 8%27%3e%3cpath d=%27M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z%27/%3e%3c/svg%3e"},368:n=>{"use strict";n.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27 viewBox=%270 0 12 12%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e"},3969:n=>{"use strict";n.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%23fff%27/%3e%3c/svg%3e"},2006:n=>{"use strict";n.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2730%27 height=%2730%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%280, 0, 0, 0.5%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e"},6426:n=>{"use strict";n.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2730%27 height=%2730%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.5%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e"},1285:n=>{"use strict";n.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%274%27 height=%274%27 viewBox=%270 0 4 4%27%3e%3cpath stroke=%27%23fff%27 d=%27M0 2h4%27/%3e%3c/svg%3e"},4512:n=>{"use strict";n.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%274%27 height=%275%27 viewBox=%270 0 4 5%27%3e%3cpath fill=%27%23343a40%27 d=%27M2 0L0 2h4zm0 5L0 3h4z%27/%3e%3c/svg%3e"},2435:n=>{"use strict";n.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%278%27 height=%278%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%2328a745%27 d=%27M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%27/%3e%3c/svg%3e"},792:n=>{"use strict";n.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%278%27 height=%278%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23fff%27 d=%27M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z%27/%3e%3c/svg%3e"},9742:(n,r,e)=>{"use strict";n.exports=e.p+"4cbd66fb3a833f010b4a.jpg"}},n=>{n.O(0,[96],(()=>(5356,n(n.s=5356)))),n.O()}]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QURBcE0sRUFBUXVLLFFBQVFXLFNBQVUsRUFDbkI5SixJQUNSLEVBTUFBLEtBQUtpTCxnQkFBa0IsV0FFdEIsT0FEQXJNLEVBQVF1SyxRQUFRVyxTQUFVLEVBQ25COUosSUFDUixFQUVBdUssR0FDRCxRQXRVa0IzSCxFQVZJNkMsR0FrVnBCeUYsR0FBR3hHLGFBQWUsU0FBUzlGLEdBQzVCLE9BQU9vQixLQUFLbUwsTUFBSyxXQUNoQixJQUFJQyxFQUVDeEksRUFBRXlJLEtBQUtyTCxLQUFNLGtCQUNqQm9MLEVBQWtCeEksRUFBRTBJLE9BQU8sQ0FBQyxFQUFHMU0sRUFBU2dFLEVBQUU1QyxNQUFNcUwsUUFDaER6SSxFQUFFeUksS0FBS3JMLEtBQU0sZUFBZ0IsSUFBSTBKLEVBQWExSixLQUFNb0wsSUFFdEQsR0FDRCxHQWpWUSxJQUFVeEksRUFPZDhDLEVBMExBZ0UsQ0ExTUMsd0lDVkQ2QixFQUFnQyxJQUFJQyxJQUFJLGFBQ3hDQyxFQUEwQixJQUE0QixLQUN0REMsRUFBcUMsSUFBZ0NILEdBRXpFRSxFQUF3QkUsS0FBSyxDQUFDQyxFQUFPQyxHQUFJLHVzRkFBdXNGSCw2M1NBQSs1UyxHQUFHLENBQUMsUUFBVSxFQUFFLFFBQVUsQ0FBQyxrQ0FBa0MsTUFBUSxHQUFHLFNBQVcsNCtLQUE0K0ssZUFBaUIsQ0FBQyw2Nm1CQUE2Nm1CLFdBQWEsTUFFMXBxQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZvcnJlc3RzdW4uY29tLy4vc3JjL2Nzcy9zdHlsZS5zY3NzPzQ0NzUiLCJ3ZWJwYWNrOi8vZm9ycmVzdHN1bi5jb20vLi9zcmMvY29tcG9uZW50cy9HcmlkU3lzdGVtLmpzIiwid2VicGFjazovL2ZvcnJlc3RzdW4uY29tLy4vc3JjL2NvbXBvbmVudHMvU3RhdHNDb21wb25lbnQuanMiLCJ3ZWJwYWNrOi8vZm9ycmVzdHN1bi5jb20vLi9zcmMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vZm9ycmVzdHN1bi5jb20vLi9zcmMvanF1ZXJ5LmVhc3lwaWVjaGFydC5qcyIsIndlYnBhY2s6Ly9mb3JyZXN0c3VuLmNvbS8uL3NyYy9jc3Mvc3R5bGUuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcbiAgICAgIGltcG9ydCBBUEkgZnJvbSBcIiEuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgIGltcG9ydCBkb21BUEkgZnJvbSBcIiEuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zdHlsZURvbUFQSS5qc1wiO1xuICAgICAgaW1wb3J0IGluc2VydEZuIGZyb20gXCIhLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5zZXJ0QnlTZWxlY3Rvci5qc1wiO1xuICAgICAgaW1wb3J0IHNldEF0dHJpYnV0ZXMgZnJvbSBcIiEuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zZXRBdHRyaWJ1dGVzV2l0aG91dEF0dHJpYnV0ZXMuanNcIjtcbiAgICAgIGltcG9ydCBpbnNlcnRTdHlsZUVsZW1lbnQgZnJvbSBcIiEuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbnNlcnRTdHlsZUVsZW1lbnQuanNcIjtcbiAgICAgIGltcG9ydCBzdHlsZVRhZ1RyYW5zZm9ybUZuIGZyb20gXCIhLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc3R5bGVUYWdUcmFuc2Zvcm0uanNcIjtcbiAgICAgIGltcG9ydCBjb250ZW50LCAqIGFzIG5hbWVkRXhwb3J0IGZyb20gXCIhIS4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL3N0eWxlLnNjc3NcIjtcbiAgICAgIFxuICAgICAgXG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuc3R5bGVUYWdUcmFuc2Zvcm0gPSBzdHlsZVRhZ1RyYW5zZm9ybUZuO1xub3B0aW9ucy5zZXRBdHRyaWJ1dGVzID0gc2V0QXR0cmlidXRlcztcblxuICAgICAgb3B0aW9ucy5pbnNlcnQgPSBpbnNlcnRGbi5iaW5kKG51bGwsIFwiaGVhZFwiKTtcbiAgICBcbm9wdGlvbnMuZG9tQVBJID0gZG9tQVBJO1xub3B0aW9ucy5pbnNlcnRTdHlsZUVsZW1lbnQgPSBpbnNlcnRTdHlsZUVsZW1lbnQ7XG5cbnZhciB1cGRhdGUgPSBBUEkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgKiBmcm9tIFwiISEuLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanMhLi9zdHlsZS5zY3NzXCI7XG4gICAgICAgZXhwb3J0IGRlZmF1bHQgY29udGVudCAmJiBjb250ZW50LmxvY2FscyA/IGNvbnRlbnQubG9jYWxzIDogdW5kZWZpbmVkO1xuIiwiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gXCJyZWFjdC1kb21cIjtcblxuY2xhc3MgR3JpZFN5c3RlbSBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICB2YWx1ZTogXCJcIlxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlID0gdGhpcy5oYW5kbGVDaGFuZ2UuYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcbiAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICB0aGlzLnNldFN0YXRlKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgbGlzdEl0ZW1zID0gdGhpcy5wcm9wcy5pdGVtcy5tYXAoKGl0ZW0pID0+XG4gICAgICAgICAgICA8ZGl2IGtleT17aXRlbS50aXRsZX0gY2xhc3NOYW1lPXtcImdyaWQtaXRlbSBjb2wtc20tNiBjb2wtbWQtMyBjb2wtbGctMyBcIiArIGl0ZW0uY2F0ZWdvcnl9PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicG9ydGZvbGlvLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJob3Zlci1iZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj17aXRlbS5saW5rfSB0YXJnZXQ9XCJfYmxhbmtcIiB0aXRsZT17aXRlbS5kZXNjcmlwdGlvbn0gPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJob3Zlci10ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PntpdGVtLnRpdGxlfTwvaDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsPntpdGVtLmRlc2NyaXB0aW9ufTwvc21hbGw+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz17aXRlbS5pbWdTbWFsbH0gY2xhc3NOYW1lPVwiaW1nLWZsdWlkXCIgYWx0PXtpdGVtLnRpdGxlfSAvPjwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuICg8ZGl2IGNsYXNzTmFtZT1cImdyaWQtaXRlbXMgcm93XCI+XG4gICAgICAgICAgICAgICAge2xpc3RJdGVtc31cbiAgICAgICAgICAgIDwvZGl2Pik7XG4gICAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBHcmlkU3lzdGVtOyIsImltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBDb3VudFVwLCB7dXNlQ291bnRVcH0gZnJvbSAncmVhY3QtY291bnR1cCc7XG5pbXBvcnQgJCBmcm9tIFwianF1ZXJ5XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBTdGF0c0NvbXBvbmVudCgpIHtcblxuICAgIGNvbnN0IHtjb3VudFVwOiBjb3VudFVwMSwgc3RhcnQ6IHN0YXJ0MX0gPSB1c2VDb3VudFVwKHtcbiAgICAgICAgZW5kOiAzMCxcbiAgICAgICAgZHVyYXRpb246IDUsXG4gICAgICAgIHN0YXJ0T25Nb3VudDogZmFsc2UsXG4gICAgfSk7XG4gICAgY29uc3Qge2NvdW50VXA6IGNvdW50VXAyLCBzdGFydDogc3RhcnQyfSA9IHVzZUNvdW50VXAoe1xuICAgICAgICBlbmQ6IDExNjgwLFxuICAgICAgICBkdXJhdGlvbjogNSxcbiAgICAgICAgc3RhcnRPbk1vdW50OiBmYWxzZSxcbiAgICB9KTtcbiAgICBjb25zdCB7Y291bnRVcDogY291bnRVcDMsIHN0YXJ0OiBzdGFydDN9ID0gdXNlQ291bnRVcCh7XG4gICAgICAgIGVuZDogMTYsXG4gICAgICAgIGR1cmF0aW9uOiA1LFxuICAgICAgICBzdGFydE9uTW91bnQ6IGZhbHNlLFxuICAgIH0pO1xuICAgIGNvbnN0IHtjb3VudFVwOiBjb3VudFVwNCwgc3RhcnQ6IHN0YXJ0NH0gPSB1c2VDb3VudFVwKHtcbiAgICAgICAgZW5kOiA2MCxcbiAgICAgICAgZHVyYXRpb246IDUsXG4gICAgICAgIHN0YXJ0T25Nb3VudDogZmFsc2UsXG4gICAgfSk7XG5cbiAgICBjb25zdCBbc3RhcnRlZCwgc2V0U3RhcnRlZF0gPSB1c2VTdGF0ZSgwKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGZ1bmN0aW9uIGxpc3RlblNjcm9sbEV2ZW50KGUpIHtcbiAgICAgICAgICAgIHZhciB0b3AgPSAkKHdpbmRvdykuc2Nyb2xsVG9wKCkgLSAkKCcjYWNoaWV2ZW1lbnRzJykub2Zmc2V0KCkudG9wICsgd2luZG93LmlubmVySGVpZ2h0O1xuICAgICAgICAgICAgaWYodG9wID4gMCkge1xuICAgICAgICAgICAgICAgIGlmIChzdGFydGVkID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0MSgpO1xuICAgICAgICAgICAgICAgICAgICBzdGFydDIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQzKCk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0NCgpO1xuICAgICAgICAgICAgICAgICAgICBzZXRTdGFydGVkKDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBsaXN0ZW5TY3JvbGxFdmVudCk7XG4gICAgICAgIC8vIFNwZWNpZnkgaG93IHRvIGNsZWFuIHVwIGFmdGVyIHRoaXMgZWZmZWN0OlxuICAgICAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIGxpc3RlblNjcm9sbEV2ZW50KTtcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzZWN0aW9uLXRpdGxlIGNlbnRlclwiPlxuICAgICAgICAgICAgPGgyPlNvbWUgU3RhdHM8L2gyPlxuICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCIgPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtbWQtMyBjb2wtc20tMyB3b3cgZmFkZUluRG93blwiIGRhdGEtd293LWRlbGF5PVwiMjAwbXNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFjaGlldmVtZW50LWJveFwiPjxzcGFuIGNsYXNzTmFtZT1cImNvdW50XCI+e2NvdW50VXAxfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGg0PlByb2plY3QgTGF1bmNoZWQ8L2g0PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC1tZC0zIGNvbC1zbS0zIHdvdyBmYWRlSW5Eb3duXCIgZGF0YS13b3ctZGVsYXk9XCI0MDBtc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWNoaWV2ZW1lbnQtYm94XCI+PHNwYW4gY2xhc3NOYW1lPVwiY291bnRcIj57Y291bnRVcDJ9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8aDQ+SG91cnMgb2YgV29yazwvaDQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLW1kLTMgY29sLXNtLTMgd293IGZhZGVJbkRvd25cIiBkYXRhLXdvdy1kZWxheT1cIjgwMG1zXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhY2hpZXZlbWVudC1ib3hcIj48c3BhbiBjbGFzc05hbWU9XCJjb3VudFwiPntjb3VudFVwM308L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxoND5ZZWFycyBvZiBFbmdpbmVlcmluZyBFeHA8L2g0PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC1tZC0zIGNvbC1zbS0zIHdvdyBmYWRlSW5Eb3duXCIgZGF0YS13b3ctZGVsYXk9XCI2MDBtc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWNoaWV2ZW1lbnQtYm94XCI+PHNwYW4gY2xhc3NOYW1lPVwiY291bnRcIj57Y291bnRVcDR9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8aDQ+TW91bnRhaW5zIEhpa2VkPC9oND5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj4pO1xufSIsImltcG9ydCAnYm9vdHN0cmFwL2Rpc3QvY3NzL2Jvb3RzdHJhcC5taW4uY3NzJztcclxuaW1wb3J0ICdib290c3RyYXAnO1xyXG5pbXBvcnQgJCBmcm9tICdqcXVlcnknO1xyXG5pbXBvcnQgalF1ZXJ5QnJpZGdldCBmcm9tICdqcXVlcnktYnJpZGdldCc7XHJcbmltcG9ydCAnLi9qcXVlcnkuZWFzeXBpZWNoYXJ0JztcclxuaW1wb3J0ICdAZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9jc3MvYWxsLmNzcyc7XHJcbmltcG9ydCAnLi9jc3Mvc3R5bGUuc2Nzcyc7XHJcbmltcG9ydCBJc290b3BlIGZyb20gJ2lzb3RvcGUtbGF5b3V0JztcclxuXHJcbmltcG9ydCBSZWFjdERvbSBmcm9tIFwicmVhY3QtZG9tXCI7XHJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IEdyaWRTeXN0ZW0gZnJvbSBcIi4vY29tcG9uZW50cy9HcmlkU3lzdGVtXCI7XHJcbmltcG9ydCB7U3RhdHNDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvU3RhdHNDb21wb25lbnRcIjtcclxuXHJcbmNvbnN0IHdyYXBwZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInBvcnRmb2xpby1ncmlkXCIpO1xyXG5jb25zdCBwcm9qZWN0cyA9IFtcclxuICAgIHtcclxuICAgICAgICB0aXRsZTogJ1F1YXJrcy5hcnQnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAndGhlIHVsdGltYXRlIHZmeCBwbGF0Zm9ybScsXHJcbiAgICAgICAgY2F0ZWdvcnk6ICd3ZWIgYXBwJyxcclxuICAgICAgICBpbWdTbWFsbDogJy4uL2ltZy9wcm9qZWN0cy90aHJlZS5xdWFya3MucG5nJyxcclxuICAgICAgICBsaW5rOiAnLy9xdWFya3MuYXJ0JyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdTdGFyb3lhbGUuaW8nLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAndGhlIGJlc3Qgd2ViIHNwYWNlc2hpcCBiYXR0bGUgcm95YWxlJyxcclxuICAgICAgICBjYXRlZ29yeTogJ3dlYiBnYW1lJyxcclxuICAgICAgICBpbWdTbWFsbDogJy4uL2ltZy9wcm9qZWN0cy9zdGFyb3lhbGUucG5nJyxcclxuICAgICAgICBsaW5rOiAnLy9zdGFyb3lhbGUuaW8nLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICB0aXRsZTogJ1F1aWxsIFZSJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ3RoZSBWUiBhbmltYXRpb24gcGFpbnRlciAoT3duZWQgYnkgRmFjZWJvb2spJyxcclxuICAgICAgICBjYXRlZ29yeTogJ2FwcCcsXHJcbiAgICAgICAgaW1nU21hbGw6ICcuLi9pbWcvcHJvamVjdHMvcXVpbGwucG5nJyxcclxuICAgICAgICBsaW5rOiAnLy9xdWlsbC5mYi5jb20nLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICB0aXRsZTogJ2dlb20yLmpzJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ0EgbGlnaHQgd2VpZ2h0IGpzIGdlb21ldHJ5IGFuZCBwaHlzaWNzIGVuZ2luZScsXHJcbiAgICAgICAgY2F0ZWdvcnk6ICd3ZWIgZ2FtZScsXHJcbiAgICAgICAgaW1nU21hbGw6ICcuLi9pbWcvcHJvamVjdHMvZ2VvbTIuanMucG5nJyxcclxuICAgICAgICBsaW5rOiAnLy9naXRodWIuY29tL0FsY2hlbWlzdDA4MjMvZ2VvbTIuanMnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICB0aXRsZTogJ3RocmVlanMucXVhcmtzJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ3RoZSBtb3N0IGNvbXByZWhlbnNpdmUgVGhyZWVKcyBQYXJ0aWNsZSBTeXN0ZW0nLFxyXG4gICAgICAgIGNhdGVnb3J5OiAnd2ViIGdhbWUnLFxyXG4gICAgICAgIGltZ1NtYWxsOiAnLi4vaW1nL3Byb2plY3RzL3RocmVlLnF1YXJrcy5wbmcnLFxyXG4gICAgICAgIGxpbms6ICcvL2dpdGh1Yi5jb20vQWxjaGVtaXN0MDgyMy90aHJlZS5xdWFya3MnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICB0aXRsZTogJ0FzdHJvY3JhZnQnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQSBtb2JpbGUgc3RyYXRlZ3kgZ2FtZSB0aGF0IGFsbG93cyB1c2VycyB0byBkZXNpZ24gdGhlaXIgb3duIHVuaXRzJyxcclxuICAgICAgICBjYXRlZ29yeTogJ2FwcCBnYW1lJyxcclxuICAgICAgICBpbWdTbWFsbDogJy4uL2ltZy9wcm9qZWN0cy9hc3Ryby1jcmFmdC5wbmcnLFxyXG4gICAgICAgIGxpbms6ICcvL2FzdHJvLWNyYWZ0LmNvbScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHRpdGxlOiAnR29vZGkgKGFyY2hpdmVkKScsXHJcbiAgICAgICAgZGVzY3JpcHRpb246ICdBbiBhY2FkZW1pYyBRdWVzdGlvbiBNYXJrZXRwbGFjZScsXHJcbiAgICAgICAgY2F0ZWdvcnk6ICdhcHAnLFxyXG4gICAgICAgIGltZ1NtYWxsOiAnLi4vaW1nL3Byb2plY3RzL2dvb2RpaW5jLnBuZycsXHJcbiAgICAgICAgbGluazogJy8vd3d3LmZhY2Vib29rLmNvbS9nb29kaWluYycsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHRpdGxlOiAnWmVuZXIgM0QgRW5naW5lJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ0EgRGF0YS1DZW50ZXJlZCBFbnRpdHkgU3lzdGVtIDNEIEdhbWUgZW5naW5lIHdyaXR0ZW4gaW4gSmF2YS4gSXQgaXMgYSBmcmVlIHNvZnR3YXJlICcgK1xyXG4gICAgICAgICAgICAncmVsZWFzZWQgdW5kZXIgR05VIEdQTCB2My4nLFxyXG4gICAgICAgIGNhdGVnb3J5OiAnYXBwJyxcclxuICAgICAgICBpbWdTbWFsbDogJy4uL2ltZy9wcm9qZWN0cy96ZW5lci5wbmcnLFxyXG4gICAgICAgIGxpbms6ICcvL2dpdGh1Yi5jb20vQWxjaGVtaXN0MDgyMy96ZW5lcicsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHRpdGxlOiAnTXkgTWluZWNyYWZ0IFNob3AgKGFyY2hpdmVkKScsXHJcbiAgICAgICAgZGVzY3JpcHRpb246ICdBbiBpbnRlZ3JhdGVkIE1pbmVjcmFmdCBTZXJ2ZXIgc2hvcHBpbmcgYW5kIHdlYnNpdGUgc3lzdGVtIHN1cHBvcnRpbmcgQ2hpbmVzZSBBbGlwYXkgJyArXHJcbiAgICAgICAgICAgICdwYXltZW50IG1ldGhvZCBhbmQgcmVhbC10aW1lIHZpcnR1YWwgZ29vZCB0cmFuc2FjdGlvbi4nLFxyXG4gICAgICAgIGNhdGVnb3J5OiAnc2VydmVyJyxcclxuICAgICAgICBpbWdTbWFsbDogJy4uL2ltZy9wcm9qZWN0cy9teW1jc2hvcC5wbmcnLFxyXG4gICAgICAgIGxpbms6ICcvL215bWNzaG9wLmNvbScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHRpdGxlOiAnT0llciBDKysgKGFyY2hpdmVkKScsXHJcbiAgICAgICAgZGVzY3JpcHRpb246ICdBbiBDKysgaW50ZWdyYXRlZCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCBmb3IgcHJlcGFyaW5nIGFsZ29yaXRobSBjb21waXRpb24gYW5kIGVkdWNhdGlvbiBwdXJwb3NlLicsXHJcbiAgICAgICAgY2F0ZWdvcnk6ICdhcHAnLFxyXG4gICAgICAgIGltZ1NtYWxsOiAnLi4vaW1nL3Byb2plY3RzL29pZXJjcHAucG5nJyxcclxuICAgICAgICBsaW5rOiAnLy93d3cubjhsbS5jbi9wcm9kdWN0Lz9pZD0xJyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdUcmliZSBBZ2UgKHVuZmluaXNoZWQpJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ0EgVHVybi1iYXNlZCBTdHJhdGVneSBSb2xlLVBsYXlpbmcgR2FtZSBwb3dlcmVkIGJ5IFplbmVyIDNEIEVuZ2luZSBpbiBkZXZlbG9wbWVudCcsXHJcbiAgICAgICAgY2F0ZWdvcnk6ICdnYW1lJyxcclxuICAgICAgICBpbWdTbWFsbDogJy4uL2ltZy9wcm9qZWN0cy96ZW5lci5wbmcnLFxyXG4gICAgICAgIGxpbms6ICcvL2dpdGh1Yi5jb20vQWxjaGVtaXN0MDgyMy90cmliZWFnZScsXHJcbiAgICB9LFxyXG5dO1xyXG5cclxud3JhcHBlciA/IFJlYWN0RG9tLnJlbmRlcig8R3JpZFN5c3RlbSBpdGVtcz17cHJvamVjdHN9IC8+LCB3cmFwcGVyKSA6IGZhbHNlO1xyXG5cclxuY29uc3QgYWNoaWV2ZW1lbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJhY2hpZXZlbWVudHNcIik7XHJcbmFjaGlldmVtZW50cyA/IFJlYWN0RG9tLnJlbmRlcig8U3RhdHNDb21wb25lbnQgLz4sIGFjaGlldmVtZW50cykgOiBmYWxzZTtcclxuXHJcbiQoZnVuY3Rpb24oKSB7XHJcbiAgICBqUXVlcnlCcmlkZ2V0KCAnaXNvdG9wZScsIElzb3RvcGUsICQgKTtcclxuICAgICQoJy5ncmlkLWl0ZW1zJykuaXNvdG9wZSh7XHJcbiAgICAgICAgaXRlbVNlbGVjdG9yOiBcIi5ncmlkLWl0ZW1cIixcclxuICAgICAgICBwZXJjZW50UG9zaXRpb246IHRydWUsXHJcbiAgICAgICAgbGF5b3V0TW9kZTogJ2ZpdFJvd3MnLFxyXG4gICAgICAgIGZpbHRlcjogJyonLFxyXG4gICAgICAgIGFuaW1hdGlvbk9wdGlvbnM6IHtcclxuICAgICAgICAgICAgZHVyYXRpb246IDc1MCxcclxuICAgICAgICAgICAgZWFzaW5nOiAnbGluZWFyJyxcclxuICAgICAgICAgICAgcXVldWU6IGZhbHNlXHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAkKCcuY2F0IGEnKS5jbGljayhmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgJCgnLmNhdCAuYWN0aXZlJykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpO1xyXG4gICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ2FjdGl2ZScpO1xyXG4gICAgICAgIHZhciBzZWxlY3RvciA9ICQodGhpcykuYXR0cignZGF0YS1maWx0ZXInKTtcclxuICAgICAgICAkKCcuZ3JpZC1pdGVtcycpLmlzb3RvcGUoe1xyXG4gICAgICAgICAgICBpdGVtU2VsZWN0b3I6IFwiLmdyaWQtaXRlbVwiLFxyXG4gICAgICAgICAgICBwZXJjZW50UG9zaXRpb246IHRydWUsXHJcbiAgICAgICAgICAgIGxheW91dE1vZGU6ICdmaXRSb3dzJyxcclxuICAgICAgICAgICAgZmlsdGVyOiBzZWxlY3RvcixcclxuICAgICAgICAgICAgYW5pbWF0aW9uT3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgZHVyYXRpb246IDc1MCxcclxuICAgICAgICAgICAgICAgIGVhc2luZzogJ2xpbmVhcicsXHJcbiAgICAgICAgICAgICAgICBxdWV1ZTogZmFsc2VcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICB2YXIgaW5kZXg9MDtcclxuICAgICQoZG9jdW1lbnQpLnNjcm9sbChmdW5jdGlvbigpe1xyXG4gICAgICAgIHZhciB0b3AgPSAkKHdpbmRvdykuc2Nyb2xsVG9wKCkgLSAkKCcjc2tpbGxzJykub2Zmc2V0KCkudG9wICsgd2luZG93LmlubmVySGVpZ2h0O1xyXG4gICAgICAgIGlmKHRvcD4wKXtcclxuICAgICAgICAgICAgaWYoaW5kZXg9PT0wKXtcclxuICAgICAgICAgICAgICAgICQoJy5jaGFydCcpLmVhc3lQaWVDaGFydCh7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogMTUyLFxyXG4gICAgICAgICAgICAgICAgICAgIGxpbmVXaWR0aDogOCxcclxuICAgICAgICAgICAgICAgICAgICBiYXJDb2xvcjogJyMxMjFkMWYnLFxyXG4gICAgICAgICAgICAgICAgICAgIHNjYWxlQ29sb3I6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgIGVhc2luZzogJ2Vhc2VPdXRCb3VuY2UnLFxyXG4gICAgICAgICAgICAgICAgICAgIG9uU3RlcDogZnVuY3Rpb24oZnJvbSwgdG8sIHBlcmNlbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzLmVsKS5maW5kKCcucGVyY2VudCcpLnRleHQoTWF0aC5yb3VuZChwZXJjZW50KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW5kZXgrKztcclxuICAgICAgICB9XHJcbiAgICB9KVxyXG59KTsiLCIvKiohXG4gKiBlYXN5LXBpZS1jaGFydFxuICogTGlnaHR3ZWlnaHQgcGx1Z2luIHRvIHJlbmRlciBzaW1wbGUsIGFuaW1hdGVkIGFuZCByZXRpbmEgb3B0aW1pemVkIHBpZSBjaGFydHNcbiAqXG4gKiBAbGljZW5zZSBcbiAqIEBhdXRob3IgUm9iZXJ0IEZsZWlzY2htYW5uIDxyZW5kcm84N0BnbWFpbC5jb20+IChodHRwOi8vcm9iZXJ0LWZsZWlzY2htYW5uLmRlKVxuICogQHZlcnNpb24gMi4xLjdcbiAqKi9cblxuKGZ1bmN0aW9uIChyb290LCBmYWN0b3J5KSB7XG4gIGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpIHtcbiAgICAvLyBBTUQuIFJlZ2lzdGVyIGFzIGFuIGFub255bW91cyBtb2R1bGUgdW5sZXNzIGFtZE1vZHVsZUlkIGlzIHNldFxuICAgIGRlZmluZShbXCJqcXVlcnlcIl0sIGZ1bmN0aW9uIChhMCkge1xuICAgICAgcmV0dXJuIChmYWN0b3J5KGEwKSk7XG4gICAgfSk7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKSB7XG4gICAgLy8gTm9kZS4gRG9lcyBub3Qgd29yayB3aXRoIHN0cmljdCBDb21tb25KUywgYnV0XG4gICAgLy8gb25seSBDb21tb25KUy1saWtlIGVudmlyb25tZW50cyB0aGF0IHN1cHBvcnQgbW9kdWxlLmV4cG9ydHMsXG4gICAgLy8gbGlrZSBOb2RlLlxuICAgIG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeShyZXF1aXJlKFwianF1ZXJ5XCIpKTtcbiAgfSBlbHNlIHtcbiAgICBmYWN0b3J5KGpRdWVyeSk7XG4gIH1cbn0odGhpcywgZnVuY3Rpb24gKCQpIHtcblxuLyoqXG4gKiBSZW5kZXJlciB0byByZW5kZXIgdGhlIGNoYXJ0IG9uIGEgY2FudmFzIG9iamVjdFxuICogQHBhcmFtIHtET01FbGVtZW50fSBlbCAgICAgIERPTSBlbGVtZW50IHRvIGhvc3QgdGhlIGNhbnZhcyAocm9vdCBvZiB0aGUgcGx1Z2luKVxuICogQHBhcmFtIHtvYmplY3R9ICAgICBvcHRpb25zIG9wdGlvbnMgb2JqZWN0IG9mIHRoZSBwbHVnaW5cbiAqL1xudmFyIENhbnZhc1JlbmRlcmVyID0gZnVuY3Rpb24oZWwsIG9wdGlvbnMpIHtcblx0dmFyIGNhY2hlZEJhY2tncm91bmQ7XG5cdHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcblxuXHRlbC5hcHBlbmRDaGlsZChjYW52YXMpO1xuXG5cdGlmICh0eXBlb2YoR192bWxDYW52YXNNYW5hZ2VyKSA9PT0gJ29iamVjdCcpIHtcblx0XHRHX3ZtbENhbnZhc01hbmFnZXIuaW5pdEVsZW1lbnQoY2FudmFzKTtcblx0fVxuXG5cdHZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcblxuXHRjYW52YXMud2lkdGggPSBjYW52YXMuaGVpZ2h0ID0gb3B0aW9ucy5zaXplO1xuXG5cdC8vIGNhbnZhcyBvbiByZXRpbmEgZGV2aWNlc1xuXHR2YXIgc2NhbGVCeSA9IDE7XG5cdGlmICh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyA+IDEpIHtcblx0XHRzY2FsZUJ5ID0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG5cdFx0Y2FudmFzLnN0eWxlLndpZHRoID0gY2FudmFzLnN0eWxlLmhlaWdodCA9IFtvcHRpb25zLnNpemUsICdweCddLmpvaW4oJycpO1xuXHRcdGNhbnZhcy53aWR0aCA9IGNhbnZhcy5oZWlnaHQgPSBvcHRpb25zLnNpemUgKiBzY2FsZUJ5O1xuXHRcdGN0eC5zY2FsZShzY2FsZUJ5LCBzY2FsZUJ5KTtcblx0fVxuXG5cdC8vIG1vdmUgMCwwIGNvb3JkaW5hdGVzIHRvIHRoZSBjZW50ZXJcblx0Y3R4LnRyYW5zbGF0ZShvcHRpb25zLnNpemUgLyAyLCBvcHRpb25zLnNpemUgLyAyKTtcblxuXHQvLyByb3RhdGUgY2FudmFzIC05MGRlZ1xuXHRjdHgucm90YXRlKCgtMSAvIDIgKyBvcHRpb25zLnJvdGF0ZSAvIDE4MCkgKiBNYXRoLlBJKTtcblxuXHR2YXIgcmFkaXVzID0gKG9wdGlvbnMuc2l6ZSAtIG9wdGlvbnMubGluZVdpZHRoKSAvIDI7XG5cdGlmIChvcHRpb25zLnNjYWxlQ29sb3IgJiYgb3B0aW9ucy5zY2FsZUxlbmd0aCkge1xuXHRcdHJhZGl1cyAtPSBvcHRpb25zLnNjYWxlTGVuZ3RoICsgMjsgLy8gMiBpcyB0aGUgZGlzdGFuY2UgYmV0d2VlbiBzY2FsZSBhbmQgYmFyXG5cdH1cblxuXHQvLyBJRSBwb2x5ZmlsbCBmb3IgRGF0ZVxuXHREYXRlLm5vdyA9IERhdGUubm93IHx8IGZ1bmN0aW9uKCkge1xuXHRcdHJldHVybiArKG5ldyBEYXRlKCkpO1xuXHR9O1xuXG5cdC8qKlxuXHQgKiBEcmF3IGEgY2lyY2xlIGFyb3VuZCB0aGUgY2VudGVyIG9mIHRoZSBjYW52YXNcblx0ICogQHBhcmFtIHtzdHJvbmd9IGNvbG9yICAgICBWYWxpZCBDU1MgY29sb3Igc3RyaW5nXG5cdCAqIEBwYXJhbSB7bnVtYmVyfSBsaW5lV2lkdGggV2lkdGggb2YgdGhlIGxpbmUgaW4gcHhcblx0ICogQHBhcmFtIHtudW1iZXJ9IHBlcmNlbnQgICBQZXJjZW50YWdlIHRvIGRyYXcgKGZsb2F0IGJldHdlZW4gLTEgYW5kIDEpXG5cdCAqL1xuXHR2YXIgZHJhd0NpcmNsZSA9IGZ1bmN0aW9uKGNvbG9yLCBsaW5lV2lkdGgsIHBlcmNlbnQpIHtcblx0XHRwZXJjZW50ID0gTWF0aC5taW4oTWF0aC5tYXgoLTEsIHBlcmNlbnQgfHwgMCksIDEpO1xuXHRcdHZhciBpc05lZ2F0aXZlID0gcGVyY2VudCA8PSAwID8gdHJ1ZSA6IGZhbHNlO1xuXG5cdFx0Y3R4LmJlZ2luUGF0aCgpO1xuXHRcdGN0eC5hcmMoMCwgMCwgcmFkaXVzLCAwLCBNYXRoLlBJICogMiAqIHBlcmNlbnQsIGlzTmVnYXRpdmUpO1xuXG5cdFx0Y3R4LnN0cm9rZVN0eWxlID0gY29sb3I7XG5cdFx0Y3R4LmxpbmVXaWR0aCA9IGxpbmVXaWR0aDtcblxuXHRcdGN0eC5zdHJva2UoKTtcblx0fTtcblxuXHQvKipcblx0ICogRHJhdyB0aGUgc2NhbGUgb2YgdGhlIGNoYXJ0XG5cdCAqL1xuXHR2YXIgZHJhd1NjYWxlID0gZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG9mZnNldDtcblx0XHR2YXIgbGVuZ3RoO1xuXG5cdFx0Y3R4LmxpbmVXaWR0aCA9IDE7XG5cdFx0Y3R4LmZpbGxTdHlsZSA9IG9wdGlvbnMuc2NhbGVDb2xvcjtcblxuXHRcdGN0eC5zYXZlKCk7XG5cdFx0Zm9yICh2YXIgaSA9IDI0OyBpID4gMDsgLS1pKSB7XG5cdFx0XHRpZiAoaSAlIDYgPT09IDApIHtcblx0XHRcdFx0bGVuZ3RoID0gb3B0aW9ucy5zY2FsZUxlbmd0aDtcblx0XHRcdFx0b2Zmc2V0ID0gMDtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGxlbmd0aCA9IG9wdGlvbnMuc2NhbGVMZW5ndGggKiAwLjY7XG5cdFx0XHRcdG9mZnNldCA9IG9wdGlvbnMuc2NhbGVMZW5ndGggLSBsZW5ndGg7XG5cdFx0XHR9XG5cdFx0XHRjdHguZmlsbFJlY3QoLW9wdGlvbnMuc2l6ZS8yICsgb2Zmc2V0LCAwLCBsZW5ndGgsIDEpO1xuXHRcdFx0Y3R4LnJvdGF0ZShNYXRoLlBJIC8gMTIpO1xuXHRcdH1cblx0XHRjdHgucmVzdG9yZSgpO1xuXHR9O1xuXG5cdC8qKlxuXHQgKiBSZXF1ZXN0IGFuaW1hdGlvbiBmcmFtZSB3cmFwcGVyIHdpdGggcG9seWZpbGxcblx0ICogQHJldHVybiB7ZnVuY3Rpb259IFJlcXVlc3QgYW5pbWF0aW9uIGZyYW1lIG1ldGhvZCBvciB0aW1lb3V0IGZhbGxiYWNrXG5cdCAqL1xuXHR2YXIgcmVxQW5pbWF0aW9uRnJhbWUgPSAoZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8XG5cdFx0XHRcdHdpbmRvdy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHxcblx0XHRcdFx0d2luZG93Lm1velJlcXVlc3RBbmltYXRpb25GcmFtZSB8fFxuXHRcdFx0XHRmdW5jdGlvbihjYWxsYmFjaykge1xuXHRcdFx0XHRcdHdpbmRvdy5zZXRUaW1lb3V0KGNhbGxiYWNrLCAxMDAwIC8gNjApO1xuXHRcdFx0XHR9O1xuXHR9KCkpO1xuXG5cdC8qKlxuXHQgKiBEcmF3IHRoZSBiYWNrZ3JvdW5kIG9mIHRoZSBwbHVnaW4gaW5jbHVkaW5nIHRoZSBzY2FsZSBhbmQgdGhlIHRyYWNrXG5cdCAqL1xuXHR2YXIgZHJhd0JhY2tncm91bmQgPSBmdW5jdGlvbigpIHtcblx0XHRpZihvcHRpb25zLnNjYWxlQ29sb3IpIGRyYXdTY2FsZSgpO1xuXHRcdGlmKG9wdGlvbnMudHJhY2tDb2xvcikgZHJhd0NpcmNsZShvcHRpb25zLnRyYWNrQ29sb3IsIG9wdGlvbnMudHJhY2tXaWR0aCB8fCBvcHRpb25zLmxpbmVXaWR0aCwgMSk7XG5cdH07XG5cbiAgLyoqXG4gICAgKiBDYW52YXMgYWNjZXNzb3JcbiAgICovXG4gIHRoaXMuZ2V0Q2FudmFzID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIGNhbnZhcztcbiAgfTtcblxuICAvKipcbiAgICAqIENhbnZhcyAyRCBjb250ZXh0ICdjdHgnIGFjY2Vzc29yXG4gICAqL1xuICB0aGlzLmdldEN0eCA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBjdHg7XG4gIH07XG5cblx0LyoqXG5cdCAqIENsZWFyIHRoZSBjb21wbGV0ZSBjYW52YXNcblx0ICovXG5cdHRoaXMuY2xlYXIgPSBmdW5jdGlvbigpIHtcblx0XHRjdHguY2xlYXJSZWN0KG9wdGlvbnMuc2l6ZSAvIC0yLCBvcHRpb25zLnNpemUgLyAtMiwgb3B0aW9ucy5zaXplLCBvcHRpb25zLnNpemUpO1xuXHR9O1xuXG5cdC8qKlxuXHQgKiBEcmF3IHRoZSBjb21wbGV0ZSBjaGFydFxuXHQgKiBAcGFyYW0ge251bWJlcn0gcGVyY2VudCBQZXJjZW50IHNob3duIGJ5IHRoZSBjaGFydCBiZXR3ZWVuIC0xMDAgYW5kIDEwMFxuXHQgKi9cblx0dGhpcy5kcmF3ID0gZnVuY3Rpb24ocGVyY2VudCkge1xuXHRcdC8vIGRvIHdlIG5lZWQgdG8gcmVuZGVyIGEgYmFja2dyb3VuZFxuXHRcdGlmICghIW9wdGlvbnMuc2NhbGVDb2xvciB8fCAhIW9wdGlvbnMudHJhY2tDb2xvcikge1xuXHRcdFx0Ly8gZ2V0SW1hZ2VEYXRhIGFuZCBwdXRJbWFnZURhdGEgYXJlIHN1cHBvcnRlZFxuXHRcdFx0aWYgKGN0eC5nZXRJbWFnZURhdGEgJiYgY3R4LnB1dEltYWdlRGF0YSkge1xuXHRcdFx0XHRpZiAoIWNhY2hlZEJhY2tncm91bmQpIHtcblx0XHRcdFx0XHRkcmF3QmFja2dyb3VuZCgpO1xuXHRcdFx0XHRcdGNhY2hlZEJhY2tncm91bmQgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIG9wdGlvbnMuc2l6ZSAqIHNjYWxlQnksIG9wdGlvbnMuc2l6ZSAqIHNjYWxlQnkpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGN0eC5wdXRJbWFnZURhdGEoY2FjaGVkQmFja2dyb3VuZCwgMCwgMCk7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuY2xlYXIoKTtcblx0XHRcdFx0ZHJhd0JhY2tncm91bmQoKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5jbGVhcigpO1xuXHRcdH1cblxuXHRcdGN0eC5saW5lQ2FwID0gb3B0aW9ucy5saW5lQ2FwO1xuXG5cdFx0Ly8gaWYgYmFyY29sb3IgaXMgYSBmdW5jdGlvbiBleGVjdXRlIGl0IGFuZCBwYXNzIHRoZSBwZXJjZW50IGFzIGEgdmFsdWVcblx0XHR2YXIgY29sb3I7XG5cdFx0aWYgKHR5cGVvZihvcHRpb25zLmJhckNvbG9yKSA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0Y29sb3IgPSBvcHRpb25zLmJhckNvbG9yKHBlcmNlbnQpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjb2xvciA9IG9wdGlvbnMuYmFyQ29sb3I7XG5cdFx0fVxuXG5cdFx0Ly8gZHJhdyBiYXJcblx0XHRkcmF3Q2lyY2xlKGNvbG9yLCBvcHRpb25zLmxpbmVXaWR0aCwgcGVyY2VudCAvIDEwMCk7XG5cdH0uYmluZCh0aGlzKTtcblxuXHQvKipcblx0ICogQW5pbWF0ZSBmcm9tIHNvbWUgcGVyY2VudCB0byBzb21lIG90aGVyIHBlcmNlbnRhZ2Vcblx0ICogQHBhcmFtIHtudW1iZXJ9IGZyb20gU3RhcnRpbmcgcGVyY2VudGFnZVxuXHQgKiBAcGFyYW0ge251bWJlcn0gdG8gICBGaW5hbCBwZXJjZW50YWdlXG5cdCAqL1xuXHR0aGlzLmFuaW1hdGUgPSBmdW5jdGlvbihmcm9tLCB0bykge1xuXHRcdHZhciBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuXHRcdG9wdGlvbnMub25TdGFydChmcm9tLCB0byk7XG5cdFx0dmFyIGFuaW1hdGlvbiA9IGZ1bmN0aW9uKCkge1xuXHRcdFx0dmFyIHByb2Nlc3MgPSBNYXRoLm1pbihEYXRlLm5vdygpIC0gc3RhcnRUaW1lLCBvcHRpb25zLmFuaW1hdGUuZHVyYXRpb24pO1xuXHRcdFx0dmFyIGN1cnJlbnRWYWx1ZSA9IG9wdGlvbnMuZWFzaW5nKHRoaXMsIHByb2Nlc3MsIGZyb20sIHRvIC0gZnJvbSwgb3B0aW9ucy5hbmltYXRlLmR1cmF0aW9uKTtcblx0XHRcdHRoaXMuZHJhdyhjdXJyZW50VmFsdWUpO1xuXHRcdFx0b3B0aW9ucy5vblN0ZXAoZnJvbSwgdG8sIGN1cnJlbnRWYWx1ZSk7XG5cdFx0XHRpZiAocHJvY2VzcyA+PSBvcHRpb25zLmFuaW1hdGUuZHVyYXRpb24pIHtcblx0XHRcdFx0b3B0aW9ucy5vblN0b3AoZnJvbSwgdG8pO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmVxQW5pbWF0aW9uRnJhbWUoYW5pbWF0aW9uKTtcblx0XHRcdH1cblx0XHR9LmJpbmQodGhpcyk7XG5cblx0XHRyZXFBbmltYXRpb25GcmFtZShhbmltYXRpb24pO1xuXHR9LmJpbmQodGhpcyk7XG59O1xuXG52YXIgRWFzeVBpZUNoYXJ0ID0gZnVuY3Rpb24oZWwsIG9wdHMpIHtcblx0dmFyIGRlZmF1bHRPcHRpb25zID0ge1xuXHRcdGJhckNvbG9yOiAnI2VmMWUyNScsXG5cdFx0dHJhY2tDb2xvcjogJyNmOWY5ZjknLFxuXHRcdHNjYWxlQ29sb3I6ICcjZGZlMGUwJyxcblx0XHRzY2FsZUxlbmd0aDogNSxcblx0XHRsaW5lQ2FwOiAncm91bmQnLFxuXHRcdGxpbmVXaWR0aDogMyxcblx0XHR0cmFja1dpZHRoOiB1bmRlZmluZWQsXG5cdFx0c2l6ZTogMTEwLFxuXHRcdHJvdGF0ZTogMCxcblx0XHRhbmltYXRlOiB7XG5cdFx0XHRkdXJhdGlvbjogMTAwMCxcblx0XHRcdGVuYWJsZWQ6IHRydWVcblx0XHR9LFxuXHRcdGVhc2luZzogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQpIHsgLy8gbW9yZSBjYW4gYmUgZm91bmQgaGVyZTogaHR0cDovL2dzZ2QuY28udWsvc2FuZGJveC9qcXVlcnkvZWFzaW5nL1xuXHRcdFx0dCA9IHQgLyAoZC8yKTtcblx0XHRcdGlmICh0IDwgMSkge1xuXHRcdFx0XHRyZXR1cm4gYyAvIDIgKiB0ICogdCArIGI7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gLWMvMiAqICgoLS10KSoodC0yKSAtIDEpICsgYjtcblx0XHR9LFxuXHRcdG9uU3RhcnQ6IGZ1bmN0aW9uKGZyb20sIHRvKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fSxcblx0XHRvblN0ZXA6IGZ1bmN0aW9uKGZyb20sIHRvLCBjdXJyZW50VmFsdWUpIHtcblx0XHRcdHJldHVybjtcblx0XHR9LFxuXHRcdG9uU3RvcDogZnVuY3Rpb24oZnJvbSwgdG8pIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdH07XG5cblx0Ly8gZGV0ZWN0IHByZXNlbnQgcmVuZGVyZXJcblx0aWYgKHR5cGVvZihDYW52YXNSZW5kZXJlcikgIT09ICd1bmRlZmluZWQnKSB7XG5cdFx0ZGVmYXVsdE9wdGlvbnMucmVuZGVyZXIgPSBDYW52YXNSZW5kZXJlcjtcblx0fSBlbHNlIGlmICh0eXBlb2YoU1ZHUmVuZGVyZXIpICE9PSAndW5kZWZpbmVkJykge1xuXHRcdGRlZmF1bHRPcHRpb25zLnJlbmRlcmVyID0gU1ZHUmVuZGVyZXI7XG5cdH0gZWxzZSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgbG9hZCBlaXRoZXIgdGhlIFNWRy0gb3IgdGhlIENhbnZhc1JlbmRlcmVyJyk7XG5cdH1cblxuXHR2YXIgb3B0aW9ucyA9IHt9O1xuXHR2YXIgY3VycmVudFZhbHVlID0gMDtcblxuXHQvKipcblx0ICogSW5pdGlhbGl6ZSB0aGUgcGx1Z2luIGJ5IGNyZWF0aW5nIHRoZSBvcHRpb25zIG9iamVjdCBhbmQgaW5pdGlhbGl6ZSByZW5kZXJpbmdcblx0ICovXG5cdHZhciBpbml0ID0gZnVuY3Rpb24oKSB7XG5cdFx0dGhpcy5lbCA9IGVsO1xuXHRcdHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG5cblx0XHQvLyBtZXJnZSB1c2VyIG9wdGlvbnMgaW50byBkZWZhdWx0IG9wdGlvbnNcblx0XHRmb3IgKHZhciBpIGluIGRlZmF1bHRPcHRpb25zKSB7XG5cdFx0XHRpZiAoZGVmYXVsdE9wdGlvbnMuaGFzT3duUHJvcGVydHkoaSkpIHtcblx0XHRcdFx0b3B0aW9uc1tpXSA9IG9wdHMgJiYgdHlwZW9mKG9wdHNbaV0pICE9PSAndW5kZWZpbmVkJyA/IG9wdHNbaV0gOiBkZWZhdWx0T3B0aW9uc1tpXTtcblx0XHRcdFx0aWYgKHR5cGVvZihvcHRpb25zW2ldKSA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0XHRcdG9wdGlvbnNbaV0gPSBvcHRpb25zW2ldLmJpbmQodGhpcyk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBjaGVjayBmb3IgalF1ZXJ5IGVhc2luZ1xuXHRcdGlmICh0eXBlb2Yob3B0aW9ucy5lYXNpbmcpID09PSAnc3RyaW5nJyAmJiB0eXBlb2YoalF1ZXJ5KSAhPT0gJ3VuZGVmaW5lZCcgJiYgalF1ZXJ5LmlzRnVuY3Rpb24oalF1ZXJ5LmVhc2luZ1tvcHRpb25zLmVhc2luZ10pKSB7XG5cdFx0XHRvcHRpb25zLmVhc2luZyA9IGpRdWVyeS5lYXNpbmdbb3B0aW9ucy5lYXNpbmddO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRvcHRpb25zLmVhc2luZyA9IGRlZmF1bHRPcHRpb25zLmVhc2luZztcblx0XHR9XG5cblx0XHQvLyBwcm9jZXNzIGVhcmxpZXIgYW5pbWF0ZSBvcHRpb24gdG8gYXZvaWQgYmMgYnJlYWtzXG5cdFx0aWYgKHR5cGVvZihvcHRpb25zLmFuaW1hdGUpID09PSAnbnVtYmVyJykge1xuXHRcdFx0b3B0aW9ucy5hbmltYXRlID0ge1xuXHRcdFx0XHRkdXJhdGlvbjogb3B0aW9ucy5hbmltYXRlLFxuXHRcdFx0XHRlbmFibGVkOiB0cnVlXG5cdFx0XHR9O1xuXHRcdH1cblxuXHRcdGlmICh0eXBlb2Yob3B0aW9ucy5hbmltYXRlKSA9PT0gJ2Jvb2xlYW4nICYmICFvcHRpb25zLmFuaW1hdGUpIHtcblx0XHRcdG9wdGlvbnMuYW5pbWF0ZSA9IHtcblx0XHRcdFx0ZHVyYXRpb246IDEwMDAsXG5cdFx0XHRcdGVuYWJsZWQ6IG9wdGlvbnMuYW5pbWF0ZVxuXHRcdFx0fTtcblx0XHR9XG5cblx0XHQvLyBjcmVhdGUgcmVuZGVyZXJcblx0XHR0aGlzLnJlbmRlcmVyID0gbmV3IG9wdGlvbnMucmVuZGVyZXIoZWwsIG9wdGlvbnMpO1xuXG5cdFx0Ly8gaW5pdGlhbCBkcmF3XG5cdFx0dGhpcy5yZW5kZXJlci5kcmF3KGN1cnJlbnRWYWx1ZSk7XG5cblx0XHQvLyBpbml0aWFsIHVwZGF0ZVxuXHRcdGlmIChlbC5kYXRhc2V0ICYmIGVsLmRhdGFzZXQucGVyY2VudCkge1xuXHRcdFx0dGhpcy51cGRhdGUocGFyc2VGbG9hdChlbC5kYXRhc2V0LnBlcmNlbnQpKTtcblx0XHR9IGVsc2UgaWYgKGVsLmdldEF0dHJpYnV0ZSAmJiBlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtcGVyY2VudCcpKSB7XG5cdFx0XHR0aGlzLnVwZGF0ZShwYXJzZUZsb2F0KGVsLmdldEF0dHJpYnV0ZSgnZGF0YS1wZXJjZW50JykpKTtcblx0XHR9XG5cdH0uYmluZCh0aGlzKTtcblxuXHQvKipcblx0ICogVXBkYXRlIHRoZSB2YWx1ZSBvZiB0aGUgY2hhcnRcblx0ICogQHBhcmFtICB7bnVtYmVyfSBuZXdWYWx1ZSBOdW1iZXIgYmV0d2VlbiAwIGFuZCAxMDBcblx0ICogQHJldHVybiB7b2JqZWN0fSAgICAgICAgICBJbnN0YW5jZSBvZiB0aGUgcGx1Z2luIGZvciBtZXRob2QgY2hhaW5pbmdcblx0ICovXG5cdHRoaXMudXBkYXRlID0gZnVuY3Rpb24obmV3VmFsdWUpIHtcblx0XHRuZXdWYWx1ZSA9IHBhcnNlRmxvYXQobmV3VmFsdWUpO1xuXHRcdGlmIChvcHRpb25zLmFuaW1hdGUuZW5hYmxlZCkge1xuXHRcdFx0dGhpcy5yZW5kZXJlci5hbmltYXRlKGN1cnJlbnRWYWx1ZSwgbmV3VmFsdWUpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLnJlbmRlcmVyLmRyYXcobmV3VmFsdWUpO1xuXHRcdH1cblx0XHRjdXJyZW50VmFsdWUgPSBuZXdWYWx1ZTtcblx0XHRyZXR1cm4gdGhpcztcblx0fS5iaW5kKHRoaXMpO1xuXG5cdC8qKlxuXHQgKiBEaXNhYmxlIGFuaW1hdGlvblxuXHQgKiBAcmV0dXJuIHtvYmplY3R9IEluc3RhbmNlIG9mIHRoZSBwbHVnaW4gZm9yIG1ldGhvZCBjaGFpbmluZ1xuXHQgKi9cblx0dGhpcy5kaXNhYmxlQW5pbWF0aW9uID0gZnVuY3Rpb24oKSB7XG5cdFx0b3B0aW9ucy5hbmltYXRlLmVuYWJsZWQgPSBmYWxzZTtcblx0XHRyZXR1cm4gdGhpcztcblx0fTtcblxuXHQvKipcblx0ICogRW5hYmxlIGFuaW1hdGlvblxuXHQgKiBAcmV0dXJuIHtvYmplY3R9IEluc3RhbmNlIG9mIHRoZSBwbHVnaW4gZm9yIG1ldGhvZCBjaGFpbmluZ1xuXHQgKi9cblx0dGhpcy5lbmFibGVBbmltYXRpb24gPSBmdW5jdGlvbigpIHtcblx0XHRvcHRpb25zLmFuaW1hdGUuZW5hYmxlZCA9IHRydWU7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH07XG5cblx0aW5pdCgpO1xufTtcblxuJC5mbi5lYXN5UGllQ2hhcnQgPSBmdW5jdGlvbihvcHRpb25zKSB7XG5cdHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7XG5cdFx0dmFyIGluc3RhbmNlT3B0aW9ucztcblxuXHRcdGlmICghJC5kYXRhKHRoaXMsICdlYXN5UGllQ2hhcnQnKSkge1xuXHRcdFx0aW5zdGFuY2VPcHRpb25zID0gJC5leHRlbmQoe30sIG9wdGlvbnMsICQodGhpcykuZGF0YSgpKTtcblx0XHRcdCQuZGF0YSh0aGlzLCAnZWFzeVBpZUNoYXJ0JywgbmV3IEVhc3lQaWVDaGFydCh0aGlzLCBpbnN0YW5jZU9wdGlvbnMpKTtcblx0XHR9XG5cdH0pO1xufTtcblxuXG59KSk7XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL3NvdXJjZU1hcHMuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fIGZyb20gXCIuLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvZ2V0VXJsLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18gPSBuZXcgVVJMKFwiLi4vaW1nL2ludHJvLWJnMy5qcGdcIiwgaW1wb3J0Lm1ldGEudXJsKTtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgYGJvZHksaHRtbHtmb250LWZhbWlseTpcIk9wZW4gU2Fuc1wiLHNhbnMtc2VyaWY7dGV4dC1yZW5kZXJpbmc6b3B0aW1pemVMZWdpYmlsaXR5ICFpbXBvcnRhbnQ7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZCAhaW1wb3J0YW50O2NvbG9yOiM2NTZjNmQ7d2lkdGg6MTAwJSAhaW1wb3J0YW50O3Njcm9sbC1iZWhhdmlvcjpzbW9vdGh9aDF7Zm9udC13ZWlnaHQ6NzAwfWgxIHN0cm9uZ3tmb250LXdlaWdodDo5MDB9aDJ7bGluZS1oZWlnaHQ6MjBweDttYXJnaW46MDtjb2xvcjojMTIxZDFmO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW4tYm90dG9tOjMwcHg7Zm9udC1zaXplOjM0cHh9aDMsaDR7Y29sb3I6IzEyMWQxZjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo2MDB9aDV7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoyMHB4fXAuaW50cm97Zm9udC1zaXplOjE2cHg7bWFyZ2luOjEycHggMCAwO2xpbmUtaGVpZ2h0OjI0cHg7Zm9udC1mYW1pbHk6XCJPcGVuIFNhbnNcIixzYW5zLXNlcmlmfWF7Y29sb3I6IzMzM31hOmhvdmVyLGE6Zm9jdXN7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6IzZhYWNiOH11bCxvbHtsaXN0LXN0eWxlOm5vbmV9LmNsZWFyZml4OmFmdGVye3Zpc2liaWxpdHk6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjA7Y29udGVudDpcIiBcIjtjbGVhcjpib3RoO2hlaWdodDowfS5jbGVhcmZpeHtkaXNwbGF5OmlubGluZS1ibG9ja30qIGh0bWwgLmNsZWFyZml4e2hlaWdodDoxJX0uY2xlYXJmaXh7ZGlzcGxheTpibG9ja311bCxvbHtwYWRkaW5nOjA7d2Via2l0LXBhZGRpbmc6MDttb3otcGFkZGluZzowfWhye2hlaWdodDo0cHg7d2lkdGg6NzBweDt0ZXh0LWFsaWduOmNlbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOiM2YWFjYjg7bWFyZ2luOjAgYXV0bzttYXJnaW4tYm90dG9tOjMwcHg7Ym9yZGVyOjB9I25hdnt6LWluZGV4Ojk5OTk7cG9zaXRpb246LXdlYmtpdC1zdGlja3k7cG9zaXRpb246c3RpY2t5O3RvcDowfS5uYXZiYXItY3VzdG9te21hcmdpbi1ib3R0b206MDtiYWNrZ3JvdW5kLWNvbG9yOiMxMjFkMWY7Ym9yZGVyLXJhZGl1czowO3BhZGRpbmc6MTBweCAwfS5uYXZiYXItY3VzdG9tIC5uYXZiYXItYnJhbmR7Zm9udC13ZWlnaHQ6NjAwfS5uYXZiYXItY3VzdG9tIC5uYXZiYXItYnJhbmQgLm5hdmJhci10b2dnbGVyOmZvY3VzLC5uYXZiYXItY3VzdG9tIC5uYXZiYXItYnJhbmQgLm5hdmJhci10b2dnbGVyOmFjdGl2ZXtvdXRsaW5lOjB9Lm5hdmJhci1jdXN0b20gLm5hdmJhci1icmFuZCAubmF2YmFyLXRvZ2dsZXJ7cGFkZGluZzo0cHggNnB4O2ZvbnQtc2l6ZToxNnB4O2NvbG9yOiNmZmZ9Lm5hdmJhci1jdXN0b20gLm5hdmJhci1icmFuZCAubmF2YmFyLXRvZ2dsZXIgaS5mYXN7Zm9udC1zaXplOjE2cHg7Y29sb3I6I2ZmZn0ubmF2YmFyLWN1c3RvbSAubmF2YmFyLWJyYW5kOmZvY3Vze291dGxpbmU6MH0ubmF2YmFyLWN1c3RvbSBhe2NvbG9yOiNmNGY1ZjZ9Lm5hdmJhci1jdXN0b20gLm5hdiBsaSBhe3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzoxcHg7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQgLjNzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4zcyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjNzIGVhc2UtaW4tb3V0fS5uYXZiYXItY3VzdG9tIC5uYXYgbGkgYTpob3ZlcntvdXRsaW5lOjA7Y29sb3I6IzZhYWNiODtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCl9Lm5hdmJhci1jdXN0b20gLm5hdiBsaSBhOmZvY3VzLC5uYXZiYXItY3VzdG9tIC5uYXYgbGkgYTphY3RpdmV7b3V0bGluZTowO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTtjb2xvcjojNmFhY2I4fS5uYXZiYXItY3VzdG9tIC5uYXYgbGkuYWN0aXZle291dGxpbmU6MH0ubmF2YmFyLWN1c3RvbSAubmF2IGxpLmFjdGl2ZSBhe2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyl9Lm5hdmJhci1jdXN0b20gLm5hdiBsaS5hY3RpdmUgYTpob3Zlcntjb2xvcjojZmZmfS5idG4tZGVmYXVsdHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTtib3JkZXItY29sb3I6I2ZmZjtwYWRkaW5nOjEwcHggMjBweDttYXJnaW46MDtmb250LXNpemU6MTZweDtib3JkZXItcmFkaXVzOjB9LmJ0bi1kZWZhdWx0OmhvdmVyLC5idG4tZGVmYXVsdDpmb2N1cywuYnRuLWRlZmF1bHQuZm9jdXMsLmJ0bi1kZWZhdWx0OmFjdGl2ZSwuYnRuLWRlZmF1bHQuYWN0aXZle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMTIxZDFmO2JvcmRlci1jb2xvcjojMTIxZDFmfS5idG4tcHJpbWFyeXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzEyMWQxZjtwYWRkaW5nOjEwcHggMjBweDtib3JkZXItY29sb3I6IzEyMWQxZjtib3JkZXItcmFkaXVzOjB9LmJ0bi1wcmltYXJ5OmhvdmVyLC5idG4tcHJpbWFyeTpmb2N1cywuYnRuLXByaW1hcnkuZm9jdXMsLmJ0bi1wcmltYXJ5OmFjdGl2ZSwuYnRuLXByaW1hcnkuYWN0aXZle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNmFhY2I4O2JvcmRlci1jb2xvcjojNmFhY2I4fS5idG4tcHJpbWFyeSBpLmZhe21hcmdpbi1yaWdodDoxMHB4fS5pbnRyb3tkaXNwbGF5OnRhYmxlO3dpZHRoOjEwMCU7aGVpZ2h0OmF1dG87cGFkZGluZzoxMDBweCAwO3RleHQtYWxpZ246Y2VudGVyO2NvbG9yOiNmZmY7YmFja2dyb3VuZDp1cmwoJHtfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19ffSkgbm8tcmVwZWF0IGNlbnRlciB0b3A7YmFja2dyb3VuZC1jb2xvcjojNmFhY2I4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjstby1iYWNrZ3JvdW5kLXNpemU6Y292ZXJ9LnNlY3Rpb24tdGl0bGUuY2VudGVye3BhZGRpbmc6MjVweCAwIDQ1cHggMH0jYWJvdXR7cGFkZGluZzoxMDBweCAwO2JhY2tncm91bmQ6I2Y2ZjZmNn0jYWJvdXQgZGl2e21hcmdpbi1ib3R0b206MjBweH0jYWJvdXQgLmFib3V0LXRleHR7bWFyZ2luLWxlZnQ6MTBweH0jYWJvdXQgaW1ne2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjIwMHB4O2hlaWdodDoyMDBweDtkaXNwbGF5OmlubGluZS1ibG9ja30jYWJvdXQgcHtmb250LXNpemU6MTZwdDttYXJnaW4tdG9wOjIwcHg7bWFyZ2luLWJvdHRvbToyMHB4fSNza2lsbHN7cGFkZGluZzoxMDBweCAwO2JhY2tncm91bmQ6IzZhYWNiOH0jc2tpbGxzIGgye2NvbG9yOiNmZmZ9I3NraWxscyBocntiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjMpfSNza2lsbHMgLnNraWxse21hcmdpbi1ib3R0b206NDBweDt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjB9I3NraWxscyAuc2tpbGwgaDR7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOiNmZmZ9LmNoYXJ0e3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjE1MnB4O2hlaWdodDoxNTJweDttYXJnaW4tYm90dG9tOjI2cHg7dGV4dC1hbGlnbjpjZW50ZXJ9LmNoYXJ0IGNhbnZhc3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjB9LmNoYXJ0IC5wZXJjZW50e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToyMXB4O2NvbG9yOiMxMjFkMWY7bGluZS1oZWlnaHQ6MTUycHg7ei1pbmRleDoyfS5jaGFydCAucGVyY2VudDphZnRlcntjb250ZW50OlwiJVwiO21hcmdpbi1sZWZ0Oi4xZW07Zm9udC1zaXplOi44ZW19I3BvcnRmb2xpb3twYWRkaW5nOjgwcHggMDtiYWNrZ3JvdW5kOiNmZmY7YmFja2dyb3VuZDotbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYgMCUsICNmNGY1ZjYgNDklLCAjZmZmZmZmIDEwMCUpO2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgI2ZmZmZmZiksIGNvbG9yLXN0b3AoNDklLCAjZjRmNWY2KSwgY29sb3Itc3RvcCgxMDAlLCAjZmZmZmZmKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYgMCUsICNmNGY1ZjYgNDklLCAjZmZmZmZmIDEwMCUpO2JhY2tncm91bmQ6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZmZmZiAwJSwgI2Y0ZjVmNiA0OSUsICNmZmZmZmYgMTAwJSk7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZmZmZiAwJSwgI2Y0ZjVmNiA0OSUsICNmZmZmZmYgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmZmZmIDAlLCAjZjRmNWY2IDQ5JSwgI2ZmZmZmZiAxMDAlKTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9XCIjZmZmZmZmXCIsIGVuZENvbG9yc3RyPVwiI2ZmZmZmZlwiLCBHcmFkaWVudFR5cGU9MCl9LmNhdGVnb3JpZXN7cGFkZGluZy1ib3R0b206MzBweDt0ZXh0LWFsaWduOmNlbnRlcn11bC5jYXQgbGl7ZGlzcGxheTppbmxpbmUtYmxvY2t9b2wudHlwZSBsaXtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tbGVmdDoyMHB4fW9sLnR5cGUgbGkgYXtiYWNrZ3JvdW5kOiM2YWFjYjg7Y29sb3I6I2ZmZjtwYWRkaW5nOjZweCAxNHB4fW9sLnR5cGUgbGkgYS5hY3RpdmV7YmFja2dyb3VuZDojMTIxZDFmO2NvbG9yOiNmZmZ9b2wudHlwZSBsaSBhOmhvdmVye2JhY2tncm91bmQ6IzEyMWQxZjtjb2xvcjojZmZmfS5pc290b3BlLWl0ZW17ei1pbmRleDoyfS5pc290b3BlLWhpZGRlbi5pc290b3BlLWl0ZW17ei1pbmRleDoxfS5pc290b3BlLC5pc290b3BlIC5pc290b3BlLWl0ZW17LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi44czstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjhzO3RyYW5zaXRpb24tZHVyYXRpb246LjhzfS5pc290b3BlLWl0ZW17bWFyZ2luLXJpZ2h0Oi0xcHg7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0uaXNvdG9wZXstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpoZWlnaHQsd2lkdGg7LW1vei10cmFuc2l0aW9uLXByb3BlcnR5OmhlaWdodCx3aWR0aDt0cmFuc2l0aW9uLXByb3BlcnR5OmhlaWdodCx3aWR0aH0uaXNvdG9wZSAuaXNvdG9wZS1pdGVtey13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5Oi13ZWJraXQtdHJhbnNmb3JtLG9wYWNpdHk7LW1vei10cmFuc2l0aW9uLXByb3BlcnR5Oi1tb3otdHJhbnNmb3JtLG9wYWNpdHk7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eX0ucG9ydGZvbGlvLWl0ZW17bWFyZ2luOjE1cHggMDstd2Via2l0LXRyYW5zaXRpb246YWxsIC41cyBlYXNlLW91dDstbW96LXRyYW5zaXRpb246YWxsIC41cyBlYXNlLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2Utb3V0Oy1vLXRyYW5zaXRpb246YWxsIC41cyBlYXNlLW91dDt0cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1vdXR9LnBvcnRmb2xpby1pdGVtOmhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSk7LW1vei10cmFuc2Zvcm06c2NhbGUoMS4xKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMSk7LW8tdHJhbnNmb3JtOnNjYWxlKDEuMSk7dHJhbnNmb3JtOnNjYWxlKDEuMSl9LnBvcnRmb2xpby1pdGVtIC5ob3Zlci1iZ3toZWlnaHQ6MjYwcHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5ob3Zlci1iZyAuaG92ZXItdGV4dHtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MCBhdXRvO2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42Nik7cGFkZGluZzozMyUgMCAwIDA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtvcGFjaXR5OjA7dHJhbnNpdGlvbjphbGwgLjVzfS5ob3Zlci1iZyAuaG92ZXItdGV4dD5oNHtvcGFjaXR5OjA7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo0MDA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKTt0cmFuc2l0aW9uOmFsbCAuM3N9LmhvdmVyLWJnOmhvdmVyIC5ob3Zlci10ZXh0Pmg0e29wYWNpdHk6MTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LmhvdmVyLWJnIC5ob3Zlci10ZXh0Pml7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNpdGlvbjphbGwgLjNzfS5ob3Zlci1iZzpob3ZlciAuaG92ZXItdGV4dD5pe29wYWNpdHk6MTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSl9LmhvdmVyLWJnOmhvdmVyIC5ob3Zlci10ZXh0e29wYWNpdHk6MX0jcG9ydGZvbGlvIGkuZmF7Zm9udC1zaXplOjIwcHg7cGFkZGluZzo1cHg7Y29sb3I6I2U4N2UwNH0jYWNoaWV2ZW1lbnRze3BhZGRpbmc6MTAwcHggMDtiYWNrZ3JvdW5kOiM2YWFjYjh9I2FjaGlldmVtZW50cyBoMntjb2xvcjojZmZmfSNhY2hpZXZlbWVudHMgaHJ7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4zKX0uYWNoaWV2ZW1lbnQtYm94IGg0e2NvbG9yOiNmZmY7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbi1sZWZ0OjVweH0uYWNoaWV2ZW1lbnQtYm94IHNwYW4uY291bnR7Zm9udC1zaXplOjUycHg7Zm9udC13ZWlnaHQ6NjAwO2Rpc3BsYXk6YmxvY2s7Y29sb3I6IzEyMWQxZjtwYWRkaW5nOjA7bWFyZ2luOjB9I3Jlc3VtZXtwYWRkaW5nOjEwMHB4IDA7YmFja2dyb3VuZDojZjZmNmY2fS50aW1lbGluZXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lfS50aW1lbGluZTpiZWZvcmV7Y29udGVudDpcIlwiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6NDBweDt3aWR0aDoycHg7bWFyZ2luLWxlZnQ6LTEuNXB4O2JhY2tncm91bmQtY29sb3I6I2VlZX0udGltZWxpbmU+bGl7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLWJvdHRvbTo1MHB4O21pbi1oZWlnaHQ6NTBweH0udGltZWxpbmU+bGk6YmVmb3JlLC50aW1lbGluZT5saTphZnRlcntjb250ZW50OlwiIFwiO2Rpc3BsYXk6dGFibGV9LnRpbWVsaW5lPmxpOmFmdGVye2NsZWFyOmJvdGh9LnRpbWVsaW5lPmxpIC50aW1lbGluZS1wYW5lbHtmbG9hdDpyaWdodDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO3BhZGRpbmc6MCAyMHB4IDAgMTAwcHg7dGV4dC1hbGlnbjpsZWZ0fS50aW1lbGluZT5saSAudGltZWxpbmUtcGFuZWw6YmVmb3Jle3JpZ2h0OmF1dG87bGVmdDotMTVweDtib3JkZXItcmlnaHQtd2lkdGg6MTVweDtib3JkZXItbGVmdC13aWR0aDowfS50aW1lbGluZT5saSAudGltZWxpbmUtcGFuZWw6YWZ0ZXJ7cmlnaHQ6YXV0bztsZWZ0Oi0xNHB4O2JvcmRlci1yaWdodC13aWR0aDoxNHB4O2JvcmRlci1sZWZ0LXdpZHRoOjB9LnRpbWVsaW5lPmxpIC50aW1lbGluZS1pbWFnZXt6LWluZGV4OjEwMDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7d2lkdGg6NzBweDtoZWlnaHQ6NzBweDttYXJnaW4tbGVmdDowO2JvcmRlcjoxcHggc29saWQgI2VlZTtib3JkZXItcmFkaXVzOjEwMCU7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZDojZmZmfS50aW1lbGluZT5saSAudGltZWxpbmUtaW1hZ2UgaDR7bWFyZ2luLXRvcDoyMHB4O2ZvbnQtc2l6ZToxNHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0udGltZWxpbmU+bGkudGltZWxpbmUtaW52ZXJ0ZWQ+LnRpbWVsaW5lLXBhbmVse2Zsb2F0OnJpZ2h0O3BhZGRpbmc6MCAyMHB4IDAgMTAwcHg7dGV4dC1hbGlnbjpsZWZ0fS50aW1lbGluZT5saS50aW1lbGluZS1pbnZlcnRlZD4udGltZWxpbmUtcGFuZWw6YmVmb3Jle3JpZ2h0OmF1dG87bGVmdDotMTVweDtib3JkZXItcmlnaHQtd2lkdGg6MTVweDtib3JkZXItbGVmdC13aWR0aDowfS50aW1lbGluZT5saS50aW1lbGluZS1pbnZlcnRlZD4udGltZWxpbmUtcGFuZWw6YWZ0ZXJ7cmlnaHQ6YXV0bztsZWZ0Oi0xNHB4O2JvcmRlci1yaWdodC13aWR0aDoxNHB4O2JvcmRlci1sZWZ0LXdpZHRoOjB9LnRpbWVsaW5lPmxpOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTo0MHB4fS50aW1lbGluZSAudGltZWxpbmUtaGVhZGluZyBoNHttYXJnaW4tdG9wOjA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtc2l6ZToxNnB4fS50aW1lbGluZSAudGltZWxpbmUtaGVhZGluZyBoMnttYXJnaW4tdG9wOjMwcHh9LnRpbWVsaW5lIC50aW1lbGluZS1oZWFkaW5nIGg0LnN1YmhlYWRpbmd7dGV4dC10cmFuc2Zvcm06bm9uZTtjb2xvcjojNjI5Y2E3O2ZvbnQtc2l6ZToyMHB4fS50aW1lbGluZSAudGltZWxpbmUtYm9keT5wLC50aW1lbGluZSAudGltZWxpbmUtYm9keT51bHttYXJnaW4tYm90dG9tOjB9I2NvbnRhY3R7cGFkZGluZzoxMDBweCAwIDQwcHggMDtjb2xvcjojMTIxZDFmO2JhY2tncm91bmQ6IzZhYWNiOH0jY29udGFjdCBoMntjb2xvcjojZmZmfSNjb250YWN0IGhye2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMyl9I2NvbnRhY3QgaDN7cGFkZGluZy10b3A6MjBweDtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo0MDA7Y29sb3I6I2ZmZn0jY29udGFjdCBpLmZhYiwjY29udGFjdCBpLmZhcywjY29udGFjdCBpLmZhe2NvbG9yOiMxMjFkMWY7bWFyZ2luLWJvdHRvbToxMHB4O3RyYW5zaXRpb246YWxsIC41c30jY29udGFjdCBhe2NvbG9yOiMxMjFkMWY7dHJhbnNpdGlvbjphbGwgLjVzfSNjb250YWN0IGEgaS5mYWI6aG92ZXIsI2NvbnRhY3QgYSBpLmZhczpob3ZlciwjY29udGFjdCBhIGkuZmE6aG92ZXJ7Y29sb3I6I2ZmZn0jY29udGFjdCBhOmhvdmVye2NvbG9yOiNmZmZ9I2NvbnRhY3QgLnNvY2lhbCBpLmZhYiwjY29udGFjdCAuc29jaWFsIGkuZmFzLCNjb250YWN0IC5zb2NpYWwgaS5mYXtjb2xvcjojZmZmfSNjb250YWN0IC5zb2NpYWwgaS5mYWI6aG92ZXIsI2NvbnRhY3QgLnNvY2lhbCBpLmZhczpob3Zlcntjb2xvcjojMTIxZDFmfSNjb250YWN0IGZvcm17cGFkZGluZzozMHB4IDB9I2NvbnRhY3QgLnRleHQtZGFuZ2Vye2NvbG9yOiNlODdlMDQ7dGV4dC1hbGlnbjpsZWZ0fWxhYmVse2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjQwMDtmb250LWZhbWlseTpcIk9wZW4gU2Fuc1wiLHNhbnMtc2VyaWY7ZmxvYXQ6bGVmdH0jY29udGFjdCAuZm9ybS1jb250cm9se2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtwYWRkaW5nOjZweCAxMnB4O2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7Y29sb3I6IzJjM2U1MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjgpO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXI6MDtib3JkZXItcmFkaXVzOjJweDstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOm5vbmU7LW8tdHJhbnNpdGlvbjpub25lO3RyYW5zaXRpb246bm9uZX0jY29udGFjdCAuZm9ybS1jb250cm9sOmZvY3Vze2JvcmRlci1jb2xvcjppbmhlcml0O291dGxpbmU6MDstd2Via2l0LWJveC1zaGFkb3c6cmdiYSgwLDAsMCwwKTtib3gtc2hhZG93OnJnYmEoMCwwLDAsMCl9LmZvcm0tY29udHJvbDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjojMmMzZTUwfS5mb3JtLWNvbnRyb2w6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojMmMzZTUwfS5mb3JtLWNvbnRyb2w6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6IzJjM2U1MH0uZm9ybS1jb250cm9sOi1tcy1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjojMmMzZTUwfS5zb2NpYWwgdWwgbGl7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjAgOHB4fS5zb2NpYWwgaS5mYWIsLnNvY2lhbCBpLmZhcywuc29jaWFsIGkuZmF7Zm9udC1zaXplOjMwcHg7Y29sb3I6I2ZmZjt0cmFuc2l0aW9uOmFsbCAuNXN9LnNvY2lhbCBpLmZhYjpob3Zlciwuc29jaWFsIGkuZmFzOmhvdmVye2NvbG9yOiMxMjFkMWZ9I2NvbnRhY3QgLnNvY2lhbHttYXJnaW4tdG9wOjYwcHh9I2NvbnRhY3QgLnNvY2lhbCB1bCBsaXttYXJnaW46MCAyMHB4fSNjb250YWN0IC5zb2NpYWwgaS5mYWIsI2NvbnRhY3QgLnNvY2lhbCBpLmZhc3twYWRkaW5nOjRweCA1cHh9I2NvbnRhY3QgLmJ0bntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7Ym9yZGVyOjFweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6MDtwYWRkaW5nOjEwcHggMjBweDtjb2xvcjojZmZmO21hcmdpbi10b3A6MTVweH0jY29udGFjdCAuYnRuOmhvdmVyLCNjb250YWN0ICNjb250YWN0IC5idG46Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojMTIxZDFmO2JvcmRlcjoxcHggc29saWQgIzEyMWQxZn0uYnRuOmFjdGl2ZSwuYnRuLmFjdGl2ZXtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7b3V0bGluZTowOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX1hOmZvY3VzLC5idG46Zm9jdXMsLmJ0bjphY3RpdmU6Zm9jdXMsLmJ0bi5hY3RpdmU6Zm9jdXMsLmJ0bi5mb2N1cywuYnRuOmFjdGl2ZS5mb2N1cywuYnRuLmFjdGl2ZS5mb2N1c3tvdXRsaW5lOm5vbmU7b3V0bGluZS1vZmZzZXQ6MH0jZm9vdGVye2JhY2tncm91bmQ6IzEyMWQxZjtjb2xvcjojN2Q4Mzg0O3BhZGRpbmc6MzBweCAwIDI1cHggMH0jZm9vdGVyIHB7Zm9udC1zaXplOjEzcHh9I2Zvb3RlciBhe2NvbG9yOiNhMGE1YTV9I2Zvb3RlciBhOmhvdmVye2NvbG9yOiM2YWFjYjh9QG1lZGlhKG1pbi13aWR0aDogNzY4cHgpey5pbnRyb3toZWlnaHQ6MTAwJTtwYWRkaW5nOjA7dGV4dC1hbGlnbjpsZWZ0O2NvbG9yOiNmZmZ9LmludHJvIGgxe2ZvbnQtc2l6ZTo2MHB4O2ZvbnQtd2VpZ2h0OjUwMDtsZXR0ZXItc3BhY2luZzotMnB4fS5pbnRybyAubmFtZXtmb250LXdlaWdodDo2MDB9LmludHJvIC5pbnRyby10ZXh0e21heC13aWR0aDo3NSV9LmludHJvIC5pbnRyby10ZXh0IHB7Zm9udC1mYW1pbHk6XCJMYXRvXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MjBweDttYXJnaW4tYm90dG9tOjIwcHg7bWFyZ2luLXRvcDoyMHB4fS5pbnRybyAuaW50cm8tdGV4dCBhe21hcmdpbi10b3A6MjBweH1zZWN0aW9ue3BhZGRpbmc6MTIwcHggMH1oZWFkZXIgLmludHJvLXRleHR7cGFkZGluZy10b3A6MzAwcHg7cGFkZGluZy1ib3R0b206MTQwcHh9LnRpbWVsaW5lOmJlZm9yZXtsZWZ0OjUwJX0udGltZWxpbmU+bGl7bWFyZ2luLWJvdHRvbToxMDBweDttaW4taGVpZ2h0OjEwMHB4fS50aW1lbGluZT5saSAudGltZWxpbmUtcGFuZWx7ZmxvYXQ6bGVmdDt3aWR0aDo0MSU7cGFkZGluZzowIDIwcHggMjBweCAzMHB4O3RleHQtYWxpZ246cmlnaHR9LnRpbWVsaW5lPmxpIC50aW1lbGluZS1pbWFnZXtsZWZ0OjUwJTt3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7bWFyZ2luLWxlZnQ6LTUwcHh9LnRpbWVsaW5lPmxpIC50aW1lbGluZS1pbWFnZSBoNHttYXJnaW4tdG9wOjE2cHg7bGluZS1oZWlnaHQ6MThweDtmb250LXdlaWdodDo0MDB9LnRpbWVsaW5lPmxpLnRpbWVsaW5lLWludmVydGVkPi50aW1lbGluZS1wYW5lbHtmbG9hdDpyaWdodDtwYWRkaW5nOjAgMzBweCAyMHB4IDIwcHg7dGV4dC1hbGlnbjpsZWZ0fX1AbWVkaWEobWluLXdpZHRoOiA5OTJweCl7I2hlcmUtbWUgaDF7bWFyZ2luOjEwcHggMCAwcHh9LnRpbWVsaW5lPmxpe21pbi1oZWlnaHQ6MTUwcHh9LnRpbWVsaW5lPmxpIC50aW1lbGluZS1wYW5lbHtwYWRkaW5nOjAgMjBweCAyMHB4fS50aW1lbGluZT5saSAudGltZWxpbmUtaW1hZ2V7d2lkdGg6MTUwcHg7aGVpZ2h0OjE1MHB4O21hcmdpbi1sZWZ0Oi03NXB4fS50aW1lbGluZT5saSAudGltZWxpbmUtaW1hZ2UgaDR7bWFyZ2luLXRvcDozMHB4O2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjI2cHh9LnRpbWVsaW5lPmxpLnRpbWVsaW5lLWludmVydGVkPi50aW1lbGluZS1wYW5lbHtwYWRkaW5nOjAgMjBweCAyMHB4fX1AbWVkaWEobWluLXdpZHRoOiAxMjAwcHgpey50aW1lbGluZT5saXttaW4taGVpZ2h0OjE3MHB4fS50aW1lbGluZT5saSAudGltZWxpbmUtcGFuZWx7cGFkZGluZzoxMHB4IDIwcHggMjBweCAxMDBweH0udGltZWxpbmU+bGkgLnRpbWVsaW5lLWltYWdle3dpZHRoOjE1MHB4O2hlaWdodDoxNTBweDttYXJnaW4tbGVmdDotNzVweH0udGltZWxpbmU+bGkgLnRpbWVsaW5lLWltYWdlIGg0e21hcmdpbi10b3A6NDBweDtmb250LXdlaWdodDo0MDB9LnRpbWVsaW5lPmxpLnRpbWVsaW5lLWludmVydGVkPi50aW1lbGluZS1wYW5lbHtwYWRkaW5nOjEwcHggMTAwcHggMjBweCAyMHB4fX1gLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL3NyYy9jc3Mvc3R5bGUuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFHQSxVQUNJLGtDQUFBLENBQ0EsNENBQUEsQ0FDQSw2Q0FBQSxDQUNBLGFBQUEsQ0FDQSxxQkFBQSxDQUNBLHNCQUFBLENBR0osR0FDSSxlQUFBLENBR0osVUFDSSxlQUFBLENBR0osR0FDSSxnQkFBQSxDQUNBLFFBQUEsQ0FDQSxhQXZCWSxDQXdCWixlQUFBLENBQ0Esa0JBQUEsQ0FDQSxjQUFBLENBR0osTUFDSSxhQTlCWSxDQStCWixjQUFBLENBQ0EsZUFBQSxDQUdKLEdBQ0ksd0JBQUEsQ0FDQSxlQUFBLENBQ0EsZ0JBQUEsQ0FHSixRQUNJLGNBQUEsQ0FDQSxlQUFBLENBQ0EsZ0JBQUEsQ0FDQSxrQ0FBQSxDQUdKLEVBQ0ksVUFBQSxDQUdKLGdCQUNJLG9CQUFBLENBQ0EsYUFyRGMsQ0F3RGxCLE1BQ0ksZUFBQSxDQUdKLGdCQUNJLGlCQUFBLENBQ0EsYUFBQSxDQUNBLFdBQUEsQ0FDQSxXQUFBLENBQ0EsVUFBQSxDQUNBLFFBQUEsQ0FHSixVQUNJLG9CQUFBLENBR0osaUJBQ0ksU0FBQSxDQUdKLFVBQ0ksYUFBQSxDQUdKLE1BQ0ksU0FBQSxDQUNBLGdCQUFBLENBQ0EsYUFBQSxDQUdKLEdBQ0ksVUFBQSxDQUNB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Q0ksNkJBQUEsQ0FDQSxjQUFBLENBQ0Esa0JBQUEsQ0FDQSxlQUFBLENBRUoscUJBQ0ksZUFBQSxDQUVKLFFBQ0ksZUFBQSxDQUVKLG1CQUNJLGlCQUFBLENBQ0Esb0JBQUEsQ0FFSixpQkFDSSxRQUFBLENBRUosYUFDSSxtQkFBQSxDQUNBLGdCQUFBLENBRUosNkJBQ0ksVUFBQSxDQUNBLFNBQUEsQ0FDQSx3QkFBQSxDQUNBLGdCQUFBLENBRUosNkJBQ0ksUUFBQSxDQUNBLFdBQUEsQ0FDQSxZQUFBLENBQ0EsaUJBQUEsQ0FFSixnQ0FDSSxlQUFBLENBQ0EsZ0JBQUEsQ0FDQSxlQUFBLENBRUosK0NBQ0ksV0FBQSxDQUNBLHdCQUFBLENBQ0EsZUFBQSxDQUFBLENBSVIseUJBQ0ksWUFDSSxpQkFBQSxDQUVKLGFBQ0ksZ0JBQUEsQ0FFSiw2QkFDSSxtQkFBQSxDQUVKLDZCQUNJLFdBQUEsQ0FDQSxZQUFBLENBQ0EsaUJBQUEsQ0FFSixnQ0FDSSxlQUFBLENBQ0EsY0FBQSxDQUNBLGdCQUFBLENBRUosK0NBQ0ksbUJBQUEsQ0FBQSxDQUlSLDBCQUNJLGFBQ0ksZ0JBQUEsQ0FFSiw2QkFDSSw0QkFBQSxDQUVKLDZCQUNJLFdBQUEsQ0FDQSxZQUFBLENBQ0EsaUJBQUEsQ0FFSixnQ0FDSSxlQUFBLENBQ0EsZUFBQSxDQUVKLCtDQUNJLDRCQUFBLENBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiJHByaW1hcnktY29sb3I6ICMxMjFkMWY7XFxyXFxuJHNlY29uZGFyeS1jb2xvcjogIzZBQUNCODtcXHJcXG5cXHJcXG5ib2R5LCBodG1sIHtcXHJcXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xcclxcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFpbXBvcnRhbnQ7XFxyXFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkICFpbXBvcnRhbnQ7XFxyXFxuICAgIGNvbG9yOiAjNjU2YzZkO1xcclxcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xcclxcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcXHJcXG59XFxyXFxuXFxyXFxuaDEge1xcclxcbiAgICBmb250LXdlaWdodDogNzAwO1xcclxcbn1cXHJcXG5cXHJcXG5oMSBzdHJvbmcge1xcclxcbiAgICBmb250LXdlaWdodDogOTAwO1xcclxcbn1cXHJcXG5cXHJcXG5oMiB7XFxyXFxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcclxcbiAgICBtYXJnaW46IDA7XFxyXFxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcXHJcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXHJcXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcXHJcXG4gICAgZm9udC1zaXplOiAzNHB4O1xcclxcbn1cXHJcXG5cXHJcXG5oMywgaDQge1xcclxcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XFxyXFxuICAgIGZvbnQtc2l6ZTogMjBweDtcXHJcXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcXHJcXG59XFxyXFxuXFxyXFxuaDUge1xcclxcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xcclxcbiAgICBmb250LXdlaWdodDogNzAwO1xcclxcbiAgICBsaW5lLWhlaWdodDogMjBweDtcXHJcXG59XFxyXFxuXFxyXFxucC5pbnRybyB7XFxyXFxuICAgIGZvbnQtc2l6ZTogMTZweDtcXHJcXG4gICAgbWFyZ2luOiAxMnB4IDAgMDtcXHJcXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XFxyXFxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcXHJcXG59XFxyXFxuXFxyXFxuYSB7XFxyXFxuICAgIGNvbG9yOiAjMzMzO1xcclxcbn1cXHJcXG5cXHJcXG5hOmhvdmVyLCBhOmZvY3VzIHtcXHJcXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcclxcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcXHJcXG59XFxyXFxuXFxyXFxudWwsIG9sIHtcXHJcXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcXHJcXG59XFxyXFxuXFxyXFxuLmNsZWFyZml4OmFmdGVyIHtcXHJcXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xcclxcbiAgICBkaXNwbGF5OiBibG9jaztcXHJcXG4gICAgZm9udC1zaXplOiAwO1xcclxcbiAgICBjb250ZW50OiBcXFwiIFxcXCI7XFxyXFxuICAgIGNsZWFyOiBib3RoO1xcclxcbiAgICBoZWlnaHQ6IDA7XFxyXFxufVxcclxcblxcclxcbi5jbGVhcmZpeCB7XFxyXFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXHJcXG59XFxyXFxuXFxyXFxuKiBodG1sIC5jbGVhcmZpeCB7XFxyXFxuICAgIGhlaWdodDogMSU7XFxyXFxufVxcclxcblxcclxcbi5jbGVhcmZpeCB7XFxyXFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcclxcbn1cXHJcXG5cXHJcXG51bCwgb2wge1xcclxcbiAgICBwYWRkaW5nOiAwO1xcclxcbiAgICB3ZWJraXQtcGFkZGluZzogMDtcXHJcXG4gICAgbW96LXBhZGRpbmc6IDA7XFxyXFxufVxcclxcblxcclxcbmhyIHtcXHJcXG4gICAgaGVpZ2h0OiA0cHg7XFxyXFxuICAgIHdpZHRoOiA3MHB4O1xcclxcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxyXFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXHJcXG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcXHJcXG4gICAgbWFyZ2luOiAwIGF1dG87XFxyXFxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XFxyXFxuICAgIGJvcmRlcjogMDtcXHJcXG59XFxyXFxuXFxyXFxuLyogTmF2aWdhdGlvbiAqL1xcclxcblxcclxcbiNuYXYge1xcclxcbiAgICB6LWluZGV4OiA5OTk5O1xcclxcbiAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XFxyXFxuICAgIHBvc2l0aW9uOiBzdGlja3k7XFxyXFxuICAgIHRvcDogMDtcXHJcXG59XFxyXFxuXFxyXFxuLm5hdmJhci1jdXN0b20ge1xcclxcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcclxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcXHJcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXHJcXG4gICAgcGFkZGluZzogMTBweCAwO1xcclxcblxcclxcbiAgICAubmF2YmFyLWJyYW5kIHtcXHJcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxyXFxuXFxyXFxuICAgICAgICAubmF2YmFyLXRvZ2dsZXI6Zm9jdXMsIC5uYXZiYXItdG9nZ2xlcjphY3RpdmUge1xcclxcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XFxyXFxuICAgICAgICB9XFxyXFxuXFxyXFxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xcclxcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCA2cHg7XFxyXFxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xcclxcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xcclxcbiAgICAgICAgICAgIGkuZmFzIHtcXHJcXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xcclxcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG5cXHJcXG4gICAgLm5hdmJhci1icmFuZDpmb2N1cyB7XFxyXFxuICAgICAgICBvdXRsaW5lOiAwO1xcclxcbiAgICB9XFxyXFxuXFxyXFxuICAgIGEge1xcclxcbiAgICAgICAgY29sb3I6ICNmNGY1ZjY7XFxyXFxuICAgIH1cXHJcXG5cXHJcXG4gICAgLm5hdiBsaSBhIHtcXHJcXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XFxyXFxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xcclxcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcyBlYXNlLWluLW91dDtcXHJcXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3MgZWFzZS1pbi1vdXQ7XFxyXFxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcyBlYXNlLWluLW91dDtcXHJcXG4gICAgfVxcclxcblxcclxcbiAgICAubmF2IGxpIGE6aG92ZXIge1xcclxcbiAgICAgICAgb3V0bGluZTogMDtcXHJcXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xcclxcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxyXFxuICAgIH1cXHJcXG5cXHJcXG4gICAgLm5hdiBsaSBhOmZvY3VzLCAubmF2IGxpIGE6YWN0aXZlIHtcXHJcXG4gICAgICAgIG91dGxpbmU6IDA7XFxyXFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXHJcXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xcclxcbiAgICB9XFxyXFxuXFxyXFxuICAgIC5uYXYgbGkuYWN0aXZlIHtcXHJcXG4gICAgICAgIG91dGxpbmU6IDA7XFxyXFxuICAgIH1cXHJcXG5cXHJcXG4gICAgLm5hdiBsaS5hY3RpdmUgYSB7XFxyXFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4zKTtcXHJcXG4gICAgfVxcclxcblxcclxcbiAgICAubmF2IGxpLmFjdGl2ZSBhOmhvdmVyIHtcXHJcXG4gICAgICAgIGNvbG9yOiAjZmZmO1xcclxcbiAgICB9XFxyXFxufVxcclxcblxcclxcbi5idG4tZGVmYXVsdCB7XFxyXFxuICAgIGNvbG9yOiAjZmZmO1xcclxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXHJcXG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xcclxcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XFxyXFxuICAgIG1hcmdpbjogMDtcXHJcXG4gICAgZm9udC1zaXplOiAxNnB4O1xcclxcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcclxcbn1cXHJcXG5cXHJcXG4uYnRuLWRlZmF1bHQ6aG92ZXIsIC5idG4tZGVmYXVsdDpmb2N1cywgLmJ0bi1kZWZhdWx0LmZvY3VzLCAuYnRuLWRlZmF1bHQ6YWN0aXZlLCAuYnRuLWRlZmF1bHQuYWN0aXZlIHtcXHJcXG4gICAgY29sb3I6ICNmZmY7XFxyXFxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xcclxcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xcclxcbn1cXHJcXG5cXHJcXG4uYnRuLXByaW1hcnkge1xcclxcbiAgICBjb2xvcjogI2ZmZjtcXHJcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XFxyXFxuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcXHJcXG4gICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcXHJcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXHJcXG59XFxyXFxuXFxyXFxuLmJ0bi1wcmltYXJ5OmhvdmVyLCAuYnRuLXByaW1hcnk6Zm9jdXMsIC5idG4tcHJpbWFyeS5mb2N1cywgLmJ0bi1wcmltYXJ5OmFjdGl2ZSwgLmJ0bi1wcmltYXJ5LmFjdGl2ZSB7XFxyXFxuICAgIGNvbG9yOiAjZmZmO1xcclxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xcclxcbiAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XFxyXFxufVxcclxcblxcclxcbi5idG4tcHJpbWFyeSBpLmZhIHtcXHJcXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xcclxcbn1cXHJcXG5cXHJcXG4vKiBIb21lIFNlY3Rpb24gKi9cXHJcXG4uaW50cm8ge1xcclxcbiAgICBkaXNwbGF5OiB0YWJsZTtcXHJcXG4gICAgd2lkdGg6IDEwMCU7XFxyXFxuICAgIGhlaWdodDogYXV0bztcXHJcXG4gICAgcGFkZGluZzogMTAwcHggMDtcXHJcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xcclxcbiAgICBjb2xvcjogI2ZmZjtcXHJcXG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9pbnRyby1iZzMuanBnKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcXHJcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcXHJcXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xcclxcbiAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XFxyXFxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XFxyXFxuICAgIC1vLWJhY2tncm91bmQtc2l6ZTogY292ZXI7XFxyXFxufVxcclxcblxcclxcbi5zZWN0aW9uLXRpdGxlLmNlbnRlciB7XFxyXFxuICAgIHBhZGRpbmc6IDI1cHggMCA0NXB4IDA7XFxyXFxufVxcclxcblxcclxcbi8qIEFib3V0IFNlY3Rpb24gKi9cXHJcXG4jYWJvdXQge1xcclxcbiAgICBwYWRkaW5nOiAxMDBweCAwO1xcclxcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcclxcbn1cXHJcXG5cXHJcXG4jYWJvdXQgZGl2IHtcXHJcXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcXHJcXG59XFxyXFxuXFxyXFxuI2Fib3V0IC5hYm91dC10ZXh0IHtcXHJcXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XFxyXFxufVxcclxcblxcclxcbiNhYm91dCBpbWcge1xcclxcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XFxyXFxuICAgIHdpZHRoOiAyMDBweDtcXHJcXG4gICAgaGVpZ2h0OiAyMDBweDtcXHJcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcclxcbn1cXHJcXG5cXHJcXG4jYWJvdXQgcCB7XFxyXFxuICAgIGZvbnQtc2l6ZTogMTZwdDtcXHJcXG4gICAgbWFyZ2luLXRvcDogMjBweDtcXHJcXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcXHJcXG59XFxyXFxuXFxyXFxuLyogU2tpbGxzIFNlY3Rpb24gKi9cXHJcXG4jc2tpbGxzIHtcXHJcXG4gICAgcGFkZGluZzogMTAwcHggMDtcXHJcXG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcXHJcXG5cXHJcXG4gICAgaDIge1xcclxcbiAgICAgICAgY29sb3I6ICNmZmY7XFxyXFxuICAgIH1cXHJcXG5cXHJcXG4gICAgaHIge1xcclxcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xcclxcbiAgICB9XFxyXFxuXFxyXFxuICAgIC5za2lsbCB7XFxyXFxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xcclxcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xcclxcbiAgICAgICAgcGFkZGluZzogMDtcXHJcXG5cXHJcXG4gICAgICAgIGg0IHtcXHJcXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xcclxcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxufVxcclxcblxcclxcbi5jaGFydCB7XFxyXFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXHJcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcclxcbiAgICB3aWR0aDogMTUycHg7XFxyXFxuICAgIGhlaWdodDogMTUycHg7XFxyXFxuICAgIG1hcmdpbi1ib3R0b206IDI2cHg7XFxyXFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcXHJcXG5cXHJcXG4gICAgY2FudmFzIHtcXHJcXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXHJcXG4gICAgICAgIHRvcDogMDtcXHJcXG4gICAgICAgIGxlZnQ6IDA7XFxyXFxuICAgIH1cXHJcXG5cXHJcXG4gICAgLnBlcmNlbnQge1xcclxcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcclxcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xcclxcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xcclxcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1MnB4O1xcclxcbiAgICAgICAgei1pbmRleDogMjtcXHJcXG4gICAgfVxcclxcblxcclxcbiAgICAucGVyY2VudDphZnRlciB7XFxyXFxuICAgICAgICBjb250ZW50OiAnJSc7XFxyXFxuICAgICAgICBtYXJnaW4tbGVmdDogMC4xZW07XFxyXFxuICAgICAgICBmb250LXNpemU6IC44ZW07XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuXFxyXFxuLyogUG9ydGZvbGlvIFNlY3Rpb24gKi9cXHJcXG4jcG9ydGZvbGlvIHtcXHJcXG4gICAgcGFkZGluZzogODBweCAwO1xcclxcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyAvKiBPbGQgYnJvd3NlcnMgKi9cXHJcXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmIDAlLCAjZjRmNWY2IDQ5JSwgI2ZmZmZmZiAxMDAlKTsgLyogRkYzLjYrICovXFxyXFxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsICNmZmZmZmYpLCBjb2xvci1zdG9wKDQ5JSwgI2Y0ZjVmNiksIGNvbG9yLXN0b3AoMTAwJSwgI2ZmZmZmZikpOyAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cXHJcXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmIDAlLCAjZjRmNWY2IDQ5JSwgI2ZmZmZmZiAxMDAlKTsgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cXHJcXG4gICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZmZmZiAwJSwgI2Y0ZjVmNiA0OSUsICNmZmZmZmYgMTAwJSk7IC8qIE9wZXJhIDExLjEwKyAqL1xcclxcbiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZmZmZiAwJSwgI2Y0ZjVmNiA0OSUsICNmZmZmZmYgMTAwJSk7IC8qIElFMTArICovXFxyXFxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmZmZmYgMCUsICNmNGY1ZjYgNDklLCAjZmZmZmZmIDEwMCUpOyAvKiBXM0MgKi9cXHJcXG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI2ZmZmZmZicsIGVuZENvbG9yc3RyPScjZmZmZmZmJywgR3JhZGllbnRUeXBlPTApOyAvKiBJRTYtOSAqL1xcclxcbn1cXHJcXG5cXHJcXG4uY2F0ZWdvcmllcyB7XFxyXFxuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xcclxcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxyXFxufVxcclxcblxcclxcbnVsLmNhdCBsaSB7XFxyXFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXHJcXG59XFxyXFxuXFxyXFxub2wudHlwZSBsaSB7XFxyXFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXHJcXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XFxyXFxufVxcclxcblxcclxcbm9sLnR5cGUgbGkgYSB7XFxyXFxuICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XFxyXFxuICAgIGNvbG9yOiAjZmZmO1xcclxcbiAgICBwYWRkaW5nOiA2cHggMTRweDtcXHJcXG59XFxyXFxuXFxyXFxub2wudHlwZSBsaSBhLmFjdGl2ZSB7XFxyXFxuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xcclxcbiAgICBjb2xvcjogI2ZmZjtcXHJcXG59XFxyXFxuXFxyXFxub2wudHlwZSBsaSBhOmhvdmVyIHtcXHJcXG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XFxyXFxuICAgIGNvbG9yOiAjZmZmO1xcclxcbn1cXHJcXG5cXHJcXG4uaXNvdG9wZS1pdGVtIHtcXHJcXG4gICAgei1pbmRleDogMlxcclxcbn1cXHJcXG5cXHJcXG4uaXNvdG9wZS1oaWRkZW4uaXNvdG9wZS1pdGVtIHtcXHJcXG4gICAgei1pbmRleDogMVxcclxcbn1cXHJcXG5cXHJcXG4uaXNvdG9wZSwgLmlzb3RvcGUgLmlzb3RvcGUtaXRlbSB7XFxyXFxuICAgIC8qIGNoYW5nZSBkdXJhdGlvbiB2YWx1ZSB0byB3aGF0ZXZlciB5b3UgbGlrZSAqL1xcclxcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuOHM7XFxyXFxuICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMC44cztcXHJcXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC44cztcXHJcXG59XFxyXFxuXFxyXFxuLmlzb3RvcGUtaXRlbSB7XFxyXFxuICAgIG1hcmdpbi1yaWdodDogLTFweDtcXHJcXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XFxyXFxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcXHJcXG59XFxyXFxuXFxyXFxuLmlzb3RvcGUge1xcclxcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcXHJcXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xcclxcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgd2lkdGg7XFxyXFxuICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCB3aWR0aDtcXHJcXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCB3aWR0aDtcXHJcXG59XFxyXFxuXFxyXFxuLmlzb3RvcGUgLmlzb3RvcGUtaXRlbSB7XFxyXFxuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xcclxcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XFxyXFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIG9wYWNpdHk7XFxyXFxuICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1vei10cmFuc2Zvcm0sIG9wYWNpdHk7XFxyXFxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcXHJcXG59XFxyXFxuXFxyXFxuLnBvcnRmb2xpby1pdGVtIHtcXHJcXG4gICAgbWFyZ2luOiAxNXB4IDA7XFxyXFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1vdXQ7XFxyXFxuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1vdXQ7XFxyXFxuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLW91dDtcXHJcXG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1vdXQ7XFxyXFxuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2Utb3V0O1xcclxcbn1cXHJcXG5cXHJcXG4ucG9ydGZvbGlvLWl0ZW06aG92ZXIge1xcclxcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcXHJcXG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XFxyXFxuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XFxyXFxuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcXHJcXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xcclxcbn1cXHJcXG5cXHJcXG4ucG9ydGZvbGlvLWl0ZW0gLmhvdmVyLWJnIHtcXHJcXG4gICAgaGVpZ2h0OiAyNjBweDtcXHJcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXHJcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcclxcbn1cXHJcXG5cXHJcXG4uaG92ZXItYmcgLmhvdmVyLXRleHQge1xcclxcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxyXFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcXHJcXG4gICAgbWFyZ2luOiAwIGF1dG87XFxyXFxuICAgIGNvbG9yOiAjZmZmZmZmO1xcclxcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNjYpO1xcclxcbiAgICBwYWRkaW5nOiAzMyUgMCAwIDA7XFxyXFxuICAgIGhlaWdodDogMTAwJTtcXHJcXG4gICAgd2lkdGg6IDEwMCU7XFxyXFxuICAgIG9wYWNpdHk6IDA7XFxyXFxuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xcclxcbn1cXHJcXG5cXHJcXG4uaG92ZXItYmcgLmhvdmVyLXRleHQgPiBoNCB7XFxyXFxuICAgIG9wYWNpdHk6IDA7XFxyXFxuICAgIGNvbG9yOiAjZmZmO1xcclxcbiAgICBmb250LXdlaWdodDogNDAwO1xcclxcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcXHJcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xcclxcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcXHJcXG59XFxyXFxuXFxyXFxuLmhvdmVyLWJnOmhvdmVyIC5ob3Zlci10ZXh0ID4gaDQge1xcclxcbiAgICBvcGFjaXR5OiAxO1xcclxcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcXHJcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XFxyXFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcXHJcXG59XFxyXFxuXFxyXFxuLmhvdmVyLWJnIC5ob3Zlci10ZXh0ID4gaSB7XFxyXFxuICAgIG9wYWNpdHk6IDA7XFxyXFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xcclxcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XFxyXFxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xcclxcbn1cXHJcXG5cXHJcXG4uaG92ZXItYmc6aG92ZXIgLmhvdmVyLXRleHQgPiBpIHtcXHJcXG4gICAgb3BhY2l0eTogMTtcXHJcXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XFxyXFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xcclxcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XFxyXFxufVxcclxcblxcclxcbi5ob3Zlci1iZzpob3ZlciAuaG92ZXItdGV4dCB7XFxyXFxuICAgIG9wYWNpdHk6IDE7XFxyXFxufVxcclxcblxcclxcbiNwb3J0Zm9saW8gaS5mYSB7XFxyXFxuICAgIGZvbnQtc2l6ZTogMjBweDtcXHJcXG4gICAgcGFkZGluZzogNXB4O1xcclxcbiAgICBjb2xvcjogI0U4N0UwNDtcXHJcXG59XFxyXFxuXFxyXFxuLyogQWNoaXZlbWVudHMgU2VjdGlvbiAqL1xcclxcbiNhY2hpZXZlbWVudHMge1xcclxcbiAgICBwYWRkaW5nOiAxMDBweCAwO1xcclxcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xcclxcbn1cXHJcXG5cXHJcXG4jYWNoaWV2ZW1lbnRzIGgyIHtcXHJcXG4gICAgY29sb3I6ICNmZmY7XFxyXFxufVxcclxcblxcclxcbiNhY2hpZXZlbWVudHMgaHIge1xcclxcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XFxyXFxufVxcclxcblxcclxcbi5hY2hpZXZlbWVudC1ib3ggaDQge1xcclxcbiAgICBjb2xvcjogI2ZmZjtcXHJcXG4gICAgZm9udC1zaXplOiAyMHB4O1xcclxcbiAgICBmb250LXdlaWdodDogNDAwO1xcclxcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xcclxcbn1cXHJcXG5cXHJcXG4uYWNoaWV2ZW1lbnQtYm94IHNwYW4uY291bnQge1xcclxcbiAgICBmb250LXNpemU6IDUycHg7XFxyXFxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxyXFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcclxcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XFxyXFxuICAgIHBhZGRpbmc6IDA7XFxyXFxuICAgIG1hcmdpbjogMDtcXHJcXG59XFxyXFxuXFxyXFxuLyogUmVzdW1lIFNlY3Rpb24gKi9cXHJcXG4jcmVzdW1lIHtcXHJcXG4gICAgcGFkZGluZzogMTAwcHggMDtcXHJcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXHJcXG59XFxyXFxuXFxyXFxuLnRpbWVsaW5lIHtcXHJcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcclxcbiAgICBwYWRkaW5nOiAwO1xcclxcbiAgICBsaXN0LXN0eWxlOiBub25lO1xcclxcbn1cXHJcXG5cXHJcXG4udGltZWxpbmU6YmVmb3JlIHtcXHJcXG4gICAgY29udGVudDogXFxcIlxcXCI7XFxyXFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXHJcXG4gICAgdG9wOiAwO1xcclxcbiAgICBib3R0b206IDA7XFxyXFxuICAgIGxlZnQ6IDQwcHg7XFxyXFxuICAgIHdpZHRoOiAycHg7XFxyXFxuICAgIG1hcmdpbi1sZWZ0OiAtMS41cHg7XFxyXFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XFxyXFxufVxcclxcblxcclxcbi50aW1lbGluZSA+IGxpIHtcXHJcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcclxcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xcclxcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xcclxcbn1cXHJcXG5cXHJcXG4udGltZWxpbmUgPiBsaTpiZWZvcmUsIC50aW1lbGluZSA+IGxpOmFmdGVyIHtcXHJcXG4gICAgY29udGVudDogXFxcIiBcXFwiO1xcclxcbiAgICBkaXNwbGF5OiB0YWJsZTtcXHJcXG59XFxyXFxuXFxyXFxuLnRpbWVsaW5lID4gbGk6YWZ0ZXIge1xcclxcbiAgICBjbGVhcjogYm90aDtcXHJcXG59XFxyXFxuXFxyXFxuLnRpbWVsaW5lID4gbGkgLnRpbWVsaW5lLXBhbmVsIHtcXHJcXG4gICAgZmxvYXQ6IHJpZ2h0O1xcclxcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxyXFxuICAgIHdpZHRoOiAxMDAlO1xcclxcbiAgICBwYWRkaW5nOiAwIDIwcHggMCAxMDBweDtcXHJcXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcXHJcXG59XFxyXFxuXFxyXFxuLnRpbWVsaW5lID4gbGkgLnRpbWVsaW5lLXBhbmVsOmJlZm9yZSB7XFxyXFxuICAgIHJpZ2h0OiBhdXRvO1xcclxcbiAgICBsZWZ0OiAtMTVweDtcXHJcXG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxNXB4O1xcclxcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcXHJcXG59XFxyXFxuXFxyXFxuLnRpbWVsaW5lID4gbGkgLnRpbWVsaW5lLXBhbmVsOmFmdGVyIHtcXHJcXG4gICAgcmlnaHQ6IGF1dG87XFxyXFxuICAgIGxlZnQ6IC0xNHB4O1xcclxcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDE0cHg7XFxyXFxuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xcclxcbn1cXHJcXG5cXHJcXG4udGltZWxpbmUgPiBsaSAudGltZWxpbmUtaW1hZ2Uge1xcclxcbiAgICB6LWluZGV4OiAxMDA7XFxyXFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXHJcXG4gICAgbGVmdDogMDtcXHJcXG4gICAgd2lkdGg6IDcwcHg7XFxyXFxuICAgIGhlaWdodDogNzBweDtcXHJcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxyXFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XFxyXFxuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XFxyXFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcXHJcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXHJcXG59XFxyXFxuXFxyXFxuLnRpbWVsaW5lID4gbGkgLnRpbWVsaW5lLWltYWdlIGg0IHtcXHJcXG4gICAgbWFyZ2luLXRvcDogMjBweDtcXHJcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcclxcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xcclxcbn1cXHJcXG5cXHJcXG4udGltZWxpbmUgPiBsaS50aW1lbGluZS1pbnZlcnRlZCA+IC50aW1lbGluZS1wYW5lbCB7XFxyXFxuICAgIGZsb2F0OiByaWdodDtcXHJcXG4gICAgcGFkZGluZzogMCAyMHB4IDAgMTAwcHg7XFxyXFxuICAgIHRleHQtYWxpZ246IGxlZnQ7XFxyXFxufVxcclxcblxcclxcbi50aW1lbGluZSA+IGxpLnRpbWVsaW5lLWludmVydGVkID4gLnRpbWVsaW5lLXBhbmVsOmJlZm9yZSB7XFxyXFxuICAgIHJpZ2h0OiBhdXRvO1xcclxcbiAgICBsZWZ0OiAtMTVweDtcXHJcXG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxNXB4O1xcclxcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcXHJcXG59XFxyXFxuXFxyXFxuLnRpbWVsaW5lID4gbGkudGltZWxpbmUtaW52ZXJ0ZWQgPiAudGltZWxpbmUtcGFuZWw6YWZ0ZXIge1xcclxcbiAgICByaWdodDogYXV0bztcXHJcXG4gICAgbGVmdDogLTE0cHg7XFxyXFxuICAgIGJvcmRlci1yaWdodC13aWR0aDogMTRweDtcXHJcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxyXFxufVxcclxcblxcclxcbi50aW1lbGluZSA+IGxpOmxhc3QtY2hpbGQge1xcclxcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xcclxcbn1cXHJcXG5cXHJcXG4udGltZWxpbmUgLnRpbWVsaW5lLWhlYWRpbmcgaDQge1xcclxcbiAgICBtYXJnaW4tdG9wOiAwO1xcclxcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xcclxcbiAgICBmb250LXNpemU6IDE2cHg7XFxyXFxufVxcclxcblxcclxcbi50aW1lbGluZSAudGltZWxpbmUtaGVhZGluZyBoMiB7XFxyXFxuICAgIG1hcmdpbi10b3A6IDMwcHg7XFxyXFxufVxcclxcblxcclxcbi50aW1lbGluZSAudGltZWxpbmUtaGVhZGluZyBoNC5zdWJoZWFkaW5nIHtcXHJcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxyXFxuICAgIGNvbG9yOiAjNjI5Y2E3O1xcclxcbiAgICBmb250LXNpemU6IDIwcHg7XFxyXFxufVxcclxcblxcclxcbi50aW1lbGluZSAudGltZWxpbmUtYm9keSA+IHAsIC50aW1lbGluZSAudGltZWxpbmUtYm9keSA+IHVsIHtcXHJcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXHJcXG59XFxyXFxuXFxyXFxuLyogQ29udGFjdCBTZWN0aW9uICovXFxyXFxuI2NvbnRhY3Qge1xcclxcbiAgICBwYWRkaW5nOiAxMDBweCAwIDQwcHggMDtcXHJcXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xcclxcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xcclxcblxcclxcbiAgICBoMiB7XFxyXFxuICAgICAgICBjb2xvcjogI2ZmZjtcXHJcXG4gICAgfVxcclxcblxcclxcbiAgICBociB7XFxyXFxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XFxyXFxuICAgIH1cXHJcXG5cXHJcXG4gICAgaDMge1xcclxcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XFxyXFxuICAgICAgICBmb250LXNpemU6IDIwcHg7XFxyXFxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xcclxcbiAgICAgICAgY29sb3I6ICNmZmY7XFxyXFxuICAgIH1cXHJcXG5cXHJcXG4gICAgaS5mYWIsIGkuZmFzLCBpLmZhIHtcXHJcXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcXHJcXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XFxyXFxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcXHJcXG4gICAgfVxcclxcblxcclxcbiAgICBhIHtcXHJcXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcXHJcXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xcclxcblxcclxcbiAgICAgICAgaS5mYWI6aG92ZXIsIGkuZmFzOmhvdmVyLCBpLmZhOmhvdmVyIHtcXHJcXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcblxcclxcbiAgICBhOmhvdmVyIHtcXHJcXG4gICAgICAgIGNvbG9yOiAjZmZmO1xcclxcbiAgICB9XFxyXFxuXFxyXFxuICAgIC5zb2NpYWwge1xcclxcbiAgICAgICAgaS5mYWIsIGkuZmFzLCBpLmZhIHtcXHJcXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcXHJcXG4gICAgICAgIH1cXHJcXG5cXHJcXG4gICAgICAgIGkuZmFiOmhvdmVyLCBpLmZhczpob3ZlciB7XFxyXFxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxufVxcclxcblxcclxcbiNjb250YWN0IGZvcm0ge1xcclxcbiAgICBwYWRkaW5nOiAzMHB4IDA7XFxyXFxufVxcclxcblxcclxcbiNjb250YWN0IC50ZXh0LWRhbmdlciB7XFxyXFxuICAgIGNvbG9yOiAjRTg3RTA0O1xcclxcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcclxcbn1cXHJcXG5cXHJcXG5sYWJlbCB7XFxyXFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXHJcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXHJcXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xcclxcbiAgICBmbG9hdDogbGVmdDtcXHJcXG59XFxyXFxuXFxyXFxuI2NvbnRhY3QgLmZvcm0tY29udHJvbCB7XFxyXFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcclxcbiAgICB3aWR0aDogMTAwJTtcXHJcXG4gICAgcGFkZGluZzogNnB4IDEycHg7XFxyXFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXHJcXG4gICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7XFxyXFxuICAgIGNvbG9yOiAjMmMzZTUwO1xcclxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XFxyXFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxyXFxuICAgIGJvcmRlcjogMDtcXHJcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcclxcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxyXFxuICAgIGJveC1zaGFkb3c6IG5vbmU7XFxyXFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTtcXHJcXG4gICAgLW8tdHJhbnNpdGlvbjogbm9uZTtcXHJcXG4gICAgdHJhbnNpdGlvbjogbm9uZTtcXHJcXG59XFxyXFxuXFxyXFxuI2NvbnRhY3QgLmZvcm0tY29udHJvbDpmb2N1cyB7XFxyXFxuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcXHJcXG4gICAgb3V0bGluZTogMDtcXHJcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiB0cmFuc3BhcmVudDtcXHJcXG4gICAgYm94LXNoYWRvdzogdHJhbnNwYXJlbnQ7XFxyXFxufVxcclxcblxcclxcbi5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xcclxcbiAgICBjb2xvcjogIzJjM2U1MDtcXHJcXG59XFxyXFxuXFxyXFxuLmZvcm0tY29udHJvbDotbW96LXBsYWNlaG9sZGVyIHtcXHJcXG4gICAgY29sb3I6ICMyYzNlNTA7XFxyXFxufVxcclxcblxcclxcbi5mb3JtLWNvbnRyb2w6Oi1tb3otcGxhY2Vob2xkZXIge1xcclxcbiAgICBjb2xvcjogIzJjM2U1MDtcXHJcXG59XFxyXFxuXFxyXFxuLmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcclxcbiAgICBjb2xvcjogIzJjM2U1MDtcXHJcXG59XFxyXFxuXFxyXFxuXFxyXFxuLnNvY2lhbCB7XFxyXFxuICAgIHVsIGxpIHtcXHJcXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXHJcXG4gICAgICAgIG1hcmdpbjogMCA4cHg7XFxyXFxuICAgIH1cXHJcXG5cXHJcXG4gICAgaS5mYWIsIGkuZmFzLCBpLmZhIHtcXHJcXG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcXHJcXG4gICAgICAgIGNvbG9yOiAjZmZmO1xcclxcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XFxyXFxuICAgIH1cXHJcXG5cXHJcXG4gICAgaS5mYWI6aG92ZXIsIGkuZmFzOmhvdmVyIHtcXHJcXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5cXHJcXG4jY29udGFjdCB7XFxyXFxuICAgIC5zb2NpYWwge1xcclxcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcXHJcXG4gICAgfVxcclxcblxcclxcbiAgICAuc29jaWFsIHVsIGxpIHtcXHJcXG4gICAgICAgIG1hcmdpbjogMCAyMHB4O1xcclxcbiAgICB9XFxyXFxuXFxyXFxuICAgIC5zb2NpYWwgaS5mYWIsIC5zb2NpYWwgaS5mYXMge1xcclxcbiAgICAgICAgcGFkZGluZzogNHB4IDVweDtcXHJcXG4gICAgfVxcclxcblxcclxcbiAgICAuYnRuIHtcXHJcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcclxcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcXHJcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XFxyXFxuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XFxyXFxuICAgICAgICBjb2xvcjogI2ZmZjtcXHJcXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XFxyXFxuICAgIH1cXHJcXG5cXHJcXG4gICAgLmJ0bjpob3ZlciwgI2NvbnRhY3QgLmJ0bjpmb2N1cyB7XFxyXFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcXHJcXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xcclxcbiAgICB9XFxyXFxufVxcclxcblxcclxcbi5idG46YWN0aXZlLCAuYnRuLmFjdGl2ZSB7XFxyXFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxyXFxuICAgIG91dGxpbmU6IDA7XFxyXFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXHJcXG4gICAgYm94LXNoYWRvdzogbm9uZTtcXHJcXG59XFxyXFxuXFxyXFxuYTpmb2N1cywgLmJ0bjpmb2N1cywgLmJ0bjphY3RpdmU6Zm9jdXMsIC5idG4uYWN0aXZlOmZvY3VzLCAuYnRuLmZvY3VzLCAuYnRuOmFjdGl2ZS5mb2N1cywgLmJ0bi5hY3RpdmUuZm9jdXMge1xcclxcbiAgICBvdXRsaW5lOiBub25lO1xcclxcbiAgICBvdXRsaW5lLW9mZnNldDogMDtcXHJcXG59XFxyXFxuXFxyXFxuLyogRm9vdGVyIFNlY3Rpb24qL1xcclxcbiNmb290ZXIge1xcclxcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcXHJcXG4gICAgY29sb3I6ICM3ZDgzODQ7XFxyXFxuICAgIHBhZGRpbmc6IDMwcHggMCAyNXB4IDA7XFxyXFxufVxcclxcblxcclxcbiNmb290ZXIgcCB7XFxyXFxuICAgIGZvbnQtc2l6ZTogMTNweDtcXHJcXG59XFxyXFxuXFxyXFxuI2Zvb3RlciBhIHtcXHJcXG4gICAgY29sb3I6ICNhMGE1YTU7XFxyXFxufVxcclxcblxcclxcbiNmb290ZXIgYTpob3ZlciB7XFxyXFxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xcclxcbn1cXHJcXG5cXHJcXG4vKiBNZWRpYSBRdWVyaWVzICovXFxyXFxuQG1lZGlhKG1pbi13aWR0aDogNzY4cHgpIHtcXHJcXG4gICAgLmludHJvIHtcXHJcXG4gICAgICAgIGhlaWdodDogMTAwJTtcXHJcXG4gICAgICAgIHBhZGRpbmc6IDA7XFxyXFxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcclxcbiAgICAgICAgY29sb3I6ICNmZmY7XFxyXFxuICAgIH1cXHJcXG4gICAgLmludHJvIGgxIHtcXHJcXG4gICAgICAgIGZvbnQtc2l6ZTogNjBweDtcXHJcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxyXFxuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTJweDtcXHJcXG4gICAgfVxcclxcbiAgICAuaW50cm8gLm5hbWUge1xcclxcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXHJcXG4gICAgfVxcclxcbiAgICAuaW50cm8gLmludHJvLXRleHQge1xcclxcbiAgICAgICAgbWF4LXdpZHRoOiA3NSU7XFxyXFxuICAgIH1cXHJcXG4gICAgLmludHJvIC5pbnRyby10ZXh0IHAge1xcclxcbiAgICAgICAgZm9udC1mYW1pbHk6ICdMYXRvJywgc2Fucy1zZXJpZjtcXHJcXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcXHJcXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XFxyXFxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xcclxcbiAgICB9XFxyXFxuICAgIC5pbnRybyAuaW50cm8tdGV4dCBhIHtcXHJcXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XFxyXFxuICAgIH1cXHJcXG4gICAgc2VjdGlvbiB7XFxyXFxuICAgICAgICBwYWRkaW5nOiAxMjBweCAwO1xcclxcbiAgICB9XFxyXFxuICAgIGhlYWRlciAuaW50cm8tdGV4dCB7XFxyXFxuICAgICAgICBwYWRkaW5nLXRvcDogMzAwcHg7XFxyXFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTQwcHg7XFxyXFxuICAgIH1cXHJcXG4gICAgLnRpbWVsaW5lOmJlZm9yZSB7XFxyXFxuICAgICAgICBsZWZ0OiA1MCU7XFxyXFxuICAgIH1cXHJcXG4gICAgLnRpbWVsaW5lID4gbGkge1xcclxcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XFxyXFxuICAgICAgICBtaW4taGVpZ2h0OiAxMDBweDtcXHJcXG4gICAgfVxcclxcbiAgICAudGltZWxpbmUgPiBsaSAudGltZWxpbmUtcGFuZWwge1xcclxcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XFxyXFxuICAgICAgICB3aWR0aDogNDElO1xcclxcbiAgICAgICAgcGFkZGluZzogMCAyMHB4IDIwcHggMzBweDtcXHJcXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xcclxcbiAgICB9XFxyXFxuICAgIC50aW1lbGluZSA+IGxpIC50aW1lbGluZS1pbWFnZSB7XFxyXFxuICAgICAgICBsZWZ0OiA1MCU7XFxyXFxuICAgICAgICB3aWR0aDogMTAwcHg7XFxyXFxuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xcclxcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC01MHB4O1xcclxcbiAgICB9XFxyXFxuICAgIC50aW1lbGluZSA+IGxpIC50aW1lbGluZS1pbWFnZSBoNCB7XFxyXFxuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xcclxcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XFxyXFxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xcclxcbiAgICB9XFxyXFxuICAgIC50aW1lbGluZSA+IGxpLnRpbWVsaW5lLWludmVydGVkID4gLnRpbWVsaW5lLXBhbmVsIHtcXHJcXG4gICAgICAgIGZsb2F0OiByaWdodDtcXHJcXG4gICAgICAgIHBhZGRpbmc6IDAgMzBweCAyMHB4IDIwcHg7XFxyXFxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcclxcbiAgICB9XFxyXFxufVxcclxcblxcclxcbkBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XFxyXFxuICAgICNoZXJlLW1lIGgxIHtcXHJcXG4gICAgICAgIG1hcmdpbjogMTBweCAwIDBweDtcXHJcXG4gICAgfVxcclxcbiAgICAudGltZWxpbmUgPiBsaSB7XFxyXFxuICAgICAgICBtaW4taGVpZ2h0OiAxNTBweDtcXHJcXG4gICAgfVxcclxcbiAgICAudGltZWxpbmUgPiBsaSAudGltZWxpbmUtcGFuZWwge1xcclxcbiAgICAgICAgcGFkZGluZzogMCAyMHB4IDIwcHg7XFxyXFxuICAgIH1cXHJcXG4gICAgLnRpbWVsaW5lID4gbGkgLnRpbWVsaW5lLWltYWdlIHtcXHJcXG4gICAgICAgIHdpZHRoOiAxNTBweDtcXHJcXG4gICAgICAgIGhlaWdodDogMTUwcHg7XFxyXFxuICAgICAgICBtYXJnaW4tbGVmdDogLTc1cHg7XFxyXFxuICAgIH1cXHJcXG4gICAgLnRpbWVsaW5lID4gbGkgLnRpbWVsaW5lLWltYWdlIGg0IHtcXHJcXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XFxyXFxuICAgICAgICBmb250LXNpemU6IDE4cHg7XFxyXFxuICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcXHJcXG4gICAgfVxcclxcbiAgICAudGltZWxpbmUgPiBsaS50aW1lbGluZS1pbnZlcnRlZCA+IC50aW1lbGluZS1wYW5lbCB7XFxyXFxuICAgICAgICBwYWRkaW5nOiAwIDIwcHggMjBweDtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5cXHJcXG5AbWVkaWEobWluLXdpZHRoOiAxMjAwcHgpIHtcXHJcXG4gICAgLnRpbWVsaW5lID4gbGkge1xcclxcbiAgICAgICAgbWluLWhlaWdodDogMTcwcHg7XFxyXFxuICAgIH1cXHJcXG4gICAgLnRpbWVsaW5lID4gbGkgLnRpbWVsaW5lLXBhbmVsIHtcXHJcXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweCAyMHB4IDEwMHB4O1xcclxcbiAgICB9XFxyXFxuICAgIC50aW1lbGluZSA+IGxpIC50aW1lbGluZS1pbWFnZSB7XFxyXFxuICAgICAgICB3aWR0aDogMTUwcHg7XFxyXFxuICAgICAgICBoZWlnaHQ6IDE1MHB4O1xcclxcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC03NXB4O1xcclxcbiAgICB9XFxyXFxuICAgIC50aW1lbGluZSA+IGxpIC50aW1lbGluZS1pbWFnZSBoNCB7XFxyXFxuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xcclxcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXHJcXG4gICAgfVxcclxcbiAgICAudGltZWxpbmUgPiBsaS50aW1lbGluZS1pbnZlcnRlZCA+IC50aW1lbGluZS1wYW5lbCB7XFxyXFxuICAgICAgICBwYWRkaW5nOiAxMHB4IDEwMHB4IDIwcHggMjBweDtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbIm9wdGlvbnMiLCJzdHlsZVRhZ1RyYW5zZm9ybSIsInNldEF0dHJpYnV0ZXMiLCJpbnNlcnQiLCJkb21BUEkiLCJpbnNlcnRTdHlsZUVsZW1lbnQiLCJsb2NhbHMiLCJfQ29tcG9uZW50IiwiR3JpZFN5c3RlbSIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrIiwiX2NhbGxTdXBlciIsInN0YXRlIiwidmFsdWUiLCJoYW5kbGVDaGFuZ2UiLCJiaW5kIiwiX2luaGVyaXRzIiwia2V5IiwiZXZlbnQiLCJ0YXJnZXQiLCJ0aGlzIiwic2V0U3RhdGUiLCJsaXN0SXRlbXMiLCJwcm9wcyIsIml0ZW1zIiwibWFwIiwiaXRlbSIsIlJlYWN0IiwidGl0bGUiLCJjbGFzc05hbWUiLCJjYXRlZ29yeSIsImhyZWYiLCJsaW5rIiwiZGVzY3JpcHRpb24iLCJzcmMiLCJpbWdTbWFsbCIsImFsdCIsIkNvbXBvbmVudCIsIlN0YXRzQ29tcG9uZW50IiwiX3VzZUNvdW50VXAiLCJ1c2VDb3VudFVwIiwiZW5kIiwiZHVyYXRpb24iLCJzdGFydE9uTW91bnQiLCJjb3VudFVwMSIsImNvdW50VXAiLCJzdGFydDEiLCJzdGFydCIsIl91c2VDb3VudFVwMiIsImNvdW50VXAyIiwic3RhcnQyIiwiX3VzZUNvdW50VXAzIiwiY291bnRVcDMiLCJzdGFydDMiLCJfdXNlQ291bnRVcDQiLCJjb3VudFVwNCIsInN0YXJ0NCIsIl91c2VTdGF0ZTIiLCJ1c2VTdGF0ZSIsInN0YXJ0ZWQiLCJzZXRTdGFydGVkIiwidXNlRWZmZWN0IiwibGlzdGVuU2Nyb2xsRXZlbnQiLCJlIiwiJCIsIndpbmRvdyIsInNjcm9sbFRvcCIsIm9mZnNldCIsInRvcCIsImlubmVySGVpZ2h0IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJ3cmFwcGVyIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsIlJlYWN0RG9tIiwiYWNoaWV2ZW1lbnRzIiwialF1ZXJ5QnJpZGdldCIsIklzb3RvcGUiLCJpc290b3BlIiwiaXRlbVNlbGVjdG9yIiwicGVyY2VudFBvc2l0aW9uIiwibGF5b3V0TW9kZSIsImZpbHRlciIsImFuaW1hdGlvbk9wdGlvbnMiLCJlYXNpbmciLCJxdWV1ZSIsImNsaWNrIiwicmVtb3ZlQ2xhc3MiLCJhZGRDbGFzcyIsInNlbGVjdG9yIiwiYXR0ciIsImluZGV4Iiwic2Nyb2xsIiwiZWFzeVBpZUNoYXJ0Iiwic2l6ZSIsImxpbmVXaWR0aCIsImJhckNvbG9yIiwic2NhbGVDb2xvciIsIm9uU3RlcCIsImZyb20iLCJ0byIsInBlcmNlbnQiLCJlbCIsImZpbmQiLCJ0ZXh0IiwiTWF0aCIsInJvdW5kIiwiZGVmaW5lIiwiYTAiLCJDYW52YXNSZW5kZXJlciIsImNhY2hlZEJhY2tncm91bmQiLCJjYW52YXMiLCJjcmVhdGVFbGVtZW50IiwiYXBwZW5kQ2hpbGQiLCJHX3ZtbENhbnZhc01hbmFnZXIiLCJfdHlwZW9mIiwiaW5pdEVsZW1lbnQiLCJjdHgiLCJnZXRDb250ZXh0Iiwid2lkdGgiLCJoZWlnaHQiLCJzY2FsZUJ5IiwiZGV2aWNlUGl4ZWxSYXRpbyIsInN0eWxlIiwiam9pbiIsInNjYWxlIiwidHJhbnNsYXRlIiwicm90YXRlIiwiUEkiLCJyYWRpdXMiLCJzY2FsZUxlbmd0aCIsIkRhdGUiLCJub3ciLCJkcmF3Q2lyY2xlIiwiY29sb3IiLCJpc05lZ2F0aXZlIiwibWluIiwibWF4IiwiYmVnaW5QYXRoIiwiYXJjIiwic3Ryb2tlU3R5bGUiLCJzdHJva2UiLCJyZXFBbmltYXRpb25GcmFtZSIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsIndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZSIsIm1velJlcXVlc3RBbmltYXRpb25GcmFtZSIsImNhbGxiYWNrIiwic2V0VGltZW91dCIsImRyYXdCYWNrZ3JvdW5kIiwibGVuZ3RoIiwiZmlsbFN0eWxlIiwic2F2ZSIsImkiLCJmaWxsUmVjdCIsInJlc3RvcmUiLCJkcmF3U2NhbGUiLCJ0cmFja0NvbG9yIiwidHJhY2tXaWR0aCIsImdldENhbnZhcyIsImdldEN0eCIsImNsZWFyIiwiY2xlYXJSZWN0IiwiZHJhdyIsImdldEltYWdlRGF0YSIsInB1dEltYWdlRGF0YSIsImxpbmVDYXAiLCJhbmltYXRlIiwic3RhcnRUaW1lIiwib25TdGFydCIsImFuaW1hdGlvbiIsInByb2Nlc3MiLCJjdXJyZW50VmFsdWUiLCJvblN0b3AiLCJFYXN5UGllQ2hhcnQiLCJvcHRzIiwiZGVmYXVsdE9wdGlvbnMiLCJ1bmRlZmluZWQiLCJlbmFibGVkIiwieCIsInQiLCJiIiwiYyIsImQiLCJyZW5kZXJlciIsIlNWR1JlbmRlcmVyIiwiRXJyb3IiLCJpbml0IiwiaGFzT3duUHJvcGVydHkiLCJqUXVlcnkiLCJpc0Z1bmN0aW9uIiwiZGF0YXNldCIsInVwZGF0ZSIsInBhcnNlRmxvYXQiLCJnZXRBdHRyaWJ1dGUiLCJuZXdWYWx1ZSIsImRpc2FibGVBbmltYXRpb24iLCJlbmFibGVBbmltYXRpb24iLCJmbiIsImVhY2giLCJpbnN0YW5jZU9wdGlvbnMiLCJkYXRhIiwiZXh0ZW5kIiwiX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18iLCJVUkwiLCJfX19DU1NfTE9BREVSX0VYUE9SVF9fXyIsIl9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzBfX18iLCJwdXNoIiwibW9kdWxlIiwiaWQiXSwic291cmNlUm9vdCI6IiJ9