UNPKG

ngx-mat-lib

Version:

A bunch of utilities and components to use in your Angular 7+ apps!

115 lines (114 loc) 25.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Component, ElementRef, Input, HostBinding } from "@angular/core"; import { XmatOverlayStyles } from "../../models"; /** @type {?} */ const invalidDisplayValues = ["inline", "none"]; export class XmatOverlayComponent { /** * @param {?} _elRef */ constructor(_elRef) { this._elRef = _elRef; this.id = `xmat_overlay_${++XmatOverlayComponent.nextId}`; this.isLight = !1; this.isDark = !1; this._parentStyleBak = {}; } /** * @param {?} newValue * @return {?} */ set zIndex(newValue) { this._zIndex = newValue === void 0 ? 1 : newValue; } /** * @return {?} */ get zIndex() { return this._zIndex; } /** * @return {?} */ ngOnInit() { this.isLight = this._overlayStyle === XmatOverlayStyles.LIGHT; this.isDark = this._overlayStyle === XmatOverlayStyles.DARK; } /** * @return {?} */ ngAfterViewInit() { /** @type {?} */ const $xmatOverlay = this._elRef.nativeElement; /** @type {?} */ const xmatOverlayParentComStyle = window.getComputedStyle($xmatOverlay.parentNode); /** @type {?} */ const xmatOverlayParentDisplay = xmatOverlayParentComStyle.getPropertyValue("display"); if (invalidDisplayValues.indexOf(xmatOverlayParentDisplay) !== -1) { console.warn(`xmat-overlay cannot apply to ${invalidDisplayValues.join(" or ")} elements`); $xmatOverlay.parentNode.style.display = "block"; } this._parentStyleBak["display"] = xmatOverlayParentDisplay; this._parentStyleBak["position"] = xmatOverlayParentComStyle.getPropertyValue("position"); $xmatOverlay.parentNode.style.position = "relative"; } /** * @return {?} */ ngOnDestroy() { /** @type {?} */ const $xmatOverlay = this._elRef.nativeElement; /** @type {?} */ const $overlayContainer = $xmatOverlay.parentNode; if (!!$overlayContainer && !!$overlayContainer.style) { $overlayContainer.style.display = this._parentStyleBak["display"]; $overlayContainer.style.position = this._parentStyleBak["position"]; } } } XmatOverlayComponent.nextId = 0; XmatOverlayComponent.decorators = [ { type: Component, args: [{ selector: "xmat-overlay", template: ` <ng-content></ng-content>`, host: { "[class.xmat-overlay]": "true", "[class.xmat-overlay-light]": "isLight", "[class.xmat-overlay-dark]": "isDark", "[style.zIndex]": "zIndex" }, styles: [".mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-badge-small .mat-badge-content{font-size:6px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,\"Helvetica Neue\",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-content,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,\"Helvetica Neue\",sans-serif}.mat-expansion-panel-header{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.34375em) scale(.75);transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.34374em) scale(.75);transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28122em) scale(.75);transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28121em) scale(.75);transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.2812em) scale(.75);transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-.59375em) scale(.75);transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-.59374em) scale(.75);transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.59375em) scale(.75);transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.59374em) scale(.75);transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,\"Helvetica Neue\",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item,.mat-list-option{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,\"Helvetica Neue\",sans-serif}.mat-simple-snackbar{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-tree{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-nested-tree-node,.mat-tree-node{font-weight:400;font-size:14px}.mat-ripple{overflow:hidden;position:relative}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;-webkit-transition:opacity,-webkit-transform cubic-bezier(0,0,.2,1);transition:opacity,transform cubic-bezier(0,0,.2,1),-webkit-transform cubic-bezier(0,0,.2,1);-webkit-transform:scale(0);transform:scale(0)}@media (-ms-high-contrast:active){.mat-ripple-element{display:none}}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:-webkit-box;display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:-webkit-box;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;-webkit-transition:opacity .4s cubic-bezier(.25,.8,.25,1);transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}@media screen and (-ms-high-contrast:active){.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}@-webkit-keyframes cdk-text-field-autofill-start{/*!*/}@keyframes cdk-text-field-autofill-start{/*!*/}@-webkit-keyframes cdk-text-field-autofill-end{/*!*/}@keyframes cdk-text-field-autofill-end{/*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation-name:cdk-text-field-autofill-start;animation-name:cdk-text-field-autofill-start}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation-name:cdk-text-field-autofill-end;animation-name:cdk-text-field-autofill-end}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{height:auto!important;overflow:hidden!important;padding:2px 0!important;box-sizing:content-box!important}:host{display:block;position:absolute;width:100%;height:100%;top:0;left:0;background:0 0}:host.xmat-overlay-dark{background-color:rgba(0,0,0,.25)}:host.xmat-overlay-light{background-color:rgba(255,255,255,.25)}"] }] } ]; /** @nocollapse */ XmatOverlayComponent.ctorParameters = () => [ { type: ElementRef } ]; XmatOverlayComponent.propDecorators = { id: [{ type: HostBinding, args: ["id",] }], zIndex: [{ type: Input, args: ["zIndex",] }], _overlayStyle: [{ type: Input, args: ["overlayStyle",] }] }; if (false) { /** @type {?} */ XmatOverlayComponent.nextId; /** @type {?} */ XmatOverlayComponent.prototype.id; /** @type {?} */ XmatOverlayComponent.prototype.isLight; /** @type {?} */ XmatOverlayComponent.prototype.isDark; /** @type {?} */ XmatOverlayComponent.prototype._overlayStyle; /** @type {?} */ XmatOverlayComponent.prototype._parentStyleBak; /** @type {?} */ XmatOverlayComponent.prototype._zIndex; /** @type {?} */ XmatOverlayComponent.prototype._elRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1hdC1vdmVybGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1tYXQtbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMveG1hdC1vdmVybGF5L3htYXQtb3ZlcmxheS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFpQixLQUFLLEVBQXFCLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsaUJBQWlCLEVBQXFCLE1BQU0sY0FBYyxDQUFDOztBQUVwRSxNQUFNLG9CQUFvQixHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBY2hELE1BQU0sT0FBTyxvQkFBb0I7Ozs7SUF3QjdCLFlBQW9CLE1BQWtCO1FBQWxCLFdBQU0sR0FBTixNQUFNLENBQVk7UUFwQnRDLFVBQWdDLGdCQUFnQixFQUFFLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBV2hGLGVBQW1CLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLGNBQWtCLENBQUMsQ0FBQyxDQUFDOytCQUt3QixFQUFFO0tBSTlDOzs7OztJQW5CRCxJQUNJLE1BQU0sQ0FBQyxRQUFnQjtRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7S0FDckQ7Ozs7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7S0FDdkI7Ozs7SUFjRCxRQUFRO1FBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxLQUFLLGlCQUFpQixDQUFDLEtBQUssQ0FBQztRQUM5RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLEtBQUssaUJBQWlCLENBQUMsSUFBSSxDQUFDO0tBQy9EOzs7O0lBRUQsZUFBZTs7UUFFWCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQzs7UUFDL0MsTUFBTSx5QkFBeUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDOztRQUNuRixNQUFNLHdCQUF3QixHQUFHLHlCQUF5QixDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksb0JBQW9CLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDL0QsT0FBTyxDQUFDLElBQUksQ0FBQyxnQ0FBZ0Msb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMzRixZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1NBQ25EO1FBQ0QsSUFBSSxDQUFDLGVBQWUsY0FBVyx3QkFBd0IsQ0FBQztRQUN4RCxJQUFJLENBQUMsZUFBZSxlQUFZLHlCQUF5QixDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZGLFlBQVksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7S0FFdkQ7Ozs7SUFFRCxXQUFXOztRQUNQLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDOztRQUMvQyxNQUFNLGlCQUFpQixHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUM7UUFDbEQsSUFBSSxDQUFDLENBQUMsaUJBQWlCLElBQUksQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRTtZQUNsRCxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLFdBQVEsQ0FBQztZQUMvRCxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLFlBQVMsQ0FBQztTQUNwRTtLQUNKOztBQXBERCw4QkFBd0IsQ0FBQyxDQUFDOztZQWQ3QixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLFFBQVEsRUFBRTtrQ0FDb0I7Z0JBRTlCLElBQUksRUFBRTtvQkFDRixzQkFBc0IsRUFBRSxNQUFNO29CQUM5Qiw0QkFBNEIsRUFBRSxTQUFTO29CQUN2QywyQkFBMkIsRUFBRSxRQUFRO29CQUNyQyxnQkFBZ0IsRUFBRSxRQUFRO2lCQUM3Qjs7YUFDSjs7OztZQWhCbUIsVUFBVTs7O2lCQXFCekIsV0FBVyxTQUFDLElBQUk7cUJBRWhCLEtBQUssU0FBQyxRQUFROzRCQWFkLEtBQUssU0FBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIEhvc3RCaW5kaW5nIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFhtYXRPdmVybGF5U3R5bGVzLCBYbWF0R2VuZXJpY09iamVjdCB9IGZyb20gXCIuLi8uLi9tb2RlbHNcIjtcblxuY29uc3QgaW52YWxpZERpc3BsYXlWYWx1ZXMgPSBbXCJpbmxpbmVcIiwgXCJub25lXCJdO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJ4bWF0LW92ZXJsYXlcIixcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgICBzdHlsZVVybHM6IFtcIi4veG1hdC1vdmVybGF5LmNvbXBvbmVudC5zY3NzXCJdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgXCJbY2xhc3MueG1hdC1vdmVybGF5XVwiOiBcInRydWVcIixcbiAgICAgICAgXCJbY2xhc3MueG1hdC1vdmVybGF5LWxpZ2h0XVwiOiBcImlzTGlnaHRcIixcbiAgICAgICAgXCJbY2xhc3MueG1hdC1vdmVybGF5LWRhcmtdXCI6IFwiaXNEYXJrXCIsXG4gICAgICAgIFwiW3N0eWxlLnpJbmRleF1cIjogXCJ6SW5kZXhcIlxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgWG1hdE92ZXJsYXlDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCB7XG5cbiAgICBzdGF0aWMgbmV4dElkOiBudW1iZXIgPSAwO1xuXG4gICAgQEhvc3RCaW5kaW5nKFwiaWRcIikgaWQ6IHN0cmluZyA9IGB4bWF0X292ZXJsYXlfJHsrK1htYXRPdmVybGF5Q29tcG9uZW50Lm5leHRJZH1gO1xuXG4gICAgQElucHV0KFwiekluZGV4XCIpXG4gICAgc2V0IHpJbmRleChuZXdWYWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX3pJbmRleCA9IG5ld1ZhbHVlID09PSB2b2lkIDAgPyAxIDogbmV3VmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IHpJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fekluZGV4O1xuICAgIH1cblxuICAgIGlzTGlnaHQ6IGJvb2xlYW4gPSAhMTtcbiAgICBpc0Rhcms6IGJvb2xlYW4gPSAhMTtcblxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoXCJvdmVybGF5U3R5bGVcIikgcHJpdmF0ZSBfb3ZlcmxheVN0eWxlOiBYbWF0T3ZlcmxheVN0eWxlcztcblxuICAgIHByaXZhdGUgX3BhcmVudFN0eWxlQmFrOiBYbWF0R2VuZXJpY09iamVjdCA9IHt9O1xuICAgIHByaXZhdGUgX3pJbmRleDogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0xpZ2h0ID0gdGhpcy5fb3ZlcmxheVN0eWxlID09PSBYbWF0T3ZlcmxheVN0eWxlcy5MSUdIVDtcbiAgICAgICAgdGhpcy5pc0RhcmsgPSB0aGlzLl9vdmVybGF5U3R5bGUgPT09IFhtYXRPdmVybGF5U3R5bGVzLkRBUks7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXG4gICAgICAgIGNvbnN0ICR4bWF0T3ZlcmxheSA9IHRoaXMuX2VsUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHhtYXRPdmVybGF5UGFyZW50Q29tU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSgkeG1hdE92ZXJsYXkucGFyZW50Tm9kZSk7XG4gICAgICAgIGNvbnN0IHhtYXRPdmVybGF5UGFyZW50RGlzcGxheSA9IHhtYXRPdmVybGF5UGFyZW50Q29tU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShcImRpc3BsYXlcIik7XG4gICAgICAgIGlmIChpbnZhbGlkRGlzcGxheVZhbHVlcy5pbmRleE9mKHhtYXRPdmVybGF5UGFyZW50RGlzcGxheSkgIT09IC0xKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYHhtYXQtb3ZlcmxheSBjYW5ub3QgYXBwbHkgdG8gJHtpbnZhbGlkRGlzcGxheVZhbHVlcy5qb2luKFwiIG9yIFwiKX0gZWxlbWVudHNgKTtcbiAgICAgICAgICAgICR4bWF0T3ZlcmxheS5wYXJlbnROb2RlLnN0eWxlLmRpc3BsYXkgPSBcImJsb2NrXCI7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcGFyZW50U3R5bGVCYWsuZGlzcGxheSA9IHhtYXRPdmVybGF5UGFyZW50RGlzcGxheTtcbiAgICAgICAgdGhpcy5fcGFyZW50U3R5bGVCYWsucG9zaXRpb24gPSB4bWF0T3ZlcmxheVBhcmVudENvbVN0eWxlLmdldFByb3BlcnR5VmFsdWUoXCJwb3NpdGlvblwiKTtcbiAgICAgICAgJHhtYXRPdmVybGF5LnBhcmVudE5vZGUuc3R5bGUucG9zaXRpb24gPSBcInJlbGF0aXZlXCI7XG5cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgJHhtYXRPdmVybGF5ID0gdGhpcy5fZWxSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgJG92ZXJsYXlDb250YWluZXIgPSAkeG1hdE92ZXJsYXkucGFyZW50Tm9kZTtcbiAgICAgICAgaWYgKCEhJG92ZXJsYXlDb250YWluZXIgJiYgISEkb3ZlcmxheUNvbnRhaW5lci5zdHlsZSkge1xuICAgICAgICAgICAgJG92ZXJsYXlDb250YWluZXIuc3R5bGUuZGlzcGxheSA9IHRoaXMuX3BhcmVudFN0eWxlQmFrLmRpc3BsYXk7XG4gICAgICAgICAgICAkb3ZlcmxheUNvbnRhaW5lci5zdHlsZS5wb3NpdGlvbiA9IHRoaXMuX3BhcmVudFN0eWxlQmFrLnBvc2l0aW9uO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iXX0=