ionic-header-parallax
Advanced tools
Comparing version 2.2.0 to 2.2.1
@@ -32,3 +32,3 @@ (function (global, factory) { | ||
_this.initEvents(); | ||
})); | ||
}), 100); | ||
}; | ||
@@ -35,0 +35,0 @@ /** |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core")):"function"==typeof define&&define.amd?define("ionic-header-parallax",["exports","@angular/core"],t):t((e=e||self)["ionic-header-parallax"]={},e.ng.core)}(this,function(e,t){"use strict";var r=function(){function e(e,t){this.headerRef=e,this.renderer=t,this.maximumHeight=300}return e.prototype.ngAfterViewInit=function(){var e=this;setTimeout(function(){e.initElements(),e.initStyles(),e.initEvents()})},e.prototype.initElements=function(){var e=this,t=this.headerRef.nativeElement.parentElement;if(this.header=this.headerRef.nativeElement,this.toolbar=this.header.querySelector("ion-toolbar"),!this.toolbar)throw new Error("Parallax directive requires a toolbar or navbar element on the page to work.");this.ionTitle=this.toolbar.querySelector("ion-title"),this.toolbarBackground=this.toolbar.shadowRoot.querySelector(".toolbar-background"),this.barButtons=this.headerRef.nativeElement.querySelector("ion-buttons");var r=t.querySelector("ion-content");if(this.scrollContent=r.shadowRoot.querySelector(".inner-scroll"),!this.scrollContent)throw new Error("Parallax directive requires an <ion-content> element on the page to work.");this.imageOverlay=this.renderer.createElement("div"),this.renderer.addClass(this.imageOverlay,"image-overlay"),this.colorOverlay=this.renderer.createElement("div"),this.renderer.addClass(this.colorOverlay,"color-overlay"),this.colorOverlay.appendChild(this.imageOverlay),this.header.appendChild(this.colorOverlay),this.overlayTitle=this.ionTitle&&this.ionTitle.cloneNode(!0),this.overlayTitle&&(this.renderer.addClass(this.overlayTitle,"parallax-title"),setTimeout(function(){var t=e.overlayTitle.shadowRoot.querySelector(".toolbar-title");e.renderer.setStyle(t,"pointer-events","unset")})),this.overlayTitle&&this.imageOverlay.appendChild(this.overlayTitle),this.barButtons&&this.imageOverlay.appendChild(this.barButtons)},e.prototype.initStyles=function(){var e=this;this.headerHeight=this.scrollContent.clientHeight,this.ticking=!1,this.scrollContent&&toolbar&&(this.maximumHeight=parseFloat(this.maximumHeight.toString()),this.headerMinHeight=this.toolbar.offsetHeight,this.scrollContentPaddingTop=window.getComputedStyle(this.scrollContent,null).paddingTop.replace("px",""),this.scrollContentPaddingTop=parseFloat(this.scrollContentPaddingTop),this.originalToolbarBgColor=window.getComputedStyle(this.toolbarBackground,null).backgroundColor,this.renderer.setStyle(this.header,"position","relative"),this.overlayTitle&&(this.renderer.setStyle(this.overlayTitle,"color",this.titleColor),this.renderer.setStyle(this.overlayTitle,"position","absolute"),this.renderer.setStyle(this.overlayTitle,"width","100%"),this.renderer.setStyle(this.overlayTitle,"height","100%"),this.renderer.setStyle(this.overlayTitle,"text-align","center")),this.renderer.setStyle(this.colorOverlay,"background-color",this.originalToolbarBgColor),this.renderer.setStyle(this.colorOverlay,"height",this.maximumHeight+"px"),this.renderer.setStyle(this.colorOverlay,"position","absolute"),this.renderer.setStyle(this.colorOverlay,"top",0*-this.headerMinHeight+"px"),this.renderer.setStyle(this.colorOverlay,"left","0"),this.renderer.setStyle(this.colorOverlay,"width","100%"),this.renderer.setStyle(this.colorOverlay,"z-index","10"),this.renderer.setStyle(this.colorOverlay,"pointer-events","none"),this.renderer.setStyle(this.imageOverlay,"background-color",this.expandedColor),this.renderer.setStyle(this.imageOverlay,"background-image","url("+(this.imageUrl||"")+")"),this.renderer.setStyle(this.imageOverlay,"height","100%"),this.renderer.setStyle(this.imageOverlay,"width","100%"),this.renderer.setStyle(this.imageOverlay,"pointer-events","none"),this.renderer.setStyle(this.imageOverlay,"background-size","cover"),this.renderer.setStyle(this.imageOverlay,"background-position","center"),this.renderer.setStyle(this.toolbarBackground,"background-color",this.originalToolbarBgColor),this.barButtons&&(this.renderer.setStyle(this.barButtons,"pointer-events","all"),Array.from(this.barButtons.children).forEach(function(t){e.renderer.setStyle(t,"color",e.titleColor)})),this.scrollContent&&(this.renderer.setAttribute(this.scrollContent,"parallax",""),this.renderer.setStyle(this.scrollContent,"padding-top",this.maximumHeight+this.scrollContentPaddingTop-this.headerMinHeight+"px")))},e.prototype.initEvents=function(){var e=this;window.addEventListener("resize",function(){e.headerHeight=e.scrollContent.clientHeight},!1),this.scrollContent&&this.scrollContent.addEventListener("scroll",function(t){e.ticking||window.requestAnimationFrame(function(){e.updateElasticHeader()}),e.ticking=!0})},e.prototype.updateElasticHeader=function(){var e=this;if(this.scrollContent&&toolbar){this.scrollTop=this.scrollContent.scrollTop,this.scrollTop>=0?(this.translateAmt=this.scrollTop/2,this.scaleAmt=1):(this.translateAmt=0,this.scaleAmt=-this.scrollTop/this.headerHeight+1),this.headerMinHeight=this.toolbar.offsetHeight;var t=(this.maximumHeight-this.scrollTop-this.headerMinHeight)/(this.maximumHeight-this.headerMinHeight);t=Math.max(t,0);var r=this.maximumHeight-this.scrollTop;r=Math.max(r,this.headerMinHeight),this.renderer.setStyle(this.imageOverlay,"height",r+"px"),this.renderer.setStyle(this.imageOverlay,"opacity",""+t),this.renderer.setStyle(this.colorOverlay,"height",r+"px"),this.renderer.setStyle(this.colorOverlay,"opacity",r>this.headerMinHeight?"1":"0"),this.renderer.setStyle(this.toolbarBackground,"background-color",r>this.headerMinHeight?"transparent":this.originalToolbarBgColor),this.barButtons&&(r>this.headerMinHeight?(this.imageOverlay.append(this.barButtons),Array.from(this.barButtons.children).forEach(function(t){e.renderer.setStyle(t,"color",e.titleColor)})):(this.toolbar.append(this.barButtons),Array.from(this.barButtons.children).forEach(function(t){e.renderer.setStyle(t,"color","unset")}))),this.ticking=!1}},e.decorators=[{type:t.Directive,args:[{selector:"ion-header[parallax]"}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Renderer2}]},e.propDecorators={imageUrl:[{type:t.Input}],expandedColor:[{type:t.Input}],titleColor:[{type:t.Input}],maximumHeight:[{type:t.Input}]},e}();var i=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[r],imports:[],exports:[r]}]}],e}();e.IonicHeaderParallaxModule=i,e.ParallaxDirective=r,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core")):"function"==typeof define&&define.amd?define("ionic-header-parallax",["exports","@angular/core"],t):t((e=e||self)["ionic-header-parallax"]={},e.ng.core)}(this,function(e,t){"use strict";var r=function(){function e(e,t){this.headerRef=e,this.renderer=t,this.maximumHeight=300}return e.prototype.ngAfterViewInit=function(){var e=this;setTimeout(function(){e.initElements(),e.initStyles(),e.initEvents()},100)},e.prototype.initElements=function(){var e=this,t=this.headerRef.nativeElement.parentElement;if(this.header=this.headerRef.nativeElement,this.toolbar=this.header.querySelector("ion-toolbar"),!this.toolbar)throw new Error("Parallax directive requires a toolbar or navbar element on the page to work.");this.ionTitle=this.toolbar.querySelector("ion-title"),this.toolbarBackground=this.toolbar.shadowRoot.querySelector(".toolbar-background"),this.barButtons=this.headerRef.nativeElement.querySelector("ion-buttons");var r=t.querySelector("ion-content");if(this.scrollContent=r.shadowRoot.querySelector(".inner-scroll"),!this.scrollContent)throw new Error("Parallax directive requires an <ion-content> element on the page to work.");this.imageOverlay=this.renderer.createElement("div"),this.renderer.addClass(this.imageOverlay,"image-overlay"),this.colorOverlay=this.renderer.createElement("div"),this.renderer.addClass(this.colorOverlay,"color-overlay"),this.colorOverlay.appendChild(this.imageOverlay),this.header.appendChild(this.colorOverlay),this.overlayTitle=this.ionTitle&&this.ionTitle.cloneNode(!0),this.overlayTitle&&(this.renderer.addClass(this.overlayTitle,"parallax-title"),setTimeout(function(){var t=e.overlayTitle.shadowRoot.querySelector(".toolbar-title");e.renderer.setStyle(t,"pointer-events","unset")})),this.overlayTitle&&this.imageOverlay.appendChild(this.overlayTitle),this.barButtons&&this.imageOverlay.appendChild(this.barButtons)},e.prototype.initStyles=function(){var e=this;this.headerHeight=this.scrollContent.clientHeight,this.ticking=!1,this.scrollContent&&toolbar&&(this.maximumHeight=parseFloat(this.maximumHeight.toString()),this.headerMinHeight=this.toolbar.offsetHeight,this.scrollContentPaddingTop=window.getComputedStyle(this.scrollContent,null).paddingTop.replace("px",""),this.scrollContentPaddingTop=parseFloat(this.scrollContentPaddingTop),this.originalToolbarBgColor=window.getComputedStyle(this.toolbarBackground,null).backgroundColor,this.renderer.setStyle(this.header,"position","relative"),this.overlayTitle&&(this.renderer.setStyle(this.overlayTitle,"color",this.titleColor),this.renderer.setStyle(this.overlayTitle,"position","absolute"),this.renderer.setStyle(this.overlayTitle,"width","100%"),this.renderer.setStyle(this.overlayTitle,"height","100%"),this.renderer.setStyle(this.overlayTitle,"text-align","center")),this.renderer.setStyle(this.colorOverlay,"background-color",this.originalToolbarBgColor),this.renderer.setStyle(this.colorOverlay,"height",this.maximumHeight+"px"),this.renderer.setStyle(this.colorOverlay,"position","absolute"),this.renderer.setStyle(this.colorOverlay,"top",0*-this.headerMinHeight+"px"),this.renderer.setStyle(this.colorOverlay,"left","0"),this.renderer.setStyle(this.colorOverlay,"width","100%"),this.renderer.setStyle(this.colorOverlay,"z-index","10"),this.renderer.setStyle(this.colorOverlay,"pointer-events","none"),this.renderer.setStyle(this.imageOverlay,"background-color",this.expandedColor),this.renderer.setStyle(this.imageOverlay,"background-image","url("+(this.imageUrl||"")+")"),this.renderer.setStyle(this.imageOverlay,"height","100%"),this.renderer.setStyle(this.imageOverlay,"width","100%"),this.renderer.setStyle(this.imageOverlay,"pointer-events","none"),this.renderer.setStyle(this.imageOverlay,"background-size","cover"),this.renderer.setStyle(this.imageOverlay,"background-position","center"),this.renderer.setStyle(this.toolbarBackground,"background-color",this.originalToolbarBgColor),this.barButtons&&(this.renderer.setStyle(this.barButtons,"pointer-events","all"),Array.from(this.barButtons.children).forEach(function(t){e.renderer.setStyle(t,"color",e.titleColor)})),this.scrollContent&&(this.renderer.setAttribute(this.scrollContent,"parallax",""),this.renderer.setStyle(this.scrollContent,"padding-top",this.maximumHeight+this.scrollContentPaddingTop-this.headerMinHeight+"px")))},e.prototype.initEvents=function(){var e=this;window.addEventListener("resize",function(){e.headerHeight=e.scrollContent.clientHeight},!1),this.scrollContent&&this.scrollContent.addEventListener("scroll",function(t){e.ticking||window.requestAnimationFrame(function(){e.updateElasticHeader()}),e.ticking=!0})},e.prototype.updateElasticHeader=function(){var e=this;if(this.scrollContent&&toolbar){this.scrollTop=this.scrollContent.scrollTop,this.scrollTop>=0?(this.translateAmt=this.scrollTop/2,this.scaleAmt=1):(this.translateAmt=0,this.scaleAmt=-this.scrollTop/this.headerHeight+1),this.headerMinHeight=this.toolbar.offsetHeight;var t=(this.maximumHeight-this.scrollTop-this.headerMinHeight)/(this.maximumHeight-this.headerMinHeight);t=Math.max(t,0);var r=this.maximumHeight-this.scrollTop;r=Math.max(r,this.headerMinHeight),this.renderer.setStyle(this.imageOverlay,"height",r+"px"),this.renderer.setStyle(this.imageOverlay,"opacity",""+t),this.renderer.setStyle(this.colorOverlay,"height",r+"px"),this.renderer.setStyle(this.colorOverlay,"opacity",r>this.headerMinHeight?"1":"0"),this.renderer.setStyle(this.toolbarBackground,"background-color",r>this.headerMinHeight?"transparent":this.originalToolbarBgColor),this.barButtons&&(r>this.headerMinHeight?(this.imageOverlay.append(this.barButtons),Array.from(this.barButtons.children).forEach(function(t){e.renderer.setStyle(t,"color",e.titleColor)})):(this.toolbar.append(this.barButtons),Array.from(this.barButtons.children).forEach(function(t){e.renderer.setStyle(t,"color","unset")}))),this.ticking=!1}},e.decorators=[{type:t.Directive,args:[{selector:"ion-header[parallax]"}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Renderer2}]},e.propDecorators={imageUrl:[{type:t.Input}],expandedColor:[{type:t.Input}],titleColor:[{type:t.Input}],maximumHeight:[{type:t.Input}]},e}();var i=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[r],imports:[],exports:[r]}]}],e}();e.IonicHeaderParallaxModule=i,e.ParallaxDirective=r,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
//# sourceMappingURL=ionic-header-parallax.umd.min.js.map |
@@ -27,3 +27,3 @@ /** | ||
this.initEvents(); | ||
})); | ||
}), 100); | ||
} | ||
@@ -290,2 +290,2 @@ /** | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsYXguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vaW9uaWMtaGVhZGVyLXBhcmFsbGF4LyIsInNvdXJjZXMiOlsibGliL3BhcmFsbGF4LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFLdkYsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7SUEwQjVCLFlBQW1CLFNBQWtDLEVBQVMsUUFBbUI7UUFBOUQsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBdEJ4RSxrQkFBYSxHQUFHLEdBQUcsQ0FBQztJQXVCN0IsQ0FBQzs7OztJQUVELGVBQWU7UUFDYixVQUFVOzs7UUFBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxZQUFZOztjQUNKLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxhQUFhO1FBQ2hFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7UUFFM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEVBQThFLENBQUMsQ0FBQztTQUFFO1FBQ3ZILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRXRGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDOztjQUN0RSxVQUFVLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDN0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsMkVBQTJFLENBQUMsQ0FBQztTQUFFO1FBRTFILHVCQUF1QjtRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRTNELElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFM0MseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxtQkFBQSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBZSxDQUFDO1FBQ2xGLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDLENBQUM7WUFDNUQsVUFBVTs7O1lBQUMsR0FBRyxFQUFFOztzQkFDUixZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDO2dCQUNqRixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbEUsQ0FBQyxFQUFDLENBQUM7U0FDSjtRQUVELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUFFO1FBQzVFLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUFFO0lBQzFFLENBQUM7Ozs7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztRQUNwRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUVyQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUFFLE9BQU87U0FBRTtRQUVoRCxlQUFlO1FBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDakQsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlHLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUMsZUFBZSxDQUFDO1FBRXBHLG1CQUFtQjtRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM1RCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ25FO1FBRUQsZ0JBQWdCO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDM0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFcEUsZ0JBQWdCO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDN0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENB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TCxLQUFLOzRCQUNMLEtBQUs7Ozs7SUFITixxQ0FBMEI7O0lBQzFCLDBDQUErQjs7SUFDL0IsdUNBQTRCOztJQUM1QiwwQ0FBNkI7O0lBRTdCLG1DQUFvQjs7SUFDcEIsb0NBQXFCOztJQUNyQiw4Q0FBK0I7O0lBQy9CLHlDQUEwQjs7SUFDMUIseUNBQTBCOztJQUMxQix1Q0FBd0I7O0lBQ3hCLDBDQUEyQjs7SUFDM0IseUNBQWtCOztJQUNsQiw0Q0FBd0I7O0lBQ3hCLHlDQUFrQjs7SUFDbEIscUNBQWM7O0lBQ2Qsc0NBQWU7O0lBQ2YsMENBQW1COztJQUNuQixvQ0FBYTs7SUFDYixtREFBK0I7O0lBQy9CLHlDQUEwQjs7SUFDMUIscUNBQXNCOztJQUN0QiwyQ0FBOEI7O0lBQzlCLG9EQUF3Qjs7SUFFWixzQ0FBeUM7O0lBQUUscUNBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ2lvbi1oZWFkZXJbcGFyYWxsYXhdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFyYWxsYXhEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKSBpbWFnZVVybDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGV4cGFuZGVkQ29sb3I6IHN0cmluZztcclxuICBASW5wdXQoKSB0aXRsZUNvbG9yOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWF4aW11bUhlaWdodCA9IDMwMDtcclxuXHJcbiAgaGVhZGVyOiBIVE1MRWxlbWVudDtcclxuICB0b29sYmFyOiBIVE1MRWxlbWVudDtcclxuICB0b29sYmFyQmFja2dyb3VuZDogSFRNTEVsZW1lbnQ7XHJcbiAgaW1hZ2VPdmVybGF5OiBIVE1MRWxlbWVudDtcclxuICBjb2xvck92ZXJsYXk6IEhUTUxFbGVtZW50O1xyXG4gIGJhckJ1dHRvbnM6IEhUTUxFbGVtZW50O1xyXG4gIHNjcm9sbENvbnRlbnQ6IEhUTUxFbGVtZW50O1xyXG4gIGhlYWRlckhlaWdodDogYW55O1xyXG4gIGhlYWRlck1pbkhlaWdodDogbnVtYmVyO1xyXG4gIHRyYW5zbGF0ZUFtdDogYW55O1xyXG4gIHNjYWxlQW10OiBhbnk7XHJcbiAgc2Nyb2xsVG9wOiBhbnk7XHJcbiAgbGFzdFNjcm9sbFRvcDogYW55O1xyXG4gIHRpY2tpbmc6IGFueTtcclxuICBvcmlnaW5hbFRvb2xiYXJCZ0NvbG9yOiBzdHJpbmc7XHJcbiAgb3ZlcmxheVRpdGxlOiBIVE1MRWxlbWVudDtcclxuICBpb25UaXRsZTogSFRNTEVsZW1lbnQ7XHJcbiAgb3ZlcmxheUJ1dHRvbnM6IEhUTUxFbGVtZW50W107XHJcbiAgc2Nyb2xsQ29udGVudFBhZGRpbmdUb3A7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBoZWFkZXJSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5pdEVsZW1lbnRzKCk7XHJcbiAgICAgIHRoaXMuaW5pdFN0eWxlcygpO1xyXG4gICAgICB0aGlzLmluaXRFdmVudHMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaW5pdEVsZW1lbnRzKCkge1xyXG4gICAgY29uc3QgcGFyZW50RWxlbWVudCA9IHRoaXMuaGVhZGVyUmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcclxuICAgIHRoaXMuaGVhZGVyID0gdGhpcy5oZWFkZXJSZWYubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICB0aGlzLnRvb2xiYXIgPSB0aGlzLmhlYWRlci5xdWVyeVNlbGVjdG9yKCdpb24tdG9vbGJhcicpO1xyXG4gICAgaWYgKCF0aGlzLnRvb2xiYXIpIHsgdGhyb3cgbmV3IEVycm9yKCdQYXJhbGxheCBkaXJlY3RpdmUgcmVxdWlyZXMgYSB0b29sYmFyIG9yIG5hdmJhciBlbGVtZW50IG9uIHRoZSBwYWdlIHRvIHdvcmsuJyk7IH1cclxuICAgIHRoaXMuaW9uVGl0bGUgPSB0aGlzLnRvb2xiYXIucXVlcnlTZWxlY3RvcignaW9uLXRpdGxlJyk7XHJcbiAgICB0aGlzLnRvb2xiYXJCYWNrZ3JvdW5kID0gdGhpcy50b29sYmFyLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLnRvb2xiYXItYmFja2dyb3VuZCcpO1xyXG5cclxuICAgIHRoaXMuYmFyQnV0dG9ucyA9IHRoaXMuaGVhZGVyUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignaW9uLWJ1dHRvbnMnKTtcclxuICAgIGNvbnN0IGlvbkNvbnRlbnQgPSBwYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lvbi1jb250ZW50Jyk7XHJcbiAgICB0aGlzLnNjcm9sbENvbnRlbnQgPSBpb25Db250ZW50LnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLmlubmVyLXNjcm9sbCcpO1xyXG4gICAgaWYgKCF0aGlzLnNjcm9sbENvbnRlbnQpIHsgdGhyb3cgbmV3IEVycm9yKCdQYXJhbGxheCBkaXJlY3RpdmUgcmVxdWlyZXMgYW4gPGlvbi1jb250ZW50PiBlbGVtZW50IG9uIHRoZSBwYWdlIHRvIHdvcmsuJyk7IH1cclxuXHJcbiAgICAvLyBDcmVhdGUgaW1hZ2Ugb3ZlcmxheVxyXG4gICAgdGhpcy5pbWFnZU92ZXJsYXkgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmltYWdlT3ZlcmxheSwgJ2ltYWdlLW92ZXJsYXknKTtcclxuXHJcbiAgICB0aGlzLmNvbG9yT3ZlcmxheSA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuY29sb3JPdmVybGF5LCAnY29sb3Itb3ZlcmxheScpO1xyXG5cclxuICAgIHRoaXMuY29sb3JPdmVybGF5LmFwcGVuZENoaWxkKHRoaXMuaW1hZ2VPdmVybGF5KTtcclxuICAgIHRoaXMuaGVhZGVyLmFwcGVuZENoaWxkKHRoaXMuY29sb3JPdmVybGF5KTtcclxuXHJcbiAgICAvLyBDb3B5IHRpdGxlIGFuZCBidXR0b25zXHJcbiAgICB0aGlzLm92ZXJsYXlUaXRsZSA9IHRoaXMuaW9uVGl0bGUgJiYgdGhpcy5pb25UaXRsZS5jbG9uZU5vZGUodHJ1ZSkgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBpZiAodGhpcy5vdmVybGF5VGl0bGUpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLm92ZXJsYXlUaXRsZSwgJ3BhcmFsbGF4LXRpdGxlJyk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHRvb2xiYXJUaXRsZSA9IHRoaXMub3ZlcmxheVRpdGxlLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLnRvb2xiYXItdGl0bGUnKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRvb2xiYXJUaXRsZSwgJ3BvaW50ZXItZXZlbnRzJywgJ3Vuc2V0Jyk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm92ZXJsYXlUaXRsZSkgeyB0aGlzLmltYWdlT3ZlcmxheS5hcHBlbmRDaGlsZCh0aGlzLm92ZXJsYXlUaXRsZSk7IH1cclxuICAgIGlmICh0aGlzLmJhckJ1dHRvbnMpIHsgdGhpcy5pbWFnZU92ZXJsYXkuYXBwZW5kQ2hpbGQodGhpcy5iYXJCdXR0b25zKTsgfVxyXG4gIH1cclxuXHJcbiAgaW5pdFN0eWxlcygpIHtcclxuICAgIHRoaXMuaGVhZGVySGVpZ2h0ID0gdGhpcy5zY3JvbGxDb250ZW50LmNsaWVudEhlaWdodDtcclxuICAgIHRoaXMudGlja2luZyA9IGZhbHNlO1xyXG5cclxuICAgIGlmICghdGhpcy5zY3JvbGxDb250ZW50IHx8ICF0b29sYmFyKSB7IHJldHVybjsgfVxyXG5cclxuICAgIC8vIGZldGNoIHN0eWxlc1xyXG4gICAgdGhpcy5tYXhpbXVtSGVpZ2h0ID0gcGFyc2VGbG9hdCh0aGlzLm1heGltdW1IZWlnaHQudG9TdHJpbmcoKSk7XHJcbiAgICB0aGlzLmhlYWRlck1pbkhlaWdodCA9IHRoaXMudG9vbGJhci5vZmZzZXRIZWlnaHQ7XHJcbiAgICB0aGlzLnNjcm9sbENvbnRlbnRQYWRkaW5nVG9wID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5zY3JvbGxDb250ZW50LCBudWxsKS5wYWRkaW5nVG9wLnJlcGxhY2UoJ3B4JywgJycpO1xyXG4gICAgdGhpcy5zY3JvbGxDb250ZW50UGFkZGluZ1RvcCA9IHBhcnNlRmxvYXQodGhpcy5zY3JvbGxDb250ZW50UGFkZGluZ1RvcCk7XHJcbiAgICB0aGlzLm9yaWdpbmFsVG9vbGJhckJnQ29sb3IgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLnRvb2xiYXJCYWNrZ3JvdW5kLCBudWxsKS5iYWNrZ3JvdW5kQ29sb3I7XHJcblxyXG4gICAgLy8gaGVhZGVyIGFuZCB0aXRsZVxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhlYWRlciwgJ3Bvc2l0aW9uJywgJ3JlbGF0aXZlJyk7XHJcbiAgICBpZiAodGhpcy5vdmVybGF5VGl0bGUpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlUaXRsZSwgJ2NvbG9yJywgdGhpcy50aXRsZUNvbG9yKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlUaXRsZSwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5VGl0bGUsICd3aWR0aCcsICcxMDAlJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5VGl0bGUsICdoZWlnaHQnLCAnMTAwJScpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheVRpdGxlLCAndGV4dC1hbGlnbicsICdjZW50ZXInKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBjb2xvciBvdmVybGF5XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAnYmFja2dyb3VuZC1jb2xvcicsIHRoaXMub3JpZ2luYWxUb29sYmFyQmdDb2xvcik7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAnaGVpZ2h0JywgYCR7dGhpcy5tYXhpbXVtSGVpZ2h0fXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICd0b3AnLCBgJHstdGhpcy5oZWFkZXJNaW5IZWlnaHQgKiAwfXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAnbGVmdCcsICcwJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAnd2lkdGgnLCAnMTAwJScpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ3otaW5kZXgnLCAnMTAnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICdwb2ludGVyLWV2ZW50cycsICdub25lJyk7XHJcblxyXG4gICAgLy8gaW1hZ2Ugb3ZlcmxheVxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2JhY2tncm91bmQtY29sb3InLCB0aGlzLmV4cGFuZGVkQ29sb3IpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2JhY2tncm91bmQtaW1hZ2UnLCBgdXJsKCR7dGhpcy5pbWFnZVVybCB8fCAnJ30pYCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2VPdmVybGF5LCAnaGVpZ2h0JywgYDEwMCVgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICd3aWR0aCcsICcxMDAlJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2VPdmVybGF5LCAncG9pbnRlci1ldmVudHMnLCAnbm9uZScpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2JhY2tncm91bmQtc2l6ZScsICdjb3ZlcicpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2JhY2tncm91bmQtcG9zaXRpb24nLCAnY2VudGVyJyk7XHJcblxyXG4gICAgLy8gLnRvb2xiYXItYmFja2dyb3VuZFxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2xiYXJCYWNrZ3JvdW5kLCAnYmFja2dyb3VuZC1jb2xvcicsIHRoaXMub3JpZ2luYWxUb29sYmFyQmdDb2xvcik7XHJcblxyXG4gICAgLy8gLmJhci1idXR0b25zXHJcbiAgICBpZiAodGhpcy5iYXJCdXR0b25zKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5iYXJCdXR0b25zLCAncG9pbnRlci1ldmVudHMnLCAnYWxsJyk7XHJcbiAgICAgIEFycmF5LmZyb20odGhpcy5iYXJCdXR0b25zLmNoaWxkcmVuKS5mb3JFYWNoKGJ0biA9PiB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShidG4sICdjb2xvcicsIHRoaXMudGl0bGVDb2xvcik7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIC5zY3JvbGwtY29udGVudFxyXG4gICAgaWYgKHRoaXMuc2Nyb2xsQ29udGVudCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLnNjcm9sbENvbnRlbnQsICdwYXJhbGxheCcsICcnKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnNjcm9sbENvbnRlbnQsICdwYWRkaW5nLXRvcCcsXHJcbiAgICAgICAgYCR7dGhpcy5tYXhpbXVtSGVpZ2h0ICsgdGhpcy5zY3JvbGxDb250ZW50UGFkZGluZ1RvcCAtIHRoaXMuaGVhZGVyTWluSGVpZ2h0fXB4YCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0RXZlbnRzKCkge1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsICgpID0+IHtcclxuICAgICAgdGhpcy5oZWFkZXJIZWlnaHQgPSB0aGlzLnNjcm9sbENvbnRlbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgfSwgZmFsc2UpO1xyXG5cclxuICAgIGlmICh0aGlzLnNjcm9sbENvbnRlbnQpIHtcclxuICAgICAgdGhpcy5zY3JvbGxDb250ZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIChlKSA9PiB7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy50aWNraW5nKSB7XHJcbiAgICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVFbGFzdGljSGVhZGVyKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy50aWNraW5nID0gdHJ1ZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVFbGFzdGljSGVhZGVyKCkge1xyXG4gICAgaWYgKCF0aGlzLnNjcm9sbENvbnRlbnQgfHwgIXRvb2xiYXIpIHsgcmV0dXJuOyB9XHJcblxyXG4gICAgdGhpcy5zY3JvbGxUb3AgPSB0aGlzLnNjcm9sbENvbnRlbnQuc2Nyb2xsVG9wO1xyXG4gICAgaWYgKHRoaXMuc2Nyb2xsVG9wID49IDApIHtcclxuICAgICAgdGhpcy50cmFuc2xhdGVBbXQgPSB0aGlzLnNjcm9sbFRvcCAvIDI7XHJcbiAgICAgIHRoaXMuc2NhbGVBbXQgPSAxO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50cmFuc2xhdGVBbXQgPSAwO1xyXG4gICAgICB0aGlzLnNjYWxlQW10ID0gLXRoaXMuc2Nyb2xsVG9wIC8gdGhpcy5oZWFkZXJIZWlnaHQgKyAxO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFBhcmFsbGF4IHRvdGFsIHByb2dyZXNzXHJcbiAgICB0aGlzLmhlYWRlck1pbkhlaWdodCA9IHRoaXMudG9vbGJhci5vZmZzZXRIZWlnaHQ7XHJcbiAgICBsZXQgcHJvZ3Jlc3MgPSAodGhpcy5tYXhpbXVtSGVpZ2h0IC0gdGhpcy5zY3JvbGxUb3AgLSB0aGlzLmhlYWRlck1pbkhlaWdodCkgLyAodGhpcy5tYXhpbXVtSGVpZ2h0IC0gdGhpcy5oZWFkZXJNaW5IZWlnaHQpO1xyXG4gICAgcHJvZ3Jlc3MgPSBNYXRoLm1heChwcm9ncmVzcywgMCk7XHJcblxyXG4gICAgLy8gaW9uLWhlYWRlcjogc2V0IGhlaWdodFxyXG4gICAgbGV0IHRhcmdldEhlaWdodCA9IHRoaXMubWF4aW11bUhlaWdodCAtIHRoaXMuc2Nyb2xsVG9wO1xyXG4gICAgdGFyZ2V0SGVpZ2h0ID0gTWF0aC5tYXgodGFyZ2V0SGVpZ2h0LCB0aGlzLmhlYWRlck1pbkhlaWdodCk7XHJcblxyXG4gICAgLy8gLnRvb2xiYXItYmFja2dyb3VuZDogY2hhbmdlIGNvbG9yXHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2VPdmVybGF5LCAnaGVpZ2h0JywgYCR7dGFyZ2V0SGVpZ2h0fXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2VPdmVybGF5LCAnb3BhY2l0eScsIGAke3Byb2dyZXNzfWApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ2hlaWdodCcsIGAke3RhcmdldEhlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ29wYWNpdHknLCB0YXJnZXRIZWlnaHQgPiB0aGlzLmhlYWRlck1pbkhlaWdodCA/ICcxJyA6ICcwJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbGJhckJhY2tncm91bmQsICdiYWNrZ3JvdW5kLWNvbG9yJyxcclxuICAgICAgdGFyZ2V0SGVpZ2h0ID4gdGhpcy5oZWFkZXJNaW5IZWlnaHQgPyAndHJhbnNwYXJlbnQnIDogdGhpcy5vcmlnaW5hbFRvb2xiYXJCZ0NvbG9yKTtcclxuXHJcbiAgICAvLyAuYmFyLWJ1dHRvbnNcclxuICAgIGlmICh0aGlzLmJhckJ1dHRvbnMpIHtcclxuICAgICAgaWYgKHRhcmdldEhlaWdodCA+IHRoaXMuaGVhZGVyTWluSGVpZ2h0KSB7XHJcbiAgICAgICAgdGhpcy5pbWFnZU92ZXJsYXkuYXBwZW5kKHRoaXMuYmFyQnV0dG9ucyk7XHJcbiAgICAgICAgQXJyYXkuZnJvbSh0aGlzLmJhckJ1dHRvbnMuY2hpbGRyZW4pLmZvckVhY2goYnRuID0+IHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoYnRuLCAnY29sb3InLCB0aGlzLnRpdGxlQ29sb3IpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudG9vbGJhci5hcHBlbmQodGhpcy5iYXJCdXR0b25zKTtcclxuICAgICAgICBBcnJheS5mcm9tKHRoaXMuYmFyQnV0dG9ucy5jaGlsZHJlbikuZm9yRWFjaChidG4gPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShidG4sICdjb2xvcicsICd1bnNldCcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50aWNraW5nID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsYXguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vaW9uaWMtaGVhZGVyLXBhcmFsbGF4LyIsInNvdXJjZXMiOlsibGliL3BhcmFsbGF4LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFLdkYsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7SUEwQjVCLFlBQW1CLFNBQWtDLEVBQVMsUUFBbUI7UUFBOUQsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBdEJ4RSxrQkFBYSxHQUFHLEdBQUcsQ0FBQztJQXVCN0IsQ0FBQzs7OztJQUVELGVBQWU7UUFDYixVQUFVOzs7UUFBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLEdBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOzs7O0lBRUQsWUFBWTs7Y0FDSixhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsYUFBYTtRQUNoRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO1FBRTNDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDhFQUE4RSxDQUFDLENBQUM7U0FBRTtRQUN2SCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hELElB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LEtBQUs7eUJBQ0wsS0FBSzs0QkFDTCxLQUFLOzs7O0lBSE4scUNBQTBCOztJQUMxQiwwQ0FBK0I7O0lBQy9CLHVDQUE0Qjs7SUFDNUIsMENBQTZCOztJQUU3QixtQ0FBb0I7O0lBQ3BCLG9DQUFxQjs7SUFDckIsOENBQStCOztJQUMvQix5Q0FBMEI7O0lBQzFCLHlDQUEwQjs7SUFDMUIsdUNBQXdCOztJQUN4QiwwQ0FBMkI7O0lBQzNCLHlDQUFrQjs7SUFDbEIsNENBQXdCOztJQUN4Qix5Q0FBa0I7O0lBQ2xCLHFDQUFjOztJQUNkLHNDQUFlOztJQUNmLDBDQUFtQjs7SUFDbkIsb0NBQWE7O0lBQ2IsbURBQStCOztJQUMvQix5Q0FBMEI7O0lBQzFCLHFDQUFzQjs7SUFDdEIsMkNBQThCOztJQUM5QixvREFBd0I7O0lBRVosc0NBQXlDOztJQUFFLHFDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdpb24taGVhZGVyW3BhcmFsbGF4XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhcmFsbGF4RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgaW1hZ2VVcmw6IHN0cmluZztcclxuICBASW5wdXQoKSBleHBhbmRlZENvbG9yOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGl0bGVDb2xvcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1heGltdW1IZWlnaHQgPSAzMDA7XHJcblxyXG4gIGhlYWRlcjogSFRNTEVsZW1lbnQ7XHJcbiAgdG9vbGJhcjogSFRNTEVsZW1lbnQ7XHJcbiAgdG9vbGJhckJhY2tncm91bmQ6IEhUTUxFbGVtZW50O1xyXG4gIGltYWdlT3ZlcmxheTogSFRNTEVsZW1lbnQ7XHJcbiAgY29sb3JPdmVybGF5OiBIVE1MRWxlbWVudDtcclxuICBiYXJCdXR0b25zOiBIVE1MRWxlbWVudDtcclxuICBzY3JvbGxDb250ZW50OiBIVE1MRWxlbWVudDtcclxuICBoZWFkZXJIZWlnaHQ6IGFueTtcclxuICBoZWFkZXJNaW5IZWlnaHQ6IG51bWJlcjtcclxuICB0cmFuc2xhdGVBbXQ6IGFueTtcclxuICBzY2FsZUFtdDogYW55O1xyXG4gIHNjcm9sbFRvcDogYW55O1xyXG4gIGxhc3RTY3JvbGxUb3A6IGFueTtcclxuICB0aWNraW5nOiBhbnk7XHJcbiAgb3JpZ2luYWxUb29sYmFyQmdDb2xvcjogc3RyaW5nO1xyXG4gIG92ZXJsYXlUaXRsZTogSFRNTEVsZW1lbnQ7XHJcbiAgaW9uVGl0bGU6IEhUTUxFbGVtZW50O1xyXG4gIG92ZXJsYXlCdXR0b25zOiBIVE1MRWxlbWVudFtdO1xyXG4gIHNjcm9sbENvbnRlbnRQYWRkaW5nVG9wO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaGVhZGVyUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmluaXRFbGVtZW50cygpO1xyXG4gICAgICB0aGlzLmluaXRTdHlsZXMoKTtcclxuICAgICAgdGhpcy5pbml0RXZlbnRzKCk7XHJcbiAgICB9LCAxMDApO1xyXG4gIH1cclxuXHJcbiAgaW5pdEVsZW1lbnRzKCkge1xyXG4gICAgY29uc3QgcGFyZW50RWxlbWVudCA9IHRoaXMuaGVhZGVyUmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcclxuICAgIHRoaXMuaGVhZGVyID0gdGhpcy5oZWFkZXJSZWYubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICB0aGlzLnRvb2xiYXIgPSB0aGlzLmhlYWRlci5xdWVyeVNlbGVjdG9yKCdpb24tdG9vbGJhcicpO1xyXG4gICAgaWYgKCF0aGlzLnRvb2xiYXIpIHsgdGhyb3cgbmV3IEVycm9yKCdQYXJhbGxheCBkaXJlY3RpdmUgcmVxdWlyZXMgYSB0b29sYmFyIG9yIG5hdmJhciBlbGVtZW50IG9uIHRoZSBwYWdlIHRvIHdvcmsuJyk7IH1cclxuICAgIHRoaXMuaW9uVGl0bGUgPSB0aGlzLnRvb2xiYXIucXVlcnlTZWxlY3RvcignaW9uLXRpdGxlJyk7XHJcbiAgICB0aGlzLnRvb2xiYXJCYWNrZ3JvdW5kID0gdGhpcy50b29sYmFyLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLnRvb2xiYXItYmFja2dyb3VuZCcpO1xyXG5cclxuICAgIHRoaXMuYmFyQnV0dG9ucyA9IHRoaXMuaGVhZGVyUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignaW9uLWJ1dHRvbnMnKTtcclxuICAgIGNvbnN0IGlvbkNvbnRlbnQgPSBwYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lvbi1jb250ZW50Jyk7XHJcbiAgICB0aGlzLnNjcm9sbENvbnRlbnQgPSBpb25Db250ZW50LnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLmlubmVyLXNjcm9sbCcpO1xyXG4gICAgaWYgKCF0aGlzLnNjcm9sbENvbnRlbnQpIHsgdGhyb3cgbmV3IEVycm9yKCdQYXJhbGxheCBkaXJlY3RpdmUgcmVxdWlyZXMgYW4gPGlvbi1jb250ZW50PiBlbGVtZW50IG9uIHRoZSBwYWdlIHRvIHdvcmsuJyk7IH1cclxuXHJcbiAgICAvLyBDcmVhdGUgaW1hZ2Ugb3ZlcmxheVxyXG4gICAgdGhpcy5pbWFnZU92ZXJsYXkgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmltYWdlT3ZlcmxheSwgJ2ltYWdlLW92ZXJsYXknKTtcclxuXHJcbiAgICB0aGlzLmNvbG9yT3ZlcmxheSA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuY29sb3JPdmVybGF5LCAnY29sb3Itb3ZlcmxheScpO1xyXG5cclxuICAgIHRoaXMuY29sb3JPdmVybGF5LmFwcGVuZENoaWxkKHRoaXMuaW1hZ2VPdmVybGF5KTtcclxuICAgIHRoaXMuaGVhZGVyLmFwcGVuZENoaWxkKHRoaXMuY29sb3JPdmVybGF5KTtcclxuXHJcbiAgICAvLyBDb3B5IHRpdGxlIGFuZCBidXR0b25zXHJcbiAgICB0aGlzLm92ZXJsYXlUaXRsZSA9IHRoaXMuaW9uVGl0bGUgJiYgdGhpcy5pb25UaXRsZS5jbG9uZU5vZGUodHJ1ZSkgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBpZiAodGhpcy5vdmVybGF5VGl0bGUpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLm92ZXJsYXlUaXRsZSwgJ3BhcmFsbGF4LXRpdGxlJyk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHRvb2xiYXJUaXRsZSA9IHRoaXMub3ZlcmxheVRpdGxlLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLnRvb2xiYXItdGl0bGUnKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRvb2xiYXJUaXRsZSwgJ3BvaW50ZXItZXZlbnRzJywgJ3Vuc2V0Jyk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm92ZXJsYXlUaXRsZSkgeyB0aGlzLmltYWdlT3ZlcmxheS5hcHBlbmRDaGlsZCh0aGlzLm92ZXJsYXlUaXRsZSk7IH1cclxuICAgIGlmICh0aGlzLmJhckJ1dHRvbnMpIHsgdGhpcy5pbWFnZU92ZXJsYXkuYXBwZW5kQ2hpbGQodGhpcy5iYXJCdXR0b25zKTsgfVxyXG4gIH1cclxuXHJcbiAgaW5pdFN0eWxlcygpIHtcclxuICAgIHRoaXMuaGVhZGVySGVpZ2h0ID0gdGhpcy5zY3JvbGxDb250ZW50LmNsaWVudEhlaWdodDtcclxuICAgIHRoaXMudGlja2luZyA9IGZhbHNlO1xyXG5cclxuICAgIGlmICghdGhpcy5zY3JvbGxDb250ZW50IHx8ICF0b29sYmFyKSB7IHJldHVybjsgfVxyXG5cclxuICAgIC8vIGZldGNoIHN0eWxlc1xyXG4gICAgdGhpcy5tYXhpbXVtSGVpZ2h0ID0gcGFyc2VGbG9hdCh0aGlzLm1heGltdW1IZWlnaHQudG9TdHJpbmcoKSk7XHJcbiAgICB0aGlzLmhlYWRlck1pbkhlaWdodCA9IHRoaXMudG9vbGJhci5vZmZzZXRIZWlnaHQ7XHJcbiAgICB0aGlzLnNjcm9sbENvbnRlbnRQYWRkaW5nVG9wID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5zY3JvbGxDb250ZW50LCBudWxsKS5wYWRkaW5nVG9wLnJlcGxhY2UoJ3B4JywgJycpO1xyXG4gICAgdGhpcy5zY3JvbGxDb250ZW50UGFkZGluZ1RvcCA9IHBhcnNlRmxvYXQodGhpcy5zY3JvbGxDb250ZW50UGFkZGluZ1RvcCk7XHJcbiAgICB0aGlzLm9yaWdpbmFsVG9vbGJhckJnQ29sb3IgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLnRvb2xiYXJCYWNrZ3JvdW5kLCBudWxsKS5iYWNrZ3JvdW5kQ29sb3I7XHJcblxyXG4gICAgLy8gaGVhZGVyIGFuZCB0aXRsZVxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhlYWRlciwgJ3Bvc2l0aW9uJywgJ3JlbGF0aXZlJyk7XHJcbiAgICBpZiAodGhpcy5vdmVybGF5VGl0bGUpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlUaXRsZSwgJ2NvbG9yJywgdGhpcy50aXRsZUNvbG9yKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlUaXRsZSwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5VGl0bGUsICd3aWR0aCcsICcxMDAlJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5VGl0bGUsICdoZWlnaHQnLCAnMTAwJScpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheVRpdGxlLCAndGV4dC1hbGlnbicsICdjZW50ZXInKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBjb2xvciBvdmVybGF5XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAnYmFja2dyb3VuZC1jb2xvcicsIHRoaXMub3JpZ2luYWxUb29sYmFyQmdDb2xvcik7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAnaGVpZ2h0JywgYCR7dGhpcy5tYXhpbXVtSGVpZ2h0fXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICd0b3AnLCBgJHstdGhpcy5oZWFkZXJNaW5IZWlnaHQgKiAwfXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAnbGVmdCcsICcwJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAnd2lkdGgnLCAnMTAwJScpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ3otaW5kZXgnLCAnMTAnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICdwb2ludGVyLWV2ZW50cycsICdub25lJyk7XHJcblxyXG4gICAgLy8gaW1hZ2Ugb3ZlcmxheVxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2JhY2tncm91bmQtY29sb3InLCB0aGlzLmV4cGFuZGVkQ29sb3IpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2JhY2tncm91bmQtaW1hZ2UnLCBgdXJsKCR7dGhpcy5pbWFnZVVybCB8fCAnJ30pYCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2VPdmVybGF5LCAnaGVpZ2h0JywgYDEwMCVgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICd3aWR0aCcsICcxMDAlJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2VPdmVybGF5LCAncG9pbnRlci1ldmVudHMnLCAnbm9uZScpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2JhY2tncm91bmQtc2l6ZScsICdjb3ZlcicpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2JhY2tncm91bmQtcG9zaXRpb24nLCAnY2VudGVyJyk7XHJcblxyXG4gICAgLy8gLnRvb2xiYXItYmFja2dyb3VuZFxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2xiYXJCYWNrZ3JvdW5kLCAnYmFja2dyb3VuZC1jb2xvcicsIHRoaXMub3JpZ2luYWxUb29sYmFyQmdDb2xvcik7XHJcblxyXG4gICAgLy8gLmJhci1idXR0b25zXHJcbiAgICBpZiAodGhpcy5iYXJCdXR0b25zKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5iYXJCdXR0b25zLCAncG9pbnRlci1ldmVudHMnLCAnYWxsJyk7XHJcbiAgICAgIEFycmF5LmZyb20odGhpcy5iYXJCdXR0b25zLmNoaWxkcmVuKS5mb3JFYWNoKGJ0biA9PiB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShidG4sICdjb2xvcicsIHRoaXMudGl0bGVDb2xvcik7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIC5zY3JvbGwtY29udGVudFxyXG4gICAgaWYgKHRoaXMuc2Nyb2xsQ29udGVudCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLnNjcm9sbENvbnRlbnQsICdwYXJhbGxheCcsICcnKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnNjcm9sbENvbnRlbnQsICdwYWRkaW5nLXRvcCcsXHJcbiAgICAgICAgYCR7dGhpcy5tYXhpbXVtSGVpZ2h0ICsgdGhpcy5zY3JvbGxDb250ZW50UGFkZGluZ1RvcCAtIHRoaXMuaGVhZGVyTWluSGVpZ2h0fXB4YCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0RXZlbnRzKCkge1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsICgpID0+IHtcclxuICAgICAgdGhpcy5oZWFkZXJIZWlnaHQgPSB0aGlzLnNjcm9sbENvbnRlbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgfSwgZmFsc2UpO1xyXG5cclxuICAgIGlmICh0aGlzLnNjcm9sbENvbnRlbnQpIHtcclxuICAgICAgdGhpcy5zY3JvbGxDb250ZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIChlKSA9PiB7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy50aWNraW5nKSB7XHJcbiAgICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVFbGFzdGljSGVhZGVyKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy50aWNraW5nID0gdHJ1ZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVFbGFzdGljSGVhZGVyKCkge1xyXG4gICAgaWYgKCF0aGlzLnNjcm9sbENvbnRlbnQgfHwgIXRvb2xiYXIpIHsgcmV0dXJuOyB9XHJcblxyXG4gICAgdGhpcy5zY3JvbGxUb3AgPSB0aGlzLnNjcm9sbENvbnRlbnQuc2Nyb2xsVG9wO1xyXG4gICAgaWYgKHRoaXMuc2Nyb2xsVG9wID49IDApIHtcclxuICAgICAgdGhpcy50cmFuc2xhdGVBbXQgPSB0aGlzLnNjcm9sbFRvcCAvIDI7XHJcbiAgICAgIHRoaXMuc2NhbGVBbXQgPSAxO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50cmFuc2xhdGVBbXQgPSAwO1xyXG4gICAgICB0aGlzLnNjYWxlQW10ID0gLXRoaXMuc2Nyb2xsVG9wIC8gdGhpcy5oZWFkZXJIZWlnaHQgKyAxO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFBhcmFsbGF4IHRvdGFsIHByb2dyZXNzXHJcbiAgICB0aGlzLmhlYWRlck1pbkhlaWdodCA9IHRoaXMudG9vbGJhci5vZmZzZXRIZWlnaHQ7XHJcbiAgICBsZXQgcHJvZ3Jlc3MgPSAodGhpcy5tYXhpbXVtSGVpZ2h0IC0gdGhpcy5zY3JvbGxUb3AgLSB0aGlzLmhlYWRlck1pbkhlaWdodCkgLyAodGhpcy5tYXhpbXVtSGVpZ2h0IC0gdGhpcy5oZWFkZXJNaW5IZWlnaHQpO1xyXG4gICAgcHJvZ3Jlc3MgPSBNYXRoLm1heChwcm9ncmVzcywgMCk7XHJcblxyXG4gICAgLy8gaW9uLWhlYWRlcjogc2V0IGhlaWdodFxyXG4gICAgbGV0IHRhcmdldEhlaWdodCA9IHRoaXMubWF4aW11bUhlaWdodCAtIHRoaXMuc2Nyb2xsVG9wO1xyXG4gICAgdGFyZ2V0SGVpZ2h0ID0gTWF0aC5tYXgodGFyZ2V0SGVpZ2h0LCB0aGlzLmhlYWRlck1pbkhlaWdodCk7XHJcblxyXG4gICAgLy8gLnRvb2xiYXItYmFja2dyb3VuZDogY2hhbmdlIGNvbG9yXHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2VPdmVybGF5LCAnaGVpZ2h0JywgYCR7dGFyZ2V0SGVpZ2h0fXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2VPdmVybGF5LCAnb3BhY2l0eScsIGAke3Byb2dyZXNzfWApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ2hlaWdodCcsIGAke3RhcmdldEhlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ29wYWNpdHknLCB0YXJnZXRIZWlnaHQgPiB0aGlzLmhlYWRlck1pbkhlaWdodCA/ICcxJyA6ICcwJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbGJhckJhY2tncm91bmQsICdiYWNrZ3JvdW5kLWNvbG9yJyxcclxuICAgICAgdGFyZ2V0SGVpZ2h0ID4gdGhpcy5oZWFkZXJNaW5IZWlnaHQgPyAndHJhbnNwYXJlbnQnIDogdGhpcy5vcmlnaW5hbFRvb2xiYXJCZ0NvbG9yKTtcclxuXHJcbiAgICAvLyAuYmFyLWJ1dHRvbnNcclxuICAgIGlmICh0aGlzLmJhckJ1dHRvbnMpIHtcclxuICAgICAgaWYgKHRhcmdldEhlaWdodCA+IHRoaXMuaGVhZGVyTWluSGVpZ2h0KSB7XHJcbiAgICAgICAgdGhpcy5pbWFnZU92ZXJsYXkuYXBwZW5kKHRoaXMuYmFyQnV0dG9ucyk7XHJcbiAgICAgICAgQXJyYXkuZnJvbSh0aGlzLmJhckJ1dHRvbnMuY2hpbGRyZW4pLmZvckVhY2goYnRuID0+IHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoYnRuLCAnY29sb3InLCB0aGlzLnRpdGxlQ29sb3IpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudG9vbGJhci5hcHBlbmQodGhpcy5iYXJCdXR0b25zKTtcclxuICAgICAgICBBcnJheS5mcm9tKHRoaXMuYmFyQnV0dG9ucy5jaGlsZHJlbikuZm9yRWFjaChidG4gPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShidG4sICdjb2xvcicsICd1bnNldCcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50aWNraW5nID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ== |
@@ -27,3 +27,3 @@ /** | ||
_this.initEvents(); | ||
})); | ||
}), 100); | ||
}; | ||
@@ -308,2 +308,2 @@ /** | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsYXguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vaW9uaWMtaGVhZGVyLXBhcmFsbGF4LyIsInNvdXJjZXMiOlsibGliL3BhcmFsbGF4LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFdkY7SUE2QkUsMkJBQW1CLFNBQWtDLEVBQVMsUUFBbUI7UUFBOUQsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBdEJ4RSxrQkFBYSxHQUFHLEdBQUcsQ0FBQztJQXVCN0IsQ0FBQzs7OztJQUVELDJDQUFlOzs7SUFBZjtRQUFBLGlCQU1DO1FBTEMsVUFBVTs7O1FBQUM7WUFDVCxLQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsS0FBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLEtBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCx3Q0FBWTs7O0lBQVo7UUFBQSxpQkFvQ0M7O1lBbkNPLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxhQUFhO1FBQ2hFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7UUFFM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEVBQThFLENBQUMsQ0FBQztTQUFFO1FBQ3ZILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEQsSUFB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LEtBQUs7O0lBb01SLHdCQUFDO0NBQUEsQUEzTUQsSUEyTUM7U0F4TVksaUJBQWlCOzs7SUFDNUIscUNBQTBCOztJQUMxQiwwQ0FBK0I7O0lBQy9CLHVDQUE0Qjs7SUFDNUIsMENBQTZCOztJQUU3QixtQ0FBb0I7O0lBQ3BCLG9DQUFxQjs7SUFDckIsOENBQStCOztJQUMvQix5Q0FBMEI7O0lBQzFCLHlDQUEwQjs7SUFDMUIsdUNBQXdCOztJQUN4QiwwQ0FBMkI7O0lBQzNCLHlDQUFrQjs7SUFDbEIsNENBQXdCOztJQUN4Qix5Q0FBa0I7O0lBQ2xCLHFDQUFjOztJQUNkLHNDQUFlOztJQUNmLDBDQUFtQjs7SUFDbkIsb0NBQWE7O0lBQ2IsbURBQStCOztJQUMvQix5Q0FBMEI7O0lBQzFCLHFDQUFzQjs7SUFDdEIsMkNBQThCOztJQUM5QixvREFBd0I7O0lBRVosc0NBQXlDOztJQUFFLHFDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdpb24taGVhZGVyW3BhcmFsbGF4XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhcmFsbGF4RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgaW1hZ2VVcmw6IHN0cmluZztcclxuICBASW5wdXQoKSBleHBhbmRlZENvbG9yOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGl0bGVDb2xvcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1heGltdW1IZWlnaHQgPSAzMDA7XHJcblxyXG4gIGhlYWRlcjogSFRNTEVsZW1lbnQ7XHJcbiAgdG9vbGJhcjogSFRNTEVsZW1lbnQ7XHJcbiAgdG9vbGJhckJhY2tncm91bmQ6IEhUTUxFbGVtZW50O1xyXG4gIGltYWdlT3ZlcmxheTogSFRNTEVsZW1lbnQ7XHJcbiAgY29sb3JPdmVybGF5OiBIVE1MRWxlbWVudDtcclxuICBiYXJCdXR0b25zOiBIVE1MRWxlbWVudDtcclxuICBzY3JvbGxDb250ZW50OiBIVE1MRWxlbWVudDtcclxuICBoZWFkZXJIZWlnaHQ6IGFueTtcclxuICBoZWFkZXJNaW5IZWlnaHQ6IG51bWJlcjtcclxuICB0cmFuc2xhdGVBbXQ6IGFueTtcclxuICBzY2FsZUFtdDogYW55O1xyXG4gIHNjcm9sbFRvcDogYW55O1xyXG4gIGxhc3RTY3JvbGxUb3A6IGFueTtcclxuICB0aWNraW5nOiBhbnk7XHJcbiAgb3JpZ2luYWxUb29sYmFyQmdDb2xvcjogc3RyaW5nO1xyXG4gIG92ZXJsYXlUaXRsZTogSFRNTEVsZW1lbnQ7XHJcbiAgaW9uVGl0bGU6IEhUTUxFbGVtZW50O1xyXG4gIG92ZXJsYXlCdXR0b25zOiBIVE1MRWxlbWVudFtdO1xyXG4gIHNjcm9sbENvbnRlbnRQYWRkaW5nVG9wO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaGVhZGVyUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmluaXRFbGVtZW50cygpO1xyXG4gICAgICB0aGlzLmluaXRTdHlsZXMoKTtcclxuICAgICAgdGhpcy5pbml0RXZlbnRzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGluaXRFbGVtZW50cygpIHtcclxuICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSB0aGlzLmhlYWRlclJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XHJcbiAgICB0aGlzLmhlYWRlciA9IHRoaXMuaGVhZGVyUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgdGhpcy50b29sYmFyID0gdGhpcy5oZWFkZXIucXVlcnlTZWxlY3RvcignaW9uLXRvb2xiYXInKTtcclxuICAgIGlmICghdGhpcy50b29sYmFyKSB7IHRocm93IG5ldyBFcnJvcignUGFyYWxsYXggZGlyZWN0aXZlIHJlcXVpcmVzIGEgdG9vbGJhciBvciBuYXZiYXIgZWxlbWVudCBvbiB0aGUgcGFnZSB0byB3b3JrLicpOyB9XHJcbiAgICB0aGlzLmlvblRpdGxlID0gdGhpcy50b29sYmFyLnF1ZXJ5U2VsZWN0b3IoJ2lvbi10aXRsZScpO1xyXG4gICAgdGhpcy50b29sYmFyQmFja2dyb3VuZCA9IHRoaXMudG9vbGJhci5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy50b29sYmFyLWJhY2tncm91bmQnKTtcclxuXHJcbiAgICB0aGlzLmJhckJ1dHRvbnMgPSB0aGlzLmhlYWRlclJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lvbi1idXR0b25zJyk7XHJcbiAgICBjb25zdCBpb25Db250ZW50ID0gcGFyZW50RWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpb24tY29udGVudCcpO1xyXG4gICAgdGhpcy5zY3JvbGxDb250ZW50ID0gaW9uQ29udGVudC5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy5pbm5lci1zY3JvbGwnKTtcclxuICAgIGlmICghdGhpcy5zY3JvbGxDb250ZW50KSB7IHRocm93IG5ldyBFcnJvcignUGFyYWxsYXggZGlyZWN0aXZlIHJlcXVpcmVzIGFuIDxpb24tY29udGVudD4gZWxlbWVudCBvbiB0aGUgcGFnZSB0byB3b3JrLicpOyB9XHJcblxyXG4gICAgLy8gQ3JlYXRlIGltYWdlIG92ZXJsYXlcclxuICAgIHRoaXMuaW1hZ2VPdmVybGF5ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5pbWFnZU92ZXJsYXksICdpbWFnZS1vdmVybGF5Jyk7XHJcblxyXG4gICAgdGhpcy5jb2xvck92ZXJsYXkgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmNvbG9yT3ZlcmxheSwgJ2NvbG9yLW92ZXJsYXknKTtcclxuXHJcbiAgICB0aGlzLmNvbG9yT3ZlcmxheS5hcHBlbmRDaGlsZCh0aGlzLmltYWdlT3ZlcmxheSk7XHJcbiAgICB0aGlzLmhlYWRlci5hcHBlbmRDaGlsZCh0aGlzLmNvbG9yT3ZlcmxheSk7XHJcblxyXG4gICAgLy8gQ29weSB0aXRsZSBhbmQgYnV0dG9uc1xyXG4gICAgdGhpcy5vdmVybGF5VGl0bGUgPSB0aGlzLmlvblRpdGxlICYmIHRoaXMuaW9uVGl0bGUuY2xvbmVOb2RlKHRydWUpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgaWYgKHRoaXMub3ZlcmxheVRpdGxlKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5vdmVybGF5VGl0bGUsICdwYXJhbGxheC10aXRsZScpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBjb25zdCB0b29sYmFyVGl0bGUgPSB0aGlzLm92ZXJsYXlUaXRsZS5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy50b29sYmFyLXRpdGxlJyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0b29sYmFyVGl0bGUsICdwb2ludGVyLWV2ZW50cycsICd1bnNldCcpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vdmVybGF5VGl0bGUpIHsgdGhpcy5pbWFnZU92ZXJsYXkuYXBwZW5kQ2hpbGQodGhpcy5vdmVybGF5VGl0bGUpOyB9XHJcbiAgICBpZiAodGhpcy5iYXJCdXR0b25zKSB7IHRoaXMuaW1hZ2VPdmVybGF5LmFwcGVuZENoaWxkKHRoaXMuYmFyQnV0dG9ucyk7IH1cclxuICB9XHJcblxyXG4gIGluaXRTdHlsZXMoKSB7XHJcbiAgICB0aGlzLmhlYWRlckhlaWdodCA9IHRoaXMuc2Nyb2xsQ29udGVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICB0aGlzLnRpY2tpbmcgPSBmYWxzZTtcclxuXHJcbiAgICBpZiAoIXRoaXMuc2Nyb2xsQ29udGVudCB8fCAhdG9vbGJhcikgeyByZXR1cm47IH1cclxuXHJcbiAgICAvLyBmZXRjaCBzdHlsZXNcclxuICAgIHRoaXMubWF4aW11bUhlaWdodCA9IHBhcnNlRmxvYXQodGhpcy5tYXhpbXVtSGVpZ2h0LnRvU3RyaW5nKCkpO1xyXG4gICAgdGhpcy5oZWFkZXJNaW5IZWlnaHQgPSB0aGlzLnRvb2xiYXIub2Zmc2V0SGVpZ2h0O1xyXG4gICAgdGhpcy5zY3JvbGxDb250ZW50UGFkZGluZ1RvcCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuc2Nyb2xsQ29udGVudCwgbnVsbCkucGFkZGluZ1RvcC5yZXBsYWNlKCdweCcsICcnKTtcclxuICAgIHRoaXMuc2Nyb2xsQ29udGVudFBhZGRpbmdUb3AgPSBwYXJzZUZsb2F0KHRoaXMuc2Nyb2xsQ29udGVudFBhZGRpbmdUb3ApO1xyXG4gICAgdGhpcy5vcmlnaW5hbFRvb2xiYXJCZ0NvbG9yID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy50b29sYmFyQmFja2dyb3VuZCwgbnVsbCkuYmFja2dyb3VuZENvbG9yO1xyXG5cclxuICAgIC8vIGhlYWRlciBhbmQgdGl0bGVcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5oZWFkZXIsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xyXG4gICAgaWYgKHRoaXMub3ZlcmxheVRpdGxlKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5VGl0bGUsICdjb2xvcicsIHRoaXMudGl0bGVDb2xvcik7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5VGl0bGUsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheVRpdGxlLCAnd2lkdGgnLCAnMTAwJScpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheVRpdGxlLCAnaGVpZ2h0JywgJzEwMCUnKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlUaXRsZSwgJ3RleHQtYWxpZ24nLCAnY2VudGVyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gY29sb3Igb3ZlcmxheVxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ2JhY2tncm91bmQtY29sb3InLCB0aGlzLm9yaWdpbmFsVG9vbGJhckJnQ29sb3IpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ2hlaWdodCcsIGAke3RoaXMubWF4aW11bUhlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAndG9wJywgYCR7LXRoaXMuaGVhZGVyTWluSGVpZ2h0ICogMH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ2xlZnQnLCAnMCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ3dpZHRoJywgJzEwMCUnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICd6LWluZGV4JywgJzEwJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAncG9pbnRlci1ldmVudHMnLCAnbm9uZScpO1xyXG5cclxuICAgIC8vIGltYWdlIG92ZXJsYXlcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLWNvbG9yJywgdGhpcy5leHBhbmRlZENvbG9yKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLWltYWdlJywgYHVybCgke3RoaXMuaW1hZ2VVcmwgfHwgJyd9KWApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2hlaWdodCcsIGAxMDAlYCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2VPdmVybGF5LCAnd2lkdGgnLCAnMTAwJScpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ3BvaW50ZXItZXZlbnRzJywgJ25vbmUnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLXNpemUnLCAnY292ZXInKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLXBvc2l0aW9uJywgJ2NlbnRlcicpO1xyXG5cclxuICAgIC8vIC50b29sYmFyLWJhY2tncm91bmRcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sYmFyQmFja2dyb3VuZCwgJ2JhY2tncm91bmQtY29sb3InLCB0aGlzLm9yaWdpbmFsVG9vbGJhckJnQ29sb3IpO1xyXG5cclxuICAgIC8vIC5iYXItYnV0dG9uc1xyXG4gICAgaWYgKHRoaXMuYmFyQnV0dG9ucykge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmFyQnV0dG9ucywgJ3BvaW50ZXItZXZlbnRzJywgJ2FsbCcpO1xyXG4gICAgICBBcnJheS5mcm9tKHRoaXMuYmFyQnV0dG9ucy5jaGlsZHJlbikuZm9yRWFjaChidG4gPT4ge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoYnRuLCAnY29sb3InLCB0aGlzLnRpdGxlQ29sb3IpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAuc2Nyb2xsLWNvbnRlbnRcclxuICAgIGlmICh0aGlzLnNjcm9sbENvbnRlbnQpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5zY3JvbGxDb250ZW50LCAncGFyYWxsYXgnLCAnJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5zY3JvbGxDb250ZW50LCAncGFkZGluZy10b3AnLFxyXG4gICAgICAgIGAke3RoaXMubWF4aW11bUhlaWdodCArIHRoaXMuc2Nyb2xsQ29udGVudFBhZGRpbmdUb3AgLSB0aGlzLmhlYWRlck1pbkhlaWdodH1weGApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5pdEV2ZW50cygpIHtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuaGVhZGVySGVpZ2h0ID0gdGhpcy5zY3JvbGxDb250ZW50LmNsaWVudEhlaWdodDtcclxuICAgIH0sIGZhbHNlKTtcclxuXHJcbiAgICBpZiAodGhpcy5zY3JvbGxDb250ZW50KSB7XHJcbiAgICAgIHRoaXMuc2Nyb2xsQ29udGVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoZSkgPT4ge1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMudGlja2luZykge1xyXG4gICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRWxhc3RpY0hlYWRlcigpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudGlja2luZyA9IHRydWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlRWxhc3RpY0hlYWRlcigpIHtcclxuICAgIGlmICghdGhpcy5zY3JvbGxDb250ZW50IHx8ICF0b29sYmFyKSB7IHJldHVybjsgfVxyXG5cclxuICAgIHRoaXMuc2Nyb2xsVG9wID0gdGhpcy5zY3JvbGxDb250ZW50LnNjcm9sbFRvcDtcclxuICAgIGlmICh0aGlzLnNjcm9sbFRvcCA+PSAwKSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlQW10ID0gdGhpcy5zY3JvbGxUb3AgLyAyO1xyXG4gICAgICB0aGlzLnNjYWxlQW10ID0gMTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlQW10ID0gMDtcclxuICAgICAgdGhpcy5zY2FsZUFtdCA9IC10aGlzLnNjcm9sbFRvcCAvIHRoaXMuaGVhZGVySGVpZ2h0ICsgMTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBQYXJhbGxheCB0b3RhbCBwcm9ncmVzc1xyXG4gICAgdGhpcy5oZWFkZXJNaW5IZWlnaHQgPSB0aGlzLnRvb2xiYXIub2Zmc2V0SGVpZ2h0O1xyXG4gICAgbGV0IHByb2dyZXNzID0gKHRoaXMubWF4aW11bUhlaWdodCAtIHRoaXMuc2Nyb2xsVG9wIC0gdGhpcy5oZWFkZXJNaW5IZWlnaHQpIC8gKHRoaXMubWF4aW11bUhlaWdodCAtIHRoaXMuaGVhZGVyTWluSGVpZ2h0KTtcclxuICAgIHByb2dyZXNzID0gTWF0aC5tYXgocHJvZ3Jlc3MsIDApO1xyXG5cclxuICAgIC8vIGlvbi1oZWFkZXI6IHNldCBoZWlnaHRcclxuICAgIGxldCB0YXJnZXRIZWlnaHQgPSB0aGlzLm1heGltdW1IZWlnaHQgLSB0aGlzLnNjcm9sbFRvcDtcclxuICAgIHRhcmdldEhlaWdodCA9IE1hdGgubWF4KHRhcmdldEhlaWdodCwgdGhpcy5oZWFkZXJNaW5IZWlnaHQpO1xyXG5cclxuICAgIC8vIC50b29sYmFyLWJhY2tncm91bmQ6IGNoYW5nZSBjb2xvclxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2hlaWdodCcsIGAke3RhcmdldEhlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ29wYWNpdHknLCBgJHtwcm9ncmVzc31gKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICdoZWlnaHQnLCBgJHt0YXJnZXRIZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICdvcGFjaXR5JywgdGFyZ2V0SGVpZ2h0ID4gdGhpcy5oZWFkZXJNaW5IZWlnaHQgPyAnMScgOiAnMCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2xiYXJCYWNrZ3JvdW5kLCAnYmFja2dyb3VuZC1jb2xvcicsXHJcbiAgICAgIHRhcmdldEhlaWdodCA+IHRoaXMuaGVhZGVyTWluSGVpZ2h0ID8gJ3RyYW5zcGFyZW50JyA6IHRoaXMub3JpZ2luYWxUb29sYmFyQmdDb2xvcik7XHJcblxyXG4gICAgLy8gLmJhci1idXR0b25zXHJcbiAgICBpZiAodGhpcy5iYXJCdXR0b25zKSB7XHJcbiAgICAgIGlmICh0YXJnZXRIZWlnaHQgPiB0aGlzLmhlYWRlck1pbkhlaWdodCkge1xyXG4gICAgICAgIHRoaXMuaW1hZ2VPdmVybGF5LmFwcGVuZCh0aGlzLmJhckJ1dHRvbnMpO1xyXG4gICAgICAgIEFycmF5LmZyb20odGhpcy5iYXJCdXR0b25zLmNoaWxkcmVuKS5mb3JFYWNoKGJ0biA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGJ0biwgJ2NvbG9yJywgdGhpcy50aXRsZUNvbG9yKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnRvb2xiYXIuYXBwZW5kKHRoaXMuYmFyQnV0dG9ucyk7XHJcbiAgICAgICAgQXJyYXkuZnJvbSh0aGlzLmJhckJ1dHRvbnMuY2hpbGRyZW4pLmZvckVhY2goYnRuID0+IHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoYnRuLCAnY29sb3InLCAndW5zZXQnKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudGlja2luZyA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsYXguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vaW9uaWMtaGVhZGVyLXBhcmFsbGF4LyIsInNvdXJjZXMiOlsibGliL3BhcmFsbGF4LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFdkY7SUE2QkUsMkJBQW1CLFNBQWtDLEVBQVMsUUFBbUI7UUFBOUQsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBdEJ4RSxrQkFBYSxHQUFHLEdBQUcsQ0FBQztJQXVCN0IsQ0FBQzs7OztJQUVELDJDQUFlOzs7SUFBZjtRQUFBLGlCQU1DO1FBTEMsVUFBVTs7O1FBQUM7WUFDVCxLQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsS0FBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLEtBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLEdBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOzs7O0lBRUQsd0NBQVk7OztJQUFaO1FBQUEsaUJBb0NDOztZQW5DTyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsYUFBYTtRQUNoRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO1FBRTNDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDhFQUE4RSxDQUFDLENBQUM7U0FBRTtRQUN2SCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFD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S0FBSztnQ0FDTCxLQUFLOztJQW9NUix3QkFBQztDQUFBLEFBM01ELElBMk1DO1NBeE1ZLGlCQUFpQjs7O0lBQzVCLHFDQUEwQjs7SUFDMUIsMENBQStCOztJQUMvQix1Q0FBNEI7O0lBQzVCLDBDQUE2Qjs7SUFFN0IsbUNBQW9COztJQUNwQixvQ0FBcUI7O0lBQ3JCLDhDQUErQjs7SUFDL0IseUNBQTBCOztJQUMxQix5Q0FBMEI7O0lBQzFCLHVDQUF3Qjs7SUFDeEIsMENBQTJCOztJQUMzQix5Q0FBa0I7O0lBQ2xCLDRDQUF3Qjs7SUFDeEIseUNBQWtCOztJQUNsQixxQ0FBYzs7SUFDZCxzQ0FBZTs7SUFDZiwwQ0FBbUI7O0lBQ25CLG9DQUFhOztJQUNiLG1EQUErQjs7SUFDL0IseUNBQTBCOztJQUMxQixxQ0FBc0I7O0lBQ3RCLDJDQUE4Qjs7SUFDOUIsb0RBQXdCOztJQUVaLHNDQUF5Qzs7SUFBRSxxQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnaW9uLWhlYWRlcltwYXJhbGxheF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYXJhbGxheERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIGltYWdlVXJsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZXhwYW5kZWRDb2xvcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHRpdGxlQ29sb3I6IHN0cmluZztcclxuICBASW5wdXQoKSBtYXhpbXVtSGVpZ2h0ID0gMzAwO1xyXG5cclxuICBoZWFkZXI6IEhUTUxFbGVtZW50O1xyXG4gIHRvb2xiYXI6IEhUTUxFbGVtZW50O1xyXG4gIHRvb2xiYXJCYWNrZ3JvdW5kOiBIVE1MRWxlbWVudDtcclxuICBpbWFnZU92ZXJsYXk6IEhUTUxFbGVtZW50O1xyXG4gIGNvbG9yT3ZlcmxheTogSFRNTEVsZW1lbnQ7XHJcbiAgYmFyQnV0dG9uczogSFRNTEVsZW1lbnQ7XHJcbiAgc2Nyb2xsQ29udGVudDogSFRNTEVsZW1lbnQ7XHJcbiAgaGVhZGVySGVpZ2h0OiBhbnk7XHJcbiAgaGVhZGVyTWluSGVpZ2h0OiBudW1iZXI7XHJcbiAgdHJhbnNsYXRlQW10OiBhbnk7XHJcbiAgc2NhbGVBbXQ6IGFueTtcclxuICBzY3JvbGxUb3A6IGFueTtcclxuICBsYXN0U2Nyb2xsVG9wOiBhbnk7XHJcbiAgdGlja2luZzogYW55O1xyXG4gIG9yaWdpbmFsVG9vbGJhckJnQ29sb3I6IHN0cmluZztcclxuICBvdmVybGF5VGl0bGU6IEhUTUxFbGVtZW50O1xyXG4gIGlvblRpdGxlOiBIVE1MRWxlbWVudDtcclxuICBvdmVybGF5QnV0dG9uczogSFRNTEVsZW1lbnRbXTtcclxuICBzY3JvbGxDb250ZW50UGFkZGluZ1RvcDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGhlYWRlclJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyKSB7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5pbml0RWxlbWVudHMoKTtcclxuICAgICAgdGhpcy5pbml0U3R5bGVzKCk7XHJcbiAgICAgIHRoaXMuaW5pdEV2ZW50cygpO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcblxyXG4gIGluaXRFbGVtZW50cygpIHtcclxuICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSB0aGlzLmhlYWRlclJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XHJcbiAgICB0aGlzLmhlYWRlciA9IHRoaXMuaGVhZGVyUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgdGhpcy50b29sYmFyID0gdGhpcy5oZWFkZXIucXVlcnlTZWxlY3RvcignaW9uLXRvb2xiYXInKTtcclxuICAgIGlmICghdGhpcy50b29sYmFyKSB7IHRocm93IG5ldyBFcnJvcignUGFyYWxsYXggZGlyZWN0aXZlIHJlcXVpcmVzIGEgdG9vbGJhciBvciBuYXZiYXIgZWxlbWVudCBvbiB0aGUgcGFnZSB0byB3b3JrLicpOyB9XHJcbiAgICB0aGlzLmlvblRpdGxlID0gdGhpcy50b29sYmFyLnF1ZXJ5U2VsZWN0b3IoJ2lvbi10aXRsZScpO1xyXG4gICAgdGhpcy50b29sYmFyQmFja2dyb3VuZCA9IHRoaXMudG9vbGJhci5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy50b29sYmFyLWJhY2tncm91bmQnKTtcclxuXHJcbiAgICB0aGlzLmJhckJ1dHRvbnMgPSB0aGlzLmhlYWRlclJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lvbi1idXR0b25zJyk7XHJcbiAgICBjb25zdCBpb25Db250ZW50ID0gcGFyZW50RWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpb24tY29udGVudCcpO1xyXG4gICAgdGhpcy5zY3JvbGxDb250ZW50ID0gaW9uQ29udGVudC5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy5pbm5lci1zY3JvbGwnKTtcclxuICAgIGlmICghdGhpcy5zY3JvbGxDb250ZW50KSB7IHRocm93IG5ldyBFcnJvcignUGFyYWxsYXggZGlyZWN0aXZlIHJlcXVpcmVzIGFuIDxpb24tY29udGVudD4gZWxlbWVudCBvbiB0aGUgcGFnZSB0byB3b3JrLicpOyB9XHJcblxyXG4gICAgLy8gQ3JlYXRlIGltYWdlIG92ZXJsYXlcclxuICAgIHRoaXMuaW1hZ2VPdmVybGF5ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5pbWFnZU92ZXJsYXksICdpbWFnZS1vdmVybGF5Jyk7XHJcblxyXG4gICAgdGhpcy5jb2xvck92ZXJsYXkgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmNvbG9yT3ZlcmxheSwgJ2NvbG9yLW92ZXJsYXknKTtcclxuXHJcbiAgICB0aGlzLmNvbG9yT3ZlcmxheS5hcHBlbmRDaGlsZCh0aGlzLmltYWdlT3ZlcmxheSk7XHJcbiAgICB0aGlzLmhlYWRlci5hcHBlbmRDaGlsZCh0aGlzLmNvbG9yT3ZlcmxheSk7XHJcblxyXG4gICAgLy8gQ29weSB0aXRsZSBhbmQgYnV0dG9uc1xyXG4gICAgdGhpcy5vdmVybGF5VGl0bGUgPSB0aGlzLmlvblRpdGxlICYmIHRoaXMuaW9uVGl0bGUuY2xvbmVOb2RlKHRydWUpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgaWYgKHRoaXMub3ZlcmxheVRpdGxlKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5vdmVybGF5VGl0bGUsICdwYXJhbGxheC10aXRsZScpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBjb25zdCB0b29sYmFyVGl0bGUgPSB0aGlzLm92ZXJsYXlUaXRsZS5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy50b29sYmFyLXRpdGxlJyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0b29sYmFyVGl0bGUsICdwb2ludGVyLWV2ZW50cycsICd1bnNldCcpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vdmVybGF5VGl0bGUpIHsgdGhpcy5pbWFnZU92ZXJsYXkuYXBwZW5kQ2hpbGQodGhpcy5vdmVybGF5VGl0bGUpOyB9XHJcbiAgICBpZiAodGhpcy5iYXJCdXR0b25zKSB7IHRoaXMuaW1hZ2VPdmVybGF5LmFwcGVuZENoaWxkKHRoaXMuYmFyQnV0dG9ucyk7IH1cclxuICB9XHJcblxyXG4gIGluaXRTdHlsZXMoKSB7XHJcbiAgICB0aGlzLmhlYWRlckhlaWdodCA9IHRoaXMuc2Nyb2xsQ29udGVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICB0aGlzLnRpY2tpbmcgPSBmYWxzZTtcclxuXHJcbiAgICBpZiAoIXRoaXMuc2Nyb2xsQ29udGVudCB8fCAhdG9vbGJhcikgeyByZXR1cm47IH1cclxuXHJcbiAgICAvLyBmZXRjaCBzdHlsZXNcclxuICAgIHRoaXMubWF4aW11bUhlaWdodCA9IHBhcnNlRmxvYXQodGhpcy5tYXhpbXVtSGVpZ2h0LnRvU3RyaW5nKCkpO1xyXG4gICAgdGhpcy5oZWFkZXJNaW5IZWlnaHQgPSB0aGlzLnRvb2xiYXIub2Zmc2V0SGVpZ2h0O1xyXG4gICAgdGhpcy5zY3JvbGxDb250ZW50UGFkZGluZ1RvcCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuc2Nyb2xsQ29udGVudCwgbnVsbCkucGFkZGluZ1RvcC5yZXBsYWNlKCdweCcsICcnKTtcclxuICAgIHRoaXMuc2Nyb2xsQ29udGVudFBhZGRpbmdUb3AgPSBwYXJzZUZsb2F0KHRoaXMuc2Nyb2xsQ29udGVudFBhZGRpbmdUb3ApO1xyXG4gICAgdGhpcy5vcmlnaW5hbFRvb2xiYXJCZ0NvbG9yID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy50b29sYmFyQmFja2dyb3VuZCwgbnVsbCkuYmFja2dyb3VuZENvbG9yO1xyXG5cclxuICAgIC8vIGhlYWRlciBhbmQgdGl0bGVcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5oZWFkZXIsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xyXG4gICAgaWYgKHRoaXMub3ZlcmxheVRpdGxlKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5VGl0bGUsICdjb2xvcicsIHRoaXMudGl0bGVDb2xvcik7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5VGl0bGUsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheVRpdGxlLCAnd2lkdGgnLCAnMTAwJScpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheVRpdGxlLCAnaGVpZ2h0JywgJzEwMCUnKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlUaXRsZSwgJ3RleHQtYWxpZ24nLCAnY2VudGVyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gY29sb3Igb3ZlcmxheVxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ2JhY2tncm91bmQtY29sb3InLCB0aGlzLm9yaWdpbmFsVG9vbGJhckJnQ29sb3IpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ2hlaWdodCcsIGAke3RoaXMubWF4aW11bUhlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAndG9wJywgYCR7LXRoaXMuaGVhZGVyTWluSGVpZ2h0ICogMH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ2xlZnQnLCAnMCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ3dpZHRoJywgJzEwMCUnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICd6LWluZGV4JywgJzEwJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAncG9pbnRlci1ldmVudHMnLCAnbm9uZScpO1xyXG5cclxuICAgIC8vIGltYWdlIG92ZXJsYXlcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLWNvbG9yJywgdGhpcy5leHBhbmRlZENvbG9yKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLWltYWdlJywgYHVybCgke3RoaXMuaW1hZ2VVcmwgfHwgJyd9KWApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2hlaWdodCcsIGAxMDAlYCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2VPdmVybGF5LCAnd2lkdGgnLCAnMTAwJScpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ3BvaW50ZXItZXZlbnRzJywgJ25vbmUnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLXNpemUnLCAnY292ZXInKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLXBvc2l0aW9uJywgJ2NlbnRlcicpO1xyXG5cclxuICAgIC8vIC50b29sYmFyLWJhY2tncm91bmRcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sYmFyQmFja2dyb3VuZCwgJ2JhY2tncm91bmQtY29sb3InLCB0aGlzLm9yaWdpbmFsVG9vbGJhckJnQ29sb3IpO1xyXG5cclxuICAgIC8vIC5iYXItYnV0dG9uc1xyXG4gICAgaWYgKHRoaXMuYmFyQnV0dG9ucykge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmFyQnV0dG9ucywgJ3BvaW50ZXItZXZlbnRzJywgJ2FsbCcpO1xyXG4gICAgICBBcnJheS5mcm9tKHRoaXMuYmFyQnV0dG9ucy5jaGlsZHJlbikuZm9yRWFjaChidG4gPT4ge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoYnRuLCAnY29sb3InLCB0aGlzLnRpdGxlQ29sb3IpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAuc2Nyb2xsLWNvbnRlbnRcclxuICAgIGlmICh0aGlzLnNjcm9sbENvbnRlbnQpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5zY3JvbGxDb250ZW50LCAncGFyYWxsYXgnLCAnJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5zY3JvbGxDb250ZW50LCAncGFkZGluZy10b3AnLFxyXG4gICAgICAgIGAke3RoaXMubWF4aW11bUhlaWdodCArIHRoaXMuc2Nyb2xsQ29udGVudFBhZGRpbmdUb3AgLSB0aGlzLmhlYWRlck1pbkhlaWdodH1weGApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5pdEV2ZW50cygpIHtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuaGVhZGVySGVpZ2h0ID0gdGhpcy5zY3JvbGxDb250ZW50LmNsaWVudEhlaWdodDtcclxuICAgIH0sIGZhbHNlKTtcclxuXHJcbiAgICBpZiAodGhpcy5zY3JvbGxDb250ZW50KSB7XHJcbiAgICAgIHRoaXMuc2Nyb2xsQ29udGVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoZSkgPT4ge1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMudGlja2luZykge1xyXG4gICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRWxhc3RpY0hlYWRlcigpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudGlja2luZyA9IHRydWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlRWxhc3RpY0hlYWRlcigpIHtcclxuICAgIGlmICghdGhpcy5zY3JvbGxDb250ZW50IHx8ICF0b29sYmFyKSB7IHJldHVybjsgfVxyXG5cclxuICAgIHRoaXMuc2Nyb2xsVG9wID0gdGhpcy5zY3JvbGxDb250ZW50LnNjcm9sbFRvcDtcclxuICAgIGlmICh0aGlzLnNjcm9sbFRvcCA+PSAwKSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlQW10ID0gdGhpcy5zY3JvbGxUb3AgLyAyO1xyXG4gICAgICB0aGlzLnNjYWxlQW10ID0gMTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlQW10ID0gMDtcclxuICAgICAgdGhpcy5zY2FsZUFtdCA9IC10aGlzLnNjcm9sbFRvcCAvIHRoaXMuaGVhZGVySGVpZ2h0ICsgMTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBQYXJhbGxheCB0b3RhbCBwcm9ncmVzc1xyXG4gICAgdGhpcy5oZWFkZXJNaW5IZWlnaHQgPSB0aGlzLnRvb2xiYXIub2Zmc2V0SGVpZ2h0O1xyXG4gICAgbGV0IHByb2dyZXNzID0gKHRoaXMubWF4aW11bUhlaWdodCAtIHRoaXMuc2Nyb2xsVG9wIC0gdGhpcy5oZWFkZXJNaW5IZWlnaHQpIC8gKHRoaXMubWF4aW11bUhlaWdodCAtIHRoaXMuaGVhZGVyTWluSGVpZ2h0KTtcclxuICAgIHByb2dyZXNzID0gTWF0aC5tYXgocHJvZ3Jlc3MsIDApO1xyXG5cclxuICAgIC8vIGlvbi1oZWFkZXI6IHNldCBoZWlnaHRcclxuICAgIGxldCB0YXJnZXRIZWlnaHQgPSB0aGlzLm1heGltdW1IZWlnaHQgLSB0aGlzLnNjcm9sbFRvcDtcclxuICAgIHRhcmdldEhlaWdodCA9IE1hdGgubWF4KHRhcmdldEhlaWdodCwgdGhpcy5oZWFkZXJNaW5IZWlnaHQpO1xyXG5cclxuICAgIC8vIC50b29sYmFyLWJhY2tncm91bmQ6IGNoYW5nZSBjb2xvclxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2hlaWdodCcsIGAke3RhcmdldEhlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ29wYWNpdHknLCBgJHtwcm9ncmVzc31gKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICdoZWlnaHQnLCBgJHt0YXJnZXRIZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICdvcGFjaXR5JywgdGFyZ2V0SGVpZ2h0ID4gdGhpcy5oZWFkZXJNaW5IZWlnaHQgPyAnMScgOiAnMCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2xiYXJCYWNrZ3JvdW5kLCAnYmFja2dyb3VuZC1jb2xvcicsXHJcbiAgICAgIHRhcmdldEhlaWdodCA+IHRoaXMuaGVhZGVyTWluSGVpZ2h0ID8gJ3RyYW5zcGFyZW50JyA6IHRoaXMub3JpZ2luYWxUb29sYmFyQmdDb2xvcik7XHJcblxyXG4gICAgLy8gLmJhci1idXR0b25zXHJcbiAgICBpZiAodGhpcy5iYXJCdXR0b25zKSB7XHJcbiAgICAgIGlmICh0YXJnZXRIZWlnaHQgPiB0aGlzLmhlYWRlck1pbkhlaWdodCkge1xyXG4gICAgICAgIHRoaXMuaW1hZ2VPdmVybGF5LmFwcGVuZCh0aGlzLmJhckJ1dHRvbnMpO1xyXG4gICAgICAgIEFycmF5LmZyb20odGhpcy5iYXJCdXR0b25zLmNoaWxkcmVuKS5mb3JFYWNoKGJ0biA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGJ0biwgJ2NvbG9yJywgdGhpcy50aXRsZUNvbG9yKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnRvb2xiYXIuYXBwZW5kKHRoaXMuYmFyQnV0dG9ucyk7XHJcbiAgICAgICAgQXJyYXkuZnJvbSh0aGlzLmJhckJ1dHRvbnMuY2hpbGRyZW4pLmZvckVhY2goYnRuID0+IHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoYnRuLCAnY29sb3InLCAndW5zZXQnKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudGlja2luZyA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXX0= |
@@ -28,3 +28,3 @@ import { Directive, ElementRef, Renderer2, Input, NgModule } from '@angular/core'; | ||
this.initEvents(); | ||
})); | ||
}), 100); | ||
} | ||
@@ -31,0 +31,0 @@ /** |
@@ -28,3 +28,3 @@ import { Directive, ElementRef, Renderer2, Input, NgModule } from '@angular/core'; | ||
_this.initEvents(); | ||
})); | ||
}), 100); | ||
}; | ||
@@ -31,0 +31,0 @@ /** |
{ | ||
"name": "ionic-header-parallax", | ||
"version": "2.2.0", | ||
"version": "2.2.1", | ||
"description": "This directive enables parallax effect on `ion-header` elements to display a cover photo while on top of the page and transition it to the normal navbar when content is scrolled down.", | ||
@@ -5,0 +5,0 @@ "main": "bundles/ionic-header-parallax.umd.js", |
@@ -7,3 +7,4 @@ # Parallax Header Directive for Ionic v4 # | ||
[Live Demo](https://raschidjfr.github.io/ionic-header-parallax) | ||
* [Live Demo](https://raschidjfr.github.io/ionic-header-parallax) | ||
* [Code Playground](https://stackblitz.com/github/raschidjfr/ionic-header-parallax) | ||
@@ -10,0 +11,0 @@ ![alt text](https://raw.githubusercontent.com/raschidJFR/ionic-header-parallax/master/gif.gif) |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
200063
71
0